
/* =========================================================
   LEO & SON V42 — H1 + RESPONSIVE SPACING PASS
   Loaded after previous styles to normalize all hero layouts.
========================================================= */

/* ---------- Shared secondary-page hero ---------- */
.local-hero.unified-page-hero{
  min-height:520px!important;
}

.local-hero.unified-page-hero .container{
  padding-top:76px!important;
  padding-bottom:76px!important;
}

.local-hero.unified-page-hero .local-hero-copy{
  max-width:920px!important;
}

.local-hero.unified-page-hero .local-eyebrow{
  margin-bottom:13px!important;
  line-height:1.4!important;
}

.local-hero.unified-page-hero h1{
  max-width:900px!important;
  margin:0 0 16px!important;
  font-size:clamp(3rem,4.6vw,4.35rem)!important;
  line-height:1.025!important;
  letter-spacing:-.03em!important;
  text-wrap:pretty!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}

.local-hero.unified-page-hero h1.hero-title-long{
  max-width:940px!important;
  font-size:clamp(2.8rem,4.15vw,4rem)!important;
  line-height:1.035!important;
}

.local-hero.unified-page-hero p{
  max-width:720px!important;
  font-size:1.03rem!important;
  line-height:1.64!important;
}

.local-hero.unified-page-hero .local-hero-actions{
  margin-top:25px!important;
  gap:11px!important;
}

/* ---------- Homepage hero ---------- */
.premium-hero.unified-home-hero{
  min-height:630px!important;
}

.premium-hero.unified-home-hero .premium-hero-content{
  max-width:900px!important;
}

.premium-hero.unified-home-hero h1{
  max-width:860px!important;
  margin:0 0 16px!important;
  font-size:clamp(3rem,4.7vw,4.45rem)!important;
  line-height:1.025!important;
  letter-spacing:-.03em!important;
  text-wrap:pretty!important;
}

.premium-hero.unified-home-hero h1 .hero-title-main,
.premium-hero.unified-home-hero h1 .hero-gold-line{
  display:block!important;
}

.premium-hero.unified-home-hero h1 .hero-title-main{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}

.premium-hero.unified-home-hero h1 .hero-gold-line{
  margin-top:4px!important;
  color:#f8c800!important;
  -webkit-text-fill-color:#f8c800!important;
}

.premium-hero.unified-home-hero .hero-description{
  max-width:720px!important;
  font-size:1.03rem!important;
  line-height:1.64!important;
}

.premium-hero.unified-home-hero .hero-actions{
  margin-top:25px!important;
}

/* ---------- Tablet ---------- */
@media (min-width:761px) and (max-width:1050px){
  .local-hero.unified-page-hero{
    min-height:540px!important;
  }

  .local-hero.unified-page-hero .container{
    padding-top:70px!important;
    padding-bottom:70px!important;
  }

  .local-hero.unified-page-hero .local-hero-copy{
    max-width:860px!important;
  }

  .local-hero.unified-page-hero h1{
    font-size:clamp(2.7rem,6vw,3.8rem)!important;
    line-height:1.035!important;
  }

  .local-hero.unified-page-hero h1.hero-title-long{
    font-size:clamp(2.5rem,5.4vw,3.45rem)!important;
  }

  .premium-hero.unified-home-hero h1{
    font-size:clamp(2.8rem,6vw,4rem)!important;
    line-height:1.035!important;
  }
}

