/* Stable text-link geometry for all four native expertise cards. */
#sp-page-builder#sp-page-builder #schwerpunkte .mg-v13-competency a.mg-v13-text-link.sppb-btn {
    position: static !important;
    box-sizing: border-box;
    display: flex !important;
    align-items: center;
    justify-content: flex-start !important;
    gap: 8px;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    min-height: 36px;
    padding: 7px 0 !important;
    border: 0 !important;
    transform: none !important;
    white-space: nowrap !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
    line-height: 1.35;
    transition: color .2s ease, text-decoration-color .2s ease !important;
}

#sp-page-builder#sp-page-builder #schwerpunkte .mg-v13-competency a.mg-v13-text-link.sppb-btn::after {
    content: "→" !important;
    display: block !important;
    position: static !important;
    flex: 0 0 1rem;
    width: 1rem !important;
    margin: 0 !important;
    line-height: 1;
    text-align: center;
    opacity: 0 !important;
    transform: translateX(-4px) !important;
    transition: opacity .2s ease, transform .2s ease !important;
}

#sp-page-builder#sp-page-builder #schwerpunkte .mg-v13-competency a.mg-v13-text-link.sppb-btn:is(:hover, :focus-visible)::after {
    opacity: 1 !important;
    transform: translateX(0) !important;
}

#sp-page-builder#sp-page-builder #schwerpunkte .mg-v13-competency a.mg-v13-text-link.sppb-btn:is(:hover, :focus-visible) {
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: .18em;
}

#sp-page-builder#sp-page-builder #schwerpunkte .mg-v13-competency :is(.mg-v13-competency-title, .mg-v13-competency-title a) {
    hyphens: none !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
}

/* Keep enough inline space for the longest label and its arrow. */
@media (min-width: 601px) and (max-width: 1199px) {
    #sp-page-builder#sp-page-builder #schwerpunkte > .sppb-row-container > .sppb-row > .sppb-col-md-3 {
        flex: 0 0 50% !important;
        width: 50% !important;
        max-width: 50% !important;
    }
}

@media (max-width: 600px) {
    #sp-page-builder#sp-page-builder #schwerpunkte > .sppb-row-container > .sppb-row > .sppb-col-md-3 {
        flex: 0 0 100% !important;
        width: 100% !important;
        max-width: 100% !important;
    }
}

/* At tablet widths the native columns are only structural wrappers. All cards
   participate in one row-major grid, in the same order as their tab stops. */
@media (max-width: 1199px), (max-width: 1366px) and (any-pointer: coarse) {
    #sp-page-builder .mg-success-editorial-intro .sppb-addon-content p {
        max-width: min(100%, 65ch) !important;
        text-wrap: pretty;
        hyphens: none !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
    }

    #sp-page-builder .mg-success-editorial-intro .mg-stories-desktop-break {
        display: none !important;
    }

    #sp-page-builder#sp-page-builder #success-stories-grid > .sppb-row-container > .sppb-row {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        align-items: stretch !important;
        gap: clamp(16px, 2.6vw, 26px) !important;
        margin-inline: 0 !important;
    }

    #sp-page-builder#sp-page-builder #success-stories-grid > .sppb-row-container > .sppb-row::before,
    #sp-page-builder#sp-page-builder #success-stories-grid > .sppb-row-container > .sppb-row::after {
        content: none !important;
    }

    #sp-page-builder#sp-page-builder #success-stories-grid > .sppb-row-container > .sppb-row > [class*="sppb-col-"],
    #sp-page-builder#sp-page-builder #success-stories-grid .mg-v13-project-cell,
    #sp-page-builder#sp-page-builder #success-stories-grid .mg-v13-project-cell > .sppb-column-addons {
        display: contents !important;
    }

    #sp-page-builder#sp-page-builder #success-stories-grid .mg-v13-project-card {
        display: flex !important;
        flex-direction: column !important;
        min-width: 0 !important;
        min-height: 0 !important;
        height: auto !important;
        margin: 0 !important;
        padding: clamp(20px, 2.9vw, 33px) !important;
    }

    #sp-page-builder#sp-page-builder #success-stories-grid .mg-v13-project-card > .sppb-container-inner {
        display: flex;
        flex: 1;
        min-width: 0;
    }

    #sp-page-builder#sp-page-builder #success-stories-grid .mg-v13-project-card > .sppb-container-inner > .sppb-nested-row {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-rows: auto minmax(0, 1fr);
        flex: 1;
        min-width: 0;
        margin: 0 !important;
    }

    #sp-page-builder#sp-page-builder #success-stories-grid .mg-v13-project-card .sppb-nested-row > [class*="sppb-col-"] {
        width: auto !important;
        max-width: none !important;
        min-width: 0 !important;
        padding-inline: 0 !important;
    }

    #sp-page-builder#sp-page-builder #success-stories-grid .mg-v13-project-card .sppb-nested-row > :last-child {
        display: flex;
        grid-column: 1 / -1;
    }

    #sp-page-builder#sp-page-builder #success-stories-grid .mg-v13-project-card .sppb-nested-row > :last-child > .sppb-column,
    #sp-page-builder#sp-page-builder #success-stories-grid .mg-v13-project-card .sppb-nested-row > :last-child > .sppb-column > .sppb-column-addons {
        display: flex;
        flex: 1;
        flex-direction: column;
        min-width: 0;
    }

    #sp-page-builder#sp-page-builder #success-stories-grid .mg-v13-project-card .sppb-nested-row > :last-child .addon-root-button {
        margin-top: auto;
    }

    #sp-page-builder#sp-page-builder #success-stories-grid .mg-v13-project-card :is(h3, p) {
        max-width: none !important;
        hyphens: none !important;
        overflow-wrap: normal !important;
        word-break: normal !important;
    }

    #sp-page-builder#sp-page-builder #success-stories-grid .mg-v13-project-card h3 {
        text-wrap: balance;
    }

    #sp-page-builder#sp-page-builder #success-stories-grid .mg-v13-project-card p {
        text-wrap: pretty;
    }
}

