/* Brand lockup override: keep the supplied snow/wind mark, render the type as crisp HTML. */
.site-nav {
  min-height: 116px;
}

.brand-lockup {
  flex: 0 1 auto;
  min-width: 0;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  line-height: 1;
}

.brand-logo-frame {
  position: static;
  display: block;
  width: 92px;
  max-width: none;
  aspect-ratio: auto;
  overflow: visible;
  background: transparent;
}

.brand-logo-frame img {
  position: static;
  display: block;
  width: 100%;
  height: auto;
  max-width: 100%;
}

.brand-copy {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.brand-name {
  white-space: nowrap;
  font-size: 1.52rem;
  line-height: .95;
  font-weight: 900;
  letter-spacing: .01em;
  color: var(--ink);
}

.brand-name .cool { color: var(--blue-bright); }

.brand-tagline {
  white-space: nowrap;
  color: #62788c;
  font-size: .57rem;
  line-height: 1.2;
  font-weight: 600;
  letter-spacing: .055em;
}

.hero-grid {
  min-height: calc(92vh - 116px);
}

.footer-mark {
  justify-self: start;
}

.footer-mark .brand-logo-frame { width: 72px; }
.footer-mark .brand-name { font-size: 1.16rem; }
.footer-mark .brand-tagline { display: none; }

@media (max-width: 900px) {
  .site-nav { min-height: 108px; }
  .brand-logo-frame { width: 80px; }
  .brand-name { font-size: 1.3rem; }
  .brand-tagline { font-size: .51rem; }
}

@media (max-width: 600px) {
  .site-nav { min-height: 92px; gap: .7rem; }
  .brand-lockup { gap: 8px; }
  .brand-logo-frame { width: 66px; }
  .brand-name { font-size: 1.04rem; }
  .brand-tagline { display: none; }
  .nav-link { font-size: .61rem; letter-spacing: .065em; }
  .hero-grid { padding-top: 2.35rem; }
  .footer-mark { justify-self: center; }
  .footer-mark .brand-logo-frame { width: 62px; }
  .footer-mark .brand-name { font-size: 1rem; }
}
