#inhalt2038 .abtn {
margin:0 auto;
display:inline-block;
padding-top:14px;
height:36px;
width:300px%;
}
.content > div {
padding:0px 0;

}

button, input.btn-primary {
width: 100%;
height: auto;
color: #fff;
background-color: #3c9dff;
display: block;
border: 1px solid #3c9dff;
padding: 14px 5% 14px 5%;
border-radius: 0px;
font-size: 18px;
font-weight: normal;
text-decoration: none;
font-family: roboto, sans-serif;
margin-top: 22px;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
position: relative;
}

/* Kontakt-Seite (Artikel 5) – Hell & Dunkel, Stand 06.10.2026
   Aufbau im Artikel:  kontakt-oben.html  →  YForm-Formular (#rex-yform)  →  kontakt-unten.html
   Alle Inhaltsregeln laufen über .kt bzw. #rex-yform, damit sie ".mainInner p / ul" sicher schlagen.
   Farben stehen als Variablen oben – der helle Modus tauscht nur die Variablen. */

/* ---------- Farben ---------- */
.kt, #rex-yform {
	--kt-bg:#161515; --kt-panel:#1e1d1c; --kt-panel-2:#252322; --kt-line:#2c2a28; --kt-line-2:#3a3835;
	--kt-h:#ffffff; --kt-t:#dedad5; --kt-m:#a9a5a0;
	--kt-acc:#8b63ff; --kt-acc-2:#cbb8ff; --kt-btn:#5b3fc4; --kt-btn-h:#6d52d6;
	--kt-field:#2a2827; --kt-field-line:#4a4744;
	/* Anfahrtsskizze */
	--kt-map-bg:#1e1d1c; --kt-map-road:#6f6a64; --kt-map-main:#e8e4de; --kt-map-river:#3f8fd6;
	--kt-map-text:#dedad5; --kt-map-small:#a9a5a0; --kt-map-poi:#2f2c2a;
}
@media (prefers-color-scheme: light) {
	.kt, #rex-yform {
		--kt-bg:#f6f4f1; --kt-panel:#ebe7e2; --kt-panel-2:#ffffff; --kt-line:#d9d3cc; --kt-line-2:#cfc8c0;
		--kt-h:#1b1918; --kt-t:#3b3835; --kt-m:#6b6661;
		--kt-acc:#6a45e0; --kt-acc-2:#6a45e0;
		--kt-field:#ffffff; --kt-field-line:#bdb6ae;
		--kt-map-bg:#ffffff; --kt-map-road:#9a938b; --kt-map-main:#2a2826; --kt-map-river:#2f86d1;
		--kt-map-text:#2a2826; --kt-map-small:#5c5853; --kt-map-poi:#f1eee9;
	}
}

/* ---------- Template-Rahmen ---------- */
.mainnormal { width:100%; margin:0; }
.mainInner { padding:0; width:100%; }
html, body { overflow-x:clip; }
header, .menu, .mainnormal, .mainInner, .untenOuter, .untenInner { display:flow-root; }
@media (max-width:1000px) { ul.rex-navi1 { float:none; } }