/* ---------- Mobile ---------- */
@media (max-width:760px){
  .local-hero.unified-page-hero{
    min-height:0!important;
    align-items:flex-start!important;
  }

  .local-hero.unified-page-hero .container{
    padding-top:56px!important;
    padding-bottom:50px!important;
  }

  .local-hero.unified-page-hero .local-hero-copy{
    width:100%!important;
    max-width:100%!important;
    padding-left:16px!important;
    border-left-width:2px!important;
  }

  .local-hero.unified-page-hero .local-eyebrow{
    margin-bottom:11px!important;
    gap:7px!important;
    font-size:.66rem!important;
    letter-spacing:.105em!important;
    line-height:1.45!important;
  }

  .local-hero.unified-page-hero .local-eyebrow::before{
    width:24px!important;
  }

  .local-hero.unified-page-hero h1{
    width:100%!important;
    max-width:100%!important;
    margin:0 0 14px!important;
    font-size:2.12rem!important;
    line-height:1.065!important;
    letter-spacing:-.025em!important;
    text-wrap:pretty!important;
  }

  .local-hero.unified-page-hero h1.hero-title-long{
    font-size:2rem!important;
    line-height:1.075!important;
  }

  .local-hero.unified-page-hero p{
    max-width:100%!important;
    font-size:.95rem!important;
    line-height:1.55!important;
  }

  .local-hero.unified-page-hero .local-hero-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:9px!important;
    width:100%!important;
    max-width:360px!important;
    margin-top:22px!important;
  }

  .local-hero.unified-page-hero .local-hero-actions a{
    width:100%!important;
    min-height:48px!important;
    padding:11px 15px!important;
    font-size:.90rem!important;
  }

  /* Homepage */
  .premium-hero.unified-home-hero{
    min-height:0!important;
  }

  .premium-hero.unified-home-hero .hero-inner{
    padding-top:54px!important;
    padding-bottom:48px!important;
  }

  .premium-hero.unified-home-hero .premium-hero-content{
    width:100%!important;
    max-width:100%!important;
    padding-left:16px!important;
    border-left-width:2px!important;
  }

  .premium-hero.unified-home-hero .eyebrow{
    margin-bottom:11px!important;
    gap:7px!important;
    font-size:.66rem!important;
    letter-spacing:.10em!important;
    line-height:1.4!important;
  }

  .premium-hero.unified-home-hero .eyebrow::before{
    width:24px!important;
  }

  .premium-hero.unified-home-hero h1{
    width:100%!important;
    max-width:100%!important;
    margin:0 0 14px!important;
    font-size:2.12rem!important;
    line-height:1.065!important;
    letter-spacing:-.025em!important;
  }

  .premium-hero.unified-home-hero h1 .hero-gold-line{
    margin-top:3px!important;
  }

  .premium-hero.unified-home-hero .hero-description{
    max-width:100%!important;
    font-size:.95rem!important;
    line-height:1.55!important;
  }

  .premium-hero.unified-home-hero .hero-actions{
    gap:9px!important;
    margin-top:22px!important;
  }

  .premium-hero.unified-home-hero .hero-actions .btn{
    min-height:48px!important;
    padding:11px 12px!important;
    font-size:.90rem!important;
  }
}

/* ---------- Small phones ---------- */
@media (max-width:360px){
  .local-hero.unified-page-hero .container{
    padding-top:50px!important;
    padding-bottom:44px!important;
  }

  .local-hero.unified-page-hero h1{
    font-size:1.98rem!important;
  }

  .local-hero.unified-page-hero h1.hero-title-long{
    font-size:1.86rem!important;
  }

  .premium-hero.unified-home-hero h1{
    font-size:1.98rem!important;
  }

  .local-hero.unified-page-hero p,
  .premium-hero.unified-home-hero .hero-description{
    font-size:.92rem!important;
  }
}

/* ---------- General responsive safeguards ---------- */
@media (max-width:760px){
  main,
  section,
  .container,
  .content,
  .local-hero-copy,
  .premium-hero-content{
    min-width:0!important;
  }

  img,
  video{
    max-width:100%;
  }

  input,
  select,
  textarea,
  button{
    max-width:100%;
  }
}


/* =========================================================
   V42 FINAL HERO CONSISTENCY
========================================================= */

/* Use the same sans-serif hero typography on every page. */
.premium-hero.unified-home-hero h1,
.local-hero.unified-page-hero h1{
  font-family:Inter,Arial,Helvetica,sans-serif!important;
}

/* Homepage should be prominent, but not dramatically taller than every other page. */
@media (min-width:1051px){
  .premium-hero.unified-home-hero{
    height:620px!important;
    min-height:620px!important;
    max-height:620px!important;
  }
}

@media (min-width:761px) and (max-width:1050px){
  .premium-hero.unified-home-hero{
    height:580px!important;
    min-height:580px!important;
    max-height:580px!important;
  }
}
