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

    .os-split,
    .os-page-hero__inner {
        gap: 36px;
    }
}

@media (max-width: 768px) {
    h1 {
        font-size: 44px;
    }

    h2 {
        font-size: 34px;
    }

    h3 {
        font-size: 22px;
    }

    .os-container {
        width: min(100% - 32px, 1336px);
    }

    .os-section {
        padding: 68px 0;
    }

    .os-split,
    .os-page-hero__inner,
    .os-grid--3,
    .os-grid--4,
    .os-form,
    .os-cta__inner {
        grid-template-columns: 1fr;
    }

    .os-cta__inner {
        display: grid;
    }

    .os-image-placeholder,
    .os-photo-card {
        min-height: 260px;
    }

    .os-page-hero {
        padding-top: 124px;
    }
}

@media (max-width: 390px) {
    h1 {
        font-size: 38px;
    }

    h2 {
        font-size: 30px;
    }

    .os-card,
    .os-form {
        padding: 22px;
    }
}
