/* Kontaktseite im Papier-Look: baut auf papier.css auf (Bühne, Bogen, Urkunde, Knopf, Linie, Eyebrow).
   Kopf wie auf der Preisseite, darunter eine Bühne mit zwei Spalten: links der weiße Bogen mit dem Formular,
   rechts ein schmaler blauer Urkunden-Bogen mit dem direkten Kontaktweg. Mobil einspaltig. */
main.kt{position:relative;z-index:1;max-width:1240px;margin:0 auto;padding:64px 24px 40px}
.kt .kopf{max-width:900px}
.kt h1{font-family:var(--marke);font-weight:700;font-size:clamp(40px,5vw,72px);line-height:1;letter-spacing:-.045em;color:var(--tinte);margin:18px 0 0}
.kt .unter{margin-top:20px;font-size:20px;line-height:1.5;color:var(--ink3);font-weight:500;max-width:760px}
.kt .buehne{margin-top:44px}

.kt-raster{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px;align-items:start}
.kt-bogen{padding:38px 40px 36px;background:linear-gradient(rgba(255,254,251,.72),rgba(255,254,251,.72)),var(--f-bogen)}
.kt-bogen h2,.kt-direkt h2{margin:0;font-family:var(--marke);font-size:26px;font-weight:700;letter-spacing:-.02em;color:var(--tinte)}
.kt-unterzeile{margin-top:6px;font-size:15.5px;line-height:1.5;color:var(--ink3);font-weight:500}
.kt-pflicht{margin-top:4px;font-size:13.5px;color:var(--ink3);font-weight:500}
.kt-pflicht .kt-stern{font-weight:800}

/* Felder */
.kt-felder{margin-top:24px;display:grid;grid-template-columns:1fr 1fr;gap:18px 20px}
.kt-breit{grid-column:1 / -1}
.kt-feld label{display:flex;align-items:baseline;gap:8px;font-size:15px;font-weight:800;color:var(--tinte)}
.kt-stern{color:var(--blau);font-weight:800}
.kt-feld ::placeholder{color:#8A93A8;opacity:1}
.kt-opt{font-family:var(--mono);font-size:11.5px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--ink3)}
.kt-feld input,.kt-feld select,.kt-feld textarea{display:block;width:100%;margin-top:8px;font:inherit;font-size:16px;font-weight:500;color:var(--tinte2);
 border:1.5px solid transparent;border-radius:14px;padding:13px 16px;background:var(--korn),#F6F4EE;box-shadow:inset 0 2px 4px rgba(14,26,58,.10),0 1px 0 #fff;
 transition:border-color .15s,background-color .15s}
