html,
body {
	overflow-x: clip;
}

.cmplz-cookiebanner .cmplz-close:focus,
.cmplz-cookiebanner .cmplz-close:focus-visible {
	outline: none;
	box-shadow: none;
}

html {
	scroll-behavior: smooth;
}

body {
	color: var(--ks-color-text);
	font-family: var(--ks-font-family-base);
	font-size: var(--ks-font-size-body);
	line-height: var(--ks-line-height-body);
}

body.ks-menu-is-open {
	overflow: hidden;
}

a:focus {
	outline: none;
}

.ks-site-shell a:focus {
	box-shadow: none;
}

a:focus-visible,
button:focus-visible {
	outline: 2px solid var(--ks-color-primary);
	outline-offset: 4px;
}

.wp-site-blocks > main {
	margin-top: 0 !important;
}

.ks-site-shell {
	font-family: var(--ks-font-family-base);
	letter-spacing: 0;
}

.ks-container {
	box-sizing: border-box;
	margin-inline: auto;
	max-width: var(--ks-container);
	padding-inline: var(--ks-gutter);
	width: 100%;
}

.ks-container--narrow {
	max-width: var(--ks-container-narrow);
}

.ks-section {
	padding-block: var(--ks-space-xl);
}

#infocard {
	scroll-margin-top: var(--ks-space-l);
}

.entry-content,
.wp-block-post-content,
.ks-rich-text,
.ks-accordion__panel {
	--ks-content-paragraph-gap: 16px;
	--ks-content-heading-gap-before: 36px;
	--ks-content-heading-gap-after: 16px;
	--ks-content-subheading-gap-before: 28px;
	--ks-content-subheading-gap-after: 12px;
}

.entry-content > *,
.wp-block-post-content > *,
.ks-rich-text > *,
.ks-accordion__panel > * {
	margin-top: 0;
}

.entry-content p,
.entry-content ul,
.entry-content ol,
.wp-block-post-content p,
.wp-block-post-content ul,
.wp-block-post-content ol,
.ks-rich-text p,
.ks-rich-text ul,
.ks-rich-text ol,
.ks-accordion__panel p,
.ks-accordion__panel ul,
.ks-accordion__panel ol {
	margin-bottom: var(--ks-content-paragraph-gap);
}

.entry-content h2,
.wp-block-post-content h2,
.ks-rich-text h2,
.ks-accordion__panel h2 {
	font-size: var(--ks-font-size-h2);
	line-height: var(--ks-line-height-heading);
	margin: var(--ks-content-heading-gap-before) 0 var(--ks-content-heading-gap-after);
}

.entry-content h3,
.wp-block-post-content h3,
.ks-rich-text h3,
.ks-accordion__panel h3 {
	font-size: var(--ks-font-size-h3);
	line-height: var(--ks-line-height-tight);
	margin: var(--ks-content-subheading-gap-before) 0 var(--ks-content-subheading-gap-after);
}

.entry-content h4,
.entry-content h5,
.entry-content h6,
.wp-block-post-content h4,
.wp-block-post-content h5,
.wp-block-post-content h6,
.ks-rich-text h4,
.ks-rich-text h5,
.ks-rich-text h6,
.ks-accordion__panel h4,
.ks-accordion__panel h5,
.ks-accordion__panel h6 {
	font-size: var(--ks-font-size-body);
	font-weight: 700;
	line-height: var(--ks-line-height-tight);
	margin: var(--ks-content-subheading-gap-before) 0 var(--ks-content-subheading-gap-after);
}

.entry-content h2:first-child,
.entry-content h3:first-child,
.entry-content h4:first-child,
.entry-content h5:first-child,
.entry-content h6:first-child,
.wp-block-post-content h2:first-child,
.wp-block-post-content h3:first-child,
.wp-block-post-content h4:first-child,
.wp-block-post-content h5:first-child,
.wp-block-post-content h6:first-child,
.ks-rich-text h2:first-child,
.ks-rich-text h3:first-child,
.ks-rich-text h4:first-child,
.ks-rich-text h5:first-child,
.ks-rich-text h6:first-child,
.ks-accordion__panel h2:first-child,
.ks-accordion__panel h3:first-child,
.ks-accordion__panel h4:first-child,
.ks-accordion__panel h5:first-child,
.ks-accordion__panel h6:first-child {
	margin-top: 0;
}

.entry-content > :last-child,
.wp-block-post-content > :last-child,
.ks-rich-text > :last-child,
.ks-accordion__panel > :last-child {
	margin-bottom: 0;
}

.ks-button,
.wp-element-button,
.wp-block-button__link,
input[type="button"],
input[type="submit"],
input[type="reset"],
button[type="submit"] {
	background: var(--ks-color-primary);
	border: 0;
	border-radius: var(--ks-radius-control);
	color: var(--ks-color-white);
	cursor: pointer;
	display: inline-flex;
	font-size: var(--ks-font-size-body);
	font-weight: 700;
	justify-content: center;
	line-height: 1;
	padding: 13px 22px;
	text-decoration: none;
	transition: background-color 160ms ease;
}

.ks-button:hover,
.wp-element-button:hover,
.wp-block-button__link:hover,
input[type="button"]:hover,
input[type="submit"]:hover,
input[type="reset"]:hover,
button[type="submit"]:hover {
	background: var(--ks-color-primary-hover);
}

input[type="button"]:disabled,
input[type="submit"]:disabled,
input[type="reset"]:disabled,
button[type="submit"]:disabled {
	cursor: not-allowed;
	opacity: 0.65;
}

.ks-form,
.wpcf7-form,
form {
	--ks-form-control-height: 52px;
	--ks-form-control-radius: 8px;
	--ks-form-row-gap: 40px;
	--ks-form-column-gap: 32px;
}

.ks-form label,
.wpcf7-form label,
form label {
	display: block;
	font-size: var(--ks-font-size-small);
	line-height: var(--ks-line-height-tight);
	margin: 0 0 10px;
}

.ks-form input:not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
.ks-form select,
.ks-form textarea,
.wpcf7-form input:not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
.wpcf7-form select,
.wpcf7-form textarea,
form input:not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
form select,
form textarea {
	appearance: none;
	background: var(--ks-color-surface);
	border: 1px solid transparent;
	border-radius: var(--ks-form-control-radius);
	box-shadow: none;
	box-sizing: border-box;
	color: var(--ks-color-text);
	display: block;
	font: inherit;
	min-height: var(--ks-form-control-height);
	padding: 14px 18px;
	width: 100%;
}

.ks-form input[type="hidden"],
.wpcf7-form input[type="hidden"],
form input[type="hidden"] {
	display: none !important;
}

