/* Reserve one text slot so the logo and navigation never move during the intro. */
header .brand-copy {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: center;
  flex: 0 1 auto;
  width: max-content;
  min-width: 0;
  height: 2.25rem;
  padding-right: 2px;
  overflow: hidden;
  line-height: 1;
}
header .brand-copy .brand-name,
header .brand-copy .brand-tagline { grid-area: 1 / 1; width: max-content; white-space: nowrap; line-height: 1; }
header .brand-copy .brand-tagline {
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  color: var(--brand-tagline-color, #fff);
  font-family: 'DM Sans', system-ui, sans-serif;
  font-size: 0.9375rem;
  font-weight: 700;
  letter-spacing: -0.035em;
}
header .brand-copy.is-animating .brand-tagline { visibility: visible; opacity: 1; }
header .brand-copy .brand-name span,
header .brand-copy .brand-tagline span { font: inherit; letter-spacing: inherit; line-height: inherit; }
header .brand-copy .brand-message { display: inline-flex; gap: 0.24em; width: max-content; }
header .brand-copy .brand-letter,
header .brand-copy .brand-word,
header .brand-copy .brand-ink { display: inline-block; transform-origin: left center; }
header .brand-copy .brand-ink { position: relative; }
header .brand-copy .brand-shine {
  position: absolute;
  inset: 0;
  opacity: 0;
  color: transparent;
  background-clip: text;
  -webkit-background-clip: text;
  background-repeat: no-repeat;
  filter: drop-shadow(0 0 3px #ffffff55);
  pointer-events: none;
  line-height: 1;
}
header :is(.brand, .header-brand, .review-brand) { min-width: 0; max-width: 100%; }
header :is(.brand, .header-brand, .review-brand) > img { flex-shrink: 0; }
/* Secure-link headers use a light surface; retain readable text there. */
.site-header, .review-header { --brand-tagline-color: #1f2338; --brand-intro-gold: #946d24; }

@media (max-width: 800px) {
  header .brand-copy .brand-tagline { font-size: 0.75rem; }
}
