/*--- MAIN ---*/
@media (max-width: 720px) {
    header > section > div { background-position-x: 300px; }

    .top-logo { width: 270px; }

    .top-text { padding: 60px 10px 100px 10px; }
    
    .top-text > h1 { padding: 20px 20px 10px 20px; }

    .top-text > h2 { padding: 0 20px; font-size: 1.5rem; }

    .top-text > h3 { padding: 20px 20px 0 20px; font-size: 1.1rem; }

    .top-action { padding: 50px 20px 0 20px; max-width: 470px; }

    .top-action button { width: 100%; padding: 25px 20px; }
}

@media (max-width: 650px) {
    .top-logo { width: 220px; }

    .top-text > h1 {
        font-size: 2.1rem;
        line-height: 2.1rem;
        padding: 20px 5px 10px 5px;
    }

    .top-text > h2 { padding: 0 5px; font-size: 1.3rem; }

    .top-text > h3 { padding: 25px 5px 0 5px; font-size: 1.05rem; }

    .top-action {
        margin: 0 auto;
        padding: 50px 0 0 0;
        max-width: 450px;
    }

    .top-action button { font-size: 1.2rem; padding: 22px 10px; }
}

@media (max-width: 575px) {
    .top-logo { width: 190px; }
}

@media (max-width: 850px) {
    .offer-1-content { display: block; padding-top: 60px; }

    .offer-1-content-title, .offer-1-content-list { width: 100%; }

    .offer-1-content-title { padding: 0 0 0 15px; max-width: none; }

    .offer-1-content-list { padding-top: 10px; }
}

@media (max-width: 720px) {
    #offer-1 > div {
        padding: 90px 20px;
        margin: 0 auto;
        max-width: 1500px;
    }

    .offer-1-title h1 { font-size: 2.5rem; line-height: 2.6rem; }
}

@media (max-width: 650px) {
    .offer-1-title > h1 { font-size: 2.1rem; line-height: 2.2rem; }
    
    .offer-1-subtitle h3 { font-size: 1.15rem; }

    .offer-1-content-title h1 { font-size: 1.42rem; line-height: 1.7rem; }

    .offer-1-content-list h2 { font-size: 1.15rem; line-height: 1.5rem; }
}

@media (max-width: 1040px) {
    #offer-2 > div { background-position-y: 220px; background-position-x: 105%; }

    .offer-2-list ul {
        display: grid;
        grid-template-rows: 1fr 1fr 1fr;
        row-gap: 20px;
    }

    .offer-2-list li { max-width: 650px; margin: 0 auto; }

    .offer-2-list button { padding: 20px }
}

@media (max-width: 850px) {
    #offer-2 > div { background-position-x: 660px; }

    .offer-2-text { width: 100%; padding-left: 0; }
}

@media (max-width: 720px) {
    #offer-2 > div { background-image: none; padding: 100px 20px 90px 20px; }

    .offer-2-title h1 { font-size: 2.5rem; line-height: 2.6rem; }

    .offer-2-text h3, .offer-2-list button { font-size: 1.2rem; }
}

@media (max-width: 650px) {
    .offer-2-title h1 { font-size: 2.1rem; line-height: 2.2rem; }
}

@media (max-width: 1040px) {
    .quemsomos-content { display: block; }

    .quemsomos-content-images { padding-right: 0; justify-content: center; }

    .quemsomos-content-text { padding-top: 40px; }
}

@media (max-width: 720px) {
    #quemsomos > div { padding: 70px 20px; }

    .quemsomos-content-images1 img { max-width: 290px; }

    .quemsomos-content-images2 img { max-width: 270px; }

    .quemsomos-content-text h3, .quemsomos-content-action button { font-size: 1.2rem; }

    .quemsomos-title h1 { font-size: 2.5rem; line-height: 2.6rem; }

    .quemsomos-content-list h2 { font-size: 1.3rem; line-height: 1.3rem; }
}

@media (max-width: 650px) {
    .quemsomos-content-images2 { display: none; }

    .quemsomos-content-images1-image1 { display: none; }

    .quemsomos-content-text { padding-top: 20px; }

    .quemsomos-content-images1 img {
        width: 100%;
        height: auto;
        max-width: none;
    }

    .quemsomos-content-images { display: block; }

    .quemsomos-content-images1 {
        height: auto;
        padding-right: 0;
        display: block;
        flex-direction: initial;
        row-gap: initial;
    }

    .quemsomos-title h1 { font-size: 2.1rem; line-height: 1.9rem; }

    .quemsomos-content-action button { font-size: 1.2rem; }
}

@media (max-width: 1220px) {
    .offer-3-cards { flex-wrap: wrap; gap: 40px 20px; }

    .offer-3-cards > div { width: 48%; }
}

@media (max-width: 720px) {
    #offer-3 > div { padding: 90px 20px; }

    .offer-3-action-btn { padding-top: 30px; }

    .offer-3-title h1 { font-size: 2.5rem; line-height: 2.6rem; }

    .offer-3-action h1 { font-size: 3.9rem; }

    .offer-3-action h3 { font-size: 2rem; padding-top: 0; }
}

@media (max-width: 650px) {
    .offer-3-title h1 { font-size: 2.1rem; line-height: 1.9rem; }

    .offer-3-action h1 { font-size: 3rem; line-height: 3rem; }

    .offer-3-action h3 { font-size: 1.5rem; line-height: 1.8rem; padding-top: 10px; }

    .offer-3-action-btn { padding-top: 30px; max-width: 400px; display: block; margin: 0 auto; }

    .offer-3-action-btn button { font-size: 1.2rem; padding: 25px 10px; width: 100%; }
}

@media (max-width: 575px) {
    .offer-3-cards > div { width: 100%; }

    .offer-3-text { font-size: 1.1rem; line-height: 1.3rem; }
}

@media (max-width: 720px) {
    #faq > div { padding: 70px 20px; }

    .faq-title h1 { font-size: 2.5rem; line-height: 2.6rem; }
}

@media (max-width: 650px) {
    .faq-title h1 { font-size: 2.1rem; line-height: 1.9rem; }

    .faq-question {
        font-size: 1rem;
        line-height: 1.2rem;
        padding: 15px;
    }
}

@media (max-width: 720px) {
    footer > section > div { padding: 90px 20px; }

    .footer-action h1 {
        font-size: 2.5rem;
        line-height: 2.8rem;
        max-width: 400px;
    }

    .footer-action-btn button { font-size: 1.2rem; }
}

@media (max-width: 650px) {
    .footer-action h1 { font-size: 2.1rem; line-height: 2.4rem; }

    .footer-action-btn { padding-top: 30px; }

    .footer-contact h3, .footer-contact p { font-size: 1.1rem; }

    .footer-contact-icons > div { width: 30px; height: 30px; }

    .footer-contact { padding-top: 30px; }
}

/*--- LEAD FORM ---*/
@media (max-width: 650px) {
    .leadFormTitle h3 {
        font-size: 1.75rem;
        line-height: 1.9rem;
    }

    #leadFormFeedback h3 { font-size: 0.9rem; line-height: 1.2; }

    #leadFormClose { font-size: 1.2rem; }
}
