/* V95: final light-theme cleanup and cross-page readability pass */
:root{
  --v95-ink:#10233d;
  --v95-blue:#0960bb;
  --v95-deep:#061e3d;
  --v95-sky:#eaf5ff;
  --v95-paper:#f7f9fc;
  --v95-line:#d6e2ee;
  --v95-muted:#526b83;
}

/* Homepage header: use the same tidy proportions as the inner pages. */
body>header{
  min-height:92px!important;
  height:92px!important;
  gap:clamp(18px,2vw,32px)!important;
  padding:0 5vw!important;
  overflow:visible!important;
}
body>header .v91-brand{
  width:230px!important;
  min-width:230px!important;
  padding:0!important;
  border-radius:0!important;
  background:transparent!important;
}
body>header .v91-brand-logo{
  width:230px!important;
  height:78px!important;
  object-position:left center!important;
}
body>header nav{
  align-self:stretch!important;
}
body>header nav>a,
body>header nav .nav-dropdown__trigger{
  display:inline-flex;
  align-items:center;
  min-height:100%;
}

/* Inner pages place their promo strip inside the sticky header.
   Give the strip and navigation their own rows so the logo is never covered. */
.site-header{
  display:block!important;
  min-height:126px!important;
  height:126px!important;
  padding:34px 0 0!important;
}
.site-header .header-inner{
  min-height:92px!important;
  height:92px!important;
  margin-top:0!important;
}

/* Remove legacy underline rules that crossed through dropdown labels. */
.nav-dropdown__trigger,
.nav-dropdown__menu a,
.nav-dropdown__menu strong,
.nav-dropdown__menu small{
  text-decoration:none!important;
  text-decoration-line:none!important;
}
.nav-dropdown__trigger::before,
.nav-dropdown__trigger::after,
.nav-dropdown__menu a::before,
.nav-dropdown__menu a::after{
  content:none!important;
  display:none!important;
}
.nav-dropdown__menu a{
  box-shadow:none!important;
  background-image:none!important;
}
.nav-dropdown__menu a:hover,
.nav-dropdown__menu a:focus-visible{
  text-decoration:none!important;
}

/* The homepage local-search section now uses a purposeful real-world image. */
.google-photo{
  order:2;
  position:relative;
  height:400px;
  margin:0;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.24);
  border-radius:16px;
  background:#dfeeff;
  box-shadow:0 22px 48px rgba(2,25,58,.28);
}
.google-photo img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.google-photo::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 52%,rgba(3,25,55,.76));
  pointer-events:none;
}
.google-photo figcaption{
  position:absolute;
  z-index:1;
  left:20px;
  right:20px;
  bottom:18px;
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:16px;
  color:#fff;
}
.google-photo figcaption b{
  font-size:1.08rem;
  letter-spacing:-.02em;
}
.google-photo figcaption span{
  color:#d6edff;
  font-size:.76rem;
  font-weight:700;
}

/* Use the supplied transparent logo directly in every footer. */
footer .v91-brand,
.site-footer .v91-brand{
  width:245px!important;
  padding:0!important;
  border-radius:0!important;
  background:transparent!important;
}
footer .v91-brand-logo,
.site-footer .v91-brand-logo{
  width:245px!important;
  height:88px!important;
  filter:drop-shadow(0 8px 18px rgba(0,0,0,.22));
}