.kt-feld input,.kt-feld select{height:52px}
.kt-feld textarea{resize:vertical;min-height:170px;line-height:1.55}
.kt-feld select{appearance:none;-webkit-appearance:none;padding-right:44px;cursor:pointer;
 background:no-repeat right 16px center/16px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 9l6 6 6-6' fill='none' stroke='%232F5BFF' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"),var(--korn),#F6F4EE}
.kt-feld input:hover,.kt-feld select:hover,.kt-feld textarea:hover{border-color:rgba(47,91,255,.25)}
.kt-feld input:focus,.kt-feld select:focus,.kt-feld textarea:focus{outline:none;border-color:var(--blau);box-shadow:inset 0 2px 4px rgba(14,26,58,.08),0 0 0 4px rgba(47,91,255,.16)}
.kt-feld input:focus-visible,.kt-feld select:focus-visible,.kt-feld textarea:focus-visible{outline:none}
.kt-feld [aria-invalid=true]{border-color:#C2412D;background-color:#FFF6F3}
.kt-fehler{margin:6px 0 0;font-size:14px;font-weight:700;color:#B3341F;min-height:0}
.kt-fehler:empty{display:none}
.kt-zeichen{margin:6px 0 0;font-family:var(--mono);font-size:12px;letter-spacing:.04em;color:var(--ink3);text-align:right}

.kt-zustimmung{margin-top:2px}
.kt-haken-feld{display:flex!important;align-items:flex-start!important;gap:12px!important;font-size:15px!important;font-weight:600!important;line-height:1.5;color:var(--ink2)!important;cursor:pointer}
.kt-haken-feld input{appearance:none;-webkit-appearance:none;flex:none;width:24px;height:24px;margin:0;border-radius:7px;cursor:pointer;
 background:var(--korn),#F6F4EE;box-shadow:inset 0 2px 3px rgba(14,26,58,.14),0 1px 0 #fff;border:1.5px solid rgba(14,26,58,.18);display:grid;place-content:center}
.kt-haken-feld input::before{content:"";width:14px;height:14px;transform:scale(0);transition:transform .12s;
 background:no-repeat center/14px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5' fill='none' stroke='%23FFFFFF' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.kt-haken-feld input:checked{background:var(--korn),var(--blau);border-color:var(--blauD);box-shadow:0 2px 0 var(--blauD)}
.kt-haken-feld input:checked::before{transform:scale(1)}
.kt-haken-feld input:focus-visible{outline:3px solid var(--blau);outline-offset:3px}
.kt-haken-feld input[aria-invalid=true]{border-color:#C2412D;background-color:#FFF6F3}
.kt-haken-feld a{color:var(--blau);font-weight:700;text-decoration:underline;text-decoration-color:rgba(47,91,255,.35);text-underline-offset:3px}

/* Honeypot: für Menschen unsichtbar, für Screenreader ausgeblendet */
.kt-hp{position:absolute!important;left:-10000px!important;top:auto;width:1px;height:1px;overflow:hidden}

.kt-hinweis{margin-top:18px;padding-top:16px;background:var(--gestrichelt) top/100% 2px no-repeat;font-size:13.5px;line-height:1.6;color:var(--ink3);font-weight:500}
.kt-hinweis a,.kt-ohnejs a{color:var(--blau);font-weight:700;text-decoration:underline;text-decoration-color:rgba(47,91,255,.35);text-underline-offset:3px}
.kt-ohnejs{margin:0 0 22px;padding:16px 18px;border-radius:16px;background:var(--f-einlage);box-shadow:var(--s-einlage);font-size:15px;line-height:1.55;color:var(--ink2);font-weight:600}

.kt-senden{margin-top:22px;display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.kt-senden .knopf{border:0;cursor:pointer;font-family:inherit;min-width:220px}
.kt-senden .knopf:hover{transform:translateY(-1px)}
.kt-senden .knopf:active{transform:translateY(1px)}
.kt-senden .knopf:disabled{cursor:default;transform:none}
.kt-senden .knopf:disabled:not(.laedt){opacity:.55}
.knopf.laedt::after{content:"";width:16px;height:16px;border-radius:50%;border:2.5px solid rgba(255,255,255,.4);border-top-color:#fff;animation:kt-dreh .8s linear infinite}
@keyframes kt-dreh{to{transform:rotate(360deg)}}
.kt-status{flex:1 1 240px;margin:0;font-size:15px;line-height:1.5;font-weight:700;color:var(--ink2)}
.kt-status:empty{display:none}
.kt-status.fehler{padding:12px 16px;border-radius:14px;background:var(--korn),#FFF1EC;color:#9C2D1A;box-shadow:inset 0 0 0 1.5px rgba(194,65,45,.25)}

/* Erfolg: im Bogen, mit blauem Haken wie ein Prägestempel */
.kt-danke{padding:40px 8px 24px;text-align:center}
.kt-danke:focus{outline:none}
.kt-haken{width:84px;height:84px;margin:0 auto 22px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;
 background:var(--f-knopf-haupt);box-shadow:var(--s-knopf-haupt)}
.kt-danke h2{font-size:clamp(26px,3vw,34px);letter-spacing:-.03em}
.kt-danke p{margin:12px auto 0;max-width:460px;font-size:17px;line-height:1.55;color:var(--ink3);font-weight:500}
.kt-danke .knopf{margin-top:28px;border:0;cursor:pointer;font-family:inherit}

/* Rechts: blauer Urkunden-Bogen (papier.css .urkunde) */
.kt-direkt{border-radius:26px;padding:34px 30px 32px;color:#fff}
.kt-direkt h2{color:#fff;margin-top:10px}
.kt-eb{margin:0;font-family:var(--mono);font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.85);display:flex;align-items:center;gap:10px}
.kt-eb::before{content:"";width:8px;height:8px;border-radius:50%;background:#fff;flex:none}
.kt-direkt > p{margin-top:12px;font-size:15.5px;line-height:1.55;color:rgba(255,255,255,.9);font-weight:500}
.kt-direkt .kt-mail{margin-top:22px;width:100%;font-size:16px;overflow-wrap:anywhere}
.kt-direkt .linie{margin:26px 0 20px}
.kt-direkt .kt-de{display:flex;align-items:center;gap:10px;margin-top:0;font-size:16px;color:#fff}
.kt-direkt .kt-de svg{flex:none}
.kt-direkt .kt-klein{margin-top:8px;font-size:14px;color:rgba(255,255,255,.82)}
.kt-direkt .kt-klein a{color:#fff;font-weight:700;text-decoration:underline;text-decoration-color:rgba(255,255,255,.45);text-underline-offset:3px}

@media (max-width:980px){.kt-raster{grid-template-columns:1fr}.kt-direkt{max-width:none}}
@media (max-width:640px){
 main.kt{padding:40px 16px 8px}
 .kt h1{font-size:clamp(34px,10vw,46px)}
 .kt .unter{font-size:17px}
 .kt .buehne{margin-top:30px;padding:16px 12px}
 .kt .buehne::after{inset:8px;border-radius:30px}
 .kt-bogen{padding:26px 18px 24px}
 .kt-felder{grid-template-columns:1fr;gap:16px}
 .kt-senden .knopf{width:100%}
 .kt-direkt{padding:28px 22px 26px}
}
@media (prefers-reduced-motion:reduce){.knopf.laedt::after{animation:none}.kt-senden .knopf:hover,.kt-senden .knopf:active{transform:none}}
