/* Home US hero — #homeHero.home-us-hero (banner-scrolled.volt) */
/* Tipografia e tokens: fonts.css (:root) */
/*
 * Evita salto visual ao ativar topSite--scrolled:
 * #topSite começa absolute e depois fixed sem reflow do hero.
 */
#homeHero.home-us-hero #topSite {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 30;
}

#homeHero.home-us-hero .banner-home-us {
    min-height: 100vh;
    width: 100%;
    position: relative;
    overflow: hidden;
}

#homeHero.home-us-hero .banner-home-us__media {
    z-index: 0;
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

#homeHero.home-us-hero .banner-home-us__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
}

#homeHero.home-us-hero .topo {
    z-index: 20;
}

#homeHero.home-us-hero .banner-home-us__inner {
    z-index: 10;
    min-height: 65vh;
    padding-top: clamp(4.5rem, 11vh, 9rem);
}

#homeHero.home-us-hero .banner-home-us__title {
    margin-top: clamp(3rem, 8vh, 6rem);
    font-weight: 400;
    font-style: normal;
    font-size: var(--font-size-home-hero-title);
    line-height: 1.05;
    text-shadow: 0 2px 0 #8c9292, 0 4px 14px rgba(0, 0, 0, 0.35);
    letter-spacing: clamp(-3px, -0.08vw, -5px);
}

@media (min-width: 1024px) and (max-width: 1400px) {
    #homeHero.home-us-hero .banner-home-us__title {
        font-size: calc(var(--font-size-home-hero-title) - 1.5rem);
    }
}

#homeHero.home-us-hero .banner-home-us__tagline {
    font-weight: 300;
    font-size: var(--font-size-home-hero-description);
    line-height: 1.45;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
    margin-top: clamp(1.25rem, 2.5vw, 2rem);
    margin-bottom: clamp(1.5rem, 3vw, 3rem);
}

#homeHero.home-us-hero .topo-us .menuTopo .nav-link {
    font-weight: 300;
}

@media (min-width: 768px) and (max-width: 1400px) {
    #homeHero.home-us-hero .banner-home-us__title {
        font-size: 6rem;
    }
}

/* Mobile — valores originais (antes da escala fluida) */
@media only screen and (max-width: 767.98px) {
    #homeHero.home-us-hero .banner-home-us {
        min-height: 60rem;
        overflow: visible;
    }

    #homeHero.home-us-hero .banner-home-us__media {
        position: static;
        inset: auto;
        width: auto;
        height: auto;
        overflow: visible;
    }

    #homeHero.home-us-hero .banner-home-us__img {
        width: auto;
        height: auto;
        max-height: 964px;
        object-fit: cover;
        object-position: center center;
    }

    #homeHero.home-us-hero .banner-home-us__inner {
        min-height: min(65vh, 720px);
    }

    #homeHero.home-us-hero .banner-home-us__title {
        margin-top: 6rem;
        font-size: 7rem;
        line-height: 7rem;
        letter-spacing: -5px;
    }

    #homeHero.home-us-hero .banner-home-us__tagline {
        font-size: 1.3rem;
        line-height: 1.3rem;
        margin-top: 2rem;
        margin-bottom: 3rem;
    }
}

@media only screen and (max-width: 480px) {
    #homeHero.home-us-hero .banner-home-us__title {
        margin-top: 12rem;
        font-size: var(--font-size-home-hero-title-mobile) !important;
        line-height: 1;
    }

    #homeHero.home-us-hero .banner-home-us {
        min-height: 42rem;
    }

    #homeHero.home-us-hero .banner-home-us__inner {
        flex-grow: 0 !important;
        padding-top: 1rem;
    }

    #homeHero.home-us-hero .banner-home-us__tagline {
        font-size: var(--font-size-home-hero-tagline-mobile) !important;
    }
}