/* Header layout fixes - minimal overrides only where necessary */

/* Sticky header container */
.site-header {
  position: sticky;
  top: 0;
  z-index: 1000;
}

/* Ensure header components are positioned correctly */
.site-header .utility-bar,
.site-header .main-nav {
  position: relative;
  top: 0;
  margin: 0;
  border: 0;
}

/* Remove margin-top from first hero on page */
.site-header + .hero,
.site-header + .services-hero,
body > .hero:first-of-type,
body > .services-hero:first-of-type {
  margin-top: 0;
}

/* Page hero sections (non-homepage) */
.page-hero {
  padding: 48px 16px 40px;
  text-align: center;
}

.page-hero h1 {
  margin: 0.25em 0 0.15em;
  font-weight: 400;
  font-size: clamp(2rem, 2.2vw + 1.2rem, 3rem);
}

.page-hero .lead,
.page-hero .tagline {
  margin-top: 8px;
  font-size: 1.125rem;
  line-height: 1.6;
  opacity: .95;
}

@media (width >= 900px) {
  .page-hero { padding: 60px 16px 48px; }
}

/* Services hero (if used) */
.services-hero {
  margin-top: 0;
  padding: 48px 16px 40px;
  text-align: center;
}

.services-hero h1 {
  margin: 0.25em 0 0.15em;
  font-weight: 400;
  font-size: clamp(2rem, 2.2vw + 1.2rem, 3rem);
}

.services-hero .lead {
  margin-top: 8px;
}

@media (width >= 900px) {
  .services-hero { padding: 60px 16px 48px; }
}
