.hero.hero-banner{display:block;min-height:0;padding:0}
.hero-banner-visual{min-height:clamp(600px,78svh,850px);padding:clamp(3rem,7vw,7rem) 4vw 2rem;display:flex;flex-direction:column;justify-content:space-between;background-image:linear-gradient(180deg,rgba(0,0,0,.59),rgba(0,0,0,.30) 48%,rgba(0,0,0,.5)),url("hero-construction-v3.webp");background-size:cover;background-position:center 56%;color:var(--white)}
.hero-banner .hero-copy{max-width:1000px}
.hero-banner .hero-copy .eyebrow{color:var(--white);text-shadow:0 1px 3px rgba(0,0,0,.4)}
.hero-banner h1{color:var(--white);text-shadow:0 2px 12px rgba(0,0,0,.35)}
.hero-banner h1 em{color:var(--lime);-webkit-text-stroke:0}
.hero-banner .hero-actions{margin-top:2.5rem}
.hero-banner .hero-actions .button{background:var(--lime);color:var(--ink)}
.hero-banner .hero-actions .button:hover{background:#c9ef35}
.hero-banner .text-link{color:var(--white)}
.hero-caption{display:flex;justify-content:space-between;gap:1rem;max-width:300px;text-transform:uppercase;font-size:.72rem;letter-spacing:.12em}
.hero-caption strong{color:var(--lime)}
.hero-banner-details{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,350px);gap:4vw;align-items:center;padding:2.5rem 4vw}
.hero-banner-details .lead{margin:0;max-width:800px}
@media(max-width:900px){.hero-banner-details{grid-template-columns:1fr}}
@media(max-width:560px){
  .hero-banner-visual{min-height:max(540px,calc(100svh - 170px));padding:2.2rem 5vw 1.5rem;background-position:46% 61%}
  .hero-banner h1{font-size:clamp(2.7rem,10vw,3.7rem);line-height:.91}
  .hero-banner .hero-actions{margin-top:1.5rem;gap:1rem}
  .hero-banner .hero-actions .button{min-height:44px}
  .hero-banner-details{padding:2rem 5vw}
}

/* Mobile hero begins immediately below the 64px navigation bar. */
@media (max-width: 767.98px) {
  .hero.hero-banner { margin-top: 0; padding-top: 0; }
  .hero-banner-visual {
    min-height: calc(100svh - 64px);
    padding: 2rem 5vw 1.5rem;
    background-position: 46% 61%;
  }
  .hero-banner h1 { font-size: clamp(2.7rem, 8vw, 3.7rem); line-height: .91; }
  .hero-banner .hero-actions { margin-top: 1.5rem; gap: 1rem; }
  .hero-banner .hero-actions .button { min-height: 44px; }
}
