img,
video,
iframe {
    max-width: 100%;
}

html,
body {
    overflow-x: hidden;
}
.contact-info span,
.footer-contact p span,
.footer-contact,
.contact-info {
    overflow-wrap: anywhere;
    word-break: break-word;
    min-width: 0;
}
footer {
    position: relative;
    bottom: auto;
    z-index: 2;
}
@media (max-width: 900px) {
    .navbar {
        gap: 0.75rem;
    }
    .nav-logo {
        min-width: 0;
        font-size: 0.85rem;
        gap: 0.5rem;
    }
    .nav-logo img {
        width: 40px;
        height: 40px;
        flex-shrink: 0;
    }
    .nav-toggle {
        flex: 0 0 auto;
        margin-left: auto;
    }
}

@media (max-width: 720px) {
    .nav-name {
        white-space: nowrap;
    }
    .nav-name .w,
    .nav-name .y:last-child {
        display: none;
    }
}

@media (max-width: 560px) {
    .navbar {
        padding: 0 1rem;
    }
    .nav-logo {
        font-size: 0.8rem;
        letter-spacing: 0.03em;
    }
    .nav-logo img {
        width: 36px;
        height: 36px;
    }
}

@media (max-width: 380px) {
    .nav-logo {
        font-size: 0.72rem;
    }
    .nav-logo img {
        width: 32px;
        height: 32px;
    }
}
@media (max-width: 900px) {
    .nav-links {
        background: #0b1120;
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transform: translateY(-12px);
        transition: opacity 0.25s ease, transform 0.28s ease, visibility 0.28s ease;
    }
    .nav-links.is-open {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: translateY(0);
    }
    .navbar.is-scrolled {
        background: #0b1120;
    }
    .navbar:has(.nav-links.is-open) {
        background: #0b1120;
    }
}
.contact-map {
    width: 100%;
    max-width: 500px;
}
.contact-map iframe {
    width: 100%;
    height: 300px;
    border: 0;
    border-radius: 12px;
    display: block;
}

@media (max-width: 820px) {
    .about-us-text-img {
        flex-direction: column;
        align-items: stretch;
        gap: 1.5rem;
    }
    .about-us-text {
        max-width: 100%;
    }
    .about-us-img {
        max-width: 100%;
    }
    .about-us-img video {
        max-width: 100%;
        margin: 0 auto;
    }
}

@media (max-width: 700px) {
    .contact-info-container {
        flex-direction: column;
        gap: 28px;
        padding: 32px 18px 48px;
    }
    .contact-titulo {
        font-size: 34px;
        padding-top: 28px;
    }
    .contact-info span {
        font-size: 17px;
    }
    .contact-social-btns {
        gap: 12px;
    }
}

@media (max-width: 1080px) {
    .footer-main {
        flex-wrap: wrap;
        gap: 40px;
    }
}

@media (max-width: 900px) {
    .footer-main {
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 32px;
    }

    .footer-links,
    .footer-contact,
    .footer-social {
        margin-left: 0;
        align-items: center;
    }

    .footer-logo {
        height: 150px;
    }

    .footer-contact {
        max-width: min(360px, 90vw);
    }

    .footer-contact p {
        justify-content: center;
        text-align: left;
    }
}
@media (max-width: 560px) {
    .container h2 {
        font-size: clamp(1.7rem, 8vw, 2.2rem);
    }
    .container p {
        font-size: 16px;
        --skew: -8deg;
    }
    .contacto-rapido {
        padding: 52px 18px 68px;
    }
}
@media (max-width: 380px) {
    .sky-card {
        padding: 26px 20px 24px;
    }
    .contacto-rapido {
        padding: 48px 18px 64px;
    }
}