.ks-form textarea,
.wpcf7-form textarea,
form textarea {
	min-height: 190px;
	resize: vertical;
}

.ks-form select,
.wpcf7-form select,
form select {
	background-image: linear-gradient(45deg, transparent 50%, currentColor 50%), linear-gradient(135deg, currentColor 50%, transparent 50%);
	background-position: calc(100% - 22px) 50%, calc(100% - 16px) 50%;
	background-repeat: no-repeat;
	background-size: 6px 6px, 6px 6px;
	padding-right: 44px;
}

.ks-form input:focus,
.ks-form select:focus,
.ks-form textarea:focus,
.wpcf7-form input:focus,
.wpcf7-form select:focus,
.wpcf7-form textarea:focus,
form input:focus,
form select:focus,
form textarea:focus {
	border-color: var(--ks-color-primary);
	box-shadow: 0 0 0 2px rgba(181, 48, 24, 0.18);
	outline: 0;
}

.ks-form input::placeholder,
.ks-form textarea::placeholder,
.wpcf7-form input::placeholder,
.wpcf7-form textarea::placeholder,
form input::placeholder,
form textarea::placeholder {
	color: rgba(60, 60, 60, 0.48);
}

.ks-form input[type="checkbox"],
.ks-form input[type="radio"],
.wpcf7-form input[type="checkbox"],
.wpcf7-form input[type="radio"],
form input[type="checkbox"],
form input[type="radio"] {
	accent-color: var(--ks-color-primary);
	height: 18px;
	margin: 0 10px 0 0;
	width: 18px;
}

.ks-form input[type="radio"],
.wpcf7-form input[type="radio"],
form input[type="radio"] {
	border-radius: 50%;
}

.ks-form input[type="file"],
.wpcf7-form input[type="file"],
form input[type="file"] {
	background: transparent;
	border: 1px dashed var(--ks-color-border);
	cursor: pointer;
	padding: 14px;
}

.ks-form fieldset,
.wpcf7-form fieldset,
form fieldset {
	border: 0;
	margin: 0;
	padding: 0;
}

.ks-form legend,
.wpcf7-form legend,
form legend {
	font-size: var(--ks-font-size-h3);
	font-weight: 700;
	line-height: var(--ks-line-height-tight);
	margin: 0 0 var(--ks-space-s);
	padding: 0;
}

.ks-form-row,
.wpcf7-form p {
	margin: 0 0 var(--ks-form-row-gap);
}

.ks-form-row:last-child,
.wpcf7-form p:last-of-type {
	margin-bottom: 0;
}

