/*
  Kontaktseite /de/kontakt/ -- Seiten-Stil (Site-Ebene, nicht design/): nutzt ausschliesslich
  vorhandene System-Tokens und Farbrollen, keine neuen Rohfarben ausser der Mischung der
  vier Intelligenz-Farben. Geladen nur von render/site-lib.js#renderKontaktBereich.
  Gewicht nach Rolle: Formular-Karte (Hauptaktion) = Rand + grosser Schatten + Zierleiste;
  Ansprechpartner = mittlere Karte; "Wie geht's weiter" und Direktwege = bewusst ohne Huelle.
*//* ---------- Bereich: Farbwaesche aus den vier Intelligenzen ---------- */.kontakt{position:relative;overflow:clip;padding-block:var(--space-12) var(--space-24);color:var(--farbe-text);background:radial-gradient(55% 60% at 0% 0%, color-mix(in oklch, var(--color-bi) 15%, transparent), transparent 72%),radial-gradient(45% 50% at 100% 12%, color-mix(in oklch, var(--color-ai) 12%, transparent), transparent 72%),radial-gradient(55% 55% at 92% 100%, color-mix(in oklch, var(--color-si) 15%, transparent), transparent 72%),radial-gradient(40% 45% at 6% 100%, color-mix(in oklch, var(--color-hi) 14%, transparent), transparent 72%),var(--farbe-grund)}.kontakt[id]{scroll-margin-block-start:var(--space-24)}.kontakt__inhalt{max-width:var(--container-max);margin-inline:auto;padding-inline:var(--container-padding);display:grid;gap:var(--space-12);grid-template-columns:minmax(0, 1fr)}.kontakt__haupt{display:block;min-width:0}@media (min-width: 64rem){.kontakt__inhalt{grid-template-columns:minmax(0, 7fr) minmax(0, 5fr);gap:var(--space-16);align-items:start}}@media (min-width: 64rem) and (min-height: 50rem){.kontakt__aside{position:sticky;inset-block-start:var(--space-24)}}/* ---------- Formular-Karte ---------- */.kontakt-karte{position:relative;overflow:hidden;background:var(--farbe-flaeche);border:1px solid var(--farbe-linie);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl),0 1px 0 color-mix(in oklch, var(--farbe-text) 6%, transparent);padding:calc(var(--space-6) + 0.75rem) var(--space-5) var(--space-8)}@media (min-width: 40rem){.kontakt-karte{padding:calc(var(--space-10) + 0.5rem) var(--space-10) var(--space-10)}}/* Luftpost-Zierleiste: schraege Streifen in den vier Markenfarben */.kontakt-karte__leiste{position:absolute;inset:0 0 auto 0;height:0.7rem;background:repeating-linear-gradient(-45deg,
    var(--color-ai) 0 0.7rem, transparent 0.7rem 1.1rem,
    var(--color-bi) 1.1rem 1.8rem, transparent 1.8rem 2.2rem,
    var(--color-hi) 2.2rem 2.9rem, transparent 2.9rem 3.3rem,
    var(--color-si) 3.3rem 4rem, transparent 4rem 4.4rem)}.kontakt-karte__titel{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:var(--weight-normal);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);margin:0 0 var(--space-8);text-wrap:balance}/* Gruppen */.kontakt-form{display:flex;flex-direction:column;gap:0}.kontakt-form[hidden]{display:none}.kontakt-gruppe{border:0;margin:0;padding:0;min-width:0}.kontakt-gruppe:not(:last-of-type){padding-block-end:var(--space-8);margin-block-end:var(--space-8);border-bottom:2px dashed var(--farbe-linie)}.kontakt-gruppe__titel{display:flex;align-items:center;gap:var(--space-2);padding:0;margin-block-end:var(--space-4);font-size:var(--text-xs);font-weight:var(--weight-bold);letter-spacing:0.12em;text-transform:uppercase;color:var(--farbe-text-gedaempft)}.kontakt-gruppe__titel::before{content:'';width:0.6rem;height:0.6rem;border-radius:var(--radius-full);background:var(--farbe-akzent)}.kontakt-gruppe[data-akzent="ai"] .kontakt-gruppe__titel::before{background:var(--color-ai)}.kontakt-gruppe[data-akzent="bi"] .kontakt-gruppe__titel::before{background:var(--color-bi)}.kontakt-gruppe[data-akzent="hi"] .kontakt-gruppe__titel::before{background:var(--color-hi)}.kontakt-gruppe[data-akzent="si"] .kontakt-gruppe__titel::before{background:var(--color-si)}.kontakt-gruppe__felder{display:grid;grid-template-columns:minmax(0, 1fr);gap:var(--space-5) var(--space-4)}@media (min-width: 40rem){.kontakt-gruppe__felder{grid-template-columns:repeat(2, minmax(0, 1fr))}.kontakt-feld:not(.kontakt-feld--halb){grid-column:1/-1}}.kontakt-feld{min-width:0}.kontakt-form .feld__eingabe{min-height:3rem;background:var(--farbe-grund)}.kontakt-form .feld__eingabe--textarea{min-height:9rem}.kontakt-form .feld__eingabe:focus-visible{box-shadow:0 0 0 3px color-mix(in oklch, var(--farbe-fokus) 30%, transparent)}.kontakt-form .feld__label{font-weight:var(--weight-semibold)}.kontakt-form .feld__hinweis{font-size:var(--text-sm)}.kontakt-form .feld__fehler::before{content:'!';display:inline-flex;align-items:center;justify-content:center;flex:none;width:1.1rem;height:1.1rem;margin-block-start:0.1em;border-radius:var(--radius-full);background:var(--farbe-gefahr);color:var(--farbe-auf-gefahr);font-size:0.75rem;font-weight:var(--weight-bold);line-height:1}.kontakt-form .feld__fehler{animation:kontakt-ein 0.22s ease-out}/* Absenden */.kontakt-absenden{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4) var(--space-6);margin-block-start:var(--space-6)}.kontakt-absenden .btn{min-height:3rem;transition:transform var(--transition-base),box-shadow var(--transition-base),background var(--transition-fast)}.kontakt-absenden .btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-lg)}.kontakt-absenden .btn:active:not(:disabled){transform:translateY(0)}.kontakt-absenden .btn:disabled{min-width:12rem}.kontakt-legende{margin:0;font-size:var(--text-sm);color:var(--farbe-text-dezent)}.kontakt-legende__stern{color:var(--farbe-gefahr);font-weight:var(--weight-bold)}/* Informationshinweis (statt Einwilligungs-Checkbox): leise, klein, unter dem Button */.kontakt-hinweis{margin:var(--space-5) 0 0;max-width:62ch;font-size:var(--text-sm);line-height:var(--leading-relaxed);color:var(--farbe-text-gedaempft)}.kontakt-hinweis a{color:var(--farbe-link);text-decoration:underline;text-underline-offset:3px;display:inline-block;padding-block:0.5rem;margin-block:-0.5rem}/* ---------- Aktionsknoepfe (Fehlversand, Erfolg) ---------- */.kontakt-aktion{display:inline-flex;align-items:center;justify-content:center;min-height:2.75rem;padding:var(--space-2) var(--space-5);font:inherit;font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--farbe-text);background:var(--farbe-flaeche);border:1px solid var(--farbe-linie-stark);border-radius:var(--radius-md);text-decoration:none;cursor:pointer;transition:transform var(--transition-base),box-shadow var(--transition-base),border-color var(--transition-fast)}.kontakt-aktion:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--farbe-text-gedaempft)}.kontakt-aktion:focus-visible{outline:3px solid var(--farbe-fokus);outline-offset:2px}.kontakt-aktion:disabled{opacity:0.6;cursor:wait}.kontakt-aktion--primaer{background:var(--farbe-akzent);color:var(--farbe-auf-akzent);border-color:transparent}/* ---------- Fehlerübersicht und Fehlversand ---------- */.kontakt-uebersicht,.kontakt-versand-fehler{margin-block-end:var(--space-6);padding:var(--space-4) var(--space-5);border:1px solid var(--farbe-gefahr);border-radius:var(--radius-md);background:color-mix(in oklch, var(--farbe-gefahr) 9%, var(--farbe-flaeche));animation:kontakt-ein 0.25s ease-out}.kontakt-uebersicht[hidden],.kontakt-versand-fehler[hidden]{display:none}.kontakt-uebersicht:focus-visible,.kontakt-versand-fehler:focus-visible{outline:3px solid var(--farbe-fokus);outline-offset:2px}.kontakt-uebersicht__titel,.kontakt-versand-fehler__text{margin:0;font-weight:var(--weight-semibold);color:var(--farbe-text)}.kontakt-uebersicht__liste{margin:var(--space-2) 0 0;padding:0;list-style:none;display:flex;flex-direction:column}.kontakt-uebersicht__liste a{display:inline-flex;align-items:center;min-height:2.75rem;color:var(--farbe-gefahr);text-decoration:underline;text-underline-offset:3px}.kontakt-versand-fehler__server{margin:var(--space-2) 0 0;font-size:var(--text-sm);color:var(--farbe-text-gedaempft)}.kontakt-versand-fehler__aktionen{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-block-start:var(--space-4)}.kontakt-versand-fehler__status{margin:var(--space-2) 0 0;min-height:1.25rem;font-size:var(--text-sm);color:var(--farbe-text-gedaempft)}/* ---------- Erfolg: Karte wird zur Verlaufsflaeche ---------- */.kontakt__haupt.ist-erfolgreich .kontakt-karte{color:#fff;border-color:transparent;background:radial-gradient(110% 120% at 8% 18%, color-mix(in oklch, var(--farbe-glanz-a) 28%, transparent), transparent 54%),radial-gradient(100% 100% at 88% 82%, color-mix(in oklch, var(--farbe-glanz-b) 24%, transparent), transparent 58%),linear-gradient(132deg, var(--color-brand-500), var(--color-brand-700) 46%, var(--color-secondary-500))}.kontakt__haupt.ist-erfolgreich .kontakt-erfolg :is(h3, p, dt, dd){color:inherit}.kontakt__haupt.ist-erfolgreich .kontakt-karte__titel{display:none}.kontakt-erfolg{animation:kontakt-ein 0.45s cubic-bezier(.2,.7,.2,1)}.kontakt-erfolg[hidden]{display:none}.kontakt-erfolg__titel{margin:0;font-family:var(--font-display);font-size:var(--text-5xl, 3rem);font-weight:var(--weight-normal);line-height:1.05;outline:none}.kontakt-erfolg__text{margin:var(--space-4) 0 0;font-size:var(--text-lg);line-height:var(--leading-relaxed);max-width:38ch}.kontakt-erfolg__zusammenfassung{margin-block:var(--space-8);padding:var(--space-5);border-radius:var(--radius-lg);background:rgb(10 14 30 / 0.34);border:1px solid rgb(255 255 255 / 0.28)}.kontakt-erfolg__zusammenfassung-titel{margin:0 0 var(--space-3);font-size:var(--text-xs);font-weight:var(--weight-bold);letter-spacing:0.12em;text-transform:uppercase;opacity:0.9}.kontakt-erfolg__liste{margin:0;display:grid;grid-template-columns:max-content minmax(0, 1fr);gap:var(--space-2) var(--space-4);font-size:var(--text-sm)}.kontakt-erfolg__liste dt{opacity:0.85}.kontakt-erfolg__liste dd{margin:0;overflow-wrap:anywhere;white-space:pre-line;max-height:7.5rem;overflow:auto}.kontakt-erfolg .kontakt-aktion{background:#fff;color:var(--color-brand-800);border-color:transparent}.kontakt-erfolg .kontakt-aktion:hover{box-shadow:var(--shadow-lg)}@keyframes kontakt-ein{from{opacity:0;transform:translateY(0.5rem)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.kontakt-erfolg,.kontakt-uebersicht,.kontakt-versand-fehler,.kontakt-form .feld__fehler{animation:none}.kontakt-aktion,.kontakt-absenden .btn,.kontakt-person,.kontakt-person__stempel{transition:none}}/* ---------- Seitenspalte ---------- */.kontakt__aside{display:flex;flex-direction:column;gap:var(--space-10);min-width:0}/* Wie geht's weiter: echte Reihenfolge, daher nummeriert; ohne Karte */.kontakt-weiter__titel{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:var(--weight-normal);margin:0 0 var(--space-5)}.kontakt-weiter__liste{list-style:none;margin:0;padding:0;counter-reset:schritt}.kontakt-weiter__schritt{--schritt-farbe:var(--farbe-akzent);position:relative;counter-increment:schritt;padding:0 0 var(--space-6) 3.25rem;line-height:var(--leading-snug)}.kontakt-weiter__schritt[data-akzent="ai"]{--schritt-farbe:var(--farbe-ai-text)}.kontakt-weiter__schritt[data-akzent="bi"]{--schritt-farbe:var(--farbe-bi-text)}.kontakt-weiter__schritt[data-akzent="si"]{--schritt-farbe:var(--farbe-si-text)}.kontakt-weiter__schritt::before{content:counter(schritt);position:absolute;inset:0 auto auto 0;width:2.25rem;height:2.25rem;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);border:2px solid var(--schritt-farbe);background:color-mix(in oklch, var(--schritt-farbe) 14%, var(--farbe-grund));color:var(--schritt-farbe);font-weight:var(--weight-bold)}.kontakt-weiter__schritt:not(:last-child)::after{content:'';position:absolute;inset:2.6rem auto 0.35rem 1.1rem;border-left:2px dashed var(--farbe-linie-stark)}.kontakt-weiter__schritt:last-child{padding-block-end:0}.kontakt-weiter__schritt{padding-block-start:0.4rem}/* Ansprechpartner: mittlere Karte mit Poststempel */.kontakt-person{position:relative;overflow:hidden;padding:var(--space-6) var(--space-6) var(--space-5);background:var(--farbe-flaeche);border:1px solid var(--farbe-linie);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);transition:transform var(--transition-base),box-shadow var(--transition-base)}.kontakt-person:hover{transform:translateY(-3px);box-shadow:var(--shadow-xl)}.kontakt-person__stempel{position:absolute;inset:var(--space-3) var(--space-3) auto auto;width:5.5rem;height:5.5rem;color:var(--farbe-ai-text);opacity:0.5;transform:rotate(-14deg);transition:transform var(--transition-slow),opacity var(--transition-base);pointer-events:none}.kontakt-person:hover .kontakt-person__stempel{transform:rotate(-4deg);opacity:0.75}.kontakt-person__name{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:var(--weight-normal);margin:0;padding-inline-end:5.5rem}.kontakt-person__rolle{margin:var(--space-1) 0 var(--space-4);font-size:var(--text-sm);color:var(--farbe-text-gedaempft);padding-inline-end:5.5rem}.kontakt-person__text{margin:0;line-height:var(--leading-relaxed);color:var(--farbe-text)}.kontakt-person__mail{margin:var(--space-3) 0 0}.kontakt-person__mail a{display:inline-flex;align-items:center;min-height:2.75rem;font-weight:var(--weight-semibold);color:var(--farbe-link);text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:2px;transition:text-underline-offset var(--transition-fast),color var(--transition-fast)}.kontakt-person__mail a:hover{color:var(--farbe-link-hover);text-underline-offset:7px}/* Direktwege: leise, Telefon nur als Zeile unter anderen */.kontakt-direkt .sofortkontakt-leiste{max-width:none;margin:0;padding:0}.kontakt-direkt .sofortkontakt-leiste__titel{margin-block-end:var(--space-2)}.kontakt-direkt .sofortkontakt-leiste__liste{flex-direction:column;flex-wrap:nowrap;gap:0;padding:0;border-block:0;border-top:2px dashed var(--farbe-linie)}.kontakt-direkt .sofortkontakt-leiste__eintrag{min-width:0;align-items:center;padding-block:var(--space-2);border-bottom:1px solid var(--farbe-linie)}.kontakt-direkt .sofortkontakt-leiste__icon{background:color-mix(in oklch, var(--farbe-akzent) 12%, var(--farbe-grund))}.kontakt-direkt .sofortkontakt-leiste__text{flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:var(--space-1) var(--space-3)}.kontakt-direkt .sofortkontakt-leiste__label{min-width:6.5rem}.kontakt-direkt .sofortkontakt-leiste__wert{font-size:var(--text-sm);font-weight:var(--weight-normal);color:var(--farbe-text-gedaempft)}.kontakt-direkt a.sofortkontakt-leiste__wert{display:inline-flex;align-items:center;min-height:2.75rem;color:var(--farbe-text);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--farbe-linie-stark)}.kontakt-direkt a.sofortkontakt-leiste__wert:hover{color:var(--farbe-akzent)}/* ---------- Hero dieser Seite (Foto im Querformat) ---------- *//* Titel ausbalancieren, damit kein einzelnes Wort allein in der letzten Zeile steht. */.hero:has(.art-flipcard--quer) .hero__titel{text-wrap:balance}/* Unter 64rem Hero-Breite: einspaltig, Foto als breites Banner UNTER dem Text (statt kleiner Briefmarke neben dem Text). */@container (max-width: 63.99rem){.hero:has(.art-flipcard--quer) .hero__container{grid-template-columns:minmax(0, 1fr)}.hero__bild:has(.art-flipcard--quer){order:0}.hero__bild:has(.art-flipcard--quer) art-flipcard.art-flipcard--quer{max-width:none}.hero__bild:has(.art-flipcard--quer) .art-flipcard__buehne{aspect-ratio:16/9;max-height:18rem}.hero__bild:has(.art-flipcard--quer) .art-flipcard__bild{object-position:50% 62%}}