/* ---------- Grundgerüst ---------- */
.kt {
	width:100vw; max-width:100vw;
	margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw);
	background:var(--kt-bg); color:var(--kt-t);
	font-family:Roboto, 'Helvetica Neue', Helvetica, Arial, sans-serif;
	letter-spacing:.01em;
	-webkit-text-size-adjust:100%; text-size-adjust:100%;
	-webkit-font-smoothing:antialiased;
}
.kt * { box-sizing:border-box; }
.kt .kt-wrap { max-width:1280px; margin:0 auto; padding:0 5%; }
.kt .kt-stack { display:flex; flex-direction:column; gap:24px; }
.kt .kt-center { align-items:center; text-align:center; }
.kt .kt-two { display:grid; grid-template-columns:repeat(auto-fit, minmax(min(380px,100%),1fr)); gap:48px 80px; }
.kt .kt-align-center { align-items:center; }
.kt .tg-space{background-color:#08070b;background-image:radial-gradient(1px 1px at 12% 18%,rgba(255,255,255,.8),transparent 60%),radial-gradient(1px 1px at 78% 12%,rgba(255,255,255,.6),transparent 60%),radial-gradient(1.5px 1.5px at 33% 72%,rgba(255,255,255,.7),transparent 60%),radial-gradient(1px 1px at 88% 64%,rgba(255,255,255,.7),transparent 60%),radial-gradient(1px 1px at 55% 40%,rgba(255,255,255,.5),transparent 60%),radial-gradient(1px 1px at 6% 86%,rgba(255,255,255,.6),transparent 60%),radial-gradient(1.5px 1.5px at 66% 88%,rgba(255,255,255,.6),transparent 60%),radial-gradient(circle at 18% 30%,rgba(90,38,128,.55),transparent 45%),radial-gradient(circle at 85% 75%,rgba(61,26,82,.9),transparent 50%)}

/* ---------- Typografie ---------- */
.kt .kt-eyebrow { margin:0; font-size:15px; font-weight:500; letter-spacing:.18em; color:var(--kt-acc); }
.kt .kt-h1 { margin:0; font-size:clamp(44px,5.4vw,76px); line-height:1.04; font-weight:700; letter-spacing:-.02em; color:var(--kt-h); }
.kt .kt-h2 { margin:0; font-size:clamp(32px,3.4vw,48px); line-height:1.12; font-weight:700; letter-spacing:-.01em; color:var(--kt-h); }
.kt .kt-lead { margin:0; max-width:620px; font-size:clamp(20px,2vw,24px); line-height:1.45; font-weight:300; color:#e6e2dd; }
.kt .kt-text { margin:0; max-width:620px; font-size:18px; line-height:1.7; font-weight:300; color:var(--kt-t); }
.kt .kt-small { margin:0; font-size:15px; line-height:1.5; color:var(--kt-m); }
.kt .kt-lila { color:var(--kt-acc); }
.kt .kt-lila-light { color:var(--kt-acc-2); }
.kt .kt-muted { color:var(--kt-m); }
.kt .kt-cap { font-size:14px; line-height:1.4; color:var(--kt-m); }

/* ---------- Buttons ---------- */
.kt .kt-buttons { display:flex; flex-wrap:wrap; gap:14px; padding-top:8px; }
.kt .kt-center-row { justify-content:center; }
.kt .kt-btn { display:inline-flex; align-items:center; gap:10px; min-height:52px; padding:0 26px; background:var(--kt-btn); border:1px solid var(--kt-btn); border-radius:6px; color:#fff; text-decoration:none; font-size:17px; font-weight:500; transition:background-color .15s, border-color .15s, transform .15s; }
.kt .kt-btn:hover, .kt .kt-btn:focus-visible { background:var(--kt-btn-h); border-color:var(--kt-btn-h); color:#fff; transform:translateY(-1px); }
.kt .kt-btn:focus-visible { outline:3px solid rgba(139,99,255,.45); outline-offset:2px; }
.kt .kt-btn-ghost { background:transparent; border-color:currentColor; color:var(--kt-h); }
.kt .kt-btn-ghost:hover, .kt .kt-btn-ghost:focus-visible { background:rgba(127,127,127,.12); border-color:currentColor; color:var(--kt-h); }
.kt .kt-btn-wa { background:#1f9d55; border-color:#1f9d55; }
.kt .kt-btn-wa:hover, .kt .kt-btn-wa:focus-visible { background:#25b764; border-color:#25b764; }

/* ---------- Hero (Bild bleibt in beiden Modi dunkel) ---------- */
.kt .kt-hero { position:relative; overflow:hidden; min-height:640px; display:flex; align-items:center; padding:96px 0; background:#0c0b0a; }
.kt .kt-hero-img { position:absolute; inset:0; width:100%; height:100%; max-width:none; object-fit:cover; object-position:50% 45%; display:block; }
.kt .kt-hero-shade { position:absolute; inset:0; background:linear-gradient(90deg, rgba(12,11,10,.88) 0%, rgba(12,11,10,.6) 45%, rgba(12,11,10,.08) 85%); }
.kt .kt-hero .kt-wrap { position:relative; width:100%; }
.kt .kt-hero-text { max-width:660px; }
.kt .kt-hero .kt-eyebrow { color:#cbb8ff; }
.kt .kt-hero .kt-h1 { color:#fff; }
.kt .kt-hero .kt-btn-ghost { color:#fff; border-color:rgba(255,255,255,.75); }
.kt .kt-hero .kt-btn-ghost:hover { background:rgba(255,255,255,.1); }

/* ---------- Kontaktwege (Karten) ---------- */
.kt .kt-section { padding:112px 0; }
.kt .kt-band { background:var(--kt-panel); border-top:1px solid var(--kt-line); border-bottom:1px solid var(--kt-line); }
.kt .kt-cards { list-style:none; margin:16px 0 0; padding:0; display:grid; grid-template-columns:repeat(auto-fill, minmax(min(340px,100%),1fr)); gap:16px; }
.kt .kt-cards li { margin:0; padding:0; }
.kt .kt-card { height:100%; display:flex; align-items:center; gap:18px; padding:22px 22px; background:var(--kt-panel); border:1px solid var(--kt-line); border-radius:12px; color:var(--kt-h); text-decoration:none; transition:border-color .15s, background-color .15s, transform .15s; }
.kt a.kt-card:hover, .kt a.kt-card:focus-visible { border-color:var(--kt-acc); background:var(--kt-panel-2); transform:translateY(-2px); }
.kt a.kt-card:focus-visible { outline:3px solid rgba(139,99,255,.45); outline-offset:2px; }
.kt .kt-ico { flex:0 0 52px; width:52px; height:52px; display:grid; place-items:center; border-radius:12px; background:rgba(139,99,255,.16); color:var(--kt-acc-2); }
.kt .kt-ico svg { width:24px; height:24px; }
.kt .kt-card-wa .kt-ico { background:rgba(37,183,100,.16); color:#2fc172; }
.kt .kt-card-body { flex:1; min-width:0; display:flex; flex-direction:column; gap:4px; }
.kt .kt-card-label { font-size:14px; font-weight:500; letter-spacing:.06em; color:var(--kt-m); }
.kt .kt-card-value { font-size:20px; line-height:1.3; font-weight:500; color:var(--kt-h); overflow-wrap:anywhere; }
.kt .kt-card-addr { font-size:17px; font-weight:400; }
.kt .kt-arrow { font-size:22px; color:var(--kt-acc); transition:transform .15s; }
.kt a.kt-card:hover .kt-arrow { transform:translateX(4px); }

/* ---------- Word Cloud ---------- */
.kt .kt-cloud { padding:104px 0; }
.kt .kt-cloud .kt-h2 { color:#fff; }
.kt .kt-cloud .kt-eyebrow { color:#cbb8ff; }
.kt .kt-words { display:flex; flex-wrap:wrap; justify-content:center; align-items:baseline; gap:12px 32px; line-height:1.1; max-width:1000px; padding-top:16px; }
.kt .kt-words span { color:#f4f1ec; }
.kt .kt-words .w1 { font-size:clamp(52px,6vw,88px); font-weight:900; letter-spacing:-.03em; color:#fff; }
.kt .kt-words .w2 { font-size:clamp(36px,4vw,56px); font-weight:700; }
.kt .kt-words .w3 { font-size:38px; font-weight:500; }
.kt .kt-words .w4 { font-size:30px; font-weight:400; }
.kt .kt-words .w5 { font-size:26px; font-weight:300; }
.kt .kt-words .kt-lila { color:#cbb8ff; }
.kt .kt-words .kt-muted { color:#a9a5a0; }
.kt .kt-words .kt-tag { background:#6b3591; color:#fff; font-weight:700; padding:4px 16px 8px; }

/* ---------- Einleitung zum Formular ---------- */
.kt .kt-intro { padding:104px 0 32px; }

/* ---------- YForm-Kontaktformular ---------- */
#rex-yform.yform {
	box-sizing:border-box; width:auto; max-width:1280px; min-height:0; margin:0 auto; padding:8px 5% 112px;
	background:transparent; box-shadow:none; color:var(--kt-t); font-size:16px; line-height:1.5;
	font-family:Roboto, 'Helvetica Neue', Helvetica, Arial, sans-serif;
}
#rex-yform * { box-sizing:border-box; }
#rex-yform .tinymcewysiwyg { margin:0 0 24px; }
#rex-yform h1, #rex-yform h2 { margin:0; font-size:clamp(28px,2.6vw,36px); line-height:1.2; font-weight:700; color:var(--kt-h); }
#rex-yform form {
	margin:0; padding:40px; background:var(--kt-panel); border:1px solid var(--kt-line); border-radius:16px;
}
#rex-yform form .textRahmenVB { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); gap:40px; margin:0; }
#rex-yform form .textSpalteLinksVB, #rex-yform form .textSpalteRechtsVB { width:auto; margin:0; float:none; display:block; }
#rex-yform form .textSpalteRechtsVB { display:flex; flex-direction:column; gap:20px; padding:24px; background:var(--kt-bg); border:1px solid var(--kt-line); border-radius:12px; align-self:start; }
#rex-yform .clr { display:none; }
#rex-yform div.form-group { padding:0 0 22px; margin:0; }
#rex-yform label, #rex-yform .control-label { display:block; width:auto; margin:0 0 8px; font-size:15px; font-weight:500; letter-spacing:.02em; color:var(--kt-h); }
#rex-yform .form-group input.form-control, #rex-yform textarea.form-control, #rex-yform textarea {
	display:block; width:100%; height:auto; min-height:52px; padding:12px 16px; margin:0;
	background:var(--kt-field); color:var(--kt-h); border:1px solid var(--kt-field-line); border-radius:8px;
	font:inherit; font-size:17px; letter-spacing:.01em;
}
#rex-yform textarea, #rex-yform textarea.form-control { min-height:180px; resize:vertical; }
#rex-yform .form-group input.form-control:focus, #rex-yform textarea:focus {
	outline:none; border-color:var(--kt-acc); box-shadow:0 0 0 3px rgba(139,99,255,.3);
}
#rex-yform .formcheckbox, #rex-yform .checkbox { padding:0; margin:0; }
#rex-yform .formcheckbox label { display:block; margin:0; font-size:14px; font-weight:400; line-height:1.55; letter-spacing:0; color:var(--kt-m); }
#rex-yform .formcheckbox input[type="checkbox"] { width:20px !important; height:20px; margin:0 10px 0 0; vertical-align:-4px; accent-color:var(--kt-acc); }
#rex-yform .formcheckbox span { color:var(--kt-t); }
#rex-yform .formcheckbox a { color:var(--kt-acc-2); text-decoration:underline; text-underline-offset:2px; }
#rex-yform button, #rex-yform .btn-primary {
	display:inline-flex; align-items:center; justify-content:center; width:100%; min-height:56px; margin:0; padding:0 24px;
	background:var(--kt-btn); border:1px solid var(--kt-btn); border-radius:8px; color:#fff;
	font:inherit; font-size:17px; font-weight:500; letter-spacing:.02em; cursor:pointer;
	transition:background-color .15s, transform .15s;
}
#rex-yform button:hover, #rex-yform button:focus-visible { background:var(--kt-btn-h); border-color:var(--kt-btn-h); transform:translateY(-1px); }
#rex-yform .has-error input, #rex-yform .has-error textarea { border-color:#e5484d; }
#rex-yform .help-block, #rex-yform .alert-danger, #rex-yform .text-danger { color:#ff8a8a; }
@media (prefers-color-scheme: light) {
	#rex-yform .help-block, #rex-yform .alert-danger, #rex-yform .text-danger { color:#b42318; }
}
#rex-yform .alert { padding:14px 18px; border-radius:8px; margin:0 0 20px; }
#rex-yform .alert-success { background:rgba(139,99,255,.12); border:1px solid var(--kt-acc); color:var(--kt-h); }

/* ---------- Anfahrt ---------- */
.kt .kt-address { margin:0; font-style:normal; font-size:18px; line-height:1.6; color:var(--kt-t); }
.kt .kt-address strong { color:var(--kt-h); font-weight:700; }
.kt .kt-map { margin:0; display:flex; flex-direction:column; gap:10px; }
.kt .kt-map svg { display:block; width:100%; height:auto; background:var(--kt-map-bg); border:1px solid var(--kt-line); border-radius:16px; font-family:Roboto, 'Helvetica Neue', Helvetica, Arial, sans-serif; }
.kt .kt-m-river { fill:none; stroke:var(--kt-map-river); stroke-width:6; stroke-linecap:round; opacity:.85; }
.kt .kt-m-water { fill:var(--kt-map-river); font-size:17px; font-style:italic; }
.kt .kt-m-road { fill:none; stroke:var(--kt-map-road); stroke-width:9; stroke-linecap:round; stroke-linejoin:round; }
.kt .kt-m-target { stroke:var(--kt-acc); stroke-width:10; }
.kt .kt-m-main { fill:none; stroke:var(--kt-map-main); stroke-width:15; stroke-linecap:round; }
.kt .kt-m-round { fill:var(--kt-map-bg); stroke:var(--kt-map-main); stroke-width:8; }
.kt .kt-m-badge rect { fill:#f2c94c; stroke:#1b1918; stroke-width:2; }
.kt .kt-m-badge text { fill:#1b1918; font-size:15px; font-weight:700; text-anchor:middle; }
.kt .kt-m-small { fill:var(--kt-map-small); font-size:14px; }
.kt .kt-m-dir { fill:var(--kt-map-text); font-size:16px; font-weight:500; }
.kt .kt-m-place { fill:var(--kt-map-text); font-size:34px; font-weight:300; letter-spacing:.01em; }
.kt .kt-m-poi rect { fill:var(--kt-map-poi); stroke:var(--kt-map-small); stroke-width:1.5; }
.kt .kt-m-poi path, .kt .kt-m-poi circle { stroke:var(--kt-map-text); stroke-width:2; stroke-linecap:round; }
.kt .kt-m-poi circle { fill:var(--kt-map-text); stroke:none; }
.kt .kt-m-pin path { fill:var(--kt-acc); stroke:#fff; stroke-width:3; }
.kt .kt-m-pin-dot { fill:#fff; }
.kt .kt-m-pulse { fill:var(--kt-acc); opacity:.18; transform-box:fill-box; transform-origin:center; animation:kt-pulse 2.4s ease-out infinite; }
@keyframes kt-pulse { 0% { transform:scale(.6); opacity:.35; } 100% { transform:scale(1.6); opacity:0; } }
@media (prefers-reduced-motion: reduce) { .kt .kt-m-pulse { animation:none; } }
.kt .kt-m-label rect { fill:var(--kt-panel-2); stroke:var(--kt-acc); stroke-width:2; }
.kt .kt-m-label-h { fill:var(--kt-h); font-size:19px; font-weight:700; }
.kt .kt-m-label-s { fill:var(--kt-m); font-size:14px; }

/* ---------- Abschluss ---------- */
.kt .kt-cta { padding:104px 0; background:linear-gradient(180deg, var(--kt-panel) 0%, var(--kt-bg) 100%); border-top:1px solid var(--kt-line); }
.kt .kt-cta .kt-text { max-width:560px; }

/* ---------- Mobil (bis 767px) ---------- */
@media (max-width:767px) {
	.kt .kt-wrap { padding:0 20px; }
	.kt .kt-stack { gap:18px; }
	/* Hero: Bild oben frei, Text beginnt weiter unten */
	.kt .kt-hero { min-height:0; align-items:flex-end; padding:330px 0 44px; }
	.kt .kt-hero-img { height:500px; bottom:auto; }
	.kt .kt-hero-shade { background:linear-gradient(180deg, rgba(12,11,10,0) 0%, rgba(12,11,10,0) 22%, rgba(12,11,10,.55) 38%, rgba(12,11,10,.92) 50%, #0c0b0a 58%); }
	.kt .kt-hero .kt-eyebrow { color:#e3d8ff; text-shadow:0 1px 10px rgba(0,0,0,.7); }
	.kt .kt-h1 { font-size:38px; }
	.kt .kt-h2 { font-size:30px; }
	.kt .kt-lead { font-size:19px; font-weight:400; }
	.kt .kt-text { font-weight:400; }
	.kt .kt-section { padding:64px 0; }
	.kt .kt-cards { gap:12px; margin-top:4px; }
	.kt .kt-card { padding:16px; gap:14px; }
	.kt .kt-ico { flex-basis:44px; width:44px; height:44px; }
	.kt .kt-card-value { font-size:18px; }
	.kt .kt-cloud { padding:64px 0; }
	.kt .kt-words { zoom:.62; }
	.kt .kt-intro { padding:64px 0 20px; }
	#rex-yform.yform { padding:4px 20px 64px; }
	#rex-yform form { padding:20px 16px; border-radius:12px; }
	#rex-yform form .textRahmenVB { grid-template-columns:1fr; gap:8px; }
	#rex-yform form .textSpalteRechtsVB { padding:16px; }
	.kt .kt-two { gap:32px; }
	.kt .kt-cta { padding:72px 0; }
	.kt .kt-btn { min-height:48px; padding:0 20px; font-size:16px; }
}
