/* Responsivo. */
@media (max-width: 991.98px) {
    .infrastructure-stats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .infrastructure-stats-grid > div:not(:nth-child(4n)) { border-right: 0; }
    .infrastructure-stats-grid > div:nth-child(-n+4) { border-bottom: 0; }
    .infrastructure-stats-grid > div:not(:nth-child(2n)) { border-right: 1px solid rgba(0,28,14,.38); }
    .infrastructure-stats-grid > div:nth-child(-n+6) { border-bottom: 1px solid rgba(0,28,14,.38); }
    /* layouts de coluna única no mobile */
    .services-feature,
    .services-gastronomy-layout,
    .infra-teaser,
    .infrastructure-hero-layout,
    .infrastructure-detail-row,
    .sector-hero-layout,
    .sector-about-layout,
    .preview-gallery-layout,
    .location-layout,
    .space-plan-layout { grid-template-columns: 1fr; }
    .services-feature-reverse .services-feature-image,
    .services-feature-reverse .services-feature-copy,
    .infrastructure-detail-reverse .infrastructure-detail-image,
    .infrastructure-detail-reverse .infrastructure-detail-copy { order: initial; }
    .services-more-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .sector-contact-inner { align-items: flex-start; flex-direction: column; }
    .sector-gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .all-gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .completed-events-grid { grid-template-columns: 1fr; }
    .infrastructure-gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .client-logos-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .infrastructure-gastronomy-grid { grid-template-columns: 1fr; }
    .spaces-grid { grid-template-columns: minmax(0, 1fr); }
    .spaces-grid #salas-corporativas { grid-column: auto; width: auto; }
    .space-card { min-height: 300px; }
    .container { --bs-gutter-x: 2rem; }
    .home-hero .hero-copy h1,
    .home-hero .hero-copy h2 { max-width: 100%; font-size: clamp(2rem, 7vw, 3rem); overflow-wrap: anywhere; }
    .home-hero .hero-copy p { max-width: 100%; }
    .home-hero .hero-slide-inner { padding-top: 6rem; padding-bottom: 7rem; }
    .home-hero .carousel-control-prev,
    .home-hero .carousel-control-next { display: none; }
    .home-hero .carousel-indicators { bottom: 1rem; display: flex; }
    .home-hero-spaces { display: flex; }
    .infrastructure-hero-copy h1,
    .services-page-hero h1,
    .sector-hero-copy h1 { max-width: 100%; font-size: clamp(2rem, 7vw, 3rem); overflow-wrap: anywhere; }
    .infrastructure-hero-copy p,
    .services-page-hero p,
    .sector-hero-copy > p { max-width: 100%; }
    #servicos .services-teaser-tags { grid-template-columns: 1fr; }
    #servicos .services-teaser-tags ul { grid-template-columns: 1fr; }
    .sector-hero { background-image: linear-gradient(rgba(5,8,6,.72), rgba(5,8,6,.72)), var(--sector-hero-image); }
    .sector-hero-copy { max-width: 100%; }
    .location-map { min-height: 300px; }
    .location-map iframe { height: 320px; }
    .infra-preview-mosaic { height: 250px; }
    .infra-highlights { gap: .55rem; }
    .whatsapp-float { right: .75rem; bottom: .75rem; width: 2.875rem; height: 2.875rem; min-height: 2.875rem; }
    .scroll-to-top { right: .75rem; bottom: .75rem; width: 2.625rem; height: 2.625rem; font-size: .9rem; }
    .scroll-to-top.is-visible ~ .whatsapp-float { right: calc(.75rem + 2.625rem + .5rem); }
    .infrastructure-gallery-heading { align-items: flex-start; flex-direction: column; }
    .space-plan-image, .infrastructure-plan-image { border-radius: .7rem; }
    #espacos .spaces-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: .7rem; }
    #espacos .space-card { min-height: 108px; height: 108px; align-items: center; border-radius: .75rem; }
    #espacos .space-card::before { inset: 0 auto 0 0; width: 112px; }
    #espacos .space-card::after { inset: 0 0 0 112px; background: linear-gradient(90deg, rgba(0,0,0,.08), rgba(0,0,0,.55)); }
    #espacos .space-card:hover { transform: none; }
    #espacos .space-card-content { width: 100%; padding: .55rem .75rem .55rem 128px; }
    #espacos .space-card-content h3 { margin: 0 !important; font-size: 1.05rem; }
    #espacos .space-card-content p { display: block; margin-top: .25rem; font-size: .74rem; }
}
@media (min-width: 768px) {
    .home-hero-spaces { display: none; }
}
@media (min-width: 992px) {
    .nav-spaces-item:hover > .site-spaces-dropdown,
    .nav-spaces-item:focus-within > .site-spaces-dropdown,
    .nav-spaces-item > .site-spaces-dropdown.show { display: block !important; }
}
@media (max-width: 991.98px) {
    .site-navbar .navbar-collapse { max-height: calc(100svh - 74px); overflow-y: auto; padding-bottom: .8rem; }
    .site-navbar .navbar-nav { align-items: stretch !important; }
    .site-navbar .navbar-nav .nav-link { margin: 0 !important; padding: .75rem .5rem; font-size: .9rem !important; letter-spacing: .035em !important; }
    .site-nav-spaces-control { display: flex; width: 100%; justify-content: space-between; }
    .site-nav-spaces-control > .site-nav-link { flex: 1 1 auto; }
    .site-nav-dropdown-toggle { padding-inline: 1rem !important; }
    .site-spaces-dropdown { position: static !important; width: 100%; margin: .1rem 0 .65rem; border: 0; background: #fff; box-shadow: none; }
    .site-spaces-dropdown .dropdown-item { padding: .7rem 1rem; color: var(--brand-forest); }
    .site-spaces-dropdown .dropdown-item:hover, .site-spaces-dropdown .dropdown-item:focus { background: #edf1ed; color: #263d2d; }
    .site-navbar .navbar-nav .nav-item.ms-3 { margin-left: 0 !important; }
    .site-nav-cta { display: block; margin-top: .65rem; text-align: center; }
}
/* location mobile — coberto pelo bloco @media (max-width: 991.98px) */

@media (min-width: 992px) {
    .site-nav-spaces-control { grid-template-columns: max-content; }
    .site-nav-dropdown-toggle { display: none; }
}
@media (max-width: 991.98px) {
    .site-nav-dropdown-toggle { display: inline-flex; }
}
@media (max-width: 991.98px) {
    .site-navbar .navbar-brand,
    .site-navbar .navbar-toggler { position: relative; z-index: 2; }

    .site-navbar .navbar-collapse.show {
        position: fixed;
        z-index: 1;
        inset: 0;
        display: flex !important;
        width: 100%;
        height: 100vh;
        height: 100dvh;
        max-height: none;
        align-items: center;
        justify-content: center !important;
        overflow-y: auto;
        padding: 5.5rem 1.25rem 2rem;
        opacity: 1;
        background: var(--brand-forest);
        transition: none !important;
    }

    .site-navbar .navbar-collapse.collapsing {
        position: fixed;
        z-index: 1;
        inset: 0;
        display: flex !important;
        width: 100%;
        height: 100vh !important;
        height: 100dvh !important;
        max-height: none;
        align-items: center;
        justify-content: center !important;
        overflow: hidden;
        padding: 5.5rem 1.25rem 2rem;
        opacity: 1;
        background: var(--brand-forest);
        transition: none !important;
    }

    .site-navbar .navbar-collapse.show .navbar-nav { animation: site-menu-fade-in .18s ease both; }

    @keyframes site-menu-fade-in {
        from { opacity: 0; transform: translateY(.4rem); }
        to { opacity: 1; transform: translateY(0); }
    }

    .site-navbar .navbar-nav {
        width: min(100%, 420px);
        align-items: center !important;
        margin: auto;
        text-align: center;
    }

    .site-navbar .navbar-nav > .nav-item { width: 100%; }
    .site-navbar .navbar-nav .nav-link {
        justify-content: center;
        padding: .8rem .5rem;
        font-size: clamp(1.05rem, 4.5vw, 1.2rem) !important;
        letter-spacing: .055em !important;
        text-align: center;
    }
    .site-nav-spaces-control { display: inline-flex; width: auto; justify-content: center; margin-inline: auto; }
    .site-nav-spaces-control > .site-nav-link { flex: 0 0 auto; }
    .site-nav-dropdown-toggle { display: none !important; }
    .site-navbar .navbar-nav .nav-item.dropdown { display: flex; flex-direction: column; align-items: center; }
    .site-spaces-dropdown { max-width: 100%; text-align: center; }
    .site-nav-cta {
        width: min(100%, 360px);
        margin-inline: auto;
        padding-block: .8rem;
        font-size: 1.05rem;
        text-align: center;
    }
}
@media (min-width: 992px) {
    .site-navbar > .container {
        position: relative;
        width: 100%;
        max-width: 1280px;
        justify-content: space-between;
    }
    .site-navbar .navbar-collapse {
        position: static;
        width: auto;
        flex: 1 1 auto;
        transform: none;
        justify-content: flex-end !important;
    }
    .site-navbar .navbar-nav { flex-wrap: nowrap; }
    .site-navbar .navbar-nav .nav-link {
        margin-right: .2rem !important;
        margin-left: .2rem !important;
    }
    .container,
    .container-sm,
    .container-md,
    .container-lg,
    .container-xl,
    .container-xxl {
        max-width: 1280px;
    }
}
