/* RMT responsive header + mobile hero hard fix — 2026-05-26
   Purpose: prevent desktop Chrome zoom/tablet widths from switching to vertical mobile nav;
   keep true mobile header clean; preserve desktop hero background/card/button design on mobile. */
:root{--rmt-mobile-breakpoint:767px;}

/* 1) Tablet / zoomed desktop: keep full horizontal desktop header from 768px upward. */
@media (min-width:768px){
  html body{padding-top:var(--rmt-header-height,72px)!important;}
  html body > header.site-header,
  html body header.site-header,
  html body .site-header[role="banner"]{
    position:fixed!important;
    top:0!important;left:0!important;right:0!important;bottom:auto!important;
    height:var(--rmt-header-height,72px)!important;
    min-height:var(--rmt-header-height,72px)!important;
    transform:none!important;translate:none!important;opacity:1!important;visibility:visible!important;
    z-index:2147483646!important;
  }
  .site-header .container{
    height:100%!important;width:100%!important;max-width:1500px!important;
    padding-left:clamp(.7rem,1.5vw,1.6rem)!important;
    padding-right:clamp(.7rem,1.5vw,1.6rem)!important;
  }
  .site-header .header-inner{
    display:flex!important;
    grid-template-columns:none!important;
    grid-template-areas:none!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:clamp(.35rem,.75vw,.95rem)!important;
    height:100%!important;
    width:100%!important;
    overflow:visible!important;
  }
  .site-header .logo-link{
    order:1!important;grid-area:auto!important;display:inline-flex!important;flex:0 0 auto!important;
    margin-right:clamp(.35rem,1vw,1rem)!important;max-width:none!important;overflow:visible!important;
  }
  .site-header .logo-link img{
    height:clamp(42px,4.2vw,52px)!important;width:auto!important;max-width:210px!important;
  }
  .site-header .site-nav,
  .site-header .site-nav.open{
    order:2!important;grid-area:auto!important;
    display:flex!important;
    position:static!important;top:auto!important;left:auto!important;right:auto!important;bottom:auto!important;inset:auto!important;
    flex:1 1 auto!important;flex-direction:row!important;align-items:center!important;justify-content:center!important;
    width:auto!important;max-width:none!important;max-height:none!important;overflow:visible!important;
    padding:0!important;margin:0!important;gap:clamp(.25rem,.58vw,.75rem)!important;
    background:transparent!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
  }
  .site-header .site-nav a{
    display:inline-flex!important;align-items:center!important;justify-content:center!important;
    width:auto!important;min-width:0!important;min-height:0!important;
    padding:.48rem clamp(.28rem,.55vw,.68rem)!important;
    white-space:nowrap!important;text-align:center!important;border-radius:999px!important;
    font-size:clamp(.74rem,.84vw,.95rem)!important;line-height:1.15!important;
    letter-spacing:-.01em!important;
  }
  .site-header .lang-switcher{
    order:3!important;grid-area:auto!important;display:flex!important;flex:0 0 auto!important;align-items:center!important;justify-content:flex-end!important;
    margin-left:auto!important;padding-left:clamp(.45rem,.9vw,.75rem)!important;padding-right:0!important;
    border-left:1px solid rgba(148,163,184,.42)!important;border-right:0!important;
    gap:.16rem!important;background:transparent!important;position:relative!important;
  }
  .site-header .lang-switcher::after{content:none!important;display:none!important;}
  .site-header .lang-switcher a{
    min-width:clamp(30px,3.1vw,38px)!important;min-height:clamp(30px,3.1vw,38px)!important;
    padding:.22rem .42rem!important;white-space:nowrap!important;line-height:1!important;
    font-size:clamp(.68rem,.75vw,.82rem)!important;border-radius:999px!important;
  }
  .site-header .nav-toggle{
    display:none!important;visibility:hidden!important;pointer-events:none!important;
    order:4!important;grid-area:auto!important;
  }
}

/* Extra compact desktop/tablet widths caused by Chrome zoom or Windows scaling. */
@media (min-width:768px) and (max-width:1080px){
  :root{--rmt-header-height:68px!important;}
  .site-header .container{padding-left:.65rem!important;padding-right:.65rem!important;}
  .site-header .header-inner{gap:.25rem!important;}
  .site-header .logo-link{margin-right:.25rem!important;}
  .site-header .logo-link img{height:42px!important;max-width:150px!important;}
  .site-header .site-nav{gap:.05rem!important;}
  .site-header .site-nav a{font-size:.78rem!important;padding:.42rem .34rem!important;letter-spacing:-.02em!important;}
  .site-header .lang-switcher{padding-left:.4rem!important;gap:.08rem!important;}
  .site-header .lang-switcher a{min-width:30px!important;min-height:30px!important;font-size:.68rem!important;padding:.18rem .3rem!important;}
}
@media (min-width:768px) and (max-width:860px){
  .site-header .logo-link img{height:38px!important;max-width:132px!important;}
  .site-header .site-nav a{font-size:.72rem!important;padding:.38rem .25rem!important;}
  .site-header .lang-switcher a{min-width:27px!important;font-size:.62rem!important;}
}

