/* Shared header sizing for every route. */
.site-header-inner,
.hero-inner {
  width: min(100% - 2rem, 75rem);
  margin-inline: auto;
  padding-top: 1.4rem;
}
.hero-top {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  gap: 2rem;
  min-height: 2.5rem;
  font-family: "DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.hero-top .brand {
  display: inline-flex;
  justify-self: start;
  align-items: center;
  gap: .5rem;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.5;
  white-space: nowrap;
  text-decoration: none;
}
.hero-top .brand-mark {
  position: relative;
  display: grid;
  place-items: center;
  flex: none;
  width: 2.5rem;
  height: 2.5rem;
  border: 1px solid rgba(17,17,17,.08);
  border-radius: 24%;
  background: #fffefc;
  box-shadow: 0 1px 2px rgba(17,17,17,.05), 0 6px 18px rgba(17,17,17,.07);
}
.hero-top .brand-glyph { display: block; width: 2rem; height: 2rem; }
.hero-top .top-links {
  grid-column: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.5rem;
}
.hero-top .nav-link {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  text-decoration: none;
  white-space: nowrap;
}
.hero-top .brand > span:last-child { display: inline; }
@media (max-width: 900px) {
  .hero-top { grid-template-columns: auto 1fr; gap: .75rem; }
  .hero-top .brand > span:last-child { display: inline; }
  .hero-top .top-links { justify-content: flex-end; gap: 1rem; }
}
@media (max-width: 360px) {
  .hero-top .top-links { gap: .65rem; }
  .hero-top .nav-link { font-size: .875rem; }
}

/* Display the mascot edge to edge inside the shared logo tile. */
.hero-top .brand-mark { overflow: hidden; border: 0; background: #8895ea; }
.hero-top .brand-glyph { width: 100%; height: 100%; object-fit: cover; }

.footer-links { flex-wrap: wrap; }
