.m29_argument_cards {
    background: #d9d9d9;
    color: #353434;
    padding: 110px 0 100px;
}

.m29_header {
    margin: 0 0 60px;
    max-width: 900px;
}

.m29_topline {
    margin: 0 0 0.5em;
    font-family: 'Nexa-Black-Italic', 'Nexa', system-ui, sans-serif;
    font-style: italic;
    font-weight: 900;
    font-size: clamp(16px, 1.4vw, 22px);
    color: #6b6b6b;
    text-transform: uppercase;
}
.m29_topline--bottom { margin: 1em 0 0; }

.m29_title {
    margin: 0 0 1.5rem;
    font-family: 'Nexa-Black-Italic', 'Nexa', system-ui, sans-serif;
    font-style: italic;
    font-weight: 900;
    font-size: clamp(32px, 4vw, 50px);
    line-height: 1.1;
    text-transform: uppercase;
    letter-spacing: -0.02em;
    color: #353434;
}

.m29_title em,
.m29_title .m29_title_accent {
    color: #6b6b6b;
    font-style: italic;
    font-weight: inherit;
}

.m29_intro {
    margin-top: 1.5rem;
    max-width: 817px;
    font-family: 'Nexa-Regular', 'Nexa', system-ui, sans-serif;
    font-size: 22px;
    line-height: 30px;
    font-weight: 400;
    color: #6b6b6b;
}
.m29_intro p { margin: 0 0 0.6em; }
.m29_intro p:last-child { margin-bottom: 0; }

.m29_cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.m29_card {
    background: #e6e6e6;
    border-radius: 20px;
    padding: 67px 46px 62px;
    display: flex;
    flex-direction: column;
    min-height: 379px;
    box-sizing: border-box;
}

.m29_card_head {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    line-height: 1;
}

.m29_card_icon {
    font-size: 70px;
    line-height: 1;
    flex-shrink: 0;
}

.m29_card_number {
    font-family: 'Nexa-Black-Italic', 'Nexa', system-ui, sans-serif;
    font-style: italic;
    font-weight: 900;
    font-size: 96px;
    line-height: 1;
    color: #d9d9d9;
    text-transform: uppercase;
    letter-spacing: -0.02em;
}

.m29_card_body {
    /* Fixed offset from card_head so titles align at the same y across all
       cards, regardless of how many lines the description wraps to. */
    margin-top: 53px;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.m29_card_title {
    margin: 0;
    font-family: 'Nexa-Black-Italic', 'Nexa', system-ui, sans-serif;
    font-style: italic;
    font-weight: 900;
    font-size: 22px;
    line-height: 25px;
    color: #353434;
}

.m29_card_desc {
    margin: 0;
    font-family: 'Nexa-Regular', 'Nexa', system-ui, sans-serif;
    font-weight: 400;
    font-size: 17px;
    line-height: 25px;
    color: #6b6b6b;
}

@media (max-width: 1100px) {
    .m29_cards { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 768px) {
    .m29_argument_cards { padding: 70px 0; }
    .m29_cards { grid-template-columns: 1fr; gap: 20px; }
    .m29_card { padding: 28px 30px; gap: 40px; min-height: 320px; }
    .m29_card_number { font-size: 64px; }
    .m29_card_icon { font-size: 50px; }
}
