.hero.hero-video-section {
    display: grid;
    grid-template-columns: 1fr;
    place-items: center;
    position: relative;
    isolation: isolate;
    overflow: hidden;
    min-height: 540px;
    height: calc(100svh - 149px);
    max-height: 1000px;
    background: #162319;
    color: #fff;
}

.hero-media, .hero-video-shade { position: absolute; inset: 0; }
.hero-media { z-index: 0; }
.hero-media picture { display: contents; }
.hero-video-poster, .hero-background-video {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
.hero-background-video { opacity: 1; }
.hero-background-video.has-error { visibility: hidden; }
.hero-video-shade {
    z-index: 1;
    pointer-events: none;
    background: linear-gradient(180deg, rgba(9, 19, 12, .18), rgba(9, 19, 12, .42) 45%, rgba(9, 19, 12, .32) 70%, rgba(9, 19, 12, .4));
}
.hero-video-content {
    position: relative;
    z-index: 2;
    width: 100%;
    padding-top: 36px;
    padding-bottom: 100px;
    text-align: center;
}
.hero-video-section h1 {
    max-width: 1000px;
    margin: 0 auto;
    padding-bottom: 0;
    font-size: clamp(31px, 3.35vw, 48px);
    line-height: 1.2;
    letter-spacing: 0;
    color: #fff;
    text-shadow: 0 2px 26px rgba(0, 0, 0, .3);
}
.hero-video-section h1 > span,
.hero-video-section h1 > em { display: block; color: inherit; white-space: normal; }
.hero-scroll, .hero-video-toggle {
    position: absolute;
    z-index: 3;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    color: #fff;
    background: transparent;
    border: 1px solid rgba(255, 255, 255, .55);
    border-radius: 50%;
    transition: background .2s, border-color .2s;
}
.hero-scroll { width: 56px; height: 56px; left: 50%; bottom: 32px; transform: translateX(-50%); }
.hero-scroll svg { transition: transform .2s; }
.hero-scroll:hover, .hero-video-toggle:hover { color: #fff; background: rgba(255, 255, 255, .1); border-color: #fff; }
.hero-scroll:hover svg { transform: translateY(3px); }
.hero-video-toggle { width: 44px; height: 44px; right: 32px; bottom: 38px; border-color: rgba(255, 255, 255, .3); }
.hero-video-toggle[hidden], .video-icon-play { display: none; }
.hero-video-toggle.is-paused .video-icon-pause { display: none; }
.hero-video-toggle.is-paused .video-icon-play { display: block; }
.hero-video-section a:focus-visible, .hero-video-section button:focus-visible { outline-color: #fff; outline-offset: 5px; }
#essenza { scroll-margin-top: 16px; }

@media (max-width: 767.98px) {
    .hero.hero-video-section { min-height: 480px; height: calc(100svh - 129px); max-height: 900px; }
    .hero-video-content { padding: 32px 24px 100px; }
    .hero-video-section h1 { font-size: clamp(23px, 6.3vw, 38px); line-height: 1.25; }
    .hero-video-shade { background: linear-gradient(180deg, rgba(9, 19, 12, .22), rgba(9, 19, 12, .46) 45%, rgba(9, 19, 12, .3) 75%, rgba(9, 19, 12, .38)); }
    .hero-scroll { width: 52px; height: 52px; bottom: 27px; }
    .hero-video-toggle { right: 20px; bottom: 31px; }
}

@media (prefers-reduced-motion: reduce) {
    .hero-scroll svg { transition: none; }
    .hero-scroll:hover svg { transform: none; }
}
