/* Site-specific header presentation only; no routes or handlers changed. */
html body { padding-top: 88px !important; }
html body #app .header.header {
  position: fixed !important; top: 0 !important; left: 0 !important; right: 0 !important;
  width: 100% !important; height: 88px !important; margin: 0 !important;
  box-sizing: border-box !important; border-radius: 0 !important;
  border-top: 0 !important; border-bottom: 1px solid rgba(111,164,195,.35) !important;
  box-shadow: none !important;
  background-color: #061522 !important;
  background-image: linear-gradient(104deg,#061522,#092235 65%,#061522) !important;
  z-index: 1100 !important;
}
html body #app .header.header:before { display: none !important; }
html body #app .header.header .header-inner {
  display: grid !important; box-sizing: border-box !important;
  width: 100% !important; max-width: 1880px !important; margin: 0 auto !important;
  height: 87px !important; min-height: 0 !important; padding: 0 38px !important;
  grid-template-columns: 230px minmax(390px,1fr) minmax(360px,500px) !important;
  grid-template-rows: 87px !important; gap: 16px !important; align-items: center !important;
}
html body #app .header.header .research-logo {
  grid-column: 1 !important; grid-row: 1 !important; width: 100% !important;
  height: 87px !important; border-right: 0 !important; min-width: 0 !important;
}
html body #app .header.header .research-logo > a {
  display: flex !important; align-items: center !important; justify-content: flex-start !important;
  height: 87px !important; gap: 10px !important;
}
html body #app .header.header .research-logo .logo-mark { width: 54px !important; height: 54px !important; }
html body #app .header.header .research-logo .logo-copy b { font-size: 24px !important; }
html body #app .header.header .hdnav,
html body #app .header.header .hdnav.mobile-open {
  position: static !important; grid-column: 2 !important; grid-row: 1 !important;
  display: flex !important; width: 100% !important; height: 87px !important;
  padding: 0 !important; border: 0 !important; min-width: 0 !important;
}
html body #app .header.header .hdnav a {
  flex: 1 1 20% !important; width: auto !important; min-width: 0 !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  height: 87px !important; min-height: 0 !important; padding: 0 5px !important;
  font-size: 16px !important; white-space: nowrap !important;
}
html body #app .header.header .hdrge {
  grid-column: 3 !important; grid-row: 1 !important; display: grid !important;
  height: 87px !important; min-width: 0 !important; padding: 0 !important;
  grid-template-columns: minmax(0,1fr) 120px 64px !important; gap: 8px !important;
  align-items: center !important;
}
html body #app .header.header .hdrge .search-shell.search-shell {
  display: block !important; width: 100% !important; min-width: 0 !important; height: 48px !important;
  box-sizing: border-box !important; border-radius: 6px !important;
}
html body #app .header.header .hdrge .search-shell.search-shell input {
  width: 100% !important; box-sizing: border-box !important; height: 46px !important;
  line-height: 46px !important; padding: 0 28px 0 38px !important; font-size: 13px !important;
}
html body #app .header.header .search-icon-svg { left: 12px !important; top: 14px !important; width: 20px !important; height: 20px !important; }
html body #app .header.header .hdrge .sign-pulse {
  width: 120px !important; min-width: 0 !important; height: 48px !important;
  padding: 0 8px !important; border-radius: 6px !important; box-shadow: none !important;
}
html body #app .header.header .hdrge .sign-pulse > b { font-size: 14px !important; }
html body #app .header.header .hdrge .lg,
html body #app .header.header .hdrge .ui,
html body #app .header.header .hdrge .lg a,
html body #app .header.header .hdrge .ui a {
  width: 64px !important; height: 48px !important; min-height: 48px !important; border-radius: 6px !important;
}
html body #app .header.header .hdrge .search-panel {
  max-width: calc(100vw - 24px) !important; box-sizing: border-box !important;
}
/* Generic column GEO header has four items including its Q/A pseudo-element.
   Give the description a full-width row instead of an implicit 70px column. */
