/* CR59.8 public visual unification
   Keeps the existing Spaceron structure and functionality while making the
   customer-facing visual language consistent across routes and devices. */

:root{
  --spaceron-display-font:"Roboto Condensed","Avenir Next Condensed","Arial Narrow","Bahnschrift Condensed","DejaVu Sans Condensed","Helvetica Neue",Arial,sans-serif;
  --spaceron-body-font:Roboto,"Avenir Next","Helvetica Neue","Segoe UI",Arial,sans-serif;
}

/* Consistent public typography */
body:not(.account-page):not(.admin-body):not(.auth-body){
  font-family:var(--spaceron-body-font)!important;
}
body:not(.account-page):not(.admin-body):not(.auth-body) :is(h1,h2,h3,h4,h5,h6,.eyebrow,.page-kicker,.button,.site-header .primary-nav>a,.site-header .header-cta){
  font-family:var(--spaceron-display-font)!important;
}
body:not(.account-page):not(.admin-body):not(.auth-body) :is(h1,h2,.button,.site-header .primary-nav>a){
  font-stretch:condensed;
}

/* One clear vector brand treatment everywhere the shared public shell appears. */
.site-header[data-global-header="v190"] .brand img,
.site-footer[data-global-footer="v191"] .footer-brand-link img{
  image-rendering:auto;
  object-fit:contain!important;
  mix-blend-mode:normal!important;
}

