/* ==========================================================================
   Hero — full-bleed photo/navy hero with headline + optional sidebar form
   Variants: .hero (standard), .hero--home (taller, hosts sticky form),
             .hero--compact (interior pages).
   A11Y: text sits on a navy gradient scrim over the photo so contrast is
   guaranteed regardless of the underlying image (≥4.5:1 verified on scrim).
   ========================================================================== */
.hero {
  position: relative;
  isolation: isolate;
  background: var(--color-primary);
  color: var(--color-text-on-dark);
  overflow: hidden;
}
.hero__media { position: absolute; inset: 0; z-index: -2; }
.hero__media img { width: 100%; height: 100%; object-fit: cover; }
/* Scrim: left-anchored navy gradient keeps headline text legible on any photo. */
.hero__scrim {
  position: absolute; inset: 0; z-index: -1;
  background:
    linear-gradient(90deg, rgb(6 16 32 / 0.92) 0%, rgb(6 16 32 / 0.78) 42%, rgb(6 16 32 / 0.45) 100%),
    linear-gradient(0deg, rgb(6 16 32 / 0.6) 0%, rgb(6 16 32 / 0) 45%);
}

.hero__inner { padding-block: clamp(var(--space-8), 9vw, var(--space-16)); }
.hero--compact .hero__inner { padding-block: clamp(var(--space-6), 6vw, var(--space-10)); }

.hero__content { max-width: 640px; }
.hero .eyebrow { color: #ffd9a3; } /* lighter warm tint for contrast on navy */
.hero .eyebrow::before { background: var(--color-orange); }
.hero h1 {
  color: #ffffff;
  font-size: var(--text-display);
  margin-bottom: var(--space-3);
}
.hero--compact h1 { font-size: var(--text-4xl); }
.hero__subhead {
  font-size: var(--text-lg);
  line-height: var(--leading-relaxed);
  color: var(--color-text-on-dark);
  max-width: 54ch;
  margin-bottom: var(--space-4);
}
.hero__actions { display: flex; flex-wrap: wrap; gap: var(--space-2); }

/* Trust chips under the hero actions (e.g. "DEAC accredited", "Since 2006") */
.hero__trust {
  display: flex; flex-wrap: wrap; gap: var(--space-1) var(--space-3);
  margin-top: var(--space-4);
  font-size: var(--text-sm);
  color: var(--color-text-on-dark-muted);
}
.hero__trust li { display: inline-flex; align-items: center; gap: 0.4rem; list-style: none; }
.hero__trust .icon { color: #ffd9a3; }

/* ---- Home hero with sticky right-rail form ---- */
.hero--home .hero__grid {
  display: grid;
  gap: var(--space-6);
  align-items: start;
}
@media (min-width: 1024px) {
  .hero--home .hero__grid { grid-template-columns: 1.1fr 0.9fr; gap: var(--space-8); }
  .hero--home .hero__content { max-width: none; padding-top: var(--space-2); }
}

/* Breadcrumb on interior heroes */
.breadcrumb { margin-bottom: var(--space-3); }
.breadcrumb ol { display: flex; flex-wrap: wrap; gap: 0.4rem; list-style: none; margin: 0; padding: 0; font-size: var(--text-sm); }
.breadcrumb li { display: inline-flex; align-items: center; gap: 0.4rem; color: var(--color-text-on-dark-muted); }
.breadcrumb a { color: var(--color-text-on-dark); text-decoration: none; }
.breadcrumb a:hover { text-decoration: underline; }
.breadcrumb [aria-current='page'] { color: #ffffff; }
.breadcrumb__sep { color: var(--color-text-on-dark-muted); }

/* Plain (no-photo) hero variant for utility pages */
.hero--plain { background: linear-gradient(160deg, var(--color-primary), var(--color-navy-700)); }
.hero--plain .hero__scrim { display: none; }