/* 2) True mobile only: logo left, languages right, hamburger far right. */
@media (max-width:767px){
  :root{--rmt-header-height:64px!important;}
  html body{padding-top:var(--rmt-header-height)!important;}
  html body > header.site-header,
  html body header.site-header{
    position:fixed!important;top:0!important;left:0!important;right:0!important;height:var(--rmt-header-height)!important;
    transform:none!important;opacity:1!important;visibility:visible!important;z-index:2147483646!important;
  }
  .site-header .container{height:100%!important;padding-left:.86rem!important;padding-right:.86rem!important;}
  .site-header .header-inner{
    height:100%!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto auto!important;
    grid-template-areas:"logo langs burger"!important;align-items:center!important;column-gap:.48rem!important;
  }
  .site-header .logo-link{grid-area:logo!important;order:1!important;justify-self:start!important;max-width:calc(100vw - 198px)!important;margin:0!important;overflow:hidden!important;}
  .site-header .logo-link img{height:40px!important;max-width:100%!important;width:auto!important;object-fit:contain!important;}
  .site-header .lang-switcher{
    grid-area:langs!important;order:2!important;justify-self:end!important;margin:0!important;
    display:flex!important;align-items:center!important;gap:.1rem!important;padding:0 .62rem 0 0!important;border:0!important;position:relative!important;
  }
  .site-header .lang-switcher::after{content:""!important;position:absolute!important;top:50%!important;right:.08rem!important;width:1px!important;height:28px!important;transform:translateY(-50%)!important;background:rgba(148,163,184,.52)!important;}
  .site-header .lang-switcher a{min-width:30px!important;min-height:30px!important;padding:.2rem .34rem!important;font-size:.66rem!important;border-radius:999px!important;white-space:nowrap!important;}
  .site-header .nav-toggle{
    grid-area:burger!important;order:3!important;justify-self:end!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;
    width:40px!important;height:40px!important;margin:0!important;padding:.52rem!important;border:1px solid rgba(197,212,224,.92)!important;border-radius:999px!important;
    background:rgba(255,255,255,.76)!important;box-shadow:0 8px 22px rgba(12,29,45,.08)!important;visibility:visible!important;pointer-events:auto!important;
  }
  .site-header .nav-toggle span{display:block!important;width:19px!important;height:2px!important;border-radius:999px!important;background:#0d2035!important;}
  .site-header .site-nav{
    grid-area:auto!important;order:4!important;position:fixed!important;top:var(--rmt-header-height)!important;left:0!important;right:0!important;width:100%!important;
    max-height:calc(100vh - var(--rmt-header-height))!important;overflow:auto!important;display:none!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;
    gap:.22rem!important;padding:1rem!important;background:rgba(248,251,253,.98)!important;border-top:1px solid rgba(197,212,224,.82)!important;border-bottom:1px solid rgba(197,212,224,.82)!important;
    box-shadow:0 22px 60px rgba(12,29,45,.18)!important;-webkit-backdrop-filter:saturate(165%) blur(18px)!important;backdrop-filter:saturate(165%) blur(18px)!important;z-index:2147483645!important;
  }
  .site-header .site-nav.open{display:flex!important;}
  .site-header .site-nav a{display:flex!important;align-items:center!important;width:100%!important;min-height:44px!important;padding:.78rem .95rem!important;border-radius:14px!important;text-align:left!important;font-size:.96rem!important;}
}
@media(max-width:430px){
  :root{--rmt-header-height:62px!important;}
  .site-header .container{padding-left:.72rem!important;padding-right:.72rem!important;}
  .site-header .header-inner{column-gap:.32rem!important;}
  .site-header .logo-link{max-width:calc(100vw - 174px)!important;}
  .site-header .logo-link img{height:36px!important;}
  .site-header .lang-switcher{padding-right:.52rem!important;}
  .site-header .lang-switcher a{min-width:27px!important;min-height:28px!important;font-size:.61rem!important;padding:.18rem .28rem!important;}
  .site-header .nav-toggle{width:38px!important;height:38px!important;padding:.48rem!important;}
  .site-header .nav-toggle span{width:17px!important;}
}

/* 3) Mobile hero: same premium background, framed cards and button design as desktop. */
@media(max-width:767px){
  .hero.has-hover-media{
    min-height:auto!important;
    padding:clamp(3rem,9vw,4.7rem) 0 clamp(2.5rem,8vw,3.5rem)!important;
    background:#071829!important;
  }
  .hero.has-hover-media > .hero-media{position:absolute!important;inset:0!important;height:100%!important;display:block!important;}
  .hero.has-hover-media > .hero-media::after{
    background:
      linear-gradient(90deg,rgba(5,18,32,.94) 0%,rgba(5,18,32,.80) 42%,rgba(5,18,32,.52) 68%,rgba(5,18,32,.62) 100%),
      radial-gradient(circle at 20% 24%,rgba(34,211,238,.12),transparent 46%)!important;
  }
  .hero.has-hover-media > .hero-media > picture.hero-poster > img,
  .hero.has-hover-media > .hero-media > video.hero-hover-video{
    object-fit:cover!important;
    object-position:center center!important;
    filter:saturate(.98) contrast(1.02)!important;
  }
  .hero.has-hover-media .container{position:relative!important;z-index:5!important;}
  .hero.has-hover-media .hero-inner{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:1.35rem!important;
    align-items:start!important;
  }
  .hero.has-hover-media .hero-content{
    max-width:100%!important;
    padding:0!important;
  }
  .hero.has-hover-media .hero-brand-mark img{
    height:clamp(74px,20vw,108px)!important;
    max-width:min(360px,88vw)!important;
  }
  .hero.has-hover-media .hero-eyebrow,
  .hero.has-hover-media .trust-chip{
    background:rgba(255,255,255,.075)!important;
    border:1px solid rgba(255,255,255,.14)!important;
    box-shadow:0 12px 32px rgba(0,0,0,.14)!important;
    backdrop-filter:blur(8px)!important;
    -webkit-backdrop-filter:blur(8px)!important;
  }
  .hero.has-hover-media h1{
    max-width:11.5em!important;
    font-size:clamp(2.04rem,10vw,3.05rem)!important;
    line-height:1.08!important;
  }
  .hero.has-hover-media .hero-lead{
    max-width:42rem!important;
    font-size:1rem!important;
    line-height:1.65!important;
    color:rgba(255,255,255,.76)!important;
  }
  .hero.has-hover-media .hero-cta{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:.72rem!important;
    max-width:420px!important;
  }
  .hero.has-hover-media .hero-cta .btn{
    width:100%!important;
    min-height:48px!important;
    justify-content:center!important;
    border-radius:12px!important;
    text-align:center!important;
    white-space:normal!important;
    line-height:1.2!important;
    box-shadow:0 14px 36px rgba(0,0,0,.18)!important;
  }
  .hero.has-hover-media .hero-visual{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:.75rem!important;
    width:100%!important;
    margin-top:.25rem!important;
  }
  .hero.has-hover-media .cert-float{
    display:grid!important;
    grid-template-columns:40px minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:.8rem!important;
    width:100%!important;
    max-width:100%!important;
    padding:.92rem 1rem!important;
    border-radius:18px!important;
    background:rgba(255,255,255,.075)!important;
    border:1px solid rgba(255,255,255,.16)!important;
    box-shadow:0 18px 48px rgba(0,0,0,.17)!important;
    backdrop-filter:blur(10px)!important;
    -webkit-backdrop-filter:blur(10px)!important;
  }
  .hero.has-hover-media .cert-float-body strong{font-size:.88rem!important;line-height:1.25!important;}
  .hero.has-hover-media .cert-float-body span{font-size:.74rem!important;line-height:1.35!important;color:rgba(255,255,255,.62)!important;}
  .hero.has-hover-media .cert-valid{font-size:.7rem!important;padding:.3rem .52rem!important;}
  .hero.has-hover-media .hero-trust{gap:.45rem!important;margin-top:1.1rem!important;}
  .hero.has-hover-media .hero-trust .trust-chip:nth-child(n+4){display:none!important;}
  .hero.has-hover-media > .hero-media > video.hero-hover-video{display:none!important;}
  .hero.has-hover-media > .hero-media > picture.hero-poster{opacity:1!important;}
}
@media(max-width:430px){
  .hero.has-hover-media .cert-float{grid-template-columns:36px minmax(0,1fr)!important;}
  .hero.has-hover-media .cert-valid{grid-column:2!important;justify-self:start!important;margin-top:.1rem!important;}
  .hero.has-hover-media .cert-float-icon{width:36px!important;height:36px!important;}
}
