/* Zusammengeführtes Kenex Stylesheet */

:root {

      --kenex-blue:   #0b2f5b;

      --kenex-blue-2: #123f73;

      --kenex-orange: #da3424;

      --kenex-light:  #f5f7fa;

      --kenex-ink:    #152238;

      --kenex-muted:  #667085;

      --radius:       1.1rem;

      /* Bootstrap-Dropdown-Variablen überschreiben */

      --bs-dropdown-link-active-bg:    #da3424;

      --bs-dropdown-link-active-color: #fff;

    }

    html, body { overflow-x: clip; }

    body { font-family: Inter, system-ui, -apple-system, Segoe UI, sans-serif; color: var(--kenex-ink); background: #fff; }

    a    { text-decoration: none; }

    /* ── Navbar ── */

    .navbar { --bs-navbar-padding-y: .9rem; box-shadow: 0 6px 24px rgba(8,31,60,.07); }

    .nav-link          { font-weight: 600; color: #1f2a44 !important; }

    .nav-link:hover,

    .dropdown-item:hover { color: var(--kenex-orange) !important; }

    /* Aktiver / geöffneter Menü-Punkt → rot mit weißer Schrift */

    .nav-link.show,

    .nav-link.active,

    .navbar-nav .nav-link.show,

    .navbar-nav .nav-link.active {

      background-color: var(--kenex-orange) !important;

      color: #fff !important;

      border-radius: .45rem;

    }

    .dropdown-menu {

      border: 0; border-radius: .9rem;

      box-shadow: 0 16px 48px rgba(8,31,60,.14);

      padding: .6rem;

    }

    .dropdown-item { border-radius: .6rem; font-weight: 500; padding: .6rem .8rem; color: #28344d; }

    .dropdown-item.active,

    .dropdown-item:active {

      --bs-dropdown-link-active-bg:    var(--kenex-orange);

      --bs-dropdown-link-active-color: #fff;

      background-color: var(--kenex-orange) !important;

      color: #fff !important;

    }

    /* ── Two-panel mega menu ── */

    .mega { min-width: 980px; padding: 0 !important; overflow: hidden; }

    .mega-wrap   { display: flex; min-height: 320px; }

    .mega-left {

      width: 220px; flex-shrink: 0;

      background: #f5f7fa;

      border-right: 1px solid #e7edf5;

      padding: .6rem 0;

      display: flex; flex-direction: column;

    }

    .mega-group-label {

      font-size: .68rem; font-weight: 800; text-transform: uppercase;

      letter-spacing: .1em; color: var(--kenex-muted);

      padding: .7rem 1rem .3rem;

    }

    .mega-group-label:not(:first-child) {

      margin-top: .4rem;

      border-top: 1px solid #e7edf5;

    }

    .mega-cat {

      display: flex; align-items: center; justify-content: space-between;

      padding: .55rem 1rem;

      font-size: .875rem; font-weight: 500; color: #28344d;

      cursor: default; border-radius: 0;

      transition: background .12s, color .12s;

      border-left: 3px solid transparent;

      text-decoration: none;

    }

    .mega-cat:hover, .mega-cat.is-active {

      background: #fff; color: var(--kenex-blue);

      border-left-color: var(--kenex-orange);

    }

    .mega-cat-arrow { font-size: .65rem; opacity: .45; }

    .mega-right {

      flex: 1; padding: 1.25rem 1.5rem; min-width: 0;

      position: relative;

    }

    .mega-panel { display: none; }

    .mega-panel.is-active { display: block; }

    .mega-panel-title {

      font-size: .7rem; font-weight: 800; text-transform: uppercase;

      letter-spacing: .1em; color: var(--kenex-muted);

      margin-bottom: 1rem; padding-bottom: .6rem;

      border-bottom: 1px solid #e7edf5;

    }

    .mega-items {

      display: grid; grid-template-columns: repeat(2, 1fr); gap: .15rem;

    }

    .mega-item {

      display: block; padding: .5rem .75rem;

      font-size: .875rem; color: #28344d;

      border-radius: .5rem;

      transition: background .1s, color .1s;

      text-decoration: none;

    }

    .mega-item:hover { background: #f0f4f9; color: var(--kenex-blue); }

    @media (max-width: 991.98px) {

      .mega { min-width: auto; }

      .mega-wrap { flex-direction: column; }

      .mega-left { width: 100%; border-right: none; border-bottom: 1px solid #e7edf5; }

      .mega-right { padding: 1rem; }

      .mega-panel { display: block; }

      .mega-cat { border-left: none; border-bottom: 2px solid transparent; }

      .mega-cat.is-active { border-bottom-color: var(--kenex-orange); background: #f5f7fa; }

    }

    /* ── Hero ── */

    .hero {

      background: linear-gradient(135deg, #071f3c 0%, #0b2f5b 60%, #123f73 100%);

      color: white;

    }

    .eyebrow { color: #f5948c; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; font-size: .78rem; }

    .hero h1 { font-size: clamp(2rem, 5vw, 4rem); line-height: .96; letter-spacing: -.03em; font-weight: 800; }

    .hero p  { font-size: clamp(1rem, 1.8vw, 1.2rem); color: rgba(255,255,255,.78); }

    .btn-kenex         { --bs-btn-color: #fff; background: var(--kenex-orange); border-color: var(--kenex-orange); color: #fff; font-weight: 800; border-radius: 999px; padding: .9rem 1.2rem; }

    .btn-kenex:hover   { --bs-btn-color: #fff; background: #bf2d1e; border-color: #bf2d1e; color: #fff; }

    .btn-outline-light { border-radius: 999px; padding: .9rem 1.2rem; font-weight: 700; }

    /* ── Language switcher ── */

    .lang-switch { display: flex; align-items: center; gap: 2px; background: #f0f3f8; border-radius: 999px; padding: 3px; }

    .lang-switch a { font-size: .78rem; font-weight: 700; letter-spacing: .04em; padding: 4px 10px; border-radius: 999px; color: var(--kenex-muted); transition: background .15s, color .15s; text-decoration: none; }

    .lang-switch a:hover { color: var(--kenex-blue); }

    .lang-switch a.active { background: #fff; color: var(--kenex-blue); box-shadow: 0 1px 4px rgba(0,0,0,.1); }

    .hero-img-wrap {

      border-radius: 1.5rem; overflow: hidden;

      box-shadow: 0 30px 70px rgba(0,0,0,.4), 0 0 0 1px rgba(255,255,255,.07);

    }

    .hero-img-wrap img { width: 100%; height: 100%; object-fit: cover; display: block; max-height: 460px; }

    /* ── Products ── */

    .section-pad   { padding: 5.5rem 0; }

    .section-kicker{ color: var(--kenex-orange); font-weight: 800; text-transform: uppercase; letter-spacing: .11em; font-size: .76rem; }

    .display-tight { letter-spacing: -.04em; font-weight: 800; color: var(--kenex-blue); }

    .category-card {

      border: 1px solid #e7edf5; border-radius: var(--radius);

      height: 100%; overflow: hidden;

      display: flex; flex-direction: column;

      transition: .2s ease; background: #fff;

    }

    .category-card:hover { transform: translateY(-3px); box-shadow: 0 16px 40px rgba(8,31,60,.09); border-color: #cfdaed; }

    .category-card .card-media {

      position: relative; aspect-ratio: 16 / 9;

      background: var(--kenex-light); overflow: hidden;

    }

    .category-card .card-media img {

      width: 100%; height: 100%; object-fit: cover; display: block;

      transition: transform .35s ease;

    }

    .category-card:hover .card-media img { transform: scale(1.05); }

    .category-card .card-body { padding: 1.35rem; }

    .category-card .icon {

      position: absolute; left: .8rem; bottom: .8rem;

      width: 44px; height: 44px; border-radius: 13px;

      background: #fff; color: var(--kenex-orange);

      display: grid; place-items: center;

      font-weight: 900; font-size: .875rem;

      box-shadow: 0 6px 18px rgba(8,31,60,.18);

    }

    .category-card h3 { font-size: 1rem; color: var(--kenex-blue); font-weight: 800; }

    .category-card p  { color: var(--kenex-muted); font-size: .9rem; margin: 0; }

    /* ── Proof / About ── */

    .proof { background: var(--kenex-light); }

    .proof-item { border-left: 3px solid var(--kenex-orange); padding-left: 1rem; }

    .proof-item strong { font-size: 1.9rem; color: var(--kenex-blue); display: block; }

    /* ── Contact ── */

    .contact-card { border: 0; border-radius: var(--radius); box-shadow: 0 8px 32px rgba(8,31,60,.1); }

    /* ── Footer ── */

    footer             { background: #071f3c; color: rgba(255,255,255,.72); }

    footer a           { color: rgba(255,255,255,.8); }

    footer a:hover     { color: #fff; }

    .footer-title      { color: #fff; font-weight: 800; margin-bottom: .75rem; }

    /* ── Responsive ── */

    @media (max-width: 991.98px) {

      .hero h1 { letter-spacing: -.04em; }

      .section-pad { padding: 4rem 0; }

      .navbar-toggler { display: none !important; }

    }

    /* ── Mobile Hamburger ── */

    .m-hamburger {

      display: none; flex-direction: column; justify-content: center;

      gap: 5px; width: 40px; height: 40px;

      background: none; border: 1px solid #e7edf5;

      border-radius: .5rem; padding: .5rem; cursor: pointer;

    }

    .m-hamburger span {

      display: block; width: 18px; height: 2px;

      background: var(--kenex-ink); border-radius: 2px;

      transition: all .22s;

    }

    @media (max-width: 991.98px) { .m-hamburger { display: flex; } }

    /* ── Overlay ── */

    .m-overlay {

      position: fixed; inset: 0;

      background: rgba(7,31,60,.5);

      z-index: 1040;

      opacity: 0; pointer-events: none;

      transition: opacity .3s;

    }

    .m-overlay.is-open { opacity: 1; pointer-events: all; }

    /* ── Drawer ── */

    .m-drawer {

      position: fixed; top: 0; right: 0; bottom: 0;

      width: min(340px, 92vw);

      background: #fff;

      z-index: 1050;

      transform: translateX(105%);

      transition: transform .32s cubic-bezier(.4,0,.2,1);

      display: flex; flex-direction: column;

      overflow: hidden;

      box-shadow: -8px 0 40px rgba(7,31,60,.18);

    }

    .m-drawer.is-open { transform: translateX(0); }

    .m-drawer-head {

      display: flex; align-items: center; justify-content: space-between;

      padding: 1rem 1.25rem;

      border-bottom: 1px solid #e7edf5;

      flex-shrink: 0;

    }

    .m-drawer-brand { font-weight: 800; font-size: 1.05rem; color: var(--kenex-blue); }

    .m-drawer-brand small {

      display: block; font-size: .65rem; font-weight: 500;

      color: var(--kenex-muted); letter-spacing: .06em; text-transform: uppercase;

    }

    .m-close {

      width: 34px; height: 34px; border: none;

      background: #f5f7fa; border-radius: 50%;

      cursor: pointer; font-size: 1rem; color: var(--kenex-ink);

      display: grid; place-items: center; transition: background .15s;

    }

    .m-close:hover { background: #e7edf5; }

    .m-nav { flex: 1; overflow-y: auto; padding: .4rem 0 1rem; }

    /* Top-level nav items */

    .m-nav-link {

      display: block; padding: .8rem 1.25rem;

      font-size: .9375rem; font-weight: 600; color: var(--kenex-ink);

      text-decoration: none; transition: background .12s, color .12s;

    }

    .m-nav-link:hover { background: #f5f7fa; color: var(--kenex-blue); }

    /* Accordion row (toggle button) */

    .m-acc-toggle {

      display: flex; align-items: center; justify-content: space-between;

      width: 100%; padding: .8rem 1.25rem;

      font-size: .9375rem; font-weight: 600; color: var(--kenex-ink);

      background: none; border: none; text-align: left; cursor: pointer;

      transition: background .12s, color .12s;

    }

    .m-acc-toggle:hover,

    .m-acc-toggle.is-open  { background: #f5f7fa; color: var(--kenex-blue); }

    .m-acc-chevron {

      font-size: .72rem; color: var(--kenex-muted);

      transition: transform .2s; flex-shrink: 0; margin-left: .5rem;

    }

    .m-acc-toggle.is-open .m-acc-chevron { transform: rotate(90deg); }

    /* Accordion body */

    .m-acc-body {

      display: none;

      border-left: 3px solid var(--kenex-orange);

      margin-left: 1.1rem;

      background: #fafafa;

    }

    .m-acc-body.is-open { display: block; }

    /* Sub-level (Unternehmen/Kontakt items) */

    .m-sub-link {

      display: block; padding: .6rem 1rem;

      font-size: .875rem; font-weight: 500; color: #3a3a3a;

      text-decoration: none; transition: background .1s, color .1s;

    }

    .m-sub-link:hover { background: #f0f4f9; color: var(--kenex-blue); }

    /* Sub-header label */

    .m-sub-label {

      padding: .55rem 1rem .2rem;

      font-size: .66rem; font-weight: 800;

      text-transform: uppercase; letter-spacing: .1em;

      color: var(--kenex-muted);

    }

    /* Category accordion row (level 2) */

    .m-cat-toggle {

      display: flex; align-items: center; justify-content: space-between;

      width: 100%; padding: .6rem 1rem;

      font-size: .875rem; font-weight: 500; color: #3a3a3a;

      background: none; border: none; text-align: left; cursor: pointer;

      transition: background .1s, color .1s;

    }

    .m-cat-toggle:hover,

    .m-cat-toggle.is-open  { background: #f0f4f9; color: var(--kenex-blue); }

    .m-cat-toggle.is-open .m-acc-chevron { transform: rotate(90deg); }

    /* Level-2 accordion body */

    .m-cat-body {

      display: none;

      border-left: 2px solid #dddad5;

      margin-left: .9rem;

      background: #f5f5f2;

    }

    .m-cat-body.is-open { display: block; }

    /* Sub-sub links (product sub-items) */

    .m-sub2-link {

      display: block; padding: .5rem .9rem;

      font-size: .8375rem; color: #555;

      text-decoration: none; transition: color .1s, background .1s;

    }

    .m-sub2-link:hover { color: var(--kenex-blue); background: #ede9e4; }

    /* Divider */

    .m-divider { height: 1px; background: #e7edf5; margin: .3rem 1rem; }

    /* Drawer footer */

    .m-drawer-foot {

      padding: 1rem 1.25rem;

      border-top: 1px solid #e7edf5;

      flex-shrink: 0;

    }

/* Seitenkopf, Navigation und Produkttabelle */
/* ── Page header / breadcrumb (großes Hero-Bild, Textkarte darüber) ── */

    .page-header {

      position: relative;

      background: var(--kenex-light);

      border-bottom: 1px solid #e7edf5;

    }

    /* Originalbild, unverfälscht – 16:9 wie die Datei selbst */

    .page-header-img {

      display: block; width: 100%;

      aspect-ratio: 1672 / 941;

      max-height: clamp(320px, 40vw, 470px);

      object-fit: cover; object-position: left bottom;

    }

    /* Textkarte über dem Bild, unten links */

    .page-header .container {

      position: absolute; left: 0; right: 0; bottom: 1.75rem;

    }

    .page-header-card {

      max-width: 40rem;

      background: rgba(255,255,255,.93);

      backdrop-filter: blur(8px);

      -webkit-backdrop-filter: blur(8px);

      border-radius: var(--radius);

      padding: 1.05rem 1.5rem 1.3rem;

      box-shadow: 0 12px 40px rgba(8,31,60,.16);

    }

    .page-header-card .page-title { margin-top: .3rem; }

    /* Mobil: Bild als Band, Text darunter – keine Überlagerung */

    @media (max-width: 767.98px) {

      .page-header-img { max-height: 210px; }

      .page-header .container {

        position: static;

        padding-top: 1.1rem; padding-bottom: 1.4rem;

      }

      .page-header-card {

        max-width: none;

        background: none; backdrop-filter: none; -webkit-backdrop-filter: none;

        border-radius: 0; box-shadow: none; padding: 0;

      }

    }

    .breadcrumb { margin: 0; padding: 0; background: none; font-size: .82rem; }

    .breadcrumb-item a { color: var(--kenex-muted); }

    .breadcrumb-item a:hover { color: var(--kenex-blue); }

    .breadcrumb-item.active { color: var(--kenex-ink); font-weight: 600; }

    .breadcrumb-item + .breadcrumb-item::before { color: var(--kenex-muted); }

    .page-title { font-size: clamp(1.4rem, 3vw, 2rem); font-weight: 800; color: var(--kenex-blue); letter-spacing: -.03em; margin: .4rem 0 0; }

    /* ── Sidebar nav ── */

    .sidenav { position: sticky; top: 88px; }

    .sidenav-section { margin-bottom: .25rem; }

    .sidenav-cat {

      display: block; padding: .55rem .9rem;

      font-size: .875rem; font-weight: 700;

      color: var(--kenex-blue);

      border-radius: .5rem;

      transition: background .12s;

      text-decoration: none;

    }

    .sidenav-cat:hover { background: #f0f4f9; color: var(--kenex-blue); }

    .sidenav-cat.is-active {

      background: #fcecea;

      color: var(--kenex-orange);

    }

    .sidenav-sub {

      padding-left: .4rem;

      margin-bottom: .1rem;

    }

    .sidenav-sub a {

      display: block; padding: .38rem .85rem;

      font-size: .815rem; font-weight: 500; color: var(--kenex-muted);

      border-left: 2px solid transparent;

      border-radius: 0 .4rem .4rem 0;

      transition: color .12s, border-color .12s, background .12s;

      text-decoration: none;

    }

    .sidenav-sub a:hover { color: var(--kenex-blue); background: #f5f7fa; }

    .sidenav-sub a.is-active {

      color: var(--kenex-orange);

      border-left-color: var(--kenex-orange);

      font-weight: 700;

      background: #fef5f4;

    }

    .sidenav-divider { height: 1px; background: #e7edf5; margin: .5rem .4rem; }

    /* ── Mobile sidebar toggle ── */

    .sidenav-mobile-toggle {

      display: flex; align-items: center; justify-content: space-between;

      background: var(--kenex-light); border: 1px solid #e7edf5;

      border-radius: .7rem; padding: .75rem 1rem;

      font-size: .875rem; font-weight: 700; color: var(--kenex-blue);

      cursor: pointer; margin-bottom: .5rem;

    }

    .sidenav-toggle-arrow { transition: transform .2s; font-size: .8rem; color: var(--kenex-muted); }

    .sidenav-mobile-toggle[aria-expanded="true"] .sidenav-toggle-arrow { transform: rotate(90deg); }

    #sidenavCollapse.show { margin-bottom: 1rem; }

    /* ── Product table ── */

    .detail-wrap {

  padding-top: 2.5rem;

  padding-bottom: 4rem;

}

    .product-table {

      width: 100%; border-collapse: separate; border-spacing: 0;

      font-size: .9rem;

    }

    .product-table thead th {

      background: var(--kenex-blue);

      color: #fff;

      font-weight: 700;

      font-size: .75rem;

      text-transform: uppercase;

      letter-spacing: .07em;

      padding: .75rem 1rem;

      border: none;

    }

    .product-table thead th:first-child { border-radius: .7rem 0 0 0; }

    .product-table thead th:last-child  { border-radius: 0 .7rem 0 0; }

    .product-table tbody tr { border-bottom: 1px solid #e7edf5; }

    .product-table tbody tr:last-child { border-bottom: none; }

    .product-table tbody tr:hover td { background: #f8fafd; }

    .product-table tbody td {

      padding: .85rem 1rem;

      vertical-align: middle;

      border: none;

      border-bottom: 1px solid #e7edf5;

    }

    .product-table tbody tr:last-child td { border-bottom: none; }

    .product-table-wrap {

      border: 1px solid #e7edf5;

      border-radius: .8rem;

      overflow: hidden;

      box-shadow: 0 4px 20px rgba(8,31,60,.05);

    }

    @media (max-width: 991.98px) {

      .product-table-wrap { margin-left: .75rem; margin-right: .75rem; }

    }

    .product-table-wrap {

  overflow-x: auto;

  -webkit-overflow-scrolling: touch;

}

@media (max-width: 767.98px) {

  .product-table {

    min-width: 560px; /* an Spaltenanzahl anpassen */

  }

  .product-table thead th,

  .product-table tbody td {

    padding: .65rem .75rem;

    white-space: nowrap;

  }

}

    .pdf-link {

      display: inline-flex; align-items: center; gap: .35rem;

      color: var(--kenex-orange); font-weight: 600;

      text-decoration: none;

    }

    .pdf-link:hover { color: #bf2d1e; text-decoration: underline; }

    .pdf-icon {

      display: inline-flex; align-items: center; justify-content: center;

      width: 22px; height: 22px; border-radius: 5px;

      background: #fcecea; font-size: .6rem; font-weight: 900;

      color: var(--kenex-orange); flex-shrink: 0;

    }

    .no-pdf { color: var(--kenex-ink); font-weight: 500; }

    .badge-color {

      display: inline-block; padding: .25rem .6rem;

      background: #f0f4f9; color: #445; border-radius: 999px;

      font-size: .78rem; font-weight: 500;

    }

    /* ── Contact aside ── */

    .contact-aside {

      background: var(--kenex-light);

      border-radius: var(--radius);

      padding: 1.25rem;

      margin-top: 1.5rem;

    }

    .contact-aside h3 { font-size: .85rem; font-weight: 800; color: var(--kenex-blue); text-transform: uppercase; letter-spacing: .07em; margin-bottom: .75rem; }

    .contact-aside p  { font-size: .85rem; margin: 0; color: var(--kenex-ink); line-height: 1.6; }

    .contact-aside a  { color: var(--kenex-orange); font-weight: 600; }

    .contact-aside a:hover { color: #bf2d1e; }

    .contact-aside .btn-kenex { font-size: .82rem; padding: .6rem 1rem; margin-top: .9rem; display: block; text-align: center; }

    /* ── Kontaktbox unter der Tabelle ── */

    .contact-banner {

      display: flex; flex-wrap: wrap; gap: 1rem;

      align-items: center; justify-content: space-between;

      border: 1px solid #e7edf5;

      border-radius: .8rem;

      background: var(--kenex-light);

      padding: 1.1rem 1.4rem;

    }

    .contact-banner-text {

      font-size: .875rem; color: var(--kenex-muted); line-height: 1.5;

    }

    .contact-banner-text strong { color: var(--kenex-ink); }

    .contact-banner-actions {

      display: flex; flex-wrap: wrap; gap: .5rem; align-items: center;

      flex-shrink: 0;

    }

    .btn-contact-phone,

    .btn-contact-mail {

      display: inline-flex; align-items: center; gap: .4rem;

      padding: .45rem .9rem;

      font-size: .82rem; font-weight: 600;

      border-radius: 999px;

      text-decoration: none;

      border: 1px solid #d0d9e8;

      background: #fff;

      color: var(--kenex-ink);

      transition: border-color .15s, color .15s;

    }

    .btn-contact-phone:hover,

    .btn-contact-mail:hover { border-color: var(--kenex-blue); color: var(--kenex-blue); }

    .btn-contact-form {

      display: inline-flex; align-items: center;

      padding: .45rem 1rem;

      font-size: .82rem; font-weight: 700;

      border-radius: 999px;

      background: var(--kenex-orange);

      color: #fff; text-decoration: none;

      transition: background .15s;

    }

    .btn-contact-form:hover { background: #bf2d1e; color: #fff; }

/* Hauptüberschrift */

main .frame > header h1 {

  margin: 0 0 1rem;

  color: var(--kenex-ink);

  font-size: clamp(2rem, 4vw, 3rem);

  font-weight: 800;

  line-height: 1.15;

  letter-spacing: -0.025em;

}

/* Untertitel direkt unter der Hauptüberschrift */

main .frame > header h2 {

  max-width: 760px;

  margin: 0 0 1.5rem;

  color: var(--kenex-muted);

  font-size: clamp(1.05rem, 2vw, 1.15rem);

  font-weight: 500;

  line-height: 1.6;
  margin:30px 0 0 0;

}

/* Normale H2-Zwischenüberschriften im Inhalt */

main .frame > h2 {

  margin: 2rem 0 0.75rem;

  padding-left: 0.75rem;

  border-left: 4px solid var(--kenex-orange);

  color: var(--kenex-blue);

  font-size: clamp(1.25rem, 2vw, 1.4rem);

  font-weight: 750;

  line-height: 1.3;

}

/* H3 etwas zurückhaltender */

main .frame > h3 {

  margin: 1.35rem 0 0.4rem;

  color: var(--kenex-blue-2);

  font-size: 1.15rem;

  font-weight: 600;

  line-height: 1.35;

}

/* H4-Zwischenüberschriften */

main .frame > h4 {

  margin: 1.1rem 0 0.3rem;

  color: var(--kenex-ink);

  font-size: 1.1rem;

  font-weight: 600;

  line-height: 1.4;

}

/* Abstand der Texte nach Zwischenüberschriften */

main .frame > h2 + p,

main .frame > h3 + p,

main .frame > h4 + p {

  margin-top: 0;

}

main header {

  margin-bottom: 2rem;

}

main header h1 {

  margin: 0 0 0.4rem;

  color: var(--kenex-ink);

  font-size: 2rem;

  font-weight: 700;

  line-height: 1.2;

}

main header h2 {

  margin: 0;

  color: var(--kenex-muted);

  font-size: 1.25rem;

  font-weight: 500;

  line-height: 1.4;

}

main .frame-type-text {

    max-width: 760px;

    margin: 0;

    font-size: 1.05rem;

    line-height: 1.7;

}

/* Links im Inhaltsbereich */

main .frame a {

  color: var(--kenex-orange);

  font-weight: 600;

  text-decoration: none;

}

main .frame a:hover,

main .frame a:focus {

  color: #b92b1e;

  text-decoration: underline;

}

/* Formular-Button */

main .frame .btn-primary {

  padding: 0.7rem 1.4rem;

  background-color: var(--kenex-orange);

  border-color: var(--kenex-orange);

  color: #fff;

  font-weight: 600;

  border-radius: 0.5rem;

}

main .frame .btn-primary:hover,

main .frame .btn-primary:focus,

main .frame .btn-primary:active {

  background-color: #b92b1e !important;

  border-color: #b92b1e !important;

  color: #fff !important;

}

    .contact-section {

        background: #fff;

    }

    .contact-kicker,

    .contact-person-label {

        display: block;

        margin-bottom: 0.65rem;

        color: var(--kenex-orange);

        font-size: 0.75rem;

        font-weight: 800;

        letter-spacing: 0.1em;

        text-transform: uppercase;

    }

    .contact-section h1 {

        margin-bottom: 1rem;

        color: var(--kenex-ink);

        font-size: clamp(2rem, 4vw, 3rem);

        font-weight: 800;

        line-height: 1.15;

    }

    .contact-intro {

        max-width: 760px;

        margin: 0;

        font-size: 1.05rem;

        line-height: 1.7;

    }

    .contact-card,

    .contact-person {

        border: 1px solid #e7edf5;

        border-radius: var(--radius);

        background: #fff;

        box-shadow: 0 10px 35px rgba(8, 31, 60, 0.08);

    }

    .contact-card {

        padding: clamp(1.5rem, 3vw, 2.25rem);

    }

    .contact-card h2 {

        margin-bottom: 1.75rem;

        color: var(--kenex-blue);

        font-size: 1.35rem;

        font-weight: 800;

        line-height: 1.35;

    }

    .contact-block {

        margin-top: 1.5rem;

        padding-top: 1.5rem;

        border-top: 1px solid #e7edf5;

    }

    .contact-label {

        display: block;

        margin-bottom: 0.6rem;

        color: var(--kenex-muted);

        font-size: 0.72rem;

        font-weight: 800;

        letter-spacing: 0.08em;

        text-transform: uppercase;

    }

    .contact-card address {

        margin: 0;

        color: var(--kenex-ink);

        font-style: normal;

        line-height: 1.7;

    }

    .contact-link {

        display: block;

        margin-bottom: 0.5rem;

        color: var(--kenex-ink);

    }

    .contact-link:hover {

        color: var(--kenex-orange);

    }

    .contact-map {

        height: 100%;

        min-height: 440px;

        overflow: hidden;

        border-radius: var(--radius);

        background: var(--kenex-light);

        box-shadow: 0 10px 35px rgba(8, 31, 60, 0.08);

    }

    .contact-map iframe {

        display: block;

        width: 100%;

        height: 100%;

        min-height: 440px;

        border: 0;

    }

    .contact-team h2 {

        margin-bottom: 0.5rem;

        color: var(--kenex-ink);

        font-size: 1.75rem;

        font-weight: 800;

    }

    .contact-team p {

        color: var(--kenex-muted);

    }

    .contact-person {

        display: flex;

        flex-direction: column;

        padding: 1.75rem;

        transition:

            transform 0.2s ease,

            box-shadow 0.2s ease;

    }

    .contact-person:hover {

        transform: translateY(-3px);

        box-shadow: 0 16px 40px rgba(8, 31, 60, 0.12);

    }

    .contact-person h3 {

        margin-bottom: 1rem;

        color: var(--kenex-blue);

        font-size: 1.2rem;

        font-weight: 800;

    }

    .contact-person a,

    .contact-person span:not(.contact-person-label) {

        margin-top: 0.35rem;

        color: var(--kenex-ink);

    }

    .contact-person a:hover {

        color: var(--kenex-orange);

    }

    .contact-general {

        display: flex;

        gap: 1.5rem;

        align-items: center;

        justify-content: space-between;

        padding: 1.4rem 1.6rem;

        border-radius: var(--radius);

        background: var(--kenex-light);

    }

    .contact-general strong,

    .contact-general span {

        display: block;

    }

    .contact-general strong {

        margin-bottom: 0.25rem;

        color: var(--kenex-blue);

    }

    .contact-general span {

        color: var(--kenex-muted);

        font-size: 0.9rem;

    }

    .contact-accounting {

        margin-top: 1.5rem;

        align-items: flex-start;

        justify-content: flex-start;

    }

    .contact-accounting .contact-block {

        flex: 1;

        margin-top: 0;

        padding-top: 0;

        border-top: 0;

    }

    @media (max-width: 767.98px) {

        .contact-map,

        .contact-map iframe {

            min-height: 340px;

        }

        .contact-general {

            align-items: flex-start;

            flex-direction: column;

        }

        .contact-general .btn {

            width: 100%;

            text-align: center;

        }

    }
