.kontakt-main { padding: 168px 40px 120px; }
.kontakt-title { margin: 0; overflow: hidden; font: 800 clamp(72px, 9.2vw, 184px)/1 var(--sans); letter-spacing: -.055em; }
.kontakt-title span { display: block; animation: headline-in 1.1s var(--ease) both; }
.kontakt-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 32px; margin-top: 140px; animation: fade-in .8s .2s both; }
.kontakt-details { display: flex; flex-direction: column; align-items: flex-start; font: 400 20px/1.6 var(--sans); }
.kontakt-details a { padding: 4px 0; overflow-wrap: anywhere; }
.kontakt-details a:hover { text-decoration: underline; text-underline-offset: 5px; }
.kontakt-content { min-width: 0; }
.kontakt-intro { margin: 0; font: 400 20px/1.6 var(--sans); }
.kontakt-form { margin-top: 100px; }
.kontakt-field { margin-bottom: 32px; }
.kontakt-field label { display: block; font: 400 20px/1.4 var(--sans); }
.kontakt-field label span { color: #a6a6a6; }
.kontakt-field input, .kontakt-field textarea { display: block; width: 100%; min-height: 44px; padding: 8px 0; border: 0; border-bottom: 1px solid #626262; border-radius: 0; color: #fff; background: transparent; font: 400 20px/1.5 var(--sans); transition: border-color .25s; }
.kontakt-field textarea { resize: vertical; min-height: 112px; }
.kontakt-field input:focus, .kontakt-field textarea:focus { outline: none; border-color: #fff; box-shadow: 0 1px #fff; }
.kontakt-field input:focus-visible, .kontakt-field textarea:focus-visible { outline: 1px solid #fff; outline-offset: 5px; }
.kontakt-field [aria-invalid="true"] { border-color: #f6b4a9; }
.field-error { margin: 10px 0 0; color: #f6b4a9; font: 16px/1.5 var(--sans); }
.kontakt-honeypot { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.kontakt-privacy { margin: 36px 0; }
.privacy-acknowledgement { display: flex; align-items: flex-start; gap: 14px; font: 400 18px/1.5 var(--sans); cursor: pointer; }
.privacy-acknowledgement input { appearance: none; flex: none; width: 22px; height: 22px; margin: 2px 0 0; border: 2px solid #fff; border-radius: 50%; cursor: pointer; }
.privacy-acknowledgement input:checked { background: #fff; box-shadow: inset 0 0 0 4px #000; }
.kontakt-privacy p { margin: 16px 0 0; color: #a6a6a6; font: 400 15px/1.5 var(--sans); }
.kontakt-privacy a, .kontakt-status a { text-decoration: underline; text-underline-offset: 3px; }
.kontakt-send { display: inline-flex; min-height: 54px; padding: 4px 22px 7px; border: 2px solid #fff; border-radius: 60px; font: 700 32px/1.2 var(--sans); letter-spacing: -.02em; transition: color .3s, background-color .3s; }
.kontakt-send:hover, .kontakt-send:focus-visible { color: #000; background: #fff; }
.kontakt-send:disabled { opacity: .6; }
.kontakt-status { margin: 20px 0 0; min-height: 24px; color: #bbb; font: 16px/1.5 var(--sans); }
.kontakt-status[data-error="true"] { color: #f6b4a9; }
@media (min-width: 1600px) { .kontakt-grid { gap: 48px; margin-top: 170px; } .kontakt-intro, .kontakt-details, .kontakt-field label, .kontakt-field input, .kontakt-field textarea { font-size: 24px; } }
@media (max-width: 1099px) { .kontakt-grid { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 40px; margin-top: 100px; } }
@media (max-width: 809px) {
  .kontakt-main { padding: 160px 32px 64px; }
  .kontakt-title { font-size: clamp(40px, 13.2vw, 104px); }
  .kontakt-grid { grid-template-columns: minmax(0, 1fr); gap: 48px; margin-top: 64px; }
  .kontakt-details a { min-height: 44px; display: flex; align-items: center; }
  .kontakt-form { margin-top: 64px; }
  .kontakt-privacy { margin: 32px 0; }
  .privacy-acknowledgement { padding: 8px 0; }
}
@media (max-width: 370px) { .kontakt-main { padding-left: 24px; padding-right: 24px; } }
.kontakt-availability { margin: 0 0 40px; font: 400 18px/1.6 var(--sans); color: #ccc; }
.kontakt-availability a { color: #fff; text-decoration: underline; text-underline-offset: 4px; }
.kontakt-form[data-contact-mode="direct"] .kontakt-field,
.kontakt-form[data-contact-mode="direct"] .privacy-acknowledgement { opacity: .55; }
.kontakt-form[data-contact-mode="direct"] .kontakt-send { opacity: .45; cursor: not-allowed; }
