.hero-video-wrap{position:relative;width:100%;overflow:hidden}
.hero-video-wrap video{width:100%;height:auto;display:block}
.hero-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none}
/* simple semi-transparent dark navbar over the hero */
.hero-nav{position:absolute;top:0;left:0;right:0;height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 1rem;background:rgba(3,37,65,0.7);z-index:20;pointer-events:auto}
.hero-nav .nav-left,.hero-nav .nav-right{display:flex;align-items:center}
.nav-logo{height:50px;display:block}
.nav-right{gap:.6rem}
.nav-right a{color:#fff;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
.nav-icon{width:36px;height:36px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:rgba(255,255,255,0.06);color:#fff}
@media (max-width:600px){.hero-nav{height:56px;padding:0 .6rem}.nav-logo{height:32px}.nav-icon{width:30px;height:30px}}
.hero-content{width:min(900px,80%);display:flex;flex-direction:column;align-items:center;gap:.6rem;text-align:center}
.hero-sub{white-space:normal;word-break:break-word}

/* base font size for hero elements; used to keep titles/sub/cta proportional */
.hero-video-wrap{--hero-base:clamp(28px,6vw,96px)}

#main-title{pointer-events:auto;text-align:center;color:#fff;font-weight:100;line-height:1;font-size:var(--hero-base)}
/* second line spacing */
#main-title br{display:block;line-height:1}

/* sub and cta scale relative to --hero-base but keep reasonable min/max with clamp */
.hero-sub{color:#fff;max-width:900px;text-align:center;margin-top:0.8rem;font-size:clamp(12px,calc(var(--hero-base) * 0.22),20px)}
.hero-cta a{color:#fff;text-decoration:none;font-weight:500;font-size:clamp(12px,calc(var(--hero-base) * 0.16),16px)}

/* Mobile portrait: ensure video shows center and a minimum hero height */
@media (max-width: 900px) and (orientation: portrait){
    .hero-video-wrap{min-height:940px;height:940px;--hero-base:clamp(32px,7vw,80px)}
    .hero-video-wrap video{width:100%;height:100%;object-fit:cover;object-position:center center;display:block}
    .hero-overlay{align-items:center;padding:0 1rem}
    .hero-sub{max-width:85%}
}

.brand-logo {
    height: 200px;
}