html body #app > .geo-guide.wrap:not(.rank-exact-geo) > header {
  display: grid !important; grid-template-columns: 64px auto minmax(0,1fr) !important;
  gap: 12px 18px !important;
}
html body #app > .geo-guide.wrap:not(.rank-exact-geo) > header:before { grid-column: 1 !important; grid-row: 1 !important; }
html body #app > .geo-guide.wrap:not(.rank-exact-geo) > header > small { grid-column: 2 !important; grid-row: 1 !important; }
html body #app > .geo-guide.wrap:not(.rank-exact-geo) > header > h2 { grid-column: 3 !important; grid-row: 1 !important; min-width: 0 !important; }
html body #app > .geo-guide.wrap:not(.rank-exact-geo) > header > p {
  grid-column: 1 / -1 !important; grid-row: 2 !important;
  width: 100% !important; max-width: none !important; min-width: 0 !important;
  margin: 0 !important; justify-self: stretch !important; text-align: left !important;
  white-space: normal !important; word-break: normal !important; overflow-wrap: normal !important;
}
@media (max-width:1500px) {
  html body #app .header.header .header-inner { padding: 0 24px !important; grid-template-columns: 210px minmax(370px,1fr) minmax(330px,440px) !important; gap: 12px !important; }
}
@media (max-width:1180px) {
  html body { padding-top: 112px !important; }
  html body #app .header.header { height: 112px !important; }
  html body #app .header.header .header-inner {
    height: 111px !important; padding: 0 24px !important;
    grid-template-columns: 190px minmax(0,1fr) !important; grid-template-rows: 64px 47px !important;
    gap: 0 18px !important;
  }
  html body #app .header.header .research-logo,
  html body #app .header.header .research-logo > a { height: 64px !important; }
  html body #app .header.header .research-logo .logo-mark { width: 44px !important; height: 44px !important; }
  html body #app .header.header .research-logo .logo-copy b { font-size: 21px !important; }
  html body #app .header.header .hdrge { grid-column: 2 !important; height: 64px !important; }
  html body #app .header.header .hdnav,
  html body #app .header.header .hdnav.mobile-open {
    grid-column: 1 / -1 !important; grid-row: 2 !important; height: 47px !important;
    border-top: 1px solid rgba(111,164,195,.25) !important;
  }
  html body #app .header.header .hdnav a { height: 46px !important; font-size: 15px !important; }
}
@media (max-width:680px) {
  html body { padding-top: 140px !important; }
  html body #app .header.header { height: 140px !important; }
  html body #app .header.header .header-inner {
    height: 139px !important; padding: 0 12px !important;
    grid-template-columns: minmax(0,1fr) !important; grid-template-rows: 44px 50px 45px !important;
    gap: 0 !important;
  }
  html body #app .header.header .research-logo,
  html body #app .header.header .research-logo > a { grid-column: 1 !important; height: 44px !important; }
  html body #app .header.header .research-logo .logo-mark { width: 32px !important; height: 32px !important; }
  html body #app .header.header .research-logo .logo-copy b { font-size: 18px !important; }
  html body #app .header.header .research-logo .logo-copy small { font-size: 8px !important; }
  html body #app .header.header .hdrge {
    grid-column: 1 !important; grid-row: 2 !important; height: 50px !important;
    grid-template-columns: minmax(0,1fr) 92px 50px !important; gap: 6px !important;
  }
  html body #app .header.header .hdrge .search-shell.search-shell,
  html body #app .header.header .hdrge .sign-pulse { height: 44px !important; }
  html body #app .header.header .hdrge .search-shell.search-shell input { height: 42px !important; line-height: 42px !important; padding-left: 32px !important; font-size: 12px !important; }
  html body #app .header.header .search-icon-svg { left: 9px !important; top: 12px !important; width: 18px !important; height: 18px !important; }
  html body #app .header.header .hdrge .sign-pulse { width: 92px !important; padding: 0 5px !important; gap: 3px !important; }
  html body #app .header.header .hdrge .sign-pulse > b { font-size: 12px !important; }
  html body #app .header.header .hdrge .lg,
  html body #app .header.header .hdrge .ui,
  html body #app .header.header .hdrge .lg a,
  html body #app .header.header .hdrge .ui a { width: 50px !important; height: 44px !important; min-height: 44px !important; }
  html body #app .header.header .hdnav,
  html body #app .header.header .hdnav.mobile-open { grid-column: 1 !important; grid-row: 3 !important; height: 45px !important; }
  html body #app .header.header .hdnav a { height: 44px !important; font-size: 12px !important; padding: 0 1px !important; }
  html body #app > .geo-guide.wrap:not(.rank-exact-geo) > header {
    display: flex !important; flex-direction: column !important; align-items: flex-start !important;
  }
  html body #app > .geo-guide.wrap:not(.rank-exact-geo) > header > p { font-size: 13px !important; line-height: 1.65 !important; }
}