@media (max-width: 699px) {
    #sp-page-builder#sp-page-builder #success-stories-grid > .sppb-row-container > .sppb-row {
        grid-template-columns: minmax(0, 1fr) !important;
    }
}

@media (min-width: 1000px) and (max-width: 1366px) and (orientation: landscape) and (any-pointer: coarse) {
    #sp-page-builder#sp-page-builder #schwerpunkte > .sppb-row-container > .sppb-row > .sppb-col-md-3 {
        flex: 0 0 25% !important;
        width: 25% !important;
        max-width: 25% !important;
    }

    #sp-page-builder#sp-page-builder #schwerpunkte .mg-v13-competency a.mg-v13-text-link.sppb-btn {
        gap: 5px;
        font-size: .8125rem !important;
    }

    #sp-page-builder#sp-page-builder #success-stories-grid > .sppb-row-container > .sppb-row {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: clamp(14px, 2vw, 24px) !important;
    }

    #sp-page-builder#sp-page-builder #success-stories-grid .mg-v13-project-card {
        padding: clamp(16px, 2.05vw, 25px) !important;
    }
}

/* The native project links identify the cards across PageBuilder column wrappers. */
@media (min-width: 700px) and (max-width: 1199px) {
    #sp-page-builder#sp-page-builder #success-stories-grid .mg-v13-project-card:has(a:is([href*="success-story-tcs"], [href*="success-story-daad"], [href*="success-story-aareal"])) {
        margin-block-start: 16px !important;
    }
}

@media (min-width: 1000px) and (max-width: 1366px) and (orientation: landscape) and (any-pointer: coarse) {
    #sp-page-builder#sp-page-builder #success-stories-grid .mg-v13-project-card:has(a[href*="success-story-"]) {
        margin-block-start: var(--mg-tablet-project-step, 0px) !important;
    }

    #success-stories-grid .mg-v13-project-card:has(a:is([href*="success-story-tcs"], [href*="success-story-soennecken"])) {
        --mg-tablet-project-step: 16px;
    }

    #success-stories-grid .mg-v13-project-card:has(a:is([href*="success-story-postbank"], [href*="success-story-aareal"])) {
        --mg-tablet-project-step: 32px;
    }
}

@media (prefers-reduced-motion: reduce) {
    #sp-page-builder#sp-page-builder #schwerpunkte .mg-v13-competency a.mg-v13-text-link.sppb-btn,
    #sp-page-builder#sp-page-builder #schwerpunkte .mg-v13-competency a.mg-v13-text-link.sppb-btn::after {
        transition: none !important;
        transform: none !important;
    }
}
