/* ── hero-site-header ────────────────────────────────────────────────────── */
.hero-site-header { padding-block: 0; }
.hero-site-header__utility {
  background: var(--hero-secondary); color: var(--hero-on-secondary); font-size: var(--hero-text-small);
}
.hero-site-header__utility .hero-block__inner {
  display: flex; align-items: center; justify-content: flex-end; gap: 1.5rem; padding-block: .4rem;
}
.hero-site-header__utility-menu { list-style: none; margin: 0; padding: 0; display: flex; gap: 1.25rem; }
.hero-site-header__utility a { color: inherit; text-decoration: none; }

.hero-site-header__inner {
  display: flex; align-items: center; justify-content: space-between;
  gap: 1.5rem; padding-block: .85rem;
}
.hero-site-header__logo { display: block; width: auto; }
.hero-site-header[data-hero-logo-size="small"]  .hero-site-header__logo { max-height: 2.25rem; }
.hero-site-header[data-hero-logo-size="medium"] .hero-site-header__logo { max-height: 3rem; }
.hero-site-header[data-hero-logo-size="large"]  .hero-site-header__logo { max-height: 4rem; }
.hero-site-header__wordmark { font-weight: 800; font-size: var(--hero-text-lead); }
.hero-site-header__logo-link { text-decoration: none; color: inherit; display: inline-flex; }

.hero-site-header__menu { list-style: none; margin: 0; padding: 0; display: flex; gap: clamp(1rem, 2vw, 1.75rem); }
.hero-site-header__menu a { text-decoration: none; color: inherit; font-weight: 600; padding-block: .35rem; display: inline-block; }
.hero-site-header[data-hero-pointer="underline"] .hero-site-header__menu a:hover { box-shadow: inset 0 -2px 0 currentColor; }
.hero-site-header[data-hero-pointer="highlight"] .hero-site-header__menu a:hover { background: var(--hero-surface-muted); border-radius: var(--hero-radius-button); padding-inline: .5rem; }
.hero-site-header[data-hero-pointer="brand-bar"] .hero-site-header__menu a:hover { box-shadow: inset 0 -3px 0 var(--hero-primary); }

.hero-site-header__actions { display: flex; align-items: center; gap: .75rem; }
.hero-site-header__phone { text-decoration: none; color: inherit; font-weight: 700; }
.hero-site-header__phone[data-hero-prominence="quiet"]     { font-weight: 500; font-size: var(--hero-text-label); opacity: .85; }
.hero-site-header__phone[data-hero-prominence="prominent"] { font-size: 1.125rem; color: var(--hero-primary); }
.hero-site-header__phone[data-hero-prominence="button"] {
  padding: .6em 1.2em; border-radius: var(--hero-radius-button);
  background: var(--hero-primary); color: var(--hero-on-primary);
}

.hero-site-header[data-hero-layout="dark-band"] .hero-site-header__bar {
  background: var(--hero-dark-bg); color: var(--hero-dark-text);
}
.hero-site-header[data-hero-layout="dark-band"] .hero-site-header__phone[data-hero-prominence="prominent"] { color: inherit; }

.hero-site-header[data-hero-sticky="sticky"] { position: sticky; top: 0; z-index: 50; background: inherit; }

/* Transparent only over the hero — once it sticks it needs a background or the
   links land on top of the page content. */
.hero-site-header[data-hero-transparent="yes"] {
  position: absolute; inset-inline: 0; top: 0; z-index: 50; background: transparent; color: var(--hero-on-scrim);
}
.hero-site-header[data-hero-transparent="yes"][data-hero-sticky="sticky"] { position: sticky; }

.hero-site-header__toggle {
  display: inline-grid; place-items: center; width: 2.75rem; height: 2.75rem;
  background: none; border: 0; cursor: pointer; color: inherit;
}
.hero-site-header__toggle-bars,
.hero-site-header__toggle-bars::before,
.hero-site-header__toggle-bars::after {
  display: block; width: 1.5rem; height: 2px; background: currentColor; content: "";
}
.hero-site-header__toggle-bars { position: relative; }
.hero-site-header__toggle-bars::before { position: absolute; top: -7px; }
.hero-site-header__toggle-bars::after  { position: absolute; top: 7px; }

@media (min-width: 1025px) { .hero-site-header__toggle { display: none; } }
@media (max-width: 1024px) { .hero-site-header__nav { display: none; } }

@media (min-width: 1025px) {
  .hero-site-header[data-hero-layout="stacked"] .hero-site-header__inner { flex-direction: column; gap: .75rem; }
  .hero-site-header[data-hero-layout="centered"] .hero-site-header__inner { justify-content: center; }
  .hero-site-header[data-hero-layout="centered"] .hero-site-header__nav { order: -1; flex: 1; }
}
