/* Shared, proportion-correct brand lockup for the public site headers. */
.nav-shell {
  height: 78px;
}

.brand-stack {
  width: 255px;
  flex: 0 0 auto;
  gap: 2px;
}

.brand {
  width: 100%;
  height: 58px;
  padding: 3px 6px;
  border-radius: 13px;
}

.brand img {
  width: 100%;
  height: 100%;
  max-height: none;
  object-fit: contain;
  object-position: center;
}

.brand-capabilities {
  padding: 0;
  font-size: 0.53rem;
  line-height: 1;
  letter-spacing: 0.075em;
}

.hero,
.dm-hero {
  padding-top: 78px;
}

@media (max-width: 1400px) {
  .brand-stack { width: 245px; }
}

@media (max-width: 1180px) {
  .brand-stack { width: 225px; }
  .brand { height: 54px; }
  .brand-capabilities { font-size: 0.48rem; letter-spacing: 0.06em; }
}

@media (max-width: 980px) {
  .main-nav.open { top: 78px; }
}

@media (max-width: 650px) {
  .nav-shell { height: 66px; }
  .brand-stack { width: 202px; }
  .brand { height: 47px; padding: 2px 5px; }
  .brand-capabilities { font-size: 0.43rem; letter-spacing: 0.045em; }
  .hero, .dm-hero { padding-top: 66px; }
  .main-nav.open { top: 66px; }
}
