/* ============================================================
   KONTAKT (.kontakt_* + .kontakt_eu_badge)
   Auto-extracted from index.html (single source of truth).
   Edit here; index.html only links these files.
   ============================================================ */
.kontakt {
    position: relative;
    padding: 140px 0 120px;
    border-top: 1px solid var(--hairline);
    background: var(--paper);
}
.kontakt_inner {
    max-width: 1240px;
    margin: 0 auto;
    padding: 0 48px;
}
.kontakt_grid {
    margin-top: 64px;
    display: grid;
    grid-template-columns: minmax(0, 6fr) minmax(0, 5fr);
    gap: 64px;
    align-items: start;
}

.kontakt_company { position: relative; }
.kontakt_overline {
    font-family: var(--mono);
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--ink-faint);
    margin: 0 0 22px;
}
.kontakt_logo {
    display: block;
    width: 220px;
    height: auto;
    margin: 0 0 28px;
    color: var(--ink);
}
.kontakt_logo path { fill: currentColor; }
.kontakt_desc {
    font-family: var(--sans);
    font-size: 15px;
    line-height: 1.65;
    color: var(--ink-soft);
    margin: 0 0 36px;
    max-width: 540px;
}
.kontakt_data {
    margin: 0;
    padding: 0;
    border-top: 1px solid var(--hairline);
}
.kontakt_data_row {
    display: grid;
    grid-template-columns: 90px 1fr;
    align-items: baseline;
    padding: 14px 0;
    border-bottom: 1px solid var(--hairline);
}
.kontakt_data_row dt {
    font-family: var(--mono);
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--ink-faint);
    margin: 0;
}
.kontakt_data_row dd {
    font-family: var(--mono);
    font-size: 14px;
    letter-spacing: 0.04em;
    color: var(--ink);
    margin: 0;
    font-feature-settings: "tnum";
}

.kontakt_address {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.kontakt_card {
    position: relative;
    background: var(--paper-card);
    border: 1px solid var(--hairline);
    border-radius: 6px;
    padding: 28px 28px 26px;
    transition: background 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}
.kontakt_card:hover { background: var(--paper-hi); }
.kontakt_card::before {
    content: "";
    position: absolute;
    top: 14px; left: 14px;
    width: 9px; height: 9px;
    border-top: 1px solid var(--ink);
    border-left: 1px solid var(--ink);
    pointer-events: none;
}
.kontakt_card_label {
    display: flex;
    align-items: center;
    gap: 10px;
    font-family: var(--mono);
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.20em;
    text-transform: uppercase;
    color: var(--oxblood);
    margin: 0 0 14px;
    padding-left: 22px;
}
.kontakt_card_label svg {
    width: 12px; height: 12px;
    stroke: var(--oxblood);
    stroke-width: 1.4;
    fill: none;
}
.kontakt_card_value {
    font-family: var(--sans);
    font-size: 15px;
    line-height: 1.65;
    color: var(--ink);
    margin: 0;
    padding-left: 22px;
}
.kontakt_card_value a {
    color: var(--ink);
    text-decoration: none;
    border-bottom: 1px solid var(--hairline-2);
    transition: border-color 0.18s ease, color 0.18s ease;
}
.kontakt_card_value a:hover {
    color: var(--oxblood);
    border-bottom-color: var(--oxblood);
}
.kontakt_card_meta {
    margin-top: 12px;
    padding-left: 22px;
    font-family: var(--mono);
    font-size: 12px;
    letter-spacing: 0.10em;
    color: var(--ink-faint);
}

@media (max-width: 980px) {
    .kontakt { padding: 96px 0; }
    .kontakt_inner { padding: 0 16px; }
    .kontakt_grid { grid-template-columns: 1fr; gap: 48px; }
    .kontakt_logo { width: 180px; }
}

.kontakt_eu_badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 12px;
    padding: 5px 10px;
    font-family: var(--mono);
    font-size: 12px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--ink-mid);
    background: var(--paper-hi);
    border: 1px solid var(--hairline-2);
    border-radius: 4px;
    font-weight: 500;
    line-height: 1;
}
.kontakt_eu_badge .kontakt_eu_flag { font-size: 14px; letter-spacing: 0; }

