/* Reference hero system: a dark, type-led left panel mirrors the supplied composition while the live tracked survey remains visible on the right. */
/* Header/survey integration: the shared #estimate anchor stays inside the request panel so header and hero CTAs lead to the preserved GoHighLevel survey. */
:root{
  --stahls-charcoal:#151816;
  --stahls-charcoal-deep:#101311;
  --stahls-lime:#7ed340;
  --stahls-lime-dark:#63b62d;
  --stahls-paper:#f4f1e7;
  --stahls-ink:#161a17;
  --stahls-muted:#d5d9d3;
}

body.homepage-enhanced .home-hero,
body.homepage-enhanced .hero{
  display:none!important;
}

.top-estimate-panel{
  position:relative!important;
  display:grid!important;
  grid-template-columns:minmax(0,.96fr) minmax(440px,1.04fr)!important;
  width:min(100%,1534px)!important;
  margin:0 auto!important;
  overflow:hidden!important;
  background:var(--stahls-charcoal)!important;
  border-top:5px solid var(--stahls-lime)!important;
  border-bottom:1px solid rgba(126,211,64,.34)!important;
}

.estimate-anchor{
  position:absolute!important;
  inset:0 auto auto 0!important;
  width:1px!important;
  height:1px!important;
  scroll-margin-top:6rem!important;
}

