.sh-home-slider {
    height: 100vh;
    min-height: 480px;
    overflow: hidden;
    background: #11191d;
}

.sh-home-slider .slider-parallax-inner {
    height: 100%;
}

.sh-slider-intro {
    position: absolute;
    inset: 0;
    z-index: auto;
    color: #fff;
    background: #11191d;
    pointer-events: none;
}

.sh-slider-intro[hidden] { display: none; }
.sh-home-slider .rev_slider_wrapper { z-index: 2; }

.sh-slider-poster,
.sh-slider-video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.sh-slider-poster { z-index: 1; opacity: 0; transition: opacity .3s ease; }
.sh-slider-intro.is-opening .sh-slider-poster { opacity: 1; }

.sh-slider-copy {
    position: absolute;
    z-index: 3;
    bottom: 0;
    width: 100%;
    padding: 100px 24px 55px;
    text-align: center;
    background: linear-gradient(transparent, rgba(0, 0, 0, .65));
    text-shadow: 0 2px 8px rgba(0, 0, 0, .65);
}

.sh-slider-title {
    max-width: 850px;
    margin: 0 auto 18px;
    color: inherit;
    font-family: 'Raleway', sans-serif;
    font-size: 50px;
    font-weight: 700;
    line-height: 1.2;
}

.sh-slider-description {
    max-width: 750px;
    margin: 0 auto;
    font-family: 'Lato', sans-serif;
    font-size: 20px;
    line-height: 1.5;
}

.sh-slider-play {
    margin-top: 18px;
    padding: 8px 16px;
    border: 1px solid rgba(255, 255, 255, .6);
    border-radius: 3px;
    color: #fff;
    background: rgba(0, 0, 0, .4);
    font: inherit;
    cursor: pointer;
    pointer-events: auto;
}

.sh-slider-play[hidden] { display: none; }

/* T-026: hero buttons in the first-slide welcome copy. The intro layer is pointer-events: none; the links opt back in. */
.sh-slider-cta { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 26px; }
.sh-slider-btn {
    display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 12px 26px;
    border: 1px solid rgba(255, 255, 255, .75); border-radius: 999px; color: #fff; background: rgba(0, 0, 0, .25);
    font: 700 13px/1.2 'Raleway', sans-serif; letter-spacing: .12em; text-transform: uppercase; text-decoration: none; text-shadow: none;
    pointer-events: auto; transition: background-color .15s ease, border-color .15s ease;
}
.sh-slider-btn:hover, .sh-slider-btn:focus { color: #fff; background: rgba(255, 255, 255, .16); text-decoration: none; }
.sh-slider-btn--primary { border-color: #b52129; background: #b52129; }
.sh-slider-btn--primary:hover, .sh-slider-btn--primary:focus { border-color: #d23a41; background: #d23a41; }
.sh-slider-btn:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
.sh-slider-play:focus-visible { outline: 2px solid #fff; outline-offset: 4px; }

@media (max-width: 991px) {
    .sh-home-slider { height: calc(100vh - 100px); height: calc(100svh - 100px); }
    .sh-slider-title { font-size: 36px; }
}

@media (max-width: 575px) {
    /* T-026: fills the portrait hero like on desktop (T-011 "keeps its own ratio" revised: no empty dark bands). */
    .sh-slider-video { object-fit: cover; }
    .sh-slider-copy { padding: 70px 28px 40px; }
    .sh-slider-title { font-size: 28px; }
    .sh-slider-description { font-size: 16px; }
    .sh-slider-cta { gap: 10px; margin-top: 20px; }
    .sh-slider-btn { flex: 1 1 0; min-width: 0; padding: 12px 12px; letter-spacing: .06em; }
}

@media (prefers-reduced-motion: reduce) {
    .sh-slider-poster { transition: none; }
}