/* Pricing page readability and a more compact payment display. */
.setup-promise{
  border:1px solid #c7dbef!important;
  background:linear-gradient(120deg,#e7f3ff,#f7fbff)!important;
  box-shadow:0 10px 28px rgba(8,42,85,.07)!important;
}
.setup-promise__label{
  color:#0960bb!important;
}
.setup-promise__copy p{
  color:#48627b!important;
}
.setup-promise__copy strong{
  color:#10233d!important;
}
.payment-assurance{
  display:grid!important;
  grid-template-columns:minmax(250px,1fr) auto minmax(180px,.7fr)!important;
  gap:20px!important;
  padding:17px 19px!important;
}
.payment-logos{
  display:grid!important;
  grid-template-columns:repeat(3,74px)!important;
  gap:7px!important;
  justify-content:center!important;
}
.payment-logo-card{
  width:74px!important;
  min-height:37px!important;
  padding:6px 8px!important;
  border-radius:8px!important;
}
.payment-logo-card img{
  width:100%!important;
  height:18px!important;
  max-height:18px!important;
  object-fit:contain!important;
}
.payment-logo-card--amex img{
  height:22px!important;
  max-height:22px!important;
}
.payment-logo-card--link img{
  width:24px!important;
  height:18px!important;
}
.payment-logo-card--link b{
  font-size:.82rem!important;
}
.payment-availability{
  grid-column:auto!important;
  align-self:center!important;
  justify-self:end!important;
  max-width:190px!important;
  color:#a9bad0!important;
  font-size:.62rem!important;
  line-height:1.5!important;
  text-align:right!important;
}

/* Discuss Your Project: replace the muddy dark card with a clean form panel. */
.form-shell{
  grid-template-columns:minmax(290px,.78fr) minmax(0,1.22fr)!important;
  gap:52px!important;
  padding:44px!important;
  border:1px solid var(--v95-line)!important;
  border-radius:22px!important;
  background:#fff!important;
  color:var(--v95-ink)!important;
  box-shadow:0 20px 50px rgba(8,42,85,.1)!important;
}
.form-copy .eyebrow,
.form-copy h2,
.form-copy p,
.form-copy .contact-line span,
.form-copy .contact-line strong,
.form-copy .contact-line a{
  color:var(--v95-ink)!important;
}
.form-copy .eyebrow{
  color:var(--v95-blue)!important;
}
.form-copy h2{
  margin:15px 0 28px!important;
  font-weight:700!important;
}
.form-copy .contact-line{
  padding:14px 0!important;
  border-bottom:1px solid var(--v95-line)!important;
}
.form-copy .contact-line span{
  color:#637b92!important;
}
.form-copy .contact-line a{
  color:var(--v95-blue)!important;
}
.form-copy>p{
  margin-top:20px!important;
  color:#526b83!important;
}
.form-shell .field label{
  color:#27435f!important;
}
.form-shell .field input,
.form-shell .field select,
.form-shell .field textarea{
  border:1px solid #c9d8e7!important;
  background:#f7fbff!important;
  color:#10233d!important;
  box-shadow:none!important;
}
.form-shell .field input::placeholder,
.form-shell .field textarea::placeholder{
  color:#71869a!important;
  opacity:1!important;
}
.form-shell .field input:focus,
.form-shell .field select:focus,
.form-shell .field textarea:focus{
  border-color:#1476d2!important;
  box-shadow:0 0 0 3px rgba(20,118,210,.13)!important;
}

/* Website examples: readable, consistent cards on the light site. */
.example-card{
  border:1px solid #d6e2ee!important;
  background:#fff!important;
  color:#10233d!important;
  box-shadow:0 16px 38px rgba(8,42,85,.11)!important;
}
.example-shot{
  background:#eaf2f8!important;
  border-bottom:1px solid #d6e2ee!important;
}
.example-meta{
  background:#fff!important;
}
.example-meta .eyebrow{
  color:#0960bb!important;
}
.example-meta h2,
.example-meta h3{
  color:#10233d!important;
}
.example-meta p{
  color:#4c657d!important;
}
.example-tag{
  border:1px solid #bcd4eb!important;
  background:#eaf5ff!important;
  color:#164f83!important;
}
.examples-note{
  color:#284b6e!important;
  background:#edf6ff!important;
  border-color:#c9dff1!important;
}
.examples-note p{
  color:#284b6e!important;
}

/* Services cards and the closing callout stay legible on the light theme. */
.service-hub-card strong{
  color:#0960bb!important;
}
.service-hub-card__price{
  color:#355c82!important;
}
.service-hub-card:hover strong,
.service-hub-card:focus-visible strong{
  color:#064f9e!important;
}
.cta-band .eyebrow,
.cta-band h2,
.cta-band p{
  color:#fff!important;
}
.cta-band .btn{
  color:#fff!important;
  border-color:rgba(255,255,255,.58)!important;
}
.service-page-cta .eyebrow{
  color:#cbe8ff!important;
}
.service-page-cta .btn{
  color:#07529d!important;
  background:#fff!important;
  border-color:#fff!important;
}

/* General light-page contrast guardrails. */
.page-hero h1,
.page-hero h2,
.page-hero p,
.section-title,
.section-head h2,
.section-head p{
  color:#10233d!important;
}
.page-hero p,
.section-head p{
  color:#48627b!important;
}
.service-hub-card h3,
.service-hub-card p,
.price-card h3,
.price-card p,
.price-card li{
  color:#10233d!important;
}

@media(max-width:1100px){
  .payment-assurance{
    grid-template-columns:1fr auto!important;
  }
  .payment-availability{
    grid-column:1/-1!important;
    justify-self:start!important;
    max-width:none!important;
    text-align:left!important;
  }
}

@media(max-width:900px){
  body>header{
    min-height:78px!important;
    height:78px!important;
    padding:0 20px!important;
  }
  .site-header{
    min-height:112px!important;
    height:112px!important;
    padding:34px 0 0!important;
  }
  .site-header .header-inner{
    min-height:78px!important;
    height:78px!important;
    margin-top:0!important;
  }
  body>header .v91-brand{
    width:175px!important;
    min-width:175px!important;
  }
  body>header .v91-brand-logo{
    width:175px!important;
    height:66px!important;
  }
  .google-photo{
    order:0;
    height:320px;
  }
  .form-shell{
    grid-template-columns:1fr!important;
    gap:34px!important;
    padding:30px!important;
  }
  .payment-assurance{
    grid-template-columns:1fr!important;
  }
  .payment-logos{
    justify-content:start!important;
  }
  .payment-availability{
    grid-column:auto!important;
  }
}

@media(max-width:520px){
  .page-hero h1{
    max-width:100%!important;
    font-size:clamp(2.75rem,12vw,3.2rem)!important;
    line-height:.94!important;
    overflow-wrap:anywhere;
  }
  .google-photo{
    height:270px;
  }
  .google-photo figcaption{
    align-items:flex-start;
    flex-direction:column;
    gap:3px;
  }
  .form-shell{
    padding:24px 18px!important;
  }
  .payment-logos{
    grid-template-columns:repeat(3,68px)!important;
  }
  .payment-logo-card{
    width:68px!important;
  }
}
