.hero__video.video-frame {
    position: relative;
    display: block;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    min-height: 0;
    overflow: hidden;
}

.hero__video.video-frame.hero__video--16-9 {
    aspect-ratio: 16 / 9;
}

.hero__video.video-frame.hero__video--9-16 {
    aspect-ratio: 9 / 16;
}

.hero__video .hero__video-player {
    position: absolute;
    inset: 0;
    z-index: 1;
    display: block;
    width: 100%;
    height: 100%;
    min-width: 0;
    min-height: 0;
    border: 0;
    background: #071225;
}

.hero__video video.hero__video-player { object-fit: contain; }
.hero__video iframe.hero__video-player { object-fit: contain; }

.hero--without-video { grid-template-columns: minmax(0, 1fr); }
.hero--without-video .hero__copy { max-width: 680px; }

@media (max-width: 700px) {
    .hero__video.video-frame { min-height: 0; }
    .hero--without-video .hero__copy { max-width: none; }
}

/* Hero cinematográfico em tela cheia: conteúdo em HTML sobre o background do Professor. */
.hero--cinematic {
    position: relative;
    isolation: isolate;
    display: block;
    min-height: 100svh;
    margin: 0;
    padding: clamp(36px, 4.2vw, 78px) clamp(32px, 7.2vw, 138px) 58px;
    overflow: hidden;
    background: #050b15;
}

.hero--cinematic::before {
    content: '';
    position: absolute;
    z-index: -1;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(2, 6, 11, .76) 0%, rgba(2, 6, 11, .62) 26%, rgba(2, 6, 11, .25) 48%, rgba(2, 6, 11, .03) 72%),
        linear-gradient(0deg, rgba(2, 6, 11, .34) 0%, transparent 31%, rgba(2, 6, 11, .05) 100%);
}

.hero--cinematic .hero__backdrop {
    position: absolute;
    z-index: -2;
    inset: 0;
    background: #050b15 url('../images/hipolito.png') no-repeat center center / cover;
}

.hero--cinematic .hero__brand {
    position: relative;
    z-index: 1;
    display: inline-flex;
    flex-direction: column;
    gap: 10px;
    color: #fff;
}

.hero--cinematic .hero__brand strong {
    font: clamp(1.7rem, 2.25vw, 2.55rem)/1.02 Georgia, 'Times New Roman', serif;
    font-weight: 400;
}

.hero--cinematic .hero__brand .hero__signature-accent { color: var(--gold); }
.hero--cinematic .hero__brand .hero__tagline {
    display: flex;
    align-items: center;
    gap: 13px;
    color: rgba(255, 255, 255, .88);
    font-size: clamp(.66rem, .82vw, .85rem);
    letter-spacing: .19em;
}
.hero--cinematic .hero__brand .hero__tagline::before { content: ''; width: 44px; border-top: 3px solid var(--gold); }

.hero--cinematic .hero__copy {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    width: min(52%, 790px);
    padding-top: clamp(56px, 7.8vh, 86px);
}

.hero--cinematic .hero__title {
    max-width: 760px;
    margin: 0;
    color: #fff;
    font-size: clamp(3.15rem, 5.2vw, 5.9rem);
    font-weight: 800;
    letter-spacing: -.06em;
    line-height: .88;
    text-transform: none;
}

.hero--cinematic .hero__title .text-accent { display: block; color: var(--gold); }

.hero--cinematic .hero__description {
    max-width: 640px;
    margin: clamp(31px, 3.45vw, 43px) 0 0;
    color: rgba(255, 255, 255, .94);
    font-size: clamp(1.12rem, 1.55vw, 1.52rem);
    line-height: 1.42;
}

.hero--cinematic .hero__cta { margin-top: clamp(24px, 3vw, 34px); }
.hero--cinematic .hero__cta .cta-button {
    min-width: min(100%, 536px);
    min-height: 74px;
    padding-inline: 34px;
    justify-content: space-between;
    border-radius: 7px;
    font-size: clamp(.79rem, .95vw, 1rem);
    letter-spacing: .01em;
}
.hero--cinematic .hero__cta .cta-button.cta-size--medium { min-height: 78px; }
.hero--cinematic .hero__cta .cta-button.cta-size--large { min-height: 84px; }
.hero--cinematic .hero__cta .cta-button::after { content: '→'; margin-left: 24px; font-size: 1.7em; line-height: 1; }