.top-estimate-panel__intro{
  position:relative!important;
  display:flex!important;
  min-height:790px!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  padding:clamp(3.25rem,6.4vw,7.15rem) clamp(1.75rem,6.65vw,6.55rem) clamp(2.4rem,4.2vw,4.35rem)!important;
  background:radial-gradient(circle at 9% 24%,rgba(255,255,255,.035),transparent 33%),linear-gradient(135deg,#191e1a 0%,var(--stahls-charcoal-deep) 100%)!important;
  color:#fff!important;
}

.top-estimate-panel__kicker{
  margin:0 0 clamp(1.75rem,3.6vw,3.2rem)!important;
  color:var(--stahls-lime)!important;
  font-family:"Barlow Condensed",Arial,sans-serif!important;
  font-size:clamp(.88rem,1.22vw,1.28rem)!important;
  font-weight:900!important;
  letter-spacing:.125em!important;
  line-height:1!important;
  text-transform:uppercase!important;
}

.top-estimate-panel__title{
  max-width:10.5ch!important;
  margin:0!important;
  color:#fff!important;
  font-family:"Barlow Condensed",Arial,sans-serif!important;
  font-size:clamp(4.15rem,6.7vw,7.05rem)!important;
  font-weight:900!important;
  letter-spacing:-.025em!important;
  line-height:.78!important;
  text-transform:uppercase!important;
}

.top-estimate-panel__title em{
  display:block!important;
  color:var(--stahls-lime)!important;
  font-style:italic!important;
}

.top-estimate-panel__copy{
  max-width:37rem!important;
  margin:clamp(1.8rem,3.2vw,3.15rem) 0 0!important;
  color:var(--stahls-muted)!important;
  font-family:"Source Sans 3",Arial,sans-serif!important;
  font-size:clamp(1.06rem,1.45vw,1.43rem)!important;
  font-weight:500!important;
  line-height:1.52!important;
}

.top-hero-actions{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:.9rem!important;
  width:100%!important;
  margin-top:clamp(2rem,3.9vw,3.75rem)!important;
}

.top-hero-actions a{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:4.65rem!important;
  box-sizing:border-box!important;
  border-radius:.25rem!important;
  font-family:"Barlow Condensed",Arial,sans-serif!important;
  font-size:clamp(1.18rem,1.58vw,1.52rem)!important;
  font-weight:900!important;
  letter-spacing:.035em!important;
  line-height:1!important;
  text-decoration:none!important;
  text-transform:uppercase!important;
}

.top-hero-actions__estimate{
  flex:1 1 18.5rem!important;
  gap:1.4rem!important;
  padding:1.1rem 1.4rem 1.1rem 1.65rem!important;
  background:var(--stahls-lime)!important;
  color:var(--stahls-ink)!important;
}

.top-hero-actions__arrow{
  font-family:Arial,sans-serif!important;
  font-size:1.9em!important;
  font-weight:400!important;
  line-height:.8!important;
}

.top-hero-actions__phone{
  flex:1 1 15.3rem!important;
  gap:.75rem!important;
  padding:1.1rem 1.35rem!important;
  border:1px solid rgba(255,255,255,.88)!important;
  color:#fff!important;
}

.top-hero-actions__phone svg{
  width:1.45rem!important;
  height:1.45rem!important;
  flex:none!important;
}

.top-hero-actions a:focus-visible,
.top-hero-scroll-cue:focus-visible{
  outline:3px solid #fff!important;
  outline-offset:4px!important;
}

.top-hero-scroll-cue{
  display:inline-flex!important;
  align-items:center!important;
  gap:.75rem!important;
  margin-top:auto!important;
  padding-top:3rem!important;
  color:rgba(255,255,255,.66)!important;
  font-family:"Source Sans 3",Arial,sans-serif!important;
  font-size:.83rem!important;
  font-weight:700!important;
  letter-spacing:.12em!important;
  line-height:1!important;
  text-decoration:none!important;
  text-transform:uppercase!important;
}

.top-hero-scroll-cue span:first-child{
  color:var(--stahls-lime)!important;
  font-family:Arial,sans-serif!important;
  font-size:1.8rem!important;
  font-weight:400!important;
  line-height:.8!important;
}

.top-estimate-panel__request{
  position:relative!important;
  min-width:0!important;
  padding:clamp(1rem,3vw,3.4rem)!important;
  background:var(--stahls-paper)!important;
  border-left:1px solid rgba(22,26,23,.12)!important;
  color:var(--stahls-ink)!important;
}

.top-estimate-panel__request::before{
  position:absolute!important;
  top:clamp(1rem,3vw,3.4rem)!important;
  right:clamp(1rem,3vw,3.4rem)!important;
  left:clamp(1rem,3vw,3.4rem)!important;
  height:5px!important;
  background:var(--stahls-lime)!important;
  content:""!important;
}

.top-estimate-panel .ghl-form-card{
  display:block!important;
  max-width:38.5rem!important;
  min-height:0!important;
  margin:1.5rem auto 0!important;
  padding:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

.top-estimate-panel .ghl-form-frame{
  min-height:760px!important;
  background:#fff!important;
}

@media(max-width:1100px){
  .top-estimate-panel{
    grid-template-columns:minmax(0,.91fr) minmax(390px,1.09fr)!important;
  }
  .top-estimate-panel__intro{
    min-height:720px!important;
    padding:3.5rem 2.8rem 2.5rem!important;
  }
  .top-estimate-panel__title{
    font-size:clamp(3.85rem,6.8vw,5.95rem)!important;
  }
  .top-hero-actions__estimate,
  .top-hero-actions__phone{
    flex-basis:100%!important;
  }
}

@media(max-width:800px){
  .top-estimate-panel{
    display:flex!important;
    flex-direction:column!important;
  }
  .top-estimate-panel__intro{
    order:1!important;
    min-height:auto!important;
    padding:3.35rem 1.3rem 2rem!important;
  }
  .top-estimate-panel__kicker{
    margin-bottom:1.7rem!important;
  }
  .top-estimate-panel__title{
    max-width:11ch!important;
    font-size:clamp(3.45rem,13.9vw,5.35rem)!important;
  }
  .top-estimate-panel__copy{
    margin-top:1.75rem!important;
    font-size:1.13rem!important;
  }
  .top-hero-actions{
    margin-top:2.1rem!important;
  }
  .top-hero-actions__estimate,
  .top-hero-actions__phone{
    flex:1 1 100%!important;
  }
  .top-hero-scroll-cue{
    margin-top:2.9rem!important;
    padding-top:0!important;
  }
  .top-estimate-panel__request{
    order:2!important;
    padding:.85rem!important;
    border-top:4px solid var(--stahls-lime)!important;
    border-left:0!important;
  }
  .top-estimate-panel__request::before{
    top:.85rem!important;
    right:.85rem!important;
    left:.85rem!important;
  }
  .top-estimate-panel .ghl-form-card{
    margin-top:1.35rem!important;
  }
  .top-estimate-panel .ghl-form-frame{
    min-height:720px!important;
  }
}

@media(max-width:420px){
  .top-estimate-panel__intro{
    padding:2.7rem 1rem 1.7rem!important;
  }
  .top-estimate-panel__kicker{
    font-size:.78rem!important;
  }
  .top-estimate-panel__title{
    font-size:clamp(3.15rem,15.3vw,4.1rem)!important;
  }
  .top-estimate-panel__copy{
    font-size:1.04rem!important;
  }
  .top-hero-actions a{
    min-height:4.1rem!important;
    font-size:1.15rem!important;
  }
  .top-hero-actions__estimate{
    padding-inline:1rem!important;
  }
}

@media(prefers-reduced-motion:no-preference){
  .top-hero-actions a,
  .top-hero-scroll-cue{
    transition:transform .16s cubic-bezier(.23,1,.32,1),background-color .18s ease,color .18s ease,border-color .18s ease!important;
  }
  .top-hero-actions__estimate:hover,
  .top-hero-actions__estimate:focus-visible{
    background:#93e358!important;
  }
  .top-hero-actions__phone:hover,
  .top-hero-actions__phone:focus-visible{
    border-color:var(--stahls-lime)!important;
    color:var(--stahls-lime)!important;
  }
  .top-hero-actions a:active{
    transform:scale(.97)!important;
  }
  .top-hero-scroll-cue:hover{
    color:#fff!important;
    transform:translateY(2px)!important;
  }
}
