﻿.how-it-works {
    margin: var(--spacing-md);
    text-align: center; /* center all direct text */
}

    .how-it-works > h1 {
        margin-bottom: var(--spacing-xl);
        text-align: center; /* force center */
    }

.steps {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: var(--spacing-lg);
}

.step-number {
    background-color: var(--color-primary-accent);
    color: white;
    font-weight: bold;
    font-size: 1.5rem;
    width: 3rem;
    height: 3rem;
    line-height: 3rem;
    text-align: center;
    margin: 0 auto var(--spacing-sm);
    border-radius: 50%;
}

.card-header {
    font-family: var(--font-family-heading);
    font-size: 1.5rem;
    margin-bottom: var(--spacing-sm);
    text-align: center;
}

.card-body p {
    font-size: 1.1rem;
    line-height: 1.6;
    text-align: center;
}

@media (min-width: 768px) {

    .how-it-works {
        margin: var(--spacing-xl);
    }
}
