@media (max-width: 1180px) {
    .wf-grid-4 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 1024px) {
    .wf-heading-xl {
        font-size: clamp(40px, 8vw, 68px);
    }

    .wf-fallback-header__nav {
        display: none;
    }

    .wf-fallback-footer__grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 767px) {
    :root {
        --wf-section: 72px;
    }

    .wf-container,
    .wf-container-wide,
    .elementor-section.elementor-section-boxed > .elementor-container,
    .e-con.wf-container,
    .elementor .wf-container {
        width: min(100% - 28px, var(--wf-container));
    }

    .wf-section {
        padding-block: 72px;
    }

    .wf-heading-xl {
        font-size: 42px;
        line-height: 1;
    }

    .wf-heading-lg {
        font-size: 34px;
    }

    .wf-heading-md {
        font-size: 28px;
    }

    .wf-card {
        border-radius: 18px;
    }

    .wf-btn {
        min-height: 44px;
        padding-inline: 18px;
    }

    .wf-grid-2,
    .wf-grid-3,
    .wf-grid-4 {
        grid-template-columns: 1fr;
    }

    .wf-fallback-header {
        height: 64px;
    }

    .wf-fallback-header__inner {
        width: min(100% - 28px, 1240px);
    }

    .wf-fallback-footer__grid {
        grid-template-columns: 1fr;
    }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
    }
}
