/*
 * Approved primary brand lockup.
 * Header and Footer render /assets/lemniscate.svg directly in the initial HTML.
 * The site-brand-* namespace owns the resilient brand block. Decorative
 * lemniscates and page-specific Header rules are intentionally excluded.
 */
html body {
  --site-brand-header-mark-width: 26px;
  --site-brand-footer-mark-width: 26px;
  --site-brand-divider-color: #d6ae3a;
  --site-brand-column-gap: 10px;
  --site-brand-text-gap: 2px;
  --site-brand-divider-min-height: 30px;
  --site-brand-name-size: 16px;
  --site-brand-tagline-size: 11px;
}

html body img.brand-lemniscate.site-brand-mark {
  display: block;
  width: var(--brand-lemniscate-width);
  min-width: var(--brand-lemniscate-width);
  max-width: none;
  height: auto;
  max-height: none;
  aspect-ratio: 48 / 28;
  flex: 0 0 var(--brand-lemniscate-width);
  object-fit: contain;
  object-position: center;
  overflow: visible;
  transform: none;
  scale: none;
  filter: none;
  clip-path: none;
  animation: none;
  transition: none;
}

html body header:is(.site-header, .page-header, .policy-header) .site-brand.site-brand {
  --site-brand-active-mark-width: var(--site-brand-header-mark-width);
}

html body footer.site-footer .site-brand.site-brand {
  --site-brand-active-mark-width: var(--site-brand-footer-mark-width);
}

html body img.brand-lemniscate--header.site-brand-mark,
html body img.brand-lemniscate--footer.site-brand-mark {
  --brand-lemniscate-width: var(--site-brand-active-mark-width);
}

html body header:is(.site-header, .page-header, .policy-header) .site-brand.site-brand,
html body footer.site-footer .site-brand.site-brand {
  display: inline-grid !important;
  min-width: 0 !important;
  max-width: 100%;
  grid-template-columns: var(--site-brand-active-mark-width) 1px minmax(0, max-content) !important;
  column-gap: var(--site-brand-column-gap) !important;
  align-items: center !important;
  color: #071846 !important;
  line-height: 1 !important;
  overflow: visible !important;
}

html body footer.site-footer .site-brand.site-brand {
  width: max-content !important;
}

html body :is(header.site-header, header.page-header, header.policy-header, footer.site-footer)
  .site-brand.site-brand .site-brand-divider {
  display: block !important;
  width: 1px !important;
  min-width: 1px !important;
  height: auto !important;
  min-height: var(--site-brand-divider-min-height);
  align-self: stretch !important;
  margin: 0 !important;
  background: var(--site-brand-divider-color) !important;
  border: 0 !important;
  border-radius: 999px;
  opacity: 0.88 !important;
  transform: none !important;
}

html body :is(header.site-header, header.page-header, header.policy-header, footer.site-footer)
  .site-brand.site-brand .site-brand-text {
  display: grid !important;
  min-width: 0 !important;
  max-width: 100%;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: var(--site-brand-text-gap) !important;
  align-content: center !important;
  overflow: visible !important;
}

html body :is(header.site-header, header.page-header, header.policy-header, footer.site-footer)
  .site-brand.site-brand .site-brand-name {
  display: block !important;
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: visible !important;
  color: #071846 !important;
  font-size: var(--site-brand-name-size) !important;
  font-weight: 800 !important;
  line-height: 1.05 !important;
  letter-spacing: -0.025em !important;
  white-space: nowrap !important;
  text-overflow: clip !important;
  visibility: visible !important;
  opacity: 1 !important;
}

html body :is(header.site-header, header.page-header, header.policy-header, footer.site-footer)
  .site-brand.site-brand .site-brand-tagline {
  display: block !important;
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: visible !important;
  color: #5d687d !important;
  font-size: var(--site-brand-tagline-size) !important;
  font-weight: 550 !important;
  line-height: 1.15 !important;
  letter-spacing: -0.01em !important;
  white-space: nowrap !important;
  visibility: visible !important;
  opacity: 1 !important;
}

@media (max-width: 767px) {
  html body {
    --site-brand-header-mark-width: 18px;
    --site-brand-footer-mark-width: 18px;
    --site-brand-column-gap: 7px;
    --site-brand-text-gap: 0px;
    --site-brand-divider-min-height: 20px;
    --site-brand-name-size: 15px;
    --site-brand-tagline-size: 9px;
  }

  html body header:is(.site-header, .page-header, .policy-header) .site-brand.site-brand,
  html body footer.site-footer .site-brand.site-brand {
    grid-template-columns: var(--site-brand-active-mark-width) 1px minmax(0, 1fr) !important;
  }

  html body header:is(.site-header, .page-header, .policy-header) .site-brand.site-brand {
    width: auto !important;
  }

  html body footer.site-footer .site-brand.site-brand {
    width: max-content !important;
  }

  html body :is(header.site-header, header.page-header, header.policy-header, footer.site-footer)
    .site-brand.site-brand .site-brand-tagline {
    display: none !important;
  }

}

@media (max-width: 350px) {
  html body {
    --site-brand-column-gap: 6px;
  }

  html body header:is(.site-header, .page-header, .policy-header) .site-brand.site-brand {
    --site-brand-name-size: 14.5px;
    --site-brand-tagline-size: 8.5px;
  }

}
