/* Balanced, responsive estimate forms shared across the website */
.estimate{
  padding:88px 0!important;
}
.estimate .estimate-grid{
  width:min(1080px,calc(100% - 40px))!important;
  max-width:1080px!important;
  grid-template-columns:.9fr 1.1fr!important;
  margin-left:auto!important;
  margin-right:auto!important;
  border-radius:24px!important;
}
.estimate .estimate-grid>div,
.estimate .estimate-copy{
  min-height:550px!important;
  padding:52px 46px!important;
}
.estimate h2{
  font-size:clamp(2.45rem,4vw,3.75rem)!important;
  line-height:1.06!important;
}
.estimate form,
.estimate .form{
  width:auto!important;
  margin:26px!important;
  padding:30px!important;
  gap:12px!important;
  border-radius:18px!important;
}
.estimate form:before,
.estimate .form:before{
  margin-bottom:3px!important;
  font-size:1.08rem!important;
}
.estimate form h3{
  margin-bottom:8px!important;
  font-size:1.08rem!important;
}
.estimate form input,
.estimate form select,
.estimate form textarea,
.estimate .form input,
.estimate .form select,
.estimate .form textarea{
  min-height:52px!important;
  padding:13px 15px!important;
  border-radius:9px!important;
  font-size:.92rem!important;
}
.estimate form textarea,
.estimate .form textarea{
  min-height:108px!important;
}
.estimate form button,
.estimate .form button{
  min-height:50px!important;
  margin-top:3px!important;
  border-radius:10px!important;
}

@media(max-width:900px){
  .estimate .estimate-grid{
    grid-template-columns:1fr!important;
    max-width:720px!important;
  }
  .estimate .estimate-grid>div,
  .estimate .estimate-copy{
    min-height:auto!important;
    padding:42px 38px!important;
  }
  .estimate form,
  .estimate .form{
    margin:22px!important;
  }
}

@media(max-width:580px){
  .estimate{
    padding:64px 0!important;
  }
  .estimate .estimate-grid{
    width:min(100% - 24px,720px)!important;
    border-radius:17px!important;
  }
  .estimate .estimate-grid>div,
  .estimate .estimate-copy{
    padding:34px 22px!important;
  }
  .estimate h2{
    font-size:2.25rem!important;
  }
  .estimate form,
  .estimate .form{
    grid-template-columns:1fr!important;
    margin:12px!important;
    padding:18px!important;
    gap:10px!important;
    border-radius:14px!important;
  }
  .estimate form input,
  .estimate form select,
  .estimate form textarea,
  .estimate .form input,
  .estimate .form select,
  .estimate .form textarea{
    grid-column:1!important;
    min-height:48px!important;
    padding:12px 13px!important;
    font-size:.88rem!important;
  }
  .estimate form textarea,
  .estimate .form textarea{
    min-height:94px!important;
  }
  .estimate form button,
  .estimate .form button{
    grid-column:1!important;
    min-height:47px!important;
  }
}
