/* Keep the homepage and the three service-page headers on the same grid. */
.brandbar,
.topbar-inner {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) auto minmax(110px, 1fr);
  grid-template-rows: 1fr;
  align-items: center;
  gap: 24px;
  height: 82px;
  min-height: 82px;
  padding: 0;
  color: #c4d1e6;
  font-size: 13px;
  letter-spacing: .03em;
}

.brandbar { margin-top: 24px; }
.topbar { padding-top: 24px; }
.topbar-inner {
  width: calc(100% - clamp(48px, 8vw, 128px));
  max-width: 1360px;
  margin-inline: auto;
}

.brandbar .brand,
.topbar-inner .brand {
  grid-column: 1;
  grid-row: 1;
  display: flex;
  align-items: center;
  gap: 8px;
}
.brandbar .brand img:nth-child(1),
.topbar-inner .brand img:nth-child(1) { width: 30px; height: 36px; }
.brandbar .brand img:nth-child(2),
.topbar-inner .brand img:nth-child(2) { width: 49px; height: 31px; }
.brandbar .brand img:nth-child(3),
.topbar-inner .brand img:nth-child(3) { width: 100px; height: 24px; margin-left: 2px; }

.home-nav,
.site-nav {
  grid-column: 2;
  grid-row: 1;
  justify-self: center;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(18px, 2.25vw, 34px);
  width: auto;
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  white-space: nowrap;
}
.home-nav a,
.site-nav a {
  position: relative;
  flex: none;
  padding: 8px 0;
  border: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
  color: #dbe8fa;
  font-size: clamp(15px, 1.1vw, 17px);
  font-weight: 450;
  text-decoration: none;
  transition: color .2s;
}
.home-nav a:hover,
.home-nav a[aria-current="page"],
.site-nav a:hover,
.site-nav a[aria-current="page"] { color: #fff; background: none; }
.home-nav a[aria-current="page"]::after,
.site-nav a[aria-current="page"]::after {
  content: '';
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  display: block;
  height: 1px;
  margin: 0;
  background: linear-gradient(90deg, transparent, #cce6ff, transparent);
  box-shadow: none;
}

.home-nav-cta,
.header-cta {
  grid-column: 3;
  grid-row: 1;
  justify-self: end;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  height: 43px;
  min-height: 43px;
  padding: 0 19px;
  border: 0;
  border-radius: 999px;
  background: linear-gradient(115deg, #e3f0ff, #a9ccff 58%, #78a8f5);
  box-shadow: 0 8px 22px #092e7040, inset 0 1px #fff9;
  color: #173c70;
  font-size: 14px;
  font-weight: 600;
  white-space: nowrap;
  transition: transform .2s, filter .2s;
}
.home-nav-cta:hover,
.header-cta:hover {
  transform: translateY(-2px);
  background: linear-gradient(115deg, #e3f0ff, #a9ccff 58%, #78a8f5);
  box-shadow: 0 8px 22px #092e7040, inset 0 1px #fff9;
  color: #173c70;
  filter: brightness(1.08);
}

@media (max-width: 1100px) {
  .brandbar,
  .topbar-inner {
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-rows: auto auto;
    gap: 8px 18px;
    height: auto;
    min-height: 112px;
    padding: 12px 0;
  }
  .home-nav-cta,
  .header-cta { grid-column: 2; grid-row: 1; }
  .home-nav,
  .site-nav {
    grid-column: 1 / -1;
    grid-row: 2;
    justify-self: stretch;
    justify-content: center;
    gap: clamp(15px, 3vw, 28px);
    width: 100%;
    overflow-x: auto;
    padding: 3px 0 5px;
    scrollbar-width: none;
  }
  .home-nav::-webkit-scrollbar,
  .site-nav::-webkit-scrollbar { display: none; }
}

@media (max-width: 800px) {
  .topbar-inner { width: calc(100% - 48px); }
  .brandbar .brand,
  .topbar-inner .brand { gap: 6px; }
  .brandbar .brand img:nth-child(1),
  .topbar-inner .brand img:nth-child(1) { width: 24px; height: 29px; }
  .brandbar .brand img:nth-child(2),
  .topbar-inner .brand img:nth-child(2) { width: 40px; height: 25px; }
  .brandbar .brand img:nth-child(3),
  .topbar-inner .brand img:nth-child(3) { width: 79px; height: 19px; }
}

@media (max-width: 700px) {
  .brandbar,
  .topbar-inner { min-height: 102px; }
  .home-nav,
  .site-nav { justify-content: flex-start; gap: 22px; }
  .home-nav a,
  .site-nav a { font-size: 14px; }
  .home-nav-cta,
  .header-cta { height: 38px; min-height: 38px; padding: 0 13px; font-size: 12px; }
}

@media (max-width: 620px) {
  .brandbar { margin-top: 12px; }
  .topbar { padding-top: 12px; }
}

/* Public filing information shared by all four pages. */
.site-filing{margin:20px auto 0;padding:0 20px;text-align:center;font-size:12px;line-height:1.8;color:inherit}
.site-filing a{color:inherit;text-decoration:none;opacity:.85}
.site-filing a:hover{text-decoration:underline;opacity:1}
.site-filing a:focus-visible{outline:2px solid currentColor;outline-offset:4px}
