/* Kontaktformular im vorhandenen Blau-Schwarz-Theme. */
.form-area{min-width:0;background:#fff;padding:36px;border:1px solid var(--line);border-top:5px solid var(--green)}
.form-area>h2{font-size:clamp(2rem,3.7vw,3.3rem);margin:15px 0 20px}
.form-area>p{margin-bottom:26px}
.kf-form [hidden]{display:none!important}
.kf-form{margin-top:28px;font-size:.9rem}
.kf-group{border:0;border-top:1px solid var(--line);margin:0 0 30px;padding:23px 0 0;min-width:0}
.kf-group legend{padding:0 10px 0 0;font-size:1.08rem;font-weight:800;letter-spacing:-.025em;max-width:100%}
.kf-step{display:inline-grid;place-items:center;width:26px;height:26px;background:var(--green);color:#fff;margin-right:7px;font-size:.75rem}
.kf-group-label{color:var(--ink);font-weight:740;margin:0 0 9px}
.kf-customer-types{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}
.kf-choice,.kf-service{display:flex;align-items:center;gap:9px;border:1px solid var(--line);padding:12px;line-height:1.35;cursor:pointer;font-size:.84rem;font-weight:680}
.kf-choice:has(input:checked),.kf-service:has(input:checked){background:var(--mint);border-color:var(--cta)}
.kf-form input[type=checkbox],.kf-form input[type=radio]{width:17px;height:17px;min-height:0;flex:none;accent-color:var(--green);margin:0}
.kf-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 16px}
.kf-field{min-width:0}
.kf-field label{display:block;font-size:.8rem;font-weight:750;margin-bottom:7px;line-height:1.4}
.kf-field input,.kf-field select,.kf-field textarea{width:100%;min-width:0;max-width:100%;min-height:48px;border:1px solid #aab3b2;border-radius:10px;background:#fff;color:var(--ink);padding:11px;font:inherit;font-size:.87rem}
.kf-field textarea{min-height:150px;resize:vertical;line-height:1.6}
.kf-field select{font-family:inherit}
.kf-field input:focus,.kf-field select:focus,.kf-field textarea:focus{border-color:var(--cta)}
.kf-field [aria-invalid=true]{border-color:#b52626;background:#fffafa}
.kf-form :focus-visible{outline:3px solid var(--cta);outline-offset:3px}
.kf-group-help{font-size:.78rem;line-height:1.6;margin:10px 0 13px;color:var(--mut)}
.kf-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0 22px}
.kf-service{padding:14px 10px;overflow-wrap:anywhere}
.kf-details{padding-top:4px}
.kf-message-meta{display:flex;justify-content:space-between;gap:8px;font-size:.71rem;color:var(--mut);margin-top:6px}
.kf-upload-area{margin-top:24px}
.kf-upload{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;position:relative;border:1px dashed #8b999a;padding:22px 15px;text-align:center;background:var(--bg);cursor:pointer}
.kf-upload-plus{display:grid;place-items:center;width:30px;height:30px;background:var(--green);color:#fff;font-size:1.5rem;line-height:1}
.kf-upload>strong{font-size:.9rem}.kf-upload>span:last-of-type{font-size:.73rem;color:var(--mut)}
.kf-upload input{display:block;max-width:100%;font-size:.76rem;margin-top:8px}
.kf-photo-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.kf-photo{border:1px solid var(--line);background:#fff;min-width:0;padding:6px}
.kf-photo img{height:100px;width:100%;object-fit:cover}
.kf-photo span{display:block;font-size:.65rem;overflow-wrap:anywhere;margin:6px 0}
.kf-photo button{width:100%;background:var(--bg);border:1px solid var(--line);font:inherit;font-size:.68rem;padding:6px;color:var(--ink)}
.kf-consent{display:flex;align-items:flex-start;gap:11px;font-size:.78rem;line-height:1.6;cursor:pointer}
.kf-consent input{margin-top:4px!important}.kf-consent a{text-decoration:underline;text-underline-offset:3px}
.kf-consent-wrap{margin:16px 0 23px}
.kf-submit,.kf-secondary{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:14px 20px;font:inherit;font-size:.86rem;font-weight:800;border:1px solid transparent;cursor:pointer;line-height:1.35}
.kf-submit{background:var(--cta);color:var(--ink)}.kf-submit:hover{background:#ff805b}
.kf-secondary{background:#fff;border-color:#aab3b2;color:var(--ink)}.kf-secondary:hover{background:var(--bg)}
.kf-submit svg{height:20px;width:20px}
.kf-submit:disabled,.kf-secondary:disabled{opacity:.65;cursor:wait}
.kf-submit-note{font-size:.72rem;margin:12px 0;color:var(--mut)}
.kf-field-error{color:#a41f1f;font-size:.75rem;line-height:1.5;margin:7px 0 0}
.kf-feedback{padding:14px 16px;background:#fff0ec;border-left:4px solid #a41f1f;color:#7c2020;margin:20px 0;line-height:1.6;font-size:.86rem}
.kf-feedback[data-state=success]{background:#edf5ee;border-left-color:#387249;color:#245532}
.kf-review,.kf-success{border-top:1px solid var(--line);padding-top:24px}
.kf-review h4,.kf-success h4{font-size:1.65rem;line-height:1.2;letter-spacing:-.04em;margin:12px 0}
.kf-form-kicker{color:#b7472a;letter-spacing:.12em;font-weight:800;font-size:.72rem}
.kf-review>p,.kf-success>p{font-size:.85rem;line-height:1.6;margin:10px 0 18px}
.kf-review dl{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);margin:20px 0;border-top:1px solid var(--line);font-size:.8rem}
.kf-review dt,.kf-review dd{margin:0;border-bottom:1px solid var(--line);padding:11px 5px;overflow-wrap:anywhere;white-space:pre-wrap}
.kf-review dt{font-weight:750;color:var(--mut)}
.kf-review-actions{display:flex;flex-wrap:wrap;gap:10px}
.kf-success .kf-secondary{margin-top:14px}
.kf-bot-check{padding:16px;margin:24px 0;background:var(--bg);border:1px solid var(--line)}
.kf-bot-check>label{font-size:.86rem;font-weight:750;display:block;margin-bottom:10px}
.kf-bot-check>p{font-size:.75rem;margin:10px 0 0}
#kf-altcha{display:block;max-width:100%;--altcha-color-base:#fff;--altcha-color-base-content:#16242b;--altcha-color-primary:#0b5d4f;--altcha-border-color:#aab3b2;--altcha-border-radius:10px;--altcha-max-width:100%;--altcha-font-family:Geist,Arial,sans-serif}
.kf-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.kf-visually-hidden{position:absolute!important;width:1px;height:1px;clip-path:inset(50%);overflow:hidden;white-space:nowrap}
.kf-noscript{border:1px solid var(--line);padding:14px;margin-top:20px;font-size:.85rem}
@media(max-width:1050px){.contact-grid{grid-template-columns:minmax(0,1fr);gap:26px}.contact-panel{position:static}.form-area{padding:30px}}
@media(max-width:580px){.form-area{padding:24px 17px}.kf-field-grid,.kf-service-grid{grid-template-columns:minmax(0,1fr)}.kf-customer-types{gap:6px}.kf-choice{flex:1 1 100%;padding:12px}.kf-review dl{grid-template-columns:minmax(0,1fr)}.kf-review dt{padding-bottom:0;border-bottom:0}.kf-review dd{padding-top:5px}.kf-review-actions>*{width:100%}.kf-photo-list{grid-template-columns:repeat(2,minmax(0,1fr))}.kf-message-meta{font-size:.65rem}.kf-submit{width:100%}.kf-group legend{font-size:1rem}}

.kontakt{grid-template-columns:minmax(260px,.7fr) minmax(0,1.3fr);align-items:start}
.kontakt>.kcard{position:sticky;top:100px}
.form-area{border-radius:24px;background:var(--card)}
.form-area>h3{font-size:clamp(1.8rem,3.4vw,2.6rem);margin:12px 0 16px}.form-area>h3 span{color:var(--green)}
.form-area>p{font-size:.86rem}
.kf-form{display:block;border:0;padding:0;background:none;border-radius:0}
.kf-form label{margin-bottom:0}.kf-form .kf-field label{margin-bottom:7px}
.kf-form .kf-group{display:block}.kf-form .kf-choice,.kf-form .kf-service{display:flex}
.kf-step{border-radius:6px}.kf-form input,.kf-form select,.kf-form textarea{font-family:inherit}
.kf-submit,.kf-secondary{border-radius:10px}.kf-bot-check{border-radius:12px}
.kf-review h4,.kf-success h4{scroll-margin-top:110px}
@media(max-width:1050px){.kontakt{grid-template-columns:1fr}.kontakt>.kcard{position:static}}

/* Blau-Schwarz: original navy/aqua, existing site outside form untouched. */
.request-wrap{position:relative;z-index:1;margin-top:56px;padding-bottom:16px}
.request-wrap .form-area{--ink:#071923;--green:#087c76;--cta:#19d3c5;--mint:#e5f6f4;--line:#cddde1;--mut:#4b626c;--bg:#f2f7f8;--card:#fff;color:var(--ink);max-width:980px;margin:0 auto;border-radius:24px;border-top-color:#19d3c5;box-shadow:0 18px 60px #0002;overflow-wrap:anywhere}
.form-area .lbl{font-size:.73rem;font-weight:800;letter-spacing:.14em;color:#087c76}
.form-area>h3{color:#071923}.form-area>p{color:#4b626c;line-height:1.65}
.form-area .kf-group{color:#071923}.form-area .kf-submit{background:#19d3c5;color:#071923;border:1px solid #19d3c5}.form-area .kf-submit:hover{background:#9bf6ec;color:#071923}.form-area .kf-form-kicker{color:#087c76}
.form-area .kf-choice,.form-area .kf-service{border-radius:10px;transition:background .15s,border-color .15s}.form-area .kf-choice:hover,.form-area .kf-service:hover{border-color:#087c76;background:#edf9f7}
.form-area .kf-photo button{min-height:40px;cursor:pointer}.form-area #kf-altcha{--altcha-color-primary:#087c76}
.form-area .kf-field input:focus,.form-area .kf-field select:focus,.form-area .kf-field textarea:focus{outline:2px solid #087c76;outline-offset:2px}
.skip-link{position:absolute;top:8px;left:8px;z-index:999;background:#fff;color:#071923;padding:12px;transform:translateY(-200%)}.skip-link:focus{transform:none}
.hero__line--custom{font-size:.78em;line-height:1.03;overflow-wrap:anywhere}.local-note{font-size:.9rem;line-height:1.6;color:#c8dadd;margin:16px 0}.service-card{scroll-margin-top:30px}
@media(max-width:580px){.request-wrap{margin-top:36px}.form-area .kf-group legend{line-height:1.5}.form-area .kf-upload input{width:100%}.request-wrap .form-area{border-radius:16px}.hero__actions{flex-wrap:wrap}.contact-phone,.contact-email{overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){.kf-form *{transition:none!important;scroll-behavior:auto!important}}
