/* Navigation and keyboard controls, shared by desktop and mobile. */
html { scroll-behavior: smooth; }
section[id] { scroll-margin-top: 90px; }
.hc-mini-card { text-decoration: none; color: #fff; }
.hc-mini-card:focus-visible, .faq-title:focus-visible, .sp-btn:focus-visible,
#header a:focus-visible, .hc-footer a:focus-visible {
  outline: 3px solid #26c9ef;
  outline-offset: 4px;
}
.faq-title { cursor: pointer; }
.faq-description[hidden] { display: none !important; }
@media (max-width: 1199px) {
  #header .h-inner .navs {
    display: block !important;
    top: 0;
    bottom: auto;
    right: 0;
    width: min(300px, 85vw);
    height: 100dvh;
    box-sizing: border-box;
    padding: 86px 24px 24px;
    overflow-y: auto;
    transform: translateX(105%);
    visibility: hidden;
    z-index: 2;
    background: #032763;
  }
  #header .h-inner .navs.-active {
    transform: translateX(0);
    visibility: visible;
  }
  #header .h-inner .navs nav .nav-fir {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0 !important;
  }
  #header .h-inner .navs nav .nav-fir li a {
    display: block;
    padding: 18px 12px;
    line-height: 1.5;
  }
  #header .sp-btn { z-index: 3; }
  #header .sp-btn span { background: #fff !important; }
  #mask { display: none; }
  #mask.-active {
    display: block;
    position: fixed;
    inset: 0;
    background: rgba(3, 19, 46, .45);
    z-index: 998;
  }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}
