/* Extracted from technische-integration.html */
/* === Technische Integration: Custom Styles === */
      .ti-api-section {
        padding: 5rem 2rem;
        position: relative;
      }
      .ti-api-section--light { background: #fff; }
      .ti-api-section--alt { background: linear-gradient(180deg, #f0f7ff 0%, #e8f4fd 100%); }
      .ti-api-section--checkered {
        background-color: #fafbfc;
        background-image: 
          linear-gradient(45deg, #f0f0f0 25%, transparent 25%),
          linear-gradient(-45deg, #f0f0f0 25%, transparent 25%),
          linear-gradient(45deg, transparent 75%, #f0f0f0 75%),
          linear-gradient(-45deg, transparent 75%, #f0f0f0 75%);
        background-size: 20px 20px;
        background-position: 0 0, 0 10px, 10px -10px, -10px 0px;
      }
      .ti-api-section__inner {
        max-width: 1100px;
        margin: 0 auto;
      }
      .ti-api-section__header {
        text-align: center;
        margin-bottom: 3.5rem;
      }
      .ti-api-section__label {
        display: inline-block;
        font-size: 0.8rem;
        font-weight: 700;
        text-transform: capitalize;
        color: #000;
        background: #a9ebe8;
        border-radius: 4px;
        padding: 0.4rem 1rem;
        margin-bottom: 1rem;
      }
      .ti-api-section__heading {
        font-family: 'Bricolage Grotesque', sans-serif;
        font-size: clamp(1.8rem, 3.5vw, 2.6rem);
        font-weight: 800;
        color: #1a1a2e;
        line-height: 1.2;
        margin-bottom: 1rem;
      }
      .ti-api-section__subtitle {
        font-size: 1.05rem;
        color: #5a6a72;
        max-width: 720px;
        margin: 0 auto;
        line-height: 1.7;
      }
      /* API Endpoint Cards */
      .ti-endpoint-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
        gap: 1.5rem;
        margin-top: 2rem;
      }
      .ti-endpoint-card {
        background: #fff;
        border: 1px solid #e8edf2;
        border-radius: 12px;
        padding: 1.8rem;
        transition: all 0.3s ease;
        position: relative;
        overflow: hidden;
      }
      .ti-endpoint-card::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 4px;
        height: 100%;
        background: #66ff7e;
        border-radius: 4px 0 0 4px;
      }
      .ti-endpoint-card:hover {
        transform: translateY(-4px);
        box-shadow: 0 12px 32px rgba(0,0,0,0.08);
        border-color: #66ff7e;
      }
      .ti-endpoint-card__title {
        font-family: 'Bricolage Grotesque', sans-serif;
        font-size: 1.15rem;
        font-weight: 700;
        color: #1a1a2e;
        margin-bottom: 0.75rem;
        display: flex;
        align-items: center;
        gap: 0.5rem;
      }
      .ti-endpoint-card__title svg {
        width: 20px;
        height: 20px;
        color: #66ff7e;
        flex-shrink: 0;
      }
      .ti-endpoint-card__desc {
        font-size: 0.92rem;
        color: #5a6a72;
        line-height: 1.6;
        margin-bottom: 1rem;
      }
      .ti-endpoint-card__code {
        background: #1a1a2e;
        border-radius: 8px;
        padding: 1rem 1.2rem;
        overflow-x: auto;
      }
      .ti-endpoint-card__code code {
        font-family: 'JetBrains Mono', monospace;
        font-size: 0.78rem;
        color: #e2e8f0;
        line-height: 1.8;
        white-space: pre;
      }
      .ti-endpoint-card__code .method-get { color: #66ff7e; font-weight: 600; }
      .ti-endpoint-card__code .method-post { color: #fbbf24; font-weight: 600; }
      .ti-endpoint-card__code .method-patch { color: #60a5fa; font-weight: 600; }
      .ti-endpoint-card__code .method-delete { color: #f87171; font-weight: 600; }
      .ti-endpoint-card__code .endpoint-path { color: #c4b5fd; }
      /* SOAP Section v2 - checkered bg like mega menu */
      .ti-soap-section {
        padding: 5rem 2rem;
        background: #ffffff;
        background-image: linear-gradient(rgba(0,0,0,0.03) 1px, transparent 1px), linear-gradient(90deg, rgba(0,0,0,0.03) 1px, transparent 1px);
        background-size: 24px 24px;
      }
      .ti-soap-section__inner {
        max-width: 1100px;
        margin: 0 auto;
      }
      .ti-soap-grid-2x2 {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 2rem;
        margin-top: 2.5rem;
      }
      @media (max-width: 768px) {
        .ti-soap-grid-2x2 { grid-template-columns: 1fr; }
      }
      .ti-soap-card-v2 {
        background: #fff;
        border: 1px solid #e8edf2;
        border-radius: 16px;
        padding: 2.2rem;
        transition: all 0.3s ease;
      }
      .ti-soap-card-v2:hover {
        transform: translateY(-4px);
        box-shadow: 0 16px 40px rgba(0,0,0,0.08);
        border-color: #66ff7e;
      }
      .ti-soap-card-v2__icon {
        width: 56px;
        height: 56px;
        margin-bottom: 1.4rem;
      }
      .ti-soap-card-v2__icon img {
        width: 100%;
        height: 100%;
        object-fit: contain;
      }
      .ti-soap-card-v2__title {
        font-family: 'Bricolage Grotesque', sans-serif;
        font-size: 1.2rem;
        font-weight: 700;
        color: #1a1a2e;
        margin-bottom: 0.75rem;
      }
      .ti-soap-card-v2__desc {
        font-size: 0.92rem;
        color: #5a6a72;
        line-height: 1.65;
        margin-bottom: 1.2rem;
      }
      .ti-soap-card-v2__methods {
        display: flex;
        flex-wrap: wrap;
        gap: 0.5rem;
      }
      .ti-soap-card-v2__methods span {
        display: inline-block;
        font-family: 'JetBrains Mono', monospace;
        font-size: 0.75rem;
        color: #3a4a52;
        background: #f1f5f4;
        padding: 0.35rem 0.7rem;
        border-radius: 6px;
        border: 1px solid #e2e8f0;
      }
      /* API Cards (new clean design) */
      .ti-api-grid {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 2rem;
        margin-top: 2rem;
      }
      @media (max-width: 768px) {
        .ti-api-grid { grid-template-columns: 1fr; }
      }
      .ti-api-card {
        background: #fff;
        border: 1px solid #e8edf2;
        border-radius: 16px;
        padding: 2.2rem;
        transition: all 0.3s ease;
        position: relative;
      }
      .ti-api-card:hover {
        transform: translateY(-4px);
        box-shadow: 0 16px 40px rgba(0,0,0,0.08);
        border-color: #66ff7e;
      }
      .ti-api-card__icon-wrap {
        width: 56px;
        height: 56px;
        background: transparent;
        border: none;
        border-radius: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        margin-bottom: 1.4rem;
      }
      .ti-api-card__icon-wrap svg {
        width: 26px;
        height: 26px;
        color: #1a7a7a;
      }
      .ti-api-card__icon-wrap img {
        width: 48px;
        height: 48px;
        object-fit: contain;
      }
      .ti-api-card__title {
        font-family: 'Bricolage Grotesque', sans-serif;
        font-size: 1.2rem;
        font-weight: 700;
        color: #1a1a2e;
        margin-bottom: 0.75rem;
      }
      .ti-api-card__desc {
        font-size: 0.92rem;
        color: #5a6a72;
        line-height: 1.65;
        margin-bottom: 1.2rem;
      }
      .ti-api-card__features {
        list-style: none;
        padding: 0;
        margin: 0;
        display: flex;
        flex-direction: column;
        gap: 0.5rem;
      }
      .ti-api-card__features li {
        font-size: 0.85rem;
        color: #3a4a52;
        padding-left: 1.4rem;
        position: relative;
        line-height: 1.5;
      }
      .ti-api-card__features li::before {
        content: '';
        position: absolute;
        left: 0;
        top: 0.45em;
        width: 8px;
        height: 8px;
        border-radius: 50%;
        background: #66ff7e;
      }
      /* SOAP Service Cards */
      .ti-soap-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
        gap: 1.5rem;
        margin-top: 2rem;
      }
      .ti-soap-card {
        background: #fff;
        border: 1px solid #e8edf2;
        border-radius: 12px;
        padding: 2rem;
        transition: all 0.3s ease;
      }
      .ti-soap-card:hover {
        transform: translateY(-3px);
        box-shadow: 0 8px 24px rgba(0,0,0,0.06);
      }
      .ti-soap-card__icon {
        width: 48px;
        height: 48px;
        background: linear-gradient(135deg, #e8fff0 0%, #f0fffe 100%);
        border: 2px solid #66ff7e;
        border-radius: 12px;
        display: flex;
        align-items: center;
        justify-content: center;
        margin-bottom: 1.2rem;
      }
      .ti-soap-card__icon svg {
        width: 24px;
        height: 24px;
        color: #1a1a2e;
      }
      .ti-soap-card__title {
        font-family: 'Bricolage Grotesque', sans-serif;
        font-size: 1.1rem;
        font-weight: 700;
        color: #1a1a2e;
        margin-bottom: 0.6rem;
      }
      .ti-soap-card__desc {
        font-size: 0.9rem;
        color: #5a6a72;
        line-height: 1.6;
        margin-bottom: 1rem;
      }
      .ti-soap-card__methods {
        display: flex;
        flex-wrap: wrap;
        gap: 0.4rem;
      }
      .ti-soap-card__method {
        font-family: 'JetBrains Mono', monospace;
        font-size: 0.72rem;
        background: #f1f5f9;
        color: #475569;
        padding: 0.3rem 0.6rem;
        border-radius: 4px;
        border: 1px solid #e2e8f0;
      }
      /* <a href="/tickets-bezahlung" title="Ticketing">Ticketing</a> Section */
      .ti-ticket-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
        gap: 2rem;
        margin-top: 2rem;
      }
      .ti-ticket-card {
        background: #fff;
        border-radius: 16px;
        padding: 2.5rem;
        border: 1px solid #e8edf2;
        transition: all 0.3s ease;
      }
      .ti-ticket-card:hover {
        box-shadow: 0 12px 40px rgba(0,0,0,0.06);
      }
      .ti-ticket-card__badge {
        display: inline-flex;
        align-items: center;
        gap: 0.4rem;
        font-size: 0.75rem;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.05em;
        color: #1a1a2e;
        background: rgba(102,255,126,0.15);
        border: 1px solid rgba(102,255,126,0.3);
        padding: 0.35rem 0.8rem;
        border-radius: 4px;
        margin-bottom: 1.2rem;
      }
      .ti-ticket-card__title {
        font-family: 'Bricolage Grotesque', sans-serif;
        font-size: 1.25rem;
        font-weight: 700;
        color: #1a1a2e;
        margin-bottom: 0.8rem;
      }
      .ti-ticket-card__desc {
        font-size: 0.92rem;
        color: #5a6a72;
        line-height: 1.7;
        margin-bottom: 1.2rem;
      }
      .ti-ticket-card__features {
        list-style: none;
        padding: 0;
        margin: 0;
      }
      .ti-ticket-card__features li {
        display: flex;
        align-items: flex-start;
        gap: 0.6rem;
        font-size: 0.88rem;
        color: #374151;
        padding: 0.5rem 0;
        border-bottom: 1px solid #f1f5f9;
      }
      .ti-ticket-card__features li:last-child { border-bottom: none; }
      .ti-ticket-card__features li svg {
        width: 16px;
        height: 16px;
        color: #66ff7e;
        flex-shrink: 0;
        margin-top: 2px;
      }
      /* Standards Grid */
      .ti-standards-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
        gap: 1.5rem;
        margin-top: 2rem;
      }
      .ti-standard-card {
        background: #fff;
        border: 1px solid #e8edf2;
        border-radius: 12px;
        padding: 2rem;
        text-align: center;
        transition: all 0.3s ease;
      }
      .ti-standard-card:hover {
        transform: translateY(-4px);
        box-shadow: 0 12px 32px rgba(0,0,0,0.08);
        border-color: #66ff7e;
      }
      .ti-standard-card__icon {
        width: 56px;
        height: 56px;
        background: #1a1a2e;
        border-radius: 14px;
        display: flex;
        align-items: center;
        justify-content: center;
        margin: 0 auto 1.2rem;
      }
      .ti-standard-card__icon svg {
        width: 28px;
        height: 28px;
        color: #66ff7e;
      }
      .ti-standard-card__name {
        font-family: 'Bricolage Grotesque', sans-serif;
        font-size: 1.1rem;
        font-weight: 700;
        color: #1a1a2e;
        margin-bottom: 0.5rem;
      }
      .ti-standard-card__desc {
        font-size: 0.85rem;
        color: #5a6a72;
        line-height: 1.6;
      }
      /* Architecture Split */
      .ti-arch-split {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 4rem;
        align-items: center;
      }
      .ti-arch-split__text { }
      .ti-arch-split__visual {
        position: relative;
      }
      .ti-arch-diagram {
        background: #1a1a2e;
        border-radius: 16px;
        padding: 2.5rem;
        position: relative;
        overflow: hidden;
      }
      .ti-arch-diagram::before {
        content: '';
        position: absolute;
        top: -50%;
        right: -50%;
        width: 100%;
        height: 100%;
        background: radial-gradient(circle, rgba(102,255,126,0.08) 0%, transparent 60%);
      }
      .ti-arch-diagram__layers {
        display: flex;
        flex-direction: column;
        gap: 0.8rem;
        position: relative;
        z-index: 1;
      }
      .ti-arch-diagram__layer {
        display: flex;
        align-items: center;
        gap: 1rem;
        padding: 0.8rem 1.2rem;
        background: rgba(255,255,255,0.05);
        border: 1px solid rgba(255,255,255,0.1);
        border-radius: 8px;
        transition: all 0.3s ease;
      }
      .ti-arch-diagram__layer:hover {
        background: rgba(102,255,126,0.08);
        border-color: rgba(102,255,126,0.3);
      }
      .ti-arch-diagram__layer-dot {
        width: 8px;
        height: 8px;
        border-radius: 50%;
        background: #66ff7e;
        flex-shrink: 0;
      }
      .ti-arch-diagram__layer-name {
        font-family: 'JetBrains Mono', monospace;
        font-size: 0.8rem;
        color: #e2e8f0;
      }
      /* Telematik Section */
      .ti-telematik-split {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 3rem;
        align-items: start;
      }
      .ti-telematik-card {
        background: #fff;
        border: 1px solid #e8edf2;
        border-radius: 16px;
        padding: 2.5rem;
        transition: all 0.3s ease;
      }
      .ti-telematik-card:hover {
        box-shadow: 0 8px 32px rgba(0,0,0,0.06);
      }
      .ti-telematik-card__icon {
        width: 52px;
        height: 52px;
        background: linear-gradient(135deg, #e8fff0 0%, #f0fffe 100%);
        border: 2px solid #66ff7e;
        border-radius: 14px;
        display: flex;
        align-items: center;
        justify-content: center;
        margin-bottom: 1.5rem;
      }
      .ti-telematik-card__icon svg {
        width: 26px;
        height: 26px;
        color: #1a1a2e;
      }
      .ti-telematik-card__title {
        font-family: 'Bricolage Grotesque', sans-serif;
        font-size: 1.2rem;
        font-weight: 700;
        color: #1a1a2e;
        margin-bottom: 0.8rem;
      }
      .ti-telematik-card__desc {
        font-size: 0.92rem;
        color: #5a6a72;
        line-height: 1.7;
      }
      .ti-telematik-card__highlight {
        margin-top: 1.2rem;
        padding: 1rem 1.2rem;
        background: rgba(102,255,126,0.06);
        border: 1px solid rgba(102,255,126,0.2);
        border-radius: 8px;
        font-size: 0.85rem;
        color: #1a1a2e;
        display: flex;
        align-items: center;
        gap: 0.6rem;
      }
      .ti-telematik-card__highlight svg {
        width: 18px;
        height: 18px;
        color: #66ff7e;
        flex-shrink: 0;
      }
      /* DSGVO Section */
      .ti-dsgvo-section {
        padding: 5rem 2rem;
        background: #66ff7e;
      }
      .ti-dsgvo-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
        gap: 1.5rem;
        margin-top: 2rem;
      }
      .ti-dsgvo-item {
        text-align: center;
        padding: 2rem 1.5rem;
        background: #fff;
        border: 1px solid #e8edf2;
        border-radius: 12px;
        transition: all 0.3s ease;
      }
      .ti-dsgvo-item:hover {
        border-color: #66ff7e;
        transform: translateY(-3px);
        box-shadow: 0 8px 24px rgba(0,0,0,0.06);
      }
      .ti-dsgvo-item__icon {
        width: 56px;
        height: 56px;
        background: transparent;
        border-radius: 12px;
        display: flex;
        align-items: center;
        justify-content: center;
        margin: 0 auto 1rem;
      }
      .ti-dsgvo-item__icon img {
        width: 48px;
        height: 48px;
        object-fit: contain;
      }
      .ti-dsgvo-item__icon svg {
        width: 24px;
        height: 24px;
        color: #66ff7e;
      }
      .ti-dsgvo-item__title {
        font-family: 'Bricolage Grotesque', sans-serif;
        font-size: 0.95rem;
        font-weight: 700;
        color: #1a1a2e;
        margin-bottom: 0.4rem;
      }
      .ti-dsgvo-item__desc {
        font-size: 0.82rem;
        color: #5a6a72;
        line-height: 1.5;
      }
      /* Responsive */
      @media (max-width: 768px) {
        .ti-arch-split,
        .ti-telematik-split {
          grid-template-columns: 1fr;
          gap: 2rem;
        }
        .ti-endpoint-grid {
          grid-template-columns: 1fr;
        }
        .ti-soap-grid {
          grid-template-columns: 1fr;
        }
        .ti-ticket-grid {
          grid-template-columns: 1fr;
        }
        .ti-standards-grid {
          grid-template-columns: 1fr 1fr;
        }
        .ti-dsgvo-grid {
          grid-template-columns: 1fr 1fr;
        }
      }
      @media (max-width: 480px) {
        .ti-standards-grid,
        .ti-dsgvo-grid {
          grid-template-columns: 1fr;
        }
      }