.ks-form-grid {
	display: grid;
	gap: var(--ks-form-row-gap) var(--ks-form-column-gap);
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ks-form-grid > *,
.wpcf7-form .ks-form-grid > p {
	margin: 0;
}

.wpcf7-form .ks-form-grid + p {
	margin: var(--ks-form-row-gap) 0 0;
	text-align: right;
}

.ks-form-grid--full,
.ks-form-field--full {
	grid-column: 1 / -1;
}

.wpcf7-form-control-wrap {
	display: block;
}

.wpcf7-list-item {
	display: block;
	margin: 0 0 10px;
}

.wpcf7-list-item label {
	align-items: center;
	display: inline-flex;
	gap: 0;
	margin: 0;
}

.wpcf7-not-valid {
	border-color: var(--ks-color-primary) !important;
}

.wpcf7-not-valid-tip {
	color: var(--ks-color-primary-hover);
	display: block;
	font-size: var(--ks-font-size-small);
	margin-top: 8px;
}

.wpcf7 form .wpcf7-response-output {
	border: 0;
	border-radius: var(--ks-form-control-radius);
	font-size: var(--ks-font-size-small);
	margin: var(--ks-space-s) 0 0;
	padding: 14px 18px;
}

.wpcf7 form.sent .wpcf7-response-output {
	background: #eef8f1;
	color: #245934;
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
	background: #fff3f3;
	color: #8a2f2f;
}

.wpcf7-spinner {
	margin: 0 0 0 var(--ks-space-xs);
	vertical-align: middle;
}

.ks-site-topbar {
	background: var(--ks-color-topbar);
	font-size: var(--ks-font-size-small);
	margin-inline: calc(50% - 50vw);
	width: 100vw;
}

.ks-site-topbar__inner {
	box-sizing: border-box;
	margin-inline: 0;
	max-width: none;
	min-height: 54px;
	padding-inline: var(--ks-gutter);
	width: 100%;
}

.ks-site-topbar__inner,
.ks-site-header__inner,
.ks-site-footer__inner,
.ks-site-legal__inner {
	align-items: center;
	display: flex;
	gap: var(--ks-space-s);
	justify-content: space-between;
}

.ks-site-topbar__links,
.ks-site-nav,
.ks-site-legal__nav {
	align-items: center;
	display: flex;
	gap: var(--ks-space-s);
	list-style: none;
	margin: 0;
	padding: 0;
}

.ks-icon-link {
	align-items: center;
	display: inline-flex;
	gap: 10px;
	line-height: 1;
	min-height: 54px;
	position: relative;
	white-space: nowrap;
}

.ks-icon-link span {
	position: relative;
}

.ks-icon-link:hover span::after,
.ks-icon-link[aria-current="page"] span::after {
	background: var(--ks-color-primary);
	bottom: -21px;
	content: "";
	height: 8px;
	left: 0;
	position: absolute;
	right: 0;
}

.ks-icon {
	display: block;
	height: 20px;
	width: 20px;
}

.ks-topbar-separator {
	background: currentColor;
	height: 22px;
	opacity: 0.7;
	width: 1px;
}

.ks-site-topbar a,
.ks-site-header a,
.ks-site-footer a,
.ks-site-legal a {
	color: inherit;
	text-decoration: none;
}

.ks-site-header {
	background: var(--ks-color-white);
}

.ks-site-header__inner {
	position: relative;
}

.ks-site-header__inner::after {
	background: var(--ks-color-line);
	bottom: 0;
	content: "";
	height: 1px;
	left: var(--ks-gutter);
	position: absolute;
	right: var(--ks-gutter);
}

body.home .ks-site-header__inner::after,
body.front-page .ks-site-header__inner::after {
	content: none;
}

.ks-site-logo {
	flex: 0 0 auto;
}

.ks-site-logo img,
.ks-mobile-nav-logo img,
.custom-logo {
	display: block;
	height: auto;
	max-width: 100%;
	width: 310px;
}

.ks-mobile-nav-logo {
	display: none;
}

.ks-site-nav-wrap {
	align-self: stretch;
	display: flex;
}

.ks-site-nav li {
	display: flex;
	position: relative;
}

.ks-site-nav .ks-mobile-nav-contact {
	display: none;
}

.ks-site-nav a {
	align-items: center;
	display: block;
	font-weight: 400;
	padding: 42px 0 36px;
	position: relative;
}

.ks-site-nav a[aria-current="page"],
.ks-contact-shortcut[aria-current="page"] {
	font-weight: 700;
}

.ks-site-nav a:not(.ks-nav-search)[aria-current="page"]::after,
.ks-site-nav a:not(.ks-nav-search):hover::after {
	background: var(--ks-color-primary);
	bottom: 0;
	content: "";
	height: 8px;
	left: 0;
	position: absolute;
	right: 0;
	z-index: 1;
}

.ks-contact-shortcut {
	position: relative;
}

.ks-nav-search {
	align-items: center;
	background: transparent;
	border: 0;
	box-shadow: none;
	color: inherit;
	cursor: pointer;
	display: flex !important;
	height: 100%;
	justify-content: center;
	min-width: 24px;
	padding: 42px 0 36px;
}

.ks-nav-search:focus,
.ks-nav-search:focus-visible {
	box-shadow: none;
	outline: 0;
}

.ks-nav-search .ks-icon {
	height: 19px;
	width: 19px;
}

.ks-search-overlay[hidden] {
	display: none;
}

.ks-search-overlay {
	align-items: flex-start;
	background: rgba(60, 60, 60, 0.42);
	box-sizing: border-box;
	display: flex;
	inset: 0;
	justify-content: center;
	padding: 180px var(--ks-gutter) var(--ks-space-xl);
	position: fixed;
	z-index: 400;
}

.ks-search-overlay__panel {
	background: var(--ks-color-white);
	border-radius: var(--ks-radius-card);
	box-shadow: 0 24px 80px rgba(0, 0, 0, 0.18);
	box-sizing: border-box;
	max-width: 760px;
	padding: 42px;
	position: relative;
	width: min(100%, 760px);
}

.ks-search-overlay__close {
	background: transparent;
	border: 0;
	box-shadow: none;
	cursor: pointer;
	height: 38px;
	padding: 0;
	position: absolute;
	right: 16px;
	top: 16px;
	width: 38px;
}

.ks-search-overlay__close::before,
.ks-search-overlay__close::after {
	background: var(--ks-color-text);
	content: "";
	height: 2px;
	left: 9px;
	position: absolute;
	top: 18px;
	width: 20px;
}

.ks-search-overlay__close::before {
	transform: rotate(45deg);
}

.ks-search-overlay__close::after {
	transform: rotate(-45deg);
}

.ks-search-is-open {
	overflow: hidden;
}

.ks-menu-toggle {
	align-items: center;
	background: transparent;
	border: 0;
	cursor: pointer;
	display: none;
	flex-direction: column;
	gap: 5px;
	justify-content: center;
	min-height: 44px;
	min-width: 44px;
	padding: 0;
	position: relative;
}

.ks-menu-toggle:focus,
.ks-menu-toggle:focus-visible {
	box-shadow: none;
	outline: 0;
}

.ks-menu-toggle__bar {
	background: var(--ks-color-text);
	border-radius: 2px;
	display: block;
	height: 2px;
	transition: opacity 160ms ease, transform 160ms ease;
	width: 24px;
}

.ks-menu-toggle[aria-expanded="true"] .ks-menu-toggle__bar:first-child {
	transform: translateY(7px) rotate(45deg);
}

.ks-menu-toggle[aria-expanded="true"] .ks-menu-toggle__bar:nth-child(2) {
	opacity: 0;
}

.ks-menu-toggle[aria-expanded="true"] .ks-menu-toggle__bar:nth-child(3) {
	transform: translateY(-7px) rotate(-45deg);
}

.ks-page-title {
	font-size: var(--ks-font-size-h1);
	line-height: var(--ks-line-height-heading);
	margin: 0 0 var(--ks-space-m);
}

.ks-page-intro {
	align-items: start;
	display: grid;
	gap: var(--ks-space-xl);
	grid-template-columns: minmax(0, 1fr) minmax(320px, 0.95fr);
}

.ks-page-intro__content {
	max-width: 520px;
}

.ks-page-intro__image,
.ks-hero-image {
	aspect-ratio: 16 / 6.25;
	border-radius: var(--ks-radius-image);
	overflow: hidden;
}

.ks-page-intro__image {
	aspect-ratio: 1.4 / 1;
}

.ks-error-page {
	align-items: center;
	display: flex;
	flex-direction: column;
	padding-block: var(--ks-space-s) var(--ks-space-2xl);
	text-align: center;
}

.ks-error-page__image {
	border-radius: var(--ks-radius-image);
	height: 600px;
	margin: 0 0 var(--ks-space-xl);
	overflow: hidden;
}

.ks-error-page__image img {
	display: block;
	height: 100%;
	object-fit: cover;
	object-position: center;
	width: 100%;
}

.ks-error-page__content {
	max-width: 720px;
	width: 100%;
}

.ks-error-page__content p {
	font-size: var(--ks-font-size-body-large);
	margin: 0 0 var(--ks-space-m);
}

.ks-search-form.wp-block-search {
	--ks-form-control-height: 52px;
	--ks-form-control-radius: 8px;
	margin-inline: auto;
	max-width: 560px;
}

.ks-search-form .wp-block-search__inside-wrapper {
	align-items: stretch;
	display: flex;
	gap: 12px;
}

.ks-search-form .wp-block-search__input {
	background: var(--ks-color-surface);
	border: 1px solid transparent !important;
	border-radius: var(--ks-form-control-radius) !important;
	box-sizing: border-box;
	color: var(--ks-color-text);
	font: inherit;
	min-height: var(--ks-form-control-height) !important;
	padding: 14px 18px !important;
}

.ks-search-form .wp-block-search__button {
	align-items: center;
	background: var(--ks-color-primary) !important;
	border: 0 !important;
	border-radius: 999px !important;
	color: var(--ks-color-white) !important;
	display: inline-flex !important;
	font: inherit;
	font-weight: 700;
	justify-content: center;
	line-height: 1 !important;
	margin: 0 !important;
	min-height: var(--ks-form-control-height) !important;
	min-width: 74px;
	padding: 0 24px !important;
}

.ks-search-form .wp-block-search__button:hover {
	background: var(--ks-color-primary-hover) !important;
}

.ks-search-form .wp-block-search__button svg {
	fill: currentColor;
	height: 22px;
	width: 22px;
}

.ks-search-form .wp-block-search__button .ks-icon {
	filter: brightness(0) invert(1);
	height: 22px;
	width: 22px;
}

.ks-page-search .ks-search-page {
	padding-block: calc(var(--ks-space-xl) + var(--ks-space-l)) var(--ks-space-2xl);
}

.ks-search-page__title {
	font-size: 18px;
	margin-bottom: var(--ks-space-m);
}

.wp-block-search__button-outside.wp-block-search__icon-button.ks-search-form.ks-search-page__form.wp-block-search,
.ks-search-form.ks-search-page__form.wp-block-search {
	margin: 0 0 var(--ks-space-xl);
	margin-inline: 0 auto;
}

.ks-search-results__list {
	display: grid;
	gap: var(--ks-space-l);
}

.ks-search-result {
	border-bottom: 1px solid var(--ks-color-border);
	padding-bottom: var(--ks-space-l);
}

.ks-search-result__title {
	font-size: 28px;
	line-height: var(--ks-line-height-tight);
	margin: 0 0 var(--ks-space-s);
}

.ks-search-result__content,
.ks-search-result__content *,
.entry-content.ks-search-result__content,
.entry-content.ks-search-result__content * {
	font-size: 16px !important;
}

.ks-search-result__content {
	margin-bottom: var(--ks-space-m);
}

.ks-search-result__content > :first-child {
	margin-top: 0;
}

.ks-search-result__content > :last-child {
	margin-bottom: 0;
}

.ks-search-result__button {
	display: inline-flex;
	width: fit-content;
}

.ks-search-result__button:hover {
	text-decoration: none;
}

.ks-search-results__empty {
	margin: 0;
}

.ks-page-single-service .ks-single-service,
.ks-page-single-course .ks-single-service {
	padding-block: 60px var(--ks-space-2xl);
	text-align: left;
}

.ks-single-service__category {
	color: var(--ks-color-text);
	display: inline-flex;
	font-size: 14px;
	font-style: normal;
	font-weight: 700;
	letter-spacing: 1.4px;
	line-height: var(--ks-line-height-tight);
	margin-bottom: var(--ks-space-xs);
	text-decoration: none;
	text-transform: uppercase;
}

.ks-single-service > p:has(.ks-single-service__category) {
	margin: 0 0 var(--ks-space-xs);
}

.ks-single-service__category:hover {
	color: var(--ks-color-primary);
	text-decoration: none;
}

.ks-single-service__title.wp-block-post-title {
	font-size: 28px;
	line-height: var(--ks-line-height-tight);
	margin: 0 0 var(--ks-space-m);
}

.ks-single-service__content.wp-block-post-content {
	font-size: 18px;
	margin: 0;
	max-width: 920px;
	text-align: left;
}

.ks-single-service__content.wp-block-post-content,
.ks-single-service__content.wp-block-post-content * {
	font-size: 18px;
}

.ks-page-intro__image img,
.ks-hero-image img,
.ks-card__image img,
.ks-team-member__image img,
.ks-text-image__media img {
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.ks-text-image__inner {
	align-items: center;
	display: grid;
	gap: var(--ks-space-xl);
}

.ks-text-image--half .ks-text-image__inner {
	grid-template-columns: minmax(0, 1fr) minmax(320px, 0.95fr);
}

.ks-text-image--half .ks-text-image__media {
	order: 2;
}

.ks-text-image--half .ks-text-image__content {
	order: 1;
}

.ks-text-image--container .ks-text-image__inner {
	grid-template-columns: 1fr;
}

.ks-text-image--container .ks-text-image__media {
	aspect-ratio: 16 / 6.25;
}

.ks-text-image--full {
	padding-top: 0;
}

.ks-text-image__media-full {
	display: grid;
	gap: var(--ks-space-l);
}

.ks-text-image--full .ks-text-image__media {
	aspect-ratio: 16 / 6.25;
	border-radius: 0;
	margin-inline: calc(50% - 50vw);
	width: 100vw;
}

.ks-text-image--full .ks-text-image__content {
	box-sizing: border-box;
	margin-inline: auto;
	max-width: var(--ks-container);
	padding-inline: var(--ks-gutter);
	width: 100%;
}

.ks-text-image__media {
	aspect-ratio: 1.38 / 1;
	border-radius: var(--ks-radius-image);
	margin: 0;
	overflow: hidden;
}

.ks-text-image__content {
	max-width: 520px;
}

.ks-text-image--container .ks-text-image__content {
	max-width: 620px;
}

.ks-text-image__title {
	font-size: var(--ks-font-size-h1);
	line-height: var(--ks-line-height-heading);
	margin: 0 0 var(--ks-space-m);
}

.ks-home {
	background: var(--ks-color-white);
}

.ks-home-hero {
	background: #F7EFEB;
	margin-inline: calc(50% - 50vw);
	overflow: hidden;
	width: 100vw;
}

.ks-home-hero__inner {
	align-items: center;
	display: grid;
	gap: var(--ks-space-xl);
	grid-template-columns: minmax(360px, 0.7fr) minmax(560px, 1.3fr);
	min-height: 600px;
	position: relative;
}

.ks-home-hero__content {
	max-width: 520px;
	padding-block: var(--ks-space-xl);
	position: relative;
	z-index: 2;
}

.ks-home-hero__content h1 {
	font-size: var(--ks-font-size-h1);
	line-height: 1.14;
	margin: 0 0 22px;
}

.ks-home-hero__content p {
	font-size: 20px;
	line-height: 1.45;
	margin: 0 0 var(--ks-space-m);
}

.ks-home-hero__content .ks-rich-text + .ks-button {
	margin-top: var(--ks-space-m);
}

.ks-home-hero__media {
	align-self: stretch;
	display: flex;
	justify-content: flex-end;
	margin: 0;
	min-height: 600px;
	overflow: visible;
	position: relative;
}

.ks-home-hero__media picture {
	align-self: stretch;
	display: flex;
	justify-content: inherit;
	width: 100%;
}

.ks-home-hero__media img {
	align-self: end;
	display: block;
	height: 100%;
	max-height: 600px;
	max-width: none;
	object-fit: cover;
	object-position: center bottom;
	width: 100%;
}

.ks-hero-section--home .ks-home-hero__inner {
	grid-template-columns: 1fr;
}

.ks-hero-section--home .ks-home-hero__content {
	margin-right: auto;
}

.ks-hero-section--home .ks-home-hero__media {
	align-items: stretch;
	justify-content: center;
	inset: 0;
	min-height: 0;
	position: absolute;
	z-index: 1;
}

.ks-hero-section--home .ks-home-hero__media img {
	height: 100%;
	max-height: none;
	max-width: none;
	object-fit: contain;
	object-position: center bottom;
	width: auto;
}

.ks-hero-section--home .ks-home-hero__media picture {
	height: 100%;
	justify-content: center;
	width: 100%;
}

.ks-hero-section--split {
	background: var(--ks-color-white);
	margin-inline: 0;
	padding-block: var(--ks-space-xl);
	width: auto;
}

.ks-hero-section--split .ks-home-hero__inner {
	gap: 110px;
	grid-template-columns: minmax(0, 1fr) minmax(360px, 0.95fr);
	min-height: 0;
}

.ks-hero-section--split .ks-home-hero__content {
	max-width: 520px;
	padding-block: 0;
}

.ks-hero-section--split .ks-home-hero__media {
	min-height: 320px;
}

.ks-hero-section--split .ks-home-hero__media img {
	border-radius: var(--ks-radius-image);
	height: auto;
	max-height: none;
	max-width: 100%;
	object-fit: cover;
	width: 100%;
}

.ks-hero-section--image {
	background: var(--ks-color-white);
	margin-inline: 0;
	padding-block: var(--ks-space-s) var(--ks-space-xl);
	width: auto;
}

.ks-hero-section--image .ks-home-hero__inner {
	display: block;
	min-height: 0;
}

.ks-hero-section--image .ks-home-hero__media {
	display: block;
	min-height: 0;
}

.ks-hero-section--image .ks-home-hero__media img {
	aspect-ratio: 1280 / 420;
	border-radius: var(--ks-radius-image);
	height: auto;
	max-height: none;
	max-width: 100%;
	object-fit: cover;
	object-position: center;
	width: 100%;
}

.ks-service-page-hero {
	padding-block: var(--ks-space-s) var(--ks-space-xl);
}

.ks-service-page-hero__image {
	border-radius: var(--ks-radius-image);
	height: 600px;
	margin: 0;
	overflow: hidden;
}

.ks-service-page-hero__image img {
	border-radius: inherit;
	display: block;
	height: 100%;
	object-fit: cover;
	object-position: center;
	width: 100%;
}

.ks-service-page-layout {
	align-items: start;
	display: grid;
	gap: var(--ks-space-xl);
	grid-template-columns: minmax(0, 1fr) minmax(280px, 380px);
	padding-top: 0;
}

.ks-service-page-layout__aside .ks-info-card {
	max-width: none;
}

.ks-service-page-layout__aside {
	margin-top: 34px;
}

.ks-contact-page-layout {
	align-items: start;
	display: grid;
	gap: var(--ks-space-xl);
	grid-template-columns: minmax(0, 1fr) minmax(280px, 380px);
	padding-top: var(--ks-space-l);
}

.ks-contact-page-layout__main {
	max-width: 920px;
}

.ks-contact-page-layout__main .ks-page-title {
	margin-bottom: var(--ks-space-m);
}

.ks-contact-page-layout__aside {
	padding-top: calc(var(--ks-space-l) + 60px);
}

.ks-contact-page-layout__aside .ks-info-card {
	max-width: none;
}

.ks-service-page-layout__main .ks-accordion__item {
	border-bottom: 1px solid var(--ks-color-border);
}

.ks-service-page-layout__main .ks-accordion__button {
	align-items: center;
	box-shadow: none;
	justify-content: space-between;
	padding: 24px 0;
}

.ks-service-page-layout__main .ks-accordion__button:focus,
.ks-service-page-layout__main .ks-accordion__button:focus-visible {
	box-shadow: none;
	outline: 0;
}

.ks-service-page-layout__main .ks-accordion__label {
	flex: 1;
	min-width: 0;
	padding-right: 24px;
}

.ks-service-page-layout__main .ks-accordion__icon {
	background-position: center calc(50% - 3px);
	background-repeat: no-repeat;
	background-size: auto 18px;
	flex-basis: 46px;
	font-size: 0;
	height: 46px;
	margin-left: 0;
	width: 46px;
}

.ks-service-page-layout__main .ks-accordion__panel {
	padding: 0 72px 24px 0;
}

.ks-course-list__description > :first-child {
	margin-top: 0;
}

.ks-course-list__description > :last-child {
	margin-bottom: 0;
}

.ks-termine-page-layout {
	padding-block: calc(var(--ks-space-xl) + var(--ks-space-l)) var(--ks-space-2xl);
}

.ks-termine-page-layout .ks-page-title {
	margin-bottom: var(--ks-space-m);
}

.ks-page-termine .amelia-v2-booking {
	--am-c-primary: var(--ks-color-primary);
	--am-c-primary-op10: rgba(181, 48, 24, 0.1);
	--am-c-primary-op20: rgba(181, 48, 24, 0.2);
	--am-c-primary-op30: rgba(181, 48, 24, 0.3);
	--am-c-primary-op60: rgba(181, 48, 24, 0.6);
	--am-color-primary: var(--ks-color-primary);
	--am-color-primary-op10: rgba(181, 48, 24, 0.1);
	--am-color-primary-op20: rgba(181, 48, 24, 0.2);
	--am-color-primary-op30: rgba(181, 48, 24, 0.3);
	--am-color-primary-op60: rgba(181, 48, 24, 0.6);
	--map-brand-primary-fill-0: var(--ks-color-primary);
	--map-brand-primary-fill--1: rgba(181, 48, 24, 0.84);
	--map-brand-primary-fill--2: rgba(181, 48, 24, 0.72);
	--map-brand-primary-fill--3: rgba(181, 48, 24, 0.18);
	--map-brand-primary-fill--4: rgba(181, 48, 24, 0.1);
	--map-brand-primary-fill-4: var(--ks-color-primary-hover);
	--map-brand-primary-symbol-0: var(--ks-color-primary);
	--map-brand-primary-symbol--1: var(--ks-color-primary-hover);
	--map-brand-primary-stroke--1: rgba(181, 48, 24, 0.36);
	--map-brand-primary-stroke-0: rgba(181, 48, 24, 0.28);
	--map-brand-primary-stroke--2: rgba(181, 48, 24, 0.18);
	--theme-main-brand: var(--ks-color-primary);
	--theme-main-brand-o5: rgba(181, 48, 24, 0.08);
	--theme-main-brand-o10: rgba(181, 48, 24, 0.12);
	--theme-main-brand-o20: rgba(181, 48, 24, 0.2);
	--theme-main-brand-o30: rgba(181, 48, 24, 0.3);
	--theme-main-brand-o60: rgba(181, 48, 24, 0.6);
	--theme-primary: var(--ks-color-primary);
	--theme-primary-hover: var(--ks-color-primary-hover);
	color: var(--ks-color-text);
	font-family: var(--ks-font-family-base);
	margin: 0;
	max-width: 960px;
}

.ks-page-termine .amelia-v2-booking,
.ks-page-termine .amelia-v2-booking * {
	box-sizing: border-box;
	letter-spacing: 0;
}

.ks-page-termine .amelia-v2-booking button:focus,
.ks-page-termine .amelia-v2-booking button:focus-visible,
.ks-page-termine .amelia-v2-booking [role="button"]:focus,
.ks-page-termine .amelia-v2-booking [role="button"]:focus-visible {
	box-shadow: none !important;
	outline: 0 !important;
}

.ks-page-termine .amelia-v2-booking .am-button-action,
.ks-page-termine .amelia-v2-booking .el-button {
	border-radius: var(--ks-radius-control);
	font-family: var(--ks-font-family-base);
	font-weight: 700;
}

.ks-page-termine .amelia-v2-booking .am-button-action__priority__primary.am-button-action__type__fill,
.ks-page-termine .amelia-v2-booking .am-button,
.ks-page-termine .amelia-v2-booking .am-button--primary,
.ks-page-termine .amelia-v2-booking .el-button--primary {
	background-color: var(--ks-color-primary) !important;
	border-color: var(--ks-color-primary) !important;
	color: var(--ks-color-white) !important;
}

.ks-page-termine .amelia-v2-booking .am-button-action__priority__primary.am-button-action__type__fill:hover,
.ks-page-termine .amelia-v2-booking .am-button:hover,
.ks-page-termine .amelia-v2-booking .am-button--primary:hover,
.ks-page-termine .amelia-v2-booking .el-button--primary:hover {
	background-color: var(--ks-color-primary-hover) !important;
	border-color: var(--ks-color-primary-hover) !important;
}

.ks-page-termine .amelia-v2-booking .el-input__inner:focus,
.ks-page-termine .amelia-v2-booking .el-textarea__inner:focus,
.ks-page-termine .amelia-v2-booking .el-select .el-input.is-focus .el-input__inner,
.ks-page-termine .amelia-v2-booking .el-select .el-input__inner:focus {
	border-color: var(--ks-color-primary) !important;
	box-shadow: 0 0 0 2px rgba(181, 48, 24, 0.18) !important;
}

.ks-page-termine .amelia-v2-booking .el-checkbox__input.is-checked .el-checkbox__inner,
.ks-page-termine .amelia-v2-booking .el-radio__input.is-checked .el-radio__inner,
.ks-page-termine .amelia-v2-booking input[type="checkbox"]:checked,
.ks-page-termine .amelia-v2-booking input[type="radio"]:checked {
	background-color: var(--ks-color-primary) !important;
	border-color: var(--ks-color-primary) !important;
}

.ks-page-termine .amelia-v2-booking .el-checkbox__input.is-checked + .el-checkbox__label,
.ks-page-termine .amelia-v2-booking .el-radio__input.is-checked + .el-radio__label,
.ks-page-termine .amelia-v2-booking .el-select-dropdown__item.selected,
.ks-page-termine .amelia-v2-booking .is-selected,
.ks-page-termine .amelia-v2-booking [aria-selected="true"] {
	color: var(--ks-color-primary) !important;
}

.ks-page-termine .amelia-v2-booking .is-selected,
.ks-page-termine .amelia-v2-booking [class*="--selected"],
.ks-page-termine .amelia-v2-booking [class*="__selected"],
.ks-page-termine .amelia-v2-booking [aria-selected="true"] {
	border-color: var(--ks-color-primary) !important;
}

.ks-home-cards {
	padding-block: 106px 96px;
}

.ks-home-card-grid {
	display: grid;
	gap: 24px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.ks-home-card {
	background: var(--ks-color-white);
	border: 1px solid var(--ks-color-border);
	border-radius: 20px;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	text-align: center;
}

.ks-home-card__image {
	background: var(--ks-color-surface);
	display: block;
	height: 175px;
	overflow: hidden;
}

.ks-home-card__image img {
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.ks-home-card__body {
	align-items: center;
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 26px 26px 28px;
}

.ks-home-card__body h2 {
	font-size: var(--ks-font-size-h3);
	line-height: var(--ks-line-height-tight);
	margin: 0 0 20px;
}

.ks-home-card__body p {
	margin: 0 0 28px;
}

.ks-home-card__body .ks-button {
	margin-top: auto;
}

.ks-card-grid {
	display: grid;
	gap: 28px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.ks-card {
	border: 1px solid var(--ks-color-border);
	border-radius: var(--ks-radius-card);
	overflow: hidden;
	text-align: center;
}

.ks-card__image {
	aspect-ratio: 1.55 / 0.9;
	overflow: hidden;
}

.ks-card__body {
	padding: 26px 28px 30px;
}

.ks-card__title {
	font-size: var(--ks-font-size-h3);
	line-height: var(--ks-line-height-tight);
	margin: 0 0 var(--ks-space-s);
}

.ks-info-card {
	background: var(--ks-color-surface);
	border-radius: var(--ks-radius-card);
	box-sizing: border-box;
	max-width: 50%;
	padding: 34px 44px;
	position: relative;
}

.ks-info-card::before {
	align-items: center;
	background: var(--ks-color-primary);
	border-radius: 50%;
	color: var(--ks-color-white);
	content: "i";
	display: flex;
	font-weight: 700;
	height: 34px;
	justify-content: center;
	left: -13px;
	line-height: 1;
	position: absolute;
	top: -10px;
	width: 34px;
}

.ks-team-accordion {
	display: grid;
	gap: var(--ks-space-xl);
}

.ks-team-member {
	align-items: start;
	display: grid;
	gap: var(--ks-space-l);
	grid-template-columns: minmax(260px, 380px) minmax(0, 1fr);
}

.ks-team-member:nth-child(even) {
	grid-template-columns: minmax(0, 1fr) minmax(260px, 380px);
}

.ks-team-member:nth-child(even) .ks-team-member__image {
	order: 2;
}

.ks-team-member__image {
	aspect-ratio: 0.82 / 1;
	border-radius: var(--ks-radius-image);
	overflow: hidden;
}

.ks-team-member__name {
	font-size: var(--ks-font-size-h2);
	line-height: var(--ks-line-height-tight);
	margin: 0 0 6px;
}

.ks-team-member__role {
	font-size: var(--ks-font-size-small);
	font-weight: 600;
	margin: 0 0 var(--ks-space-m);
}

.ks-team-member__content .ks-rich-text,
.ks-accordion__panel {
	--ks-content-heading-gap-before: 28px;
	--ks-content-heading-gap-after: 12px;
	--ks-content-subheading-gap-before: 22px;
	--ks-content-subheading-gap-after: 10px;
	font-size: var(--ks-font-size-body);
}

.ks-accordion {
	list-style: none;
	margin: 0;
	padding: 0;
}

.ks-accordion__item {
	border-bottom: 1px solid var(--ks-color-border);
}

.ks-accordion__button {
	align-items: center;
	background: transparent;
	border: 0;
	color: var(--ks-color-text);
	cursor: pointer;
	display: flex;
	font: inherit;
	font-size: var(--ks-font-size-h3);
	font-weight: 700;
	justify-content: space-between;
	line-height: var(--ks-line-height-tight);
	padding: 24px 0;
	text-align: left;
	width: 100%;
}

.ks-accordion__icon {
	align-items: center;
	background: var(--ks-color-primary);
	border-radius: 50%;
	color: var(--ks-color-white);
	display: inline-flex;
	flex: 0 0 38px;
	font-size: 26px;
	font-weight: 700;
	height: 38px;
	justify-content: center;
	line-height: 1;
	margin-left: var(--ks-space-s);
	width: 38px;
}

.ks-accordion__button[aria-expanded="true"] .ks-accordion__icon::before {
	content: "-";
}

.ks-accordion__button[aria-expanded="false"] .ks-accordion__icon::before {
	content: "+";
}

.ks-accordion__panel {
	padding: 0 72px 24px 0;
}

.ks-accordion__panel[hidden] {
	display: none;
}

.ks-team-member .ks-accordion {
	margin-top: var(--ks-space-s);
}

.ks-team-member .ks-accordion__item {
	border-bottom: 0;
}

.ks-team-member .ks-accordion__button {
	align-items: center;
	background: var(--ks-color-primary);
	border-radius: var(--ks-radius-control);
	color: var(--ks-color-white);
	display: inline-flex;
	font-size: var(--ks-font-size-body);
	font-weight: 700;
	gap: 10px;
	justify-content: center;
	line-height: 1;
	margin-top: var(--ks-space-s);
	padding: 13px 18px 13px 22px;
	text-align: center;
	width: auto;
}

.ks-team-member .ks-accordion__button:focus,
.ks-team-member .ks-accordion__button:focus-visible {
	box-shadow: none;
	outline: 0;
}

.ks-team-member .ks-accordion__icon {
	background: transparent url("../images/right-arrow-down.svg") center / contain no-repeat;
	border-radius: 0;
	color: inherit;
	flex: 0 0 10px;
	height: 10px;
	margin-left: 0;
	width: 10px;
}

.ks-team-member .ks-accordion__button[aria-expanded="true"] .ks-accordion__icon {
	background-image: url("../images/right-arrow-up.svg");
}

.ks-team-member .ks-accordion__icon::before {
	content: none !important;
}

.ks-team-member .ks-accordion__panel {
	padding: calc(var(--ks-space-m) / 2) 0 0;
}

.ks-team-member .ks-accordion__panel:not([hidden]) + .ks-accordion__button {
	margin-top: var(--ks-space-m);
}

.ks-service-page-layout__main .ks-accordion__icon::before {
	content: none !important;
}

.ks-service-page-layout__main .ks-accordion__button[aria-expanded="false"] .ks-accordion__icon {
	background-image: url("../images/plus.svg");
	background-size: 18px auto;
}

.ks-service-page-layout__main .ks-accordion__button[aria-expanded="true"] .ks-accordion__icon {
	background-image: url("../images/minus.svg");
	background-size: 15px auto;
}

.ks-site-footer {
	background: var(--ks-color-surface);
	padding-block: 58px;
}

.ks-site-footer__inner {
	align-items: flex-start;
}

.ks-site-footer__brand {
	flex: 1 1 44%;
}

.ks-site-footer__columns {
	display: grid;
	flex: 1 1 56%;
	gap: var(--ks-space-l);
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ks-site-logo--footer img {
	width: 390px;
}

.ks-footer-column {
	column-gap: 14px;
	display: grid;
	font-size: var(--ks-font-size-small);
	grid-template-columns: 20px minmax(0, 1fr);
	max-width: 260px;
	row-gap: 15px;
}

.ks-footer-column__heading {
	align-items: center;
	display: contents;
	grid-column: 1 / -1;
	margin-bottom: var(--ks-space-s);
}

.ks-footer-column__heading h2 {
	font-size: 15px;
	grid-column: 2;
	line-height: 1.25;
	margin: 0;
}

.ks-footer-column__heading .ks-icon {
	grid-column: 1;
	margin-top: 1px;
}

.ks-footer-column p {
	grid-column: 2;
	margin: 0;
}

.ks-footer-link {
	font-weight: 700;
	text-decoration: underline !important;
	text-underline-offset: 3px;
}

.ks-site-legal {
	background: var(--ks-color-primary);
	color: var(--ks-color-white);
	font-weight: 700;
	margin-inline: calc(50% - 50vw);
	padding-block: 18px;
	width: 100vw;
}

.ks-site-legal p {
	margin: 0;
}

.ks-site-legal__inner {
	box-sizing: border-box;
	margin-inline: 0;
	max-width: none;
	padding-inline: var(--ks-gutter);
	width: 100%;
}

@media (max-width: 1200px) {
	.ks-card-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ks-home-card-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 960px) {
	.ks-site-topbar,
	.ks-site-header {
		position: relative;
		z-index: 110;
	}

	.ks-site-header__inner,
	.ks-site-footer__inner {
		align-items: flex-start;
		flex-direction: column;
	}

	.ks-site-header__inner {
		min-height: 0;
		padding-block: var(--ks-space-s);
	}

	.ks-menu-is-open .ks-site-topbar {
		display: none;
	}

	.ks-menu-is-open .ks-site-header {
		background: var(--ks-color-white);
		left: 0;
		position: fixed;
		right: 0;
		top: 0;
		z-index: 130;
	}

	.ks-menu-is-open .ks-site-header__inner {
		border-bottom: 0;
	}

	.ks-menu-toggle {
		display: inline-flex;
		position: absolute;
		right: var(--ks-gutter);
		top: 50%;
		transform: translateY(-50%);
		z-index: 120;
	}

	.ks-site-nav-wrap {
		display: none;
		width: 100%;
	}

	.ks-site-nav-wrap.is-open {
		display: block;
		background: var(--ks-color-white);
		box-sizing: border-box;
		inset: 0;
		overflow-y: auto;
		padding: 150px var(--ks-gutter) var(--ks-space-xl);
		position: fixed;
		z-index: 100;
	}

	.ks-site-nav-wrap.is-open .ks-mobile-nav-logo {
		display: block;
		left: var(--ks-gutter);
		position: fixed;
		top: var(--ks-space-s);
		z-index: 115;
	}

	.ks-site-nav {
		align-items: stretch;
		flex-direction: column;
		flex-wrap: nowrap;
		gap: 0;
		padding-top: 0;
		width: 100%;
	}

	.ks-site-nav li {
		display: block;
		width: 100%;
	}

	.ks-site-nav .ks-mobile-nav-contact {
		display: block;
	}

	.ks-contact-shortcut {
		display: none;
	}

	.ks-site-nav a {
		border-bottom: 1px solid var(--ks-color-line);
		box-sizing: border-box;
		display: flex;
		font-size: var(--ks-font-size-body);
		line-height: var(--ks-line-height-body);
		padding: 16px 0;
		width: 100%;
	}

	.ks-site-nav a:not(.ks-nav-search)[aria-current="page"]::after,
	.ks-site-nav a:not(.ks-nav-search):hover::after {
		bottom: -1px;
		height: 8px;
		left: 0;
		right: 0;
		top: auto;
		width: auto;
	}

	.ks-nav-search {
		border-bottom: 1px solid var(--ks-color-line);
		box-sizing: border-box;
		justify-content: flex-start;
		min-height: 66px;
		padding: 16px 0;
		width: 100%;
	}

	.ks-search-overlay {
		padding-top: 120px;
	}

	.ks-search-overlay__panel {
		padding: 38px 24px 28px;
	}

	.ks-page-intro,
	.ks-team-member,
	.ks-team-member:nth-child(even) {
		grid-template-columns: 1fr;
	}

	.ks-team-member:nth-child(even) .ks-team-member__image {
		order: 0;
	}

	.ks-page-intro__content {
		max-width: none;
	}

	.ks-home-hero__inner {
		gap: var(--ks-space-l);
		grid-template-columns: 1fr;
		min-height: 560px;
		padding-top: var(--ks-space-xl);
	}

	.ks-home-hero__content {
		max-width: none;
		padding-block: 0;
	}

	.ks-home-hero__media {
		min-height: 320px;
	}

	.ks-home-hero__media img {
		height: auto;
		max-height: none;
		max-width: 100%;
		width: 100%;
	}

	.ks-home-hero__media picture {
		display: flex;
		width: 100%;
	}

	.ks-hero-section--home .ks-home-hero__media {
		inset: auto;
		align-items: stretch;
		justify-content: center;
		min-height: clamp(360px, 48vh, 520px);
		overflow: hidden;
		position: relative;
		z-index: auto;
	}

	.ks-hero-section--home .ks-home-hero__media img {
		height: 100%;
		max-width: none;
		object-fit: cover;
		object-position: center bottom;
		width: auto;
	}

	.ks-hero-section--home .ks-home-hero__media picture {
		height: 100%;
		justify-content: center;
		width: auto;
	}

	.ks-hero-section--split .ks-home-hero__inner {
		gap: var(--ks-space-l);
		grid-template-columns: 1fr;
	}

	.ks-hero-section--split .ks-home-hero__media {
		min-height: 0;
	}

	.ks-service-page-hero__image {
		height: 460px;
	}

	.ks-error-page__image {
		height: 460px;
	}

	.ks-service-page-layout {
		grid-template-columns: 1fr;
	}

	.ks-contact-page-layout {
		grid-template-columns: 1fr;
	}

	.ks-service-page-layout__aside {
		margin-top: 0;
	}

	.ks-contact-page-layout__aside {
		padding-top: 0;
	}
}

@media (max-width: 782px) {
	.ks-site-topbar__inner {
		align-items: center;
		display: flex;
		min-height: 0;
		padding-block: 16px;
	}

	.ks-site-topbar__links {
		align-items: center;
		flex-direction: row;
		gap: 12px;
		justify-content: space-between;
		min-width: 0;
		width: 100%;
	}

	.ks-site-legal__inner {
		align-items: flex-start;
		flex-direction: column;
		gap: var(--ks-space-xs);
	}

	.ks-icon-link {
		min-height: 0;
		padding-block: 4px;
		white-space: nowrap;
	}

	.ks-icon-link:hover span::after,
	.ks-icon-link[aria-current="page"] span::after {
		bottom: -6px;
	}

	.ks-topbar-separator {
		display: none;
	}

	.ks-site-footer__columns {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 600px) {
	.ks-site-topbar {
		font-size: clamp(10px, 3.2vw, var(--ks-font-size-small));
	}

	.ks-site-topbar__inner {
		padding-inline: clamp(10px, 3vw, var(--ks-gutter));
	}

	.ks-site-topbar__links .ks-icon-link {
		gap: 4px;
	}

	.ks-site-topbar__links .ks-icon {
		height: 14px;
		width: 14px;
	}

	.ks-section {
		padding-block: var(--ks-space-l);
	}

	.ks-termine-page-layout {
		padding-block: var(--ks-space-l) var(--ks-space-xl);
	}

	.ks-card-grid {
		grid-template-columns: 1fr;
	}

	.ks-home-cards {
		padding-block: var(--ks-space-xl);
	}

	.ks-home-card-grid {
		grid-template-columns: 1fr;
	}

	.ks-home-card__image {
		height: auto;
		overflow: visible;
		width: 100%;
	}

	.ks-home-card__image img {
		height: auto;
		object-fit: contain;
		width: 100%;
	}

	.ks-form-grid {
		grid-template-columns: 1fr;
	}

	.ks-home-hero__content h1 {
		font-size: var(--ks-font-size-h1);
	}

	.ks-home-hero__content p {
		font-size: var(--ks-font-size-body);
	}

	.ks-home-hero__inner {
		min-height: 520px;
	}

	.ks-home-hero__media {
		margin-inline: calc(var(--ks-gutter) * -1);
		min-height: 260px;
		width: calc(100% + (var(--ks-gutter) * 2));
	}

	.ks-hero-section--home .ks-home-hero__media {
		min-height: clamp(340px, 46vh, 460px);
	}

	.ks-hero-section--image .ks-home-hero__media img {
		aspect-ratio: 16 / 9;
	}

	.ks-service-page-hero__image {
		height: auto;
		overflow: hidden;
	}

	.ks-service-page-hero__image img {
		height: auto;
		object-fit: contain;
		width: 100%;
	}

	.ks-error-page__image {
		height: 340px;
	}

	.ks-search-form .wp-block-search__inside-wrapper {
		flex-direction: column;
	}

	.ks-search-form .wp-block-search__button {
		width: 100%;
	}

	.ks-info-card {
		max-width: none;
		padding: 30px 24px;
	}

	.ks-accordion__button {
		font-size: var(--ks-font-size-h3);
		padding-block: 20px;
	}

	.ks-accordion__panel {
		padding-right: 0;
	}

	.ks-site-logo img,
	.ks-mobile-nav-logo img,
	.custom-logo {
		width: 260px;
	}

	.ks-site-logo--footer img {
		width: min(100%, 300px);
	}

	.ks-text-image--half .ks-text-image__inner {
		grid-template-columns: 1fr;
	}

	.ks-text-image--half .ks-text-image__media,
	.ks-text-image--half .ks-text-image__content {
		order: initial;
	}

	.ks-text-image__content {
		max-width: none;
	}
}
