/* ---- Cornerstone: keep anchor links from landing under the sticky header ---- */
html { scroll-padding-top: 104px; }
[id] { scroll-margin-top: 104px; }

/* ---- Cornerstone: button contrast lock ---- */
.cs-btn-call,
.elementor-button.cs-btn-call {
  background-color: #F4972F !important;
  color: #16232E !important;
  font-family: "Archivo", sans-serif;
  font-weight: 700;
  border-radius: 10px;
}
.cs-btn-call:hover { background-color: #FFA742 !important; color: #16232E !important; }

.cs-btn-blue,
.elementor-button.cs-btn-blue {
  background-color: #0F6FA3 !important;
  color: #FFFFFF !important;
  font-family: "Archivo", sans-serif;
  font-weight: 700;
  border-radius: 10px;
}
.cs-btn-blue:hover { background-color: #0B4C71 !important; }

/* ---- Cornerstone: sticky call bar (phones AND tablets) ---- */
.cs-callbar { display: none; }
@media (max-width: 1024px) {
  .cs-callbar {
    display: block;
    position: fixed; left: 0; right: 0; bottom: 0;
    z-index: 9999;
    background: #F4972F;
    box-shadow: 0 -4px 20px rgba(11,46,69,.28);
  }
  .cs-callbar a {
    display: flex; align-items: center; justify-content: center; gap: 10px;
    padding: 15px; text-decoration: none;
    color: #16232E; font-family: "Archivo", sans-serif;
    font-weight: 800; font-size: 1.08rem;
  }
  body { padding-bottom: 56px; }
}

/* ---- Cornerstone: service-area chips ---- */
.cs-cities { display: flex; flex-wrap: wrap; gap: 8px; }
.cs-cities span {
  background: #fff; border: 1px solid #D3E3EE; border-radius: 99px;
  padding: 7px 15px; font-size: .94rem; font-weight: 600; color: #16232E;
}
.cs-cities span.cs-hq { background: #0F6FA3; border-color: #0F6FA3; color: #fff; }

/* ---- Cornerstone: price band cells ---- */
.cs-price-n {
  font-family: "Archivo", sans-serif; font-weight: 800;
  font-size: clamp(1.7rem, 1.1rem + 1.7vw, 2.3rem);
  color: #F4972F; line-height: 1.1;
  font-variant-numeric: tabular-nums;
}