/* Shared desktop header geometry. Page-specific legacy header rules cannot alter it. */
@media (min-width:1101px){
  .site-header[data-global-header="v190"]{
    position:relative!important;
    inset:auto!important;
    height:92px!important;
    min-height:92px!important;
    background:#020812!important;
    border-top:1px solid rgba(107,153,205,.28)!important;
    border-bottom:1px solid rgba(107,153,205,.26)!important;
    backdrop-filter:none!important;
    box-shadow:none!important;
  }
  body.home-video-hero .site-header[data-global-header="v190"]{
    position:absolute!important;
    inset:0 0 auto 0!important;
    background:linear-gradient(180deg,rgba(2,8,18,.86),rgba(2,8,18,.50) 68%,rgba(2,8,18,0))!important;
    border-top:0!important;
    border-bottom:1px solid rgba(107,153,205,.18)!important;
  }
  .site-header[data-global-header="v190"] .header-inner{
    width:min(1420px,calc(100% - 44px))!important;
    height:92px!important;
    grid-template-columns:250px minmax(0,1fr) 150px!important;
    gap:18px!important;
  }
  .site-header[data-global-header="v190"] .brand img{
    width:222px!important;
    height:72px!important;
    object-position:left center!important;
  }
  .site-header[data-global-header="v190"] .primary-nav{
    gap:clamp(16px,1.8vw,32px)!important;
  }
  .site-header[data-global-header="v190"] .primary-nav>a{
    min-height:44px!important;
    color:rgba(246,248,252,.84)!important;
    font-size:14px!important;
    font-weight:500!important;
    line-height:1!important;
    letter-spacing:.025em!important;
    text-transform:uppercase!important;
  }
  .site-header[data-global-header="v190"] .primary-nav>a:hover,
  .site-header[data-global-header="v190"] .primary-nav>a.active{color:#fff!important}
  .site-header[data-global-header="v190"] .primary-nav>a.active::after{
    bottom:15px!important;
    height:1px!important;
    background:#6bbcff!important;
    box-shadow:0 2px 7px rgba(60,156,241,.55)!important;
  }
  .site-header[data-global-header="v190"] .header-cta{
    width:150px!important;
    min-width:150px!important;
    min-height:44px!important;
    border:1px solid rgba(236,242,248,.58)!important;
    border-radius:8px!important;
    background:rgba(2,8,18,.16)!important;
    box-shadow:none!important;
    color:#fff!important;
    font-size:13px!important;
    font-weight:500!important;
    letter-spacing:.025em!important;
    text-transform:uppercase!important;
  }
  .site-header[data-global-header="v190"] .header-cta:hover{
    background:rgba(255,255,255,.08)!important;
    border-color:#fff!important;
    transform:none!important;
  }
}

/* Home hero: brighter native video, lighter scrim and reference-style controls. */
body.home-video-hero .hero-film__video{
  filter:brightness(1.16) contrast(1.07) saturate(1.06)!important;
}
body.home-video-hero .hero-film__scrim{
  background:
    linear-gradient(90deg,rgba(2,8,18,.58) 0%,rgba(2,8,18,.48) 19%,rgba(2,8,18,.26) 38%,rgba(2,8,18,.08) 58%,rgba(2,8,18,0) 76%),
    linear-gradient(180deg,rgba(2,8,18,.12) 0%,rgba(2,8,18,.07) 42%,rgba(2,8,18,.30) 100%)!important;
}
body.home-video-hero .hero-film__eyebrow,
body.home-video-hero .hero-film__copy h1,
body.home-video-hero .hero-film__button{
  font-family:var(--spaceron-display-font)!important;
}
body.home-video-hero .hero-film__copy h1{
  font-weight:700!important;
  letter-spacing:.005em!important;
  line-height:.94!important;
}
body.home-video-hero .hero-film__eyebrow{
  font-weight:600!important;
  letter-spacing:.06em!important;
}
body.home-video-hero .hero-film__button{
  min-height:58px!important;
  min-width:210px!important;
  padding:0 28px!important;
  border:2px solid rgba(242,245,249,.76)!important;
  border-radius:11px!important;
  background:rgba(2,7,14,.18)!important;
  box-shadow:none!important;
  color:#fff!important;
  font-size:15px!important;
  font-weight:600!important;
  letter-spacing:.025em!important;
  backdrop-filter:blur(1px);
}
body.home-video-hero .hero-film__button:hover{
  transform:none!important;
  background:rgba(255,255,255,.10)!important;
  border-color:#fff!important;
}

/* Mobile header and menu: opaque, crisp and independently usable. */
@media (max-width:1100px){
  .site-header[data-global-header="v190"]{
    position:relative!important;
    height:86px!important;
    min-height:86px!important;
    padding-top:0!important;
    background:#020812!important;
    border-top:1px solid rgba(112,157,209,.28)!important;
    border-bottom:1px solid rgba(112,157,209,.28)!important;
    backdrop-filter:none!important;
  }
  body.home-video-hero .site-header[data-global-header="v190"]{
    position:absolute!important;
    inset:0 0 auto 0!important;
    background:linear-gradient(180deg,rgba(2,8,18,.92),rgba(2,8,18,.62) 76%,rgba(2,8,18,0))!important;
    border-top:0!important;
  }
  .site-header[data-global-header="v190"] .header-inner{
    height:86px!important;
    min-height:86px!important;
    padding:0 18px!important;
    grid-template-columns:minmax(0,1fr) 54px!important;
    gap:12px!important;
  }
  .site-header[data-global-header="v190"] .brand img{
    width:190px!important;
    height:70px!important;
  }
  .site-header[data-global-header="v190"] .nav-toggle{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    width:50px!important;
    height:50px!important;
    padding:9px!important;
    border:1px solid rgba(139,180,225,.34)!important;
    border-radius:12px!important;
    background:rgba(5,17,31,.80)!important;
    box-shadow:none!important;
  }
  .site-header[data-global-header="v190"] .nav-toggle span:not(.sr-only){
    display:block!important;
    width:28px!important;
    height:2px!important;
    margin:3px 0!important;
    background:#f3f6fa!important;
    transform-origin:center;
    transition:transform .18s ease,opacity .18s ease!important;
  }
  .site-header[data-global-header="v190"] .nav-toggle.is-open span:not(.sr-only):nth-child(1){transform:translateY(8px) rotate(45deg)}
  .site-header[data-global-header="v190"] .nav-toggle.is-open span:not(.sr-only):nth-child(2){opacity:0}
  .site-header[data-global-header="v190"] .nav-toggle.is-open span:not(.sr-only):nth-child(3){transform:translateY(-8px) rotate(-45deg)}
  .site-header[data-global-header="v190"] .primary-nav{
    position:fixed!important;
    z-index:120!important;
    top:96px!important;
    left:16px!important;
    right:16px!important;
    bottom:auto!important;
    width:auto!important;
    max-height:calc(100dvh - 112px)!important;
    overflow:auto!important;
    display:none!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    gap:0!important;
    padding:12px!important;
    border:1px solid rgba(102,154,216,.48)!important;
    border-radius:14px!important;
    background:#06101d!important;
    box-shadow:0 24px 60px rgba(0,0,0,.68)!important;
    backdrop-filter:none!important;
  }
  .site-header[data-global-header="v190"] .primary-nav.open{display:flex!important}
  .site-header[data-global-header="v190"] .primary-nav>a{
    display:flex!important;
    align-items:center!important;
    min-height:50px!important;
    padding:0 16px!important;
    border:0!important;
    border-bottom:1px solid rgba(133,168,208,.13)!important;
    border-radius:0!important;
    background:transparent!important;
    color:#f2f5f8!important;
    font-family:var(--spaceron-display-font)!important;
    font-size:16px!important;
    font-weight:500!important;
    letter-spacing:.025em!important;
    text-transform:uppercase!important;
    opacity:1!important;
    filter:none!important;
    text-shadow:none!important;
  }
  .site-header[data-global-header="v190"] .primary-nav>a:last-child{border-bottom:0!important}
  .site-header[data-global-header="v190"] .primary-nav>a.active{
    color:#65b8ff!important;
    background:rgba(29,114,197,.10)!important;
  }
  .site-header[data-global-header="v190"] .primary-nav>.primary-nav-account{
    margin-top:8px!important;
    border:1px solid rgba(226,235,245,.50)!important;
    border-radius:8px!important;
    background:rgba(255,255,255,.03)!important;
  }
  body[data-global-mobile-nav="v198"].nav-open::before{
    z-index:65!important;
    background:rgba(0,4,10,.72)!important;
    backdrop-filter:none!important;
  }
  body.home-video-hero .hero-film__scrim{
    background:
      linear-gradient(180deg,rgba(2,8,18,.16) 0%,rgba(2,8,18,.18) 28%,rgba(2,8,18,.36) 58%,rgba(2,8,18,.62) 100%),
      linear-gradient(90deg,rgba(2,8,18,.20),rgba(2,8,18,.04) 70%)!important;
  }
  body.home-video-hero .hero-film__content{
    padding-top:118px!important;
    padding-bottom:44px!important;
  }
  body.home-video-hero .hero-film__copy{
    width:100%!important;
    max-width:520px!important;
  }
  body.home-video-hero .hero-film__copy h1{
    font-size:clamp(48px,12.5vw,67px)!important;
    line-height:.92!important;
  }
  body.home-video-hero .hero-film__intro{
    font-size:17px!important;
    line-height:1.42!important;
    max-width:420px!important;
  }
  body.home-video-hero .hero-film__actions{
    display:grid!important;
    grid-template-columns:minmax(0,1.15fr) minmax(0,.95fr)!important;
    gap:12px!important;
    width:min(520px,100%)!important;
  }
  body.home-video-hero .hero-film__button{
    width:100%!important;
    min-width:0!important;
    min-height:56px!important;
    padding:0 12px!important;
    font-size:12px!important;
    white-space:nowrap!important;
  }
}

@media (max-width:420px){
  body.home-video-hero .hero-film__copy h1{font-size:clamp(44px,12.2vw,58px)!important}
  body.home-video-hero .hero-film__intro{font-size:15px!important}
  body.home-video-hero .hero-film__button{font-size:10.5px!important;padding-inline:8px!important}
}
@media (max-width:335px){
  body.home-video-hero .hero-film__actions{grid-template-columns:1fr!important}
}

/* Mobile drawer must stay above the dimming layer so links remain crisp and clickable. */
@media (max-width:1100px){
  .site-header[data-global-header="v190"]{z-index:90!important}
  .site-header[data-global-header="v190"] .primary-nav{z-index:120!important}
  .site-header[data-global-header="v190"] .primary-nav>a{
    justify-content:flex-start!important;
    text-align:left!important;
    color:#f5f7fa!important;
    opacity:1!important;
  }
  .site-header[data-global-header="v190"] .primary-nav>a.active{color:#68bbff!important}
}

@media (max-width:1100px){body.home-video-hero .site-header[data-global-header="v190"]{z-index:90!important}}

/* CR59.8 refinement: approved Spaceron mark, larger navigation/control type, clearer hero presentation. */
@media (min-width:1101px){
  .site-header[data-global-header="v190"]{
    height:100px!important;
    min-height:100px!important;
  }
  .site-header[data-global-header="v190"] .header-inner{
    height:100px!important;
    grid-template-columns:250px minmax(0,1fr) 160px!important;
  }
  .site-header[data-global-header="v190"] .brand img{
    width:224px!important;
    height:88px!important;
  }
  .site-header[data-global-header="v190"] .primary-nav>a{
    font-size:21.5px!important;
    font-weight:600!important;
    letter-spacing:.018em!important;
  }
  .site-header[data-global-header="v190"] .header-cta{
    width:160px!important;
    min-width:160px!important;
    min-height:48px!important;
    font-size:18px!important;
    font-weight:600!important;
  }
}

body.home-video-hero .hero-film__video{
  filter:brightness(1.04) contrast(1.05) saturate(1.04)!important;
}
body.home-video-hero .hero-film__scrim{
  background:
    linear-gradient(90deg,rgba(2,8,18,.38) 0%,rgba(2,8,18,.30) 20%,rgba(2,8,18,.16) 40%,rgba(2,8,18,.035) 60%,rgba(2,8,18,0) 78%),
    linear-gradient(180deg,rgba(2,8,18,.06) 0%,rgba(2,8,18,.035) 42%,rgba(2,8,18,.20) 100%)!important;
}
body.home-video-hero .hero-film__button{
  min-height:62px!important;
  padding:0 30px!important;
  font-size:18px!important;
  font-weight:650!important;
}

@media (max-width:1100px){
  .site-header[data-global-header="v190"]{
    height:96px!important;
    min-height:96px!important;
  }
  .site-header[data-global-header="v190"] .header-inner{
    height:96px!important;
    min-height:96px!important;
    grid-template-columns:minmax(0,1fr) 58px!important;
  }
  .site-header[data-global-header="v190"] .brand img{
    width:210px!important;
    height:84px!important;
  }
  .site-header[data-global-header="v190"] .nav-toggle{
    width:54px!important;
    height:54px!important;
  }
  .site-header[data-global-header="v190"] .primary-nav{
    top:106px!important;
    max-height:calc(100dvh - 122px)!important;
  }
  .site-header[data-global-header="v190"] .primary-nav>a{
    min-height:54px!important;
    font-size:21.5px!important;
    font-weight:600!important;
  }
  body.home-video-hero .hero-film__scrim{
    background:
      linear-gradient(180deg,rgba(2,8,18,.08) 0%,rgba(2,8,18,.09) 28%,rgba(2,8,18,.22) 58%,rgba(2,8,18,.48) 100%),
      linear-gradient(90deg,rgba(2,8,18,.12),rgba(2,8,18,.02) 72%)!important;
  }
  body.home-video-hero .hero-film__content{
    padding-top:126px!important;
  }
  body.home-video-hero .hero-film__button{
    min-height:60px!important;
    font-size:15px!important;
    padding-inline:10px!important;
  }
}
@media (max-width:420px){
  body.home-video-hero .hero-film__button{
    font-size:14.5px!important;
    padding-inline:7px!important;
  }
}
