/* kontakt/kontakt.css - im Look der bestehenden Story-Seiten (Audit) */

:root{
  --c-blue:#1b4fff;
  --c-green:#10b981;
  --c-ink:#0b0f19;
  --c-line: rgba(15, 23, 42, .12);
}

.gt{ color: var(--c-ink); }

/* HERO */
.gt-hero{
  display:grid;
  grid-template-columns: 1.1fr .9fr;
  gap: clamp(16px, 3vw, 28px);
  align-items: stretch;
  margin-top: 8px;
}

.gt-kicker{
  margin:0 0 10px;
  font-weight: 800;
  letter-spacing:.08em;
  text-transform: uppercase;
  font-size: 12px;
  color: rgba(2,6,23,.55);
}

.gt-title{
  margin:0 0 10px;
  font-size: clamp(23px, 4.05vw, 42px);
  letter-spacing: -0.03em;
  line-height: 1.02;
}

.gt-lead{
  margin:0;
  font-size: clamp(15px, 2.2vw, 18px);
  line-height: 1.55;
  color: rgba(2,6,23,.78);
  max-width: 60ch;
}

.gt-pills{ display:flex; gap:10px; flex-wrap:wrap; margin-top: 16px; }
.pill{
  display:inline-flex;
  align-items:center;
  padding: 8px 12px;
  border-radius: 999px;
  font-weight: 700;
  font-size: 13px;
  border: 1px solid var(--c-line);
  background: rgba(255,255,255,.75);
}
.pill-blue{ box-shadow: inset 0 0 0 999px color-mix(in srgb, var(--c-blue) 7%, white); }
.pill-green{ box-shadow: inset 0 0 0 999px color-mix(in srgb, var(--c-green) 9%, white); }

/* SECTIONS / CARDS */
.gt-section{ margin-top: 26px; }

.sec-head h2{ margin:0; font-size: 22px; letter-spacing:-.02em; }
.sec-head p{ margin: 6px 0 0; color: rgba(2,6,23,.68); }

.card{
  background: #fff;
  border: 1px solid var(--c-line);
  border-radius: 18px;
  padding: 16px;
  box-shadow: 0 10px 30px rgba(2,6,23,.06);
}
.card h2{ margin:0 0 8px; font-size: 18px; letter-spacing:-.02em; }

.muted{ color: rgba(2,6,23,.68); margin: 0 0 10px; }
.muted.small{ font-size: 12px; margin-top: 12px; }

.contact-lines{ display:grid; gap: 10px; margin-top: 12px; }
.contact-lines .line{ display:flex; gap: 10px; align-items: baseline; flex-wrap:wrap; }
.contact-lines .k{ width: 72px; font-weight: 800; color: rgba(2,6,23,.70); }
.contact-lines a{ color: color-mix(in srgb, var(--c-blue) 85%, #000); text-decoration: none; font-weight: 800; }
.contact-lines a:hover{ text-decoration: underline; }

/* Notice */
.notice{
  border-radius: 16px;
  padding: 12px 14px;
  border: 1px solid var(--c-line);
  margin: 12px 0 10px;
}
.notice.ok{ background: color-mix(in srgb, var(--c-green) 10%, white); }
.notice.err{ background: rgba(239,68,68,.10); border-color: rgba(239,68,68,.25); }

/* FORM (wie Audit) */
.contact-form{
  margin-top: 12px;
  border: 1px solid var(--c-line);
  border-radius: 18px;
  padding: 16px;
  background: #fff;
  overflow: hidden;
}
.contact-form, .contact-form *{ box-sizing: border-box; }
.contact-form .grid > label{ min-width: 0; }
.contact-form label:not(.consent){
  display:block;
  font-weight:700;
  font-size:13px;
  color: rgba(2,6,23,.86);
}

.contact-form input,
.contact-form textarea,
.contact-form select{
  width: 100%;
  max-width: 100%;
  margin-top: 6px;
  border-radius: 14px;
  border: 1px solid rgba(15,23,42,.16);
  padding: 12px 12px;
  font: inherit;
  font-weight: 500;
  background: #fff;
  outline: none;
}
.contact-form textarea{ resize: vertical; }

.contact-form input:focus,
.contact-form textarea:focus,
.contact-form select:focus{
  box-shadow: 0 0 0 3px rgba(27,79,255,.18);
  border-color: rgba(27,79,255,.35);
}

.contact-form .grid{
  display:grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
  margin-top: 14px;
}

.contact-form > label:not(.consent){
  margin-top: 14px;
}

.req{ color: rgba(239,68,68,.9); font-weight: 900; display:inline; margin-left: 4px; }

.consent{
  display:flex;
  align-items:flex-start;
  gap: 10px;
  margin-top: 12px;
  font-weight: 600;
  color: rgba(2,6,23,.72);
}
.consent input{ width:auto; margin-top: 2px; }

.actions{
  display:flex;
  align-items:center;
  gap: 14px;
  margin-top: 14px;
  flex-wrap: wrap;
}
.hint{ margin:0; font-size: 12px; color: rgba(2,6,23,.55); max-width: 70ch; }

.btn{
  appearance:none;
  border: 1px solid rgba(15,23,42,.12);
  border-radius: 999px;
  padding: 12px 16px;
  font-weight: 900;
  cursor:pointer;
  background:#fff;
  transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.btn:hover{ transform: translateY(-1px); }
.btn-blue{
  background: color-mix(in srgb, var(--c-blue) 9%, white);
  box-shadow: 0 0 0 0 rgba(27,79,255,.0);
}
.btn-blue:hover{ box-shadow: 0 0 0 3px rgba(27,79,255,.18); }

.hp{ position:absolute; left:-9999px; top:-9999px; width:1px; height:1px; overflow:hidden; }

/* Responsive */
@media (max-width: 980px){
  .gt-hero{ grid-template-columns: 1fr; }
  .contact-form .grid{ grid-template-columns: 1fr; }
  .contact-lines .k{ width: auto; }
}

/* Alternating section tint */
.gt-section:nth-child(even){
  background: rgba(0,0,0,.03);
  border-radius: 18px;
  padding: clamp(14px,2.5vw,22px);
}
