.person-name {
    margin-top: 12px;
    font-size: 1rem;
    font-weight: 600;
}

.person-container {

    display: flex;
    flex-direction: column;
    align-items: center;
    flex-shrink: 0
}

.partner {
    display: flex;
    gap: 48px;
    align-items: center
}

.partner-img {
    width: 224px;
    height: auto;
    border-radius: 28px;
    object-fit: cover
}

.contact {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 24px;
    flex-wrap: wrap;
}


/* Responsive adjustments for phone-size screens only */
@media (max-width: 640px) {

    /* Stack tile content in the required order without changing HTML */
    .tile.partner {
        display: grid;
        grid-auto-flow: row;
        row-gap: 10px;
        align-items: start;
        padding-top: 30px;
        padding-bottom: 30px;
        padding-left: 0px;
        padding-right: 0px;
    }

    /* Make children of the second column participate directly in the grid */
    .tile.partner>div:last-child {
        display: contents;
    }

    /* 1) Title first */
    .tile.partner>h3.h3 {
        grid-row: 1;
    }

    /* 2) Person block next (image, then name, then role already in that order) */
    .tile.partner>.person-container {
        grid-row: 2;
        align-items: center;
    }

    /* 3) Full text paragraphs follow naturally after person block */
    /* Ensure readable spacing on mobile even if inline margins are present */
    .tile.partner>p.muted+p.muted {
        margin-top: 16px !important;
    }

    /* 4) Kontakt information last */
    .tile.partner>div[style*="display:flex"][style*="gap:12px"] {
        grid-row: 999;
        margin-top: 24px !important;
    }

    /* Image sizing safety on narrow screens */
    .partner-img {
        max-width: 100%;
        height: auto;
    }

    .h3 {
        margin-top: 10px;
        margin-bottom: 30px;
    }

    .person-container {
        display: initial;
    }

    .section {
        padding: 15px;
    }

}