/* Homepage hero video (ots_modern_hardware theme).
   The video sits above the photo slides and below the text; the slides stay
   underneath as the poster and as the phone/data-saver fallback. */
.theme-ots_modern_hardware .modern-hero-video {
    position: absolute;
    inset: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    opacity: 0;
    transition: opacity .9s ease;
    pointer-events: none;
}
.theme-ots_modern_hardware .modern-hero-video.is-playing { opacity: 1; }

/* The original overlay is a near-solid navy on the left. With real footage
   behind it, a lighter wash keeps the text readable without hiding the picture. */
.theme-ots_modern_hardware .hero-banner.has-hero-video::before {
    background: linear-gradient(90deg,
        rgba(1, 27, 61, 0.80) 0%, rgba(2, 42, 91, 0.66) 24%,
        rgba(3, 52, 105, 0.36) 42%, rgba(3, 52, 105, 0.10) 60%, rgba(3, 52, 105, 0) 74%);
}
.theme-ots_modern_hardware .hero-banner.has-hero-video .hero-text h1,
.theme-ots_modern_hardware .hero-banner.has-hero-video .hero-text p,
.theme-ots_modern_hardware .hero-banner.has-hero-video .eyebrow { text-shadow: 0 2px 16px rgba(0, 20, 50, .55), 0 1px 3px rgba(0, 20, 50, .45); }

.hero-video-toggle {
    position: absolute; right: 16px; top: 16px; z-index: 3; width: 38px; height: 38px; border-radius: 50%;
    border: 1px solid rgba(255,255,255,.55); background: rgba(0, 27, 61, .5); color: #fff; cursor: pointer;
    display: none; align-items: center; justify-content: center; font-size: 13px; backdrop-filter: blur(6px);
}
.hero-banner.has-hero-video .hero-video-toggle { display: inline-flex; }

@media (max-width: 900px) {
    .theme-ots_modern_hardware .modern-hero-video, .hero-video-toggle { display: none !important; }
    .theme-ots_modern_hardware .hero-banner.has-hero-video::before {
        background: linear-gradient(180deg, rgba(0, 43, 92, 0.94) 0%, rgba(0, 43, 92, 0.82) 52%, rgba(0, 43, 92, 0.48) 100%);
    }
}
@media (prefers-reduced-motion: reduce) { .theme-ots_modern_hardware .modern-hero-video, .hero-video-toggle { display: none !important; } }

/* ---- Landing-page hero (mlp-hero): same video, same lighter treatment ---- */
.mlp-hero__video {
    position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;
    opacity: 0; transition: opacity .9s ease; pointer-events: none;
}
.mlp-hero__video.is-playing { opacity: 1; }
/* The saved overlay strength (72% by default) is what made the photo look dark.
   With video playing, halve it: the navy still anchors the text, the picture shows through. */
.mlp-hero.has-hero-video::after { opacity: calc(var(--mlp-hero-opacity, .72) * .5); }
.mlp-hero.has-hero-video h1,
.mlp-hero.has-hero-video .mlp-hero__lead,
.mlp-hero.has-hero-video .mlp-hero__desc,
.mlp-hero.has-hero-video .mlp-eyebrow { text-shadow: 0 2px 16px rgba(0, 20, 50, .6), 0 1px 3px rgba(0, 20, 50, .5); }
@media (max-width: 900px) { .mlp-hero__video { display: none !important; } .mlp-hero.has-hero-video::after { opacity: var(--mlp-hero-opacity, .72); } }
@media (prefers-reduced-motion: reduce) { .mlp-hero__video { display: none !important; } .mlp-hero.has-hero-video::after { opacity: var(--mlp-hero-opacity, .72); } }
.mlp-hero.has-hero-video .hero-video-toggle { display: inline-flex; }