.hero--cinematic .hero__benefits {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: min(100%, 590px);
    margin-top: clamp(38px, 5.1vh, 64px);
}
.hero--cinematic .hero__benefit { min-width: 0; padding: 0 28px; color: #fff; }
.hero--cinematic .hero__benefit:first-child { padding-left: 0; }
.hero--cinematic .hero__benefit + .hero__benefit { border-left: 1px solid rgba(242, 182, 46, .72); }
.hero--cinematic .hero__benefit strong { display: block; font-size: clamp(.9rem, 1.15vw, 1.15rem); line-height: 1.16; }

.hero--cinematic .hero__quote {
    position: absolute;
    z-index: 1;
    right: max(0px, calc((100vw - 1672px) / 2));
    top: 40%;
    width: 250px;
    margin: 0;
    padding: 31px 30px 27px;
    border: 1px solid rgba(242, 182, 46, .86);
    border-radius: 14px 0 0 14px;
    background: rgba(3, 7, 12, .18);
    box-shadow: 0 12px 30px rgba(0, 0, 0, .18);
}
.hero--cinematic .hero__quote p { margin: 0; color: #fff; font: italic clamp(1.28rem, 1.55vw, 1.75rem)/1.34 Georgia, 'Times New Roman', serif; }
.hero--cinematic .hero__quote small { display: block; margin-top: 25px; padding-top: 16px; border-top: 2px solid var(--gold); color: #fff; font-size: .72rem; letter-spacing: .04em; }

.hero--cinematic .hero__scroll-cue {
    position: absolute;
    z-index: 1;
    bottom: 28px;
    left: 50%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    transform: translateX(-50%);
    color: #fff;
}
.hero--cinematic .hero__scroll-cue span { display: grid; place-items: center; width: 48px; height: 48px; border: 1px solid var(--gold); border-radius: 50%; color: var(--gold); font-size: 1.65rem; line-height: 1; }
.hero--cinematic .hero__scroll-cue small { padding-bottom: 11px; border-bottom: 2px solid var(--gold); color: rgba(255, 255, 255, .95); font-size: .72rem; letter-spacing: .2em; white-space: nowrap; }

@media (max-width: 1180px) {
    .hero--cinematic .hero__copy { width: min(59%, 650px); padding-top: 100px; }
    .hero--cinematic .hero__quote { display: none; }
}

@media (max-width: 800px) {
    .hero--cinematic { min-height: min(860px, 100svh); padding-inline: 42px; }
    .hero--cinematic .hero__copy { width: min(72%, 570px); padding-top: 84px; }
    .hero--cinematic .hero__benefit { padding-inline: 18px; }
}

@media (max-width: 700px) {
    .hero--cinematic { min-height: 0; padding: 31px 23px 38px; }
    .hero--cinematic::before { background: linear-gradient(90deg, rgba(2, 6, 11, .82), rgba(2, 6, 11, .34)), linear-gradient(0deg, rgba(2, 6, 11, .52), rgba(2, 6, 11, .05)); }
    .hero--cinematic .hero__backdrop { background-position: 64% center; }
    .hero--cinematic .hero__brand strong { font-size: 1.65rem; }
    .hero--cinematic .hero__brand .hero__tagline { font-size: .59rem; letter-spacing: .13em; }
    .hero--cinematic .hero__brand .hero__tagline::before { width: 31px; }
    .hero--cinematic .hero__copy { width: 100%; padding-top: clamp(80px, 15vw, 120px); }
    .hero--cinematic .hero__title { max-width: 420px; font-size: clamp(3rem, 13.5vw, 4.4rem); }
    .hero--cinematic .hero__description { max-width: 350px; margin-top: 22px; font-size: 1rem; }
    .hero--cinematic .hero__cta { margin-top: 25px; }
    .hero--cinematic .hero__cta .cta-button { width: 100%; min-height: 60px; font-size: .75rem; }
    .hero--cinematic .hero__benefits { grid-template-columns: 1fr; gap: 14px; width: 100%; margin-top: 38px; }
    .hero--cinematic .hero__benefit { display: block; padding: 0; }
    .hero--cinematic .hero__benefit + .hero__benefit { padding-top: 14px; border-top: 1px solid rgba(242, 182, 46, .42); border-left: 0; }
    .hero--cinematic .hero__scroll-cue { display: none; }
}
.hero--cinematic .hero__title{overflow-wrap:normal;word-break:normal;hyphens:manual}.hero--cinematic .hero__title.editorial-size--small{font-size:var(--editorial-text-sm)}.hero--cinematic .hero__title.editorial-size--medium{font-size:var(--editorial-text-md)}.hero--cinematic .hero__title.editorial-size--large{font-size:var(--editorial-text-lg)}.hero--cinematic .hero__title.editorial-size--display{font-size:var(--editorial-text-display)}@media(max-width:700px){.hero--cinematic .hero__title{font-size:clamp(2.45rem,10.5vw,3.6rem)}}
