/* Drivesoft V11: compact banner typography and the taller homepage photograph.
   Loaded after existing styles. Body copy, navigation and lower page sections
   keep their existing typography. */
html body .hero h1,
html body .page-hero h1,
html body.metal .page-hero.fabrication-image-hero h1,
html body .ez-vehicle-hero h1 {
  font-size:clamp(2rem,3.6vw,3.25rem)!important;
  line-height:1.1!important;
  letter-spacing:-.035em!important;
  margin:.4rem 0 .8rem!important;
  text-wrap:balance;
  overflow-wrap:break-word;
}
html body .page-hero .hero-overlay h1 {
  font-size:clamp(1.75rem,2.8vw,2.5rem)!important;
}
html body :is(.hero,.page-hero,.ez-vehicle-hero) :is(.lede,.lead,.hero-lede),
html body .ez-showcase-head>p:not(.eyebrow) {
  font-size:clamp(1rem,1.15vw,1.1rem)!important;
  line-height:1.5!important;
  margin:.65rem 0 0!important;
}
html body :is(.hero,.page-hero,.ez-vehicle-hero) :is(.buttons,.actions,.hero-actions) {
  margin-top:1.1rem!important;
  gap:.65rem!important;
}
html body :is(.hero,.page-hero,.ez-vehicle-hero) :is(.btn,.button) {
  font-size:.9375rem;
  line-height:1.3;
  min-height:44px;
  align-items:center;
}

/* Keep the new 16:9 scene in proportion, including the building's full width. */
@media(min-width:681px) {
  html body.home .hero {
    min-height:0!important;
    aspect-ratio:16/9;
    align-items:start;
  }
  html body.home .hero-bg {
    background-image:linear-gradient(180deg,#06101ad9 0%,#07121d80 23%,#07121d20 43%,transparent 65%),url('/assets/Drivesoft-Homepage-Hero-Tall-v11.jpg')!important;
    background-size:cover,cover!important;
    background-position:center,center!important;
    background-repeat:no-repeat,no-repeat!important;
  }
  html body.home .hero-copy {
    padding:clamp(1.5rem,3vw,2.6rem) 0 1.5rem!important;
  }
}

@media(max-width:680px) {
  html body .hero h1,
  html body .page-hero h1,
  html body .page-hero .hero-overlay h1,
  html body.metal .page-hero.fabrication-image-hero h1,
  html body .ez-vehicle-hero h1 {
    font-size:clamp(1.75rem,7vw,2rem)!important;
    line-height:1.12!important;
    margin:.35rem 0 .65rem!important;
  }
  html body :is(.hero,.page-hero,.ez-vehicle-hero) :is(.lede,.lead,.hero-lede),
  html body .ez-showcase-head>p:not(.eyebrow) {
    font-size:1rem!important;
    line-height:1.45!important;
  }
  html body :is(.hero,.page-hero,.ez-vehicle-hero) :is(.eyebrow,.kicker) {
    font-size:.6875rem!important;
    line-height:1.5!important;
    letter-spacing:.1em!important;
    margin:0 0 .45rem!important;
  }
  html body .hero .hero-copy,
  html body .ez-showcase-head {
    padding-block:1.5rem 1.75rem!important;
  }
  html body:not(.home):not(.southern):not(.audio) .hero {
    min-height:420px!important;
  }
  html body .ez-vehicle-hero {min-height:420px!important;}
  html body.manufacturing .page-hero>.wrap,
  html body.metal .page-hero.fabrication-image-hero>.wrap {
    min-height:0!important;
    padding-top:1.5rem!important;
    padding-bottom:1.75rem!important;
  }
  html body .hero-copy-band {
    padding-block:1.5rem 1.75rem!important;
  }
  html body.southern .southern-approved-hero>.wrap {
    padding-top:1.5rem!important;
    padding-bottom:1.75rem!important;
  }
  html body.southern .southern-approved-hero .hero-copy {
    padding:0!important;
  }
  /* The training page's overlay must not cover its entire image on phones. */
  html body.placeholder-market .page-hero .hero-overlay {
    position:relative!important;
    left:auto!important;
    right:auto!important;
    bottom:auto!important;
    width:auto!important;
    margin:0!important;
    padding:1.5rem 1rem 1.75rem!important;
    border:0;
    border-radius:0;
    box-shadow:none;
    background:#071018;
  }
  html body.home .hero {min-height:0!important;aspect-ratio:auto;}
  html body.home .hero-bg {
    aspect-ratio:16/9!important;
    background-image:url('/assets/Drivesoft-Homepage-Hero-Tall-v11.jpg')!important;
    background-size:contain!important;
    background-position:center!important;
    background-repeat:no-repeat!important;
  }
  html body.home .hero-copy {padding-block:1.25rem 1.5rem!important;}
}
