/* Shared responsive header hardening.
   Keep the announcement and navigation in one sticky flow container so
   iOS and Telegram in-app browsers cannot separate their viewport anchors. */
body {
  padding-top: 0 !important;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 80;
  isolation: isolate;
}

.site-header .announce {
  position: relative;
  inset: auto;
  z-index: 2;
  flex: none;
  transform: none;
  transition: none;
}

html.announce-closed .site-header .announce {
  display: none;
  transform: none;
}

.site-header .nav {
  position: relative;
  top: auto;
  z-index: 1;
}

.site-header .ann-close {
  right: 0;
  width: 42px;
  height: 42px;
  padding: 0;
}

@media (max-width: 430px) {
  .site-header .nav-inner {
    padding-inline: 16px;
    column-gap: 10px;
  }

  .site-header .brand img {
    height: 16px;
  }

  .site-header .nav-cta {
    height: 38px;
    padding-inline: 14px;
    font-size: 13px;
  }

  .site-header .mnav-btn {
    width: 38px;
    height: 38px;
  }
}

/* Mobile WebKit and Telegram WebView can shift sticky/fixed elements when
   their browser chrome collapses. In normal flow the header cannot detach
   from the top of the document or reappear over scrolled content. */
@media (max-width: 720px) {
  .site-header {
    position: relative;
    top: auto;
  }
}
