:root {
	--ahk-ko-blue: #2b9eea;
	--ahk-ko-blue-dark: #2e59d7;
	--ahk-ko-bg: #0c0f11;
	--ahk-ko-panel: rgba(15, 21, 25, .88);
	--ahk-ko-line: rgba(56, 158, 225, .42);
	--ahk-ko-text: #f8fafb;
	--ahk-ko-muted: #b8c1c8;
}

.ahk-kontaktseite-page .wp-block-post-title { display: none !important; }
.ahk-kontaktseite-page .wp-block-post-content { margin-block-start: 0 !important; }
html:has(body.ahk-kontaktseite-page), body.ahk-kontaktseite-page { overflow-x: hidden !important; overflow-x: clip !important; }

.ahk-ko-page, .ahk-ko-page * { box-sizing: border-box; }
.ahk-ko-page {
	width: 100vw;
	max-width: none !important;
	margin: 0 calc(50% - 50vw) !important;
	color: var(--ahk-ko-text);
	overflow: hidden;
}
.ahk-ko-eyebrow {
	margin: 0 0 14px;
	color: #43adf3;
	font-size: .78rem;
	font-weight: 750;
	letter-spacing: .15em;
	text-transform: uppercase;
}
.ahk-ko-hero { border-bottom: 1px solid rgba(255,255,255,.08); }
.ahk-ko-hero-grid {
	display: grid !important;
	grid-template-columns: minmax(0, .94fr) minmax(520px, 1.06fr);
	gap: 0 !important;
	width: 100% !important;
	max-width: none !important;
	min-height: 510px;
	margin: 0 !important;
	padding-left: max(32px, calc((100vw - 1450px) / 2));
}
.ahk-ko-hero-grid > .wp-block-column { min-width: 0; margin-left: 0 !important; }
.ahk-ko-hero-copy {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	padding: 72px 64px 72px 0;
	position: relative;
	z-index: 2;
}
.ahk-ko-hero h1, .ahk-ko-section-head h2, .ahk-ko-form-panel h2 {
	margin: 0;
	color: #fff;
	font-weight: 760;
	letter-spacing: -.04em;
	line-height: 1.04;
}
.ahk-ko-hero h1 { max-width: 680px; font-size: clamp(2.7rem, 4.3vw, 4.8rem); }
.ahk-ko-lead { margin: 14px 0 18px !important; color: #edf3f7; font-size: clamp(1.35rem, 2.2vw, 2.15rem); line-height: 1.2; }
.ahk-ko-hero-copy > p:not(.ahk-ko-eyebrow):not(.ahk-ko-lead) { max-width: 650px; margin: 0; color: var(--ahk-ko-muted); font-size: 1.05rem; line-height: 1.7; }
.ahk-ko-primary-button { margin-top: 28px; }
.ahk-ko-primary-button .wp-block-button__link, .ahk-ko-form-panel .ff-btn-submit {
	border: 0 !important;
	border-radius: 999px !important;
	background: linear-gradient(105deg, #20a4ef 0%, #2f58d5 100%) !important;
	box-shadow: 0 12px 28px rgba(25,110,215,.24);
	color: #fff !important;
	font-weight: 750 !important;
	text-decoration: none !important;
	transition: transform .2s ease, filter .2s ease, box-shadow .2s ease;
}
.ahk-ko-primary-button .wp-block-button__link { min-height: 50px; padding: 13px 28px; }
.ahk-ko-primary-button .wp-block-button__link:hover, .ahk-ko-form-panel .ff-btn-submit:hover { filter: brightness(1.12); transform: translateY(-2px); }
.ahk-ko-hero-visual { position: relative; min-height: 510px; margin-left: -300px; }
.ahk-ko-hero-visual figure { width: 100%; height: 100%; margin: 0; }
.ahk-ko-hero-visual img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	filter: brightness(.78) saturate(.92);
	-webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.1) 7%, rgba(0,0,0,.55) 19%, #000 34%);
	mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.1) 7%, rgba(0,0,0,.55) 19%, #000 34%);
}

