/* homeowner-cta-v1 — driveway/patio/sidewalk first screen + sticky Call/Text/Estimate */
body.homeowner-cta{
  padding-bottom:5.25rem;
}
body.homeowner-cta .hero-bleed h1,
body.homeowner-cta[data-route-slug="overview"] .hero-bleed h1{
  max-width:18em;
}
body.homeowner-cta .hero-bleed .lede{
  max-width:36rem;
}
body.homeowner-cta .hero-actions{
  flex-wrap:nowrap;
  justify-content:flex-start;
}
body.homeowner-cta .hero-actions .cta,
body.homeowner-cta .hero-actions .phone-pill{
  flex:1 1 0;
  display:inline-flex !important;
  min-width:0;
  width:auto;
  padding:.75rem .7rem;
}
body.homeowner-cta .hero-actions .cta-number{
  display:inline;
  margin-left:.35rem;
}
body.homeowner-cta .rgm-home-rail{
  grid-template-columns:repeat(4,minmax(0,1fr));
}
body.homeowner-cta .rgm-home-rail--surfaces{
  margin-top:1.25rem;
}
body.homeowner-cta .surface-extra{
  margin:.85rem 0 0;
  color:#435047;
  font-size:.98rem;
  line-height:1.5;
}
body.homeowner-cta .surface-extra a{
  color:var(--brand);
  font-weight:800;
}
body.homeowner-cta .hire-intent{
  margin-top:1.5rem;
}
body.homeowner-cta .hire-intent .rgm-heading{
  max-width:22rem;
  text-wrap:balance;
}
body.homeowner-cta .hire-intent .rgm-local__story p:last-child{
  margin-bottom:0;
}
body.homeowner-cta .hire-intent a[href^="tel:"]{
  color:var(--brand);
  font-weight:800;
  overflow-wrap:anywhere;
}
body.homeowner-cta .sticky-cta{
  display:flex !important;
  position:fixed !important;
  left:0;
  right:0;
  bottom:0;
  inset:auto 0 0 0;
  z-index:80;
  align-items:stretch;
  justify-content:center;
  gap:.45rem;
  flex-wrap:nowrap;
  min-height:0;
  padding:.55rem .65rem calc(.55rem + env(safe-area-inset-bottom,0px));
  background:color-mix(in srgb,var(--brand) 94%,#000);
  border-top:1px solid rgba(255,255,255,.1);
  box-shadow:0 -10px 30px rgba(0,0,0,.22);
}
body.homeowner-cta .sticky-cta .brand-logo--sticky,
body.homeowner-cta .sticky-cta .sticky-note{
  display:none !important;
}
body.homeowner-cta .sticky-cta a{
  flex:1 1 0;
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  width:auto;
  min-width:0;
  min-height:2.7rem;
  padding:.55rem .4rem;
  font-size:.82rem;
  line-height:1.15;
  text-align:center;
  white-space:normal;
  overflow-wrap:anywhere;
}
body.homeowner-cta .sticky-cta .phone-pill{
  border-color:rgba(255,255,255,.35);
  color:#fff;
}
body.homeowner-cta .sticky-cta .cta{
  background:var(--accent);
  color:#1a1410;
  box-shadow:none;
  letter-spacing:0;
  font-size:.78rem;
}
body.homeowner-cta .estimate-form-wrap{
  min-width:0;
}
body.homeowner-cta .estimate-form{
  display:grid;
  gap:.65rem;
  padding:1.15rem;
  border-radius:14px;
  background:#f8f4ec;
  color:#26362d;
}
body.homeowner-cta .estimate-form label,
body.homeowner-cta .estimate-form legend{
  font-weight:800;
  font-size:.92rem;
  color:#26362d;
}
body.homeowner-cta .estimate-form input,
body.homeowner-cta .estimate-form select,
body.homeowner-cta .estimate-form button{
  display:block;
  width:100%;
  margin-top:.35rem;
  font:inherit;
  padding:.78rem .9rem;
  border-radius:8px;
  border:1px solid #b9ad9d;
  background:#fff;
  box-sizing:border-box;
}
body.homeowner-cta .estimate-form .choice{
  display:flex;
  align-items:center;
  gap:.5rem;
  font-weight:700;
}
body.homeowner-cta .estimate-form .choice input{
  width:auto;
  margin:0;
}
body.homeowner-cta .estimate-form fieldset{
  margin:0;
  padding:.7rem .8rem;
  border:1px solid #d6cbb8;
  border-radius:10px;
  background:#fff;
}
body.homeowner-cta .estimate-form button[type="submit"]{
  margin-top:.2rem;
  border:0;
  background:#ad4f12;
  color:#fff;
  font-weight:850;
  cursor:pointer;
}
body.homeowner-cta .estimate-form .hint,
body.homeowner-cta .estimate-form .preview-note{
  margin:.15rem 0 0;
  color:#435047;
  font-size:.88rem;
  line-height:1.45;
}
body.homeowner-cta .estimate-form:has([name="photo-plan"][value="text"]:checked) .photo-upload{
  display:none;
}
body.homeowner-cta .callrail-form-fallback{
  margin:.85rem 0 0;
  color:#f4efe6;
}
body.homeowner-cta .callrail-form-fallback > summary{
  cursor:pointer;
  font-weight:800;
  color:#fff;
}
body.homeowner-cta .rgm-contact .quiet-note a.phone-pill{
  display:inline;
  min-height:0;
  padding:0;
  border:0;
  color:#fff;
  text-decoration:underline;
}
body.homeowner-cta .decorative-upsell{
  margin-top:1.25rem;
}
body.homeowner-cta .contractor-guide .rgm-copy,
body.homeowner-cta .contractor-guide > p{
  max-width:48rem;
  margin-top:.55rem;
  color:#34433a;
  font-size:1.06rem;
  line-height:1.65;
}
body.homeowner-cta .contractor-guide .rgm-heading{
  max-width:28rem;
  text-wrap:balance;
}
body.homeowner-cta .contractor-substance{
  display:grid;
  gap:1.15rem;
  margin-top:1.25rem;
}
body.homeowner-cta .contractor-substance article{
  background:#fff;
  border:1px solid #d8ccbc;
  border-top:5px solid #ad4f12;
  padding:1.25rem 1.2rem;
  box-shadow:0 12px 28px rgba(28,25,23,.07);
}
body.homeowner-cta .contractor-substance h3{
  margin:0 0 .55rem;
  color:var(--brand);
  font:750 1.2rem/1.25 var(--font-display);
}
body.homeowner-cta .contractor-substance p,
body.homeowner-cta .contractor-substance li{
  margin:0 0 .7rem;
  color:#34433a;
  font-size:1.04rem;
  line-height:1.62;
}
body.homeowner-cta .contractor-substance p:last-child,
body.homeowner-cta .contractor-substance li:last-child{
  margin-bottom:0;
}
body.homeowner-cta .contractor-substance ul{
  margin:.35rem 0 0;
  padding-left:1.15rem;
}
body.homeowner-cta .contractor-substance a{
  color:var(--brand);
  font-weight:800;
}
body.homeowner-cta .okc-surface-rail{
  margin-top:1.15rem;
}

@media (max-width:760px){
  body.homeowner-cta{
    padding-bottom:5.1rem;
  }
  body.homeowner-cta .hero-actions{
    width:100%;
    gap:.5rem;
  }
  body.homeowner-cta .hero-actions .cta,
  body.homeowner-cta .hero-actions .phone-pill{
    padding:.7rem .45rem;
    font-size:.86rem;
  }
  body.homeowner-cta .hero-actions .cta-number{
    display:none;
  }
  body.homeowner-cta .rgm-home-rail{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  body.homeowner-cta .hire-intent{
    grid-template-columns:1fr;
    gap:.85rem;
    margin-top:1.15rem;
  }
  body.homeowner-cta .hire-intent .rgm-heading{
    font-size:1.45rem;
  }
  body.homeowner-cta .contractor-guide .rgm-heading{
    font-size:1.45rem;
    max-width:none;
  }
  body.homeowner-cta .contractor-substance{
    grid-template-columns:1fr;
    gap:.85rem;
  }
  body.homeowner-cta .contractor-substance article{
    padding:1.05rem 1rem;
  }
  body.homeowner-cta .sticky-cta{
    position:fixed !important;
    gap:.35rem;
    padding:.45rem .5rem calc(.45rem + env(safe-area-inset-bottom,0px));
  }
  body.homeowner-cta .sticky-cta a{
    min-height:2.55rem;
    font-size:.78rem;
    padding:.45rem .3rem;
    letter-spacing:0;
    text-transform:none;
  }
}

@media (min-width:761px){
  body.homeowner-cta .contractor-substance{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (min-width:769px){
  body.homeowner-cta{
    padding-bottom:0;
  }
  body.homeowner-cta .sticky-cta{
    display:none !important;
  }
}
