/* hero — stacked intro + asymmetric visual, spotlight below */
.hero {
  position: relative;
  padding: var(--s8) 0 var(--s7);
  background-color: var(--paper);
  background-image:
    linear-gradient(180deg, rgba(243, 251, 255, 0.88), rgba(243, 251, 255, 0.94)),
    url("/assets/home-hero-bg.jpg");
  background-size: cover;
  background-position: center;
  overflow: hidden;
}
.hero-grid {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: var(--s7);
  align-items: center;
}
.hero h1 {
  font-size: clamp(2.1rem, 5.2vw, 3.6rem);
  max-width: 16ch;
  margin-bottom: var(--s4);
}
.hero-lead {
  font-size: 1.12rem;
  max-width: 62ch;
  color: var(--ink);
}
.hero-scope {
  margin: var(--s5) 0;
  padding: var(--s4);
  background: var(--white);
  border: var(--border) solid var(--navy);
  border-radius: var(--radius);
  box-shadow: var(--shadow-sm), var(--inner);
  font-weight: 600;
}
.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--s3);
  margin-top: var(--s5);
}
.hero-meta {
  display: flex;
  flex-wrap: wrap;
  gap: var(--s2);
  margin-top: var(--s5);
}
.hero-visual { align-self: stretch; }
.hero-visual .media { height: 100%; min-height: 280px; }
.hero-spot { margin-top: var(--s7); position: relative; z-index: 2; }

@media (max-width: 860px) {
  .hero { padding: var(--s6) 0 var(--s7); }
  .hero-grid { grid-template-columns: 1fr; }
  .hero h1 { max-width: none; }
}
