
body{background:var(--petrol-dunkel)}

.kontakt{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);
  gap:clamp(2.5rem,6vw,4.5rem);align-items:start}

.formular{background:#fff;border:1px solid var(--border-light);border-radius:8px;
  padding:clamp(1.5rem,3.5vw,2.2rem) clamp(1.25rem,3.5vw,2.4rem);
  box-shadow:0 4px 24px rgba(0,45,75,.06)}
.formular a{color:var(--petrol);transition:color var(--t-fast)}
.formular a:hover{color:var(--orange)}

.zeile{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.feld{margin-bottom:1.1rem}
.feld label{display:block;font-family:var(--font-b);font-size:10px;font-weight:500;
  letter-spacing:.12em;text-transform:uppercase;color:#5F5C58;margin-bottom:5px}

.eingabe{display:block;width:100%;height:44px;margin:0;padding:0 14px;
  font-family:var(--font-b);font-size:.92rem;font-weight:400;color:var(--fg-1);
  background:#fff;border:1px solid var(--border-default);border-radius:4px;
  transition:border-color var(--t-fast),box-shadow var(--t-fast)}
.eingabe::placeholder{color:#77736E;opacity:1}
.eingabe:focus{outline:none;border-color:var(--petrol-dunkel);box-shadow:0 0 0 3px rgba(0,45,75,.1)}
.eingabe--gross{height:auto;min-height:132px;padding:12px 14px;line-height:1.55;resize:vertical}

.auswahlfeld{position:relative}
.auswahlfeld select{appearance:none;-webkit-appearance:none;padding-right:40px;cursor:pointer}
.auswahlfeld select:invalid{color:#77736E}
.auswahlfeld option{color:var(--fg-1)}
.auswahlfeld svg{position:absolute;right:14px;top:50%;width:14px;height:14px;margin-top:-7px;
  pointer-events:none;fill:none;stroke:#5F5C58;stroke-width:1.6;stroke-linecap:round;
  stroke-linejoin:round}

.feld__hinweis{margin:.45rem 0 0;font-size:.76rem;line-height:1.5;color:#5F5C58}

.feld__fehler{margin:.4rem 0 0;font-size:.78rem;line-height:1.45;font-weight:400;color:var(--rot)}
.feld__fehler:empty{display:none}
.feld--fehler .eingabe{border-color:var(--rot);box-shadow:0 0 0 3px rgba(135,30,30,.1)}
.feld--fehler .eingabe:focus{border-color:var(--rot)}

.formular__meldung{margin:0 0 1.4rem;padding:.8rem 1rem;font-size:.86rem;line-height:1.55;
  color:#6E1818;background:rgba(135,30,30,.06);border-left:2px solid var(--rot);
  border-radius:0 4px 4px 0}

.dsgvo-hinweis{font-size:.72rem;line-height:1.55;color:#5F5C58;margin:1.4rem 0 1.5rem}

.btn--breit{display:flex;width:100%;justify-content:center;align-items:center;gap:.6rem;
  padding:.95rem 1.6rem;border:0;cursor:pointer;line-height:1.2;
  transition:background var(--t-fast)}
.btn--breit:focus-visible{outline:2px solid var(--petrol-dunkel);outline-offset:3px}
.btn--breit[aria-busy="true"]{cursor:progress;background:#D76A08}
.btn--breit[aria-busy="true"]::before{content:"";width:14px;height:14px;border-radius:50%;
  border:2px solid rgba(255,255,255,.4);border-top-color:#fff;animation:kontakt-dreh .7s linear infinite}
@keyframes kontakt-dreh{to{transform:rotate(360deg)}}

.antwortzeit{font-size:.78rem;color:#5F5C58;margin:.9rem 0 0;line-height:1.55}

.formular__danke{padding:.6rem 0 .4rem}
.formular__danke:focus{outline:none}
.formular__danke h2{font-family:var(--font-h);font-weight:500;letter-spacing:-.02em;line-height:1.12;
  font-size:clamp(1.9rem,3.2vw,2.4rem);color:var(--petrol-dunkel);margin:0}
.formular__danke h2::after{content:"";display:block;width:40px;height:2px;background:var(--orange);
  border-radius:1px;margin:10px 0 16px}
.formular__danke p{font-size:1.02rem;line-height:1.65;color:var(--fg-2);margin:0;max-width:40ch}
.einblenden{animation:kontakt-ein 300ms ease-out both}
@keyframes kontakt-ein{from{opacity:0;translate:0 6px}to{opacity:1;translate:none}}

.feld--falle{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}

.direkt{border-top:2px solid var(--orange);padding-top:1.6rem}
.direkt h3{font-family:var(--font-h);font-weight:500;font-size:1.35rem;line-height:1.25;
  color:var(--petrol-dunkel);margin:0 0 .7rem}
.direkt p{font-size:.98rem;line-height:1.7;color:var(--fg-2);margin:0 0 1.4rem;max-width:36ch}
.direkt .mail{font-family:var(--font-h);font-size:1.15rem;color:var(--petrol);text-decoration:none;
  border-bottom:1px solid rgba(0,60,90,.3);overflow-wrap:anywhere;
  transition:color var(--t-fast),border-color var(--t-fast)}
.direkt .mail:hover{color:var(--orange);border-bottom-color:currentColor}

@media(max-width:900px){
  .kontakt{grid-template-columns:1fr}
  .direkt p{max-width:60ch}
}
@media(max-width:600px){
  .zeile{grid-template-columns:1fr;gap:0}
  .eingabe{font-size:16px}
}

@media(prefers-reduced-motion:reduce){
  .einblenden{animation:none}
  .btn--breit[aria-busy="true"]::before{animation-duration:2s}
}