.ahk-ko-ways { padding: 82px 0 64px; }
.ahk-ko-section-head, .ahk-ko-contact-grid, .ahk-ko-main-grid {
	width: min(1450px, calc(100% - 64px));
	max-width: 1450px !important;
	margin-inline: auto !important;
}
.ahk-ko-section-head { margin-bottom: 34px !important; }
.ahk-ko-section-head h2, .ahk-ko-form-panel h2 { font-size: clamp(2.25rem, 3.7vw, 3.65rem); }
.ahk-ko-section-head > p:last-child, .ahk-ko-form-panel > p:not(.ahk-ko-eyebrow) { margin: 15px 0 0; color: var(--ahk-ko-muted); font-size: 1.05rem; line-height: 1.65; }
.ahk-ko-contact-grid { display: grid !important; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 20px; }
.ahk-ko-contact-grid > .ahk-ko-contact-card:nth-child(n+4) { display: none !important; }
.ahk-ko-contact-card {
	--ahk-ko-card-accent: #2b9eea;
	--ahk-ko-card-accent-rgb: 43, 158, 234;
	display: flex;
	flex-direction: column;
	min-height: 270px;
	padding: 30px;
	border: 1px solid rgba(var(--ahk-ko-card-accent-rgb), .5);
	border-radius: 18px;
	background:
		linear-gradient(145deg, rgba(var(--ahk-ko-card-accent-rgb), .17), transparent 48%),
		rgba(10,17,21,.8);
	box-shadow: 0 20px 50px rgba(0,0,0,.2), inset 0 1px 0 rgba(255,255,255,.03);
	transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.ahk-ko-contact-card:nth-child(2) { --ahk-ko-card-accent: #25d366; --ahk-ko-card-accent-rgb: 37, 211, 102; }
.ahk-ko-contact-card:nth-child(3) { --ahk-ko-card-accent: #5dbaf3; --ahk-ko-card-accent-rgb: 93, 186, 243; }
.ahk-ko-contact-card:hover { transform: translateY(-4px); border-color: var(--ahk-ko-card-accent); box-shadow: 0 24px 58px rgba(var(--ahk-ko-card-accent-rgb),.14); }
.ahk-ko-icon {
	position: relative;
	display: block;
	width: 48px;
	height: 48px;
	margin: 0 0 23px !important;
	padding: 0 !important;
	align-self: flex-start;
	border: 1px solid rgba(var(--ahk-ko-card-accent-rgb), .72);
	border-radius: 14px;
	background: rgba(var(--ahk-ko-card-accent-rgb), .16);
	font-size: 0;
	line-height: 1;
}
.ahk-ko-icon::before {
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 22px;
	height: 22px;
	background: var(--ahk-ko-card-accent);
	content: "";
	transform: translate(-50%, -50%);
	-webkit-mask: center / contain no-repeat;
	mask: center / contain no-repeat;
}
.ahk-ko-contact-card:nth-child(1) .ahk-ko-icon::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.62 10.79a15.46 15.46 0 006.59 6.59l2.2-2.2a1 1 0 011.02-.24c1.12.37 2.33.57 3.57.57a1 1 0 011 1V20a1 1 0 01-1 1C10.61 21 3 13.39 3 4a1 1 0 011-1h3.5a1 1 0 011 1c0 1.25.2 2.45.57 3.57a1 1 0 01-.25 1.02l-2.2 2.2z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.62 10.79a15.46 15.46 0 006.59 6.59l2.2-2.2a1 1 0 011.02-.24c1.12.37 2.33.57 3.57.57a1 1 0 011 1V20a1 1 0 01-1 1C10.61 21 3 13.39 3 4a1 1 0 011-1h3.5a1 1 0 011 1c0 1.25.2 2.45.57 3.57a1 1 0 01-.25 1.02l-2.2 2.2z'/%3E%3C/svg%3E");
}
.ahk-ko-contact-card:nth-child(2) .ahk-ko-icon::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12.04 2a9.84 9.84 0 00-8.42 14.93L2.05 22l5.2-1.53A9.94 9.94 0 1012.04 2zm0 17.98a8.04 8.04 0 01-4.1-1.12l-.29-.17-3.08.91.93-3-.19-.31a8.04 8.04 0 116.73 3.69zm4.41-6.02c-.24-.12-1.43-.71-1.65-.79-.22-.08-.38-.12-.54.12-.16.24-.62.79-.76.95-.14.16-.28.18-.52.06-.24-.12-1.02-.38-1.94-1.2a7.25 7.25 0 01-1.34-1.67c-.14-.24-.01-.37.11-.49.11-.11.24-.28.36-.42.12-.14.16-.24.24-.4.08-.16.04-.3-.02-.42-.06-.12-.54-1.3-.74-1.78-.2-.47-.4-.41-.54-.42h-.46c-.16 0-.42.06-.64.3-.22.24-.84.82-.84 2s.86 2.32.98 2.48c.12.16 1.69 2.58 4.1 3.62.57.25 1.02.4 1.37.51.58.18 1.1.16 1.51.1.46-.07 1.43-.59 1.63-1.15.2-.56.2-1.04.14-1.14-.06-.1-.22-.16-.46-.28z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12.04 2a9.84 9.84 0 00-8.42 14.93L2.05 22l5.2-1.53A9.94 9.94 0 1012.04 2zm0 17.98a8.04 8.04 0 01-4.1-1.12l-.29-.17-3.08.91.93-3-.19-.31a8.04 8.04 0 116.73 3.69zm4.41-6.02c-.24-.12-1.43-.71-1.65-.79-.22-.08-.38-.12-.54.12-.16.24-.62.79-.76.95-.14.16-.28.18-.52.06-.24-.12-1.02-.38-1.94-1.2a7.25 7.25 0 01-1.34-1.67c-.14-.24-.01-.37.11-.49.11-.11.24-.28.36-.42.12-.14.16-.24.24-.4.08-.16.04-.3-.02-.42-.06-.12-.54-1.3-.74-1.78-.2-.47-.4-.41-.54-.42h-.46c-.16 0-.42.06-.64.3-.22.24-.84.82-.84 2s.86 2.32.98 2.48c.12.16 1.69 2.58 4.1 3.62.57.25 1.02.4 1.37.51.58.18 1.1.16 1.51.1.46-.07 1.43-.59 1.63-1.15.2-.56.2-1.04.14-1.14-.06-.1-.22-.16-.46-.28z'/%3E%3C/svg%3E");
}
.ahk-ko-contact-card:nth-child(3) .ahk-ko-icon::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 4H4a2 2 0 00-2 2v12a2 2 0 002 2h16a2 2 0 002-2V6a2 2 0 00-2-2zm0 4l-8 5-8-5V6l8 5 8-5v2z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 4H4a2 2 0 00-2 2v12a2 2 0 002 2h16a2 2 0 002-2V6a2 2 0 00-2-2zm0 4l-8 5-8-5V6l8 5 8-5v2z'/%3E%3C/svg%3E");
}
.ahk-ko-contact-card h3 { margin: 0 0 10px; color: #fff; font-size: 1.35rem; }
.ahk-ko-contact-card > p:not(.ahk-ko-icon):not(.ahk-ko-card-link) { margin: 0; color: var(--ahk-ko-muted); line-height: 1.55; }
.ahk-ko-contact-card:nth-child(3) > p:not(.ahk-ko-icon):not(.ahk-ko-card-link) {
	font-size: clamp(.86rem, 1.05vw, 1rem);
	white-space: nowrap;
}
.ahk-ko-contact-card:nth-child(3) > p:not(.ahk-ko-icon):not(.ahk-ko-card-link) br { display: none !important; }
.ahk-ko-card-link { margin: auto 0 0 !important; padding-top: 24px; }
.ahk-ko-card-link a { color: var(--ahk-ko-card-accent) !important; font-weight: 750; text-decoration: none; }
.ahk-ko-card-link a:hover { color: #8bd3ff !important; }

.ahk-ko-main { padding: 54px 0 92px; }
.ahk-ko-main-grid { display: grid !important; grid-template-columns: minmax(0,1.16fr) minmax(360px,.84fr); gap: 28px; align-items: stretch; }
.ahk-ko-form-panel, .ahk-ko-location-panel {
	min-width: 0;
	border: 1px solid var(--ahk-ko-line);
	border-radius: 22px;
	background: linear-gradient(145deg, rgba(255,255,255,.025), transparent 42%), rgba(10,16,20,.48);
	overflow: hidden;
}
.ahk-ko-form-panel { padding: clamp(26px, 3.2vw, 48px); }
.ahk-ko-form-panel > .fluentform, .ahk-ko-form-panel .fluentform_wrapper_3, .ahk-ko-form-panel form { width: 100% !important; max-width: none !important; margin: 32px 0 0 !important; }
.ahk-ko-form-panel .ff-el-group { margin-bottom: 18px; }
.ahk-ko-form-panel .ff-el-input--label label { color: #f3f6f8 !important; font-size: .94rem; font-weight: 700; }
.ahk-ko-form-panel input:not([type="checkbox"]):not([type="radio"]), .ahk-ko-form-panel textarea, .ahk-ko-form-panel select {
	width: 100% !important;
	min-height: 52px;
	border: 1px solid rgba(154,177,191,.42) !important;
	border-radius: 10px !important;
	background: rgba(245,248,250,.97) !important;
	color: #111820 !important;
	box-shadow: none !important;
}
.ahk-ko-form-panel textarea { min-height: 150px; }
.ahk-ko-form-panel input:focus, .ahk-ko-form-panel textarea:focus, .ahk-ko-form-panel select:focus { border-color: #2ea7f3 !important; box-shadow: 0 0 0 3px rgba(46,167,243,.17) !important; }
.ahk-ko-form-panel .ff-btn-submit { min-height: 50px; padding: 0 28px !important; }
.ahk-ko-form-panel .ff-message-success { border: 1px solid rgba(58,194,118,.65) !important; border-radius: 12px; background: rgba(17,76,46,.2) !important; color: #eefbf4 !important; }
.ahk-ko-location-panel { display: flex; flex-direction: column; }
.ahk-ko-map { min-height: 310px; background: #11181d; }
.ahk-ko-map iframe { display: block; width: 100%; height: 310px; border: 0; filter: grayscale(.2) saturate(.8) contrast(1.05); }
.ahk-ko-location-copy { padding: clamp(26px,3vw,42px); }
.ahk-ko-location-copy h3 { margin: 0; color: #fff; font-size: clamp(1.7rem,2.4vw,2.35rem); }
.ahk-ko-location-copy h4 { margin: 20px 0 8px; color: #fff; font-size: 1.05rem; }
.ahk-ko-location-copy p:not(.ahk-ko-eyebrow) { color: var(--ahk-ko-muted); line-height: 1.65; }
.ahk-ko-location-copy hr { border-color: rgba(255,255,255,.12); }
.ahk-ko-route-button { margin-top: 12px; }
.ahk-ko-route-button .wp-block-button__link { border-color: #3ba8ee !important; border-radius: 999px !important; color: #fff !important; font-weight: 700; }

@media (max-width: 1100px) {
	.ahk-ko-contact-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
	.ahk-ko-main-grid { grid-template-columns: 1fr; }
	.ahk-ko-location-panel { display: grid; grid-template-columns: 1fr 1fr; }
	.ahk-ko-map, .ahk-ko-map iframe { min-height: 100%; height: 100%; }
}

@media (max-width: 781px) {
	.ahk-ko-page { width: calc(100% + 48px) !important; margin-right: -24px !important; margin-left: -24px !important; }
	.ahk-ko-hero-grid { display: flex !important; flex-direction: column; min-height: 0; padding-inline: 15px; }
	.ahk-ko-hero-copy { padding: 62px 0 54px; }
	.ahk-ko-hero h1 { font-size: clamp(2.65rem,12vw,4.25rem); }
	.ahk-ko-lead { font-size: clamp(1.35rem,6.5vw,2rem); }
	.ahk-ko-hero-grid > .ahk-ko-hero-visual {
		width: calc(100% + 78px) !important;
		max-width: none !important;
		min-height: clamp(340px,76vw,560px);
		margin-right: -39px !important;
		margin-left: -39px !important;
	}
	.ahk-ko-hero-visual figure, .ahk-ko-hero-visual .wp-block-image, .ahk-ko-hero-visual img { width: 100% !important; max-width: none !important; }
	.ahk-ko-hero-visual img {
		object-position: center;
		-webkit-mask-image: linear-gradient(180deg, transparent 0%, rgba(0,0,0,.2) 8%, #000 25%);
		mask-image: linear-gradient(180deg, transparent 0%, rgba(0,0,0,.2) 8%, #000 25%);
	}
	.ahk-ko-ways { padding: 64px 0 44px; }
	.ahk-ko-section-head, .ahk-ko-contact-grid { width: calc(100% - 40px); }
	.ahk-ko-main-grid { width: 100%; }
	.ahk-ko-section-head h2, .ahk-ko-form-panel h2 { font-size: clamp(2.1rem,9vw,3.1rem); }
	.ahk-ko-main { padding: 36px 0 70px; }
	.ahk-ko-form-panel, .ahk-ko-location-panel { border-right: 0; border-left: 0; border-radius: 0; }
	.ahk-ko-form-panel { padding: 40px 24px; }
	.ahk-ko-form-panel input:not([type="checkbox"]):not([type="radio"]), .ahk-ko-form-panel textarea, .ahk-ko-form-panel select { font-size: 16px !important; }
	.ahk-ko-location-panel { display: flex; }
	.ahk-ko-map, .ahk-ko-map iframe { height: 300px; min-height: 300px; }
}

@media (max-width: 560px) {
	.ahk-ko-contact-grid { grid-template-columns: 1fr; }
	.ahk-ko-contact-card { min-height: 230px; }
	.ahk-ko-form-panel { padding: 36px 20px; }
	.ahk-ko-form-panel .ff-t-container { display: block !important; }
	.ahk-ko-form-panel .ff-t-cell { width: 100% !important; margin: 0 !important; }
}

@media (prefers-reduced-motion: reduce) {
	.ahk-ko-page *, .ahk-ko-page *::before, .ahk-ko-page *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
