html,
body {
    max-width: 100%;
    overflow-x: hidden;
}

img,
svg,
iframe {
    max-width: 100%;
}

@media (max-width: 1023px) {
    .container {
        padding-left: 1rem !important;
        padding-right: 1rem !important;
    }
}

@media (max-width: 767px) {
    body > div.bg-primary.text-white.py-2.text-sm > div {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 0.35rem;
        padding-top: 0.25rem;
        padding-bottom: 0.25rem;
    }

    body > div.bg-primary.text-white.py-2.text-sm > div > div:first-child {
        display: flex;
        flex-wrap: wrap;
        gap: 0.35rem 0.9rem;
        font-size: 0.75rem;
        line-height: 1.2;
    }

    body > div.bg-primary.text-white.py-2.text-sm > div > div:last-child {
        align-self: flex-end;
    }

    nav .container h1 {
        font-size: 1rem;
    }

    nav .container p {
        font-size: 0.68rem;
        line-height: 1.1;
    }

    header h1 {
        font-size: clamp(2rem, 8vw, 2.75rem) !important;
        line-height: 1.15 !important;
    }

    header h2 {
        font-size: clamp(1.7rem, 7vw, 2.3rem) !important;
        line-height: 1.2 !important;
    }

    .waves {
        height: 56px !important;
        min-height: 56px !important;
        max-height: 64px !important;
    }

    .section-padding {
        padding-top: 3.5rem !important;
        padding-bottom: 3.5rem !important;
        padding-left: 1rem !important;
        padding-right: 1rem !important;
    }

    .card-soft {
        padding: 1.25rem !important;
    }

    .h-\[80vh\] {
        height: 70vh !important;
    }

    .h-\[600px\] {
        height: auto !important;
        min-height: 440px;
    }

    .auto-rows-\[300px\] {
        grid-auto-rows: 220px !important;
    }

    .min-h-\[500px\] {
        min-height: 360px !important;
    }

    .rounded-\[2\.5rem\] {
        border-radius: 1.5rem !important;
    }

    footer form {
        flex-wrap: wrap;
    }

    footer form input,
    footer form button {
        width: 100%;
    }

    a[href^="mailto:"],
    a[href^="tel:"] {
        overflow-wrap: anywhere;
        word-break: break-word;
    }
}
