
:root{--orange:#0057ff;--orange-bright:#2370ff;--orange-deep:#0049d8;--ink:#102440;--black:#102440;--paper:#fff;--cream:#fff;--muted:#d6dce5}
body{font-family:Inter,Arial,sans-serif}button,input,select,textarea{font:inherit}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #74a4ff;outline-offset:5px}.btn-orange{color:#fff}.btn-dark{background:#102440}.nav__inner,.nav.scrolled .nav__inner{background:rgba(16,36,64,.9)}.nav__logo img{height:48px;width:72px;object-fit:contain}.nav__inner{padding-top:9px;padding-bottom:9px}.nav__links{gap:24px}.nav__link{font-size:14px}.nav__cta .btn{font-size:14px;padding:.85em 1.2em}.hero{min-height:860px;min-height:100svh}.hero__media::after{background:linear-gradient(180deg,rgba(16,36,64,.52),rgba(16,36,64,.55) 50%,rgba(16,36,64,.95))}.hero__content{padding:180px 24px 130px;max-width:1180px}.hero h1{font-size:clamp(46px,7vw,90px);line-height:1.01;letter-spacing:-.055em;text-transform:none}.hero h1 span{color:#fff}.hero p{font-size:clamp(18px,1.6vw,23px);line-height:1.55;max-width:48ch;margin:26px auto 32px}.hero .hero-kicker{font-size:14px;letter-spacing:.16em;font-weight:700;margin:0 auto 25px;max-width:none}.hero-actions{display:flex;justify-content:center;align-items:center;gap:28px;flex-wrap:wrap}.hero-phone{font-size:18px;font-weight:600;border-bottom:1px solid #8090a9;padding-bottom:5px}.hero-trust{display:flex;justify-content:center;gap:24px;flex-wrap:wrap;margin-top:44px;color:#d6dce5;font-size:14px}.hero-bottom{position:absolute;bottom:28px;font-size:12px;letter-spacing:.16em;color:#b5c3dc}.display{font-size:clamp(42px,7vw,90px);line-height:1.02;letter-spacing:-.04em}.section--ink .display,.section--black .display{color:#fff}.section--ink .eyebrow,.section--black .eyebrow{color:#7daaff}.eyebrow{font-size:14px;line-height:1.5;letter-spacing:.12em}.svc__label{align-items:flex-end;justify-content:flex-start;text-align:left;padding:30px;font-size:clamp(24px,2.5vw,34px);line-height:1.05}.svc::after{background:linear-gradient(0deg,rgba(16,36,64,.9),rgba(16,36,64,.08) 80%)}.section-action{text-align:center;margin-top:40px}.coupon__amt{font-size:48px;color:#82abff}.coupon__top{background:#102440;text-align:center;padding:32px;min-height:265px}.coupon__freq{font-size:25px;line-height:1.2}.coupon__per{font-style:normal;letter-spacing:0;text-transform:none;color:#d6dce5;opacity:1;font-size:16px;line-height:1.6}.coupon__btm{background:#102440;padding-top:0}.coupon{background:#102440;box-shadow:none;border:1px solid #2a3d5e}.coupon__btm .btn{font-size:14px;padding:1em}.pps-comparison{display:grid;grid-template-columns:1fr 1fr;aspect-ratio:16/8;gap:3px;background:#fff}.pps-comparison figure{margin:0;position:relative;min-width:0}.pps-comparison img{width:100%;height:100%;object-fit:cover}.pps-comparison figcaption{position:absolute;left:18px;bottom:18px;border-radius:999px;background:#102440;color:#fff;padding:9px 18px;font-size:14px;font-weight:700}.pps-comparison figure:last-child figcaption{background:#0057ff}.result-caption{display:flex;justify-content:space-between;gap:20px;max-width:1000px;margin:22px auto 0;font-size:14px;color:#2a3d5e;flex-wrap:wrap}.result-caption a{color:#0057ff;font-weight:700}.review-copy{font-size:20px;line-height:1.7;color:#2a3d5e}.loc__state{color:#fff}.foot-logo{width:160px!important;height:auto!important}.footer{background:#102440}.foot-cta{background:#102440}.foot-cta p{max-width:48ch;margin-left:auto;margin-right:auto}.footer__copy{font-size:14px}.foot-contact a{overflow-wrap:anywhere}.page-hero h1{font-size:clamp(40px,6.5vw,88px);line-height:1.03;letter-spacing:-.04em}.page-hero .eyebrow{color:#83acff}.skip-link{position:fixed;top:-80px;left:15px;background:white;color:#020b1c;padding:15px;z-index:200}.skip-link:focus{top:10px}.value h3{color:#72a1ff}.page-section--light .value h3{color:#0057ff}.service-intro-photo{border-radius:24px;aspect-ratio:4/3;width:100%;object-fit:cover}.prose a{color:#0057ff;text-decoration:underline}.page-section--ink .prose a{color:#80aaff}.acc__body[aria-hidden=true] a{visibility:hidden}.acc__item.open .acc__body a{visibility:visible}
@media(max-width:960px){.nav__links{gap:15px}.nav__cta .btn-white{display:none}.nav__link{font-size:12px}}
@media(max-width:760px){.hero{min-height:850px;min-height:100svh}.hero__content{padding-top:165px;padding-bottom:105px}.hero h1{font-size:clamp(42px,9vw,65px)}.hero .hero-kicker{font-size:12px;letter-spacing:.08em}.hero-trust{gap:10px 16px;margin-top:28px;font-size:12px}.hero-bottom{font-size:10px;bottom:22px;letter-spacing:.07em}.hero-actions{gap:20px}.hero .btn-lg{font-size:17px}.hero p{font-size:17px}.pps-comparison{aspect-ratio:4/3}.svc__label{padding:23px;font-size:23px}.review-copy{font-size:17px}.nav__logo img{height:40px;width:60px}.nav__cta .btn{font-size:12px}.nav__inner{gap:12px;padding-left:20px}.hero-trust span:last-child{width:100%}.page-hero h1{overflow-wrap:anywhere}.display{overflow-wrap:normal}.btn{white-space:normal;text-align:center}.footer__grid{gap:32px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

[hidden]{display:none!important}.hero__media::after{background:linear-gradient(180deg,rgba(16,36,64,.15),rgba(16,36,64,.15) 50%,rgba(16,36,64,.8))}

/* PPS wordmark-inspired heading typography. */
h1,h2,h3,.display,.svc__label,.coupon__freq,.quote .q-title,.quote-heading,.q-done h2{
  font-family:"PPS Display",Inter,Arial,sans-serif;
  font-weight:900;
  font-style:oblique 10deg;
  letter-spacing:.005em;
}
.hero h1,.page-hero h1,.display{
  text-transform:uppercase;
  letter-spacing:.005em;
  line-height:1.08;
}
.hero h1{font-size:clamp(40px,6.2vw,80px)}
.page-hero h1{font-size:clamp(36px,6vw,80px)}
@media(max-width:760px){
  .hero h1{font-size:clamp(34px,8vw,58px)}
  .page-hero h1{font-size:clamp(32px,7.6vw,58px)}
}

/* Match every CTA, including quote-flow actions, to the PPS headings. */
.btn,.quote .q-actions .btn,.social-card{
  font-family:"PPS Display",Inter,Arial,sans-serif;
  font-weight:900;
  font-style:oblique 10deg;
  letter-spacing:.005em;
}

/* Keep telephone CTAs legible inside prose and footer link groups. */
.prose .call-now,.foot-contact .call-now{
  color:#fff;
  text-decoration:none;
  font-weight:900;
}
.foot-contact .call-now{display:inline-flex;width:fit-content}
.foot-contact .call-now:hover{color:#fff}

/* Interactive comparison: both photos stay full size as the mask moves. */
.before-after{max-width:760px;aspect-ratio:4/3;background:#fff;isolation:isolate}
.before-after .comparison-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 62%;user-select:none;pointer-events:none}
.comparison-image--before{clip-path:inset(0 calc(100% - var(--comparison-split)) 0 0)}
.comparison-label{position:absolute;top:20px;z-index:2;padding:9px 18px;border-radius:999px;color:#fff;background:#102440;font-size:14px;font-weight:700;pointer-events:none}
.comparison-label--before{left:20px}
.comparison-label--after{right:20px;background:#0057ff}
.comparison-divider{position:absolute;z-index:3;top:0;bottom:0;left:var(--comparison-split);width:3px;background:#fff;transform:translateX(-50%);pointer-events:none;box-shadow:0 0 8px #020b1c55}
.comparison-handle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;gap:12px;width:58px;height:58px;border-radius:50%;border:3px solid #fff;background:#0057ff;color:#fff;font:32px/1 Arial,sans-serif;box-shadow:0 3px 18px #020b1c55}
.comparison-range{position:absolute;inset:0;z-index:4;display:block;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;touch-action:pan-y}
.before-after:has(.comparison-range:focus-visible) .comparison-handle{background:#102440}
.comparison-help{max-width:1000px;margin:18px auto 0;color:#2a3d5e;font-size:14px;line-height:1.5;text-align:center}
@media(max-width:760px){.before-after{aspect-ratio:4/5}.comparison-label{top:14px;padding:8px 14px}.comparison-label--before{left:14px}.comparison-label--after{right:14px}.comparison-handle{width:50px;height:50px}.comparison-help{font-size:14px}}

/* Customer reviews sourced from the business Google-review feed. */
.customer-reviews{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;text-align:left}
.customer-review{display:flex;flex-direction:column;align-items:flex-start;padding:30px;border-radius:24px;background:#102440;color:#fff}
.customer-review__stars{font-size:24px;letter-spacing:3px;line-height:1;color:#82abff}
.customer-review blockquote{margin:22px 0 26px;flex:1}
.customer-review blockquote p{margin:0;font-size:17px;line-height:1.7;color:#fff}
.customer-review__author{margin:0;width:100%;font-size:14px;font-weight:700;color:#d6dce5}
@media(max-width:820px){.customer-reviews{grid-template-columns:1fr;max-width:560px;margin:0 auto}.customer-review{padding:26px}.customer-review blockquote{margin-bottom:24px}}

/* Centre the location chevrons and ease their rotation with the panel. */
.locations .acc__chev{
  display:block;
  transform-origin:50% 50%;
  transform-box:view-box;
  transition:transform 450ms cubic-bezier(.22,1,.36,1);
}
.locations .acc__body{
  transition:grid-template-rows 450ms cubic-bezier(.22,1,.36,1);
}

/* Footer groups mirror the site's services, navigation and contact flow. */
.footer{padding-top:0;padding-bottom:28px}
.footer__grid{grid-template-columns:minmax(0,1.35fr) minmax(0,.8fr) minmax(0,1.15fr) minmax(0,.9fr);gap:32px;padding-top:48px;align-items:start}
.footer .foot-logo{width:132px!important;height:auto!important;margin:0 0 22px}
.footer__home{display:inline-block}
.footer__locality,.footer__hours{margin:0 0 22px;font-size:16px;line-height:1.7;color:#d6dce5}
.footer .foot-h{font-family:"PPS Display",Inter,Arial,sans-serif;font-size:16px;font-weight:900;font-style:oblique 10deg;letter-spacing:.025em;line-height:1.3;margin:0 0 24px;color:#fff}
.footer .foot-col ul{gap:12px}
.footer .foot-col a,.footer__email,.footer__socials a{font-size:15px;line-height:1.5;color:#d6dce5;transition:color .2s ease}
.footer .foot-col a{display:inline-block;transition:color .25s ease,transform .25s ease}
.footer .foot-col a:hover,.footer .foot-col a:focus-visible{padding-left:0;color:#78a5ff;transform:translateX(4px);text-decoration:none}
.footer__socials{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:30px}
.footer__socials a{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border:0;border-radius:50%;padding:0;background:#fff;color:#0057ff;transition:background .2s ease,color .2s ease,transform .2s ease}
.footer__socials a svg{width:23px;height:23px}
.footer__socials a:hover{background:#0057ff;color:#fff;transform:translateY(-2px)}
.footer__email{display:block;margin-bottom:20px;overflow-wrap:anywhere}
.footer__email:hover,.footer__socials a:hover{color:#fff}
.footer__hours span{color:#fff}
.footer__actions{display:flex;flex-wrap:wrap;gap:10px}
.footer__actions .btn{font-size:14px;line-height:1.2;padding:13px 17px;white-space:nowrap}
.footer__bottom{margin-top:44px;padding-top:24px;border-color:#ffffff26;gap:24px}
.footer__legal{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px;color:#d6dce5;font-size:14px;line-height:1.5}
.footer__legal .footer__copy{color:#d6dce5}
.footer__legal>a{text-decoration:underline;text-underline-offset:4px}
.footer__amplify{opacity:1}
@media(max-width:1000px){.footer__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 48px}}
@media(max-width:560px){.footer__grid{grid-template-columns:minmax(0,1fr);gap:32px;padding-top:36px}.footer__brand{grid-column:1/-1}.footer .foot-h{font-size:15px;margin-bottom:18px}.footer__actions .btn{min-width:130px}.footer__bottom{flex-direction:column;justify-content:center;align-items:center;text-align:center}.footer__legal{width:100%;justify-content:center;text-align:center}.footer__legal .footer__copy{width:100%;text-align:center}.footer__amplify{margin:0 auto}}

.customer-review__name{margin:0 0 5px;font-size:16px;font-weight:700;color:#fff}

.locations-section{background:#fff;color:#102440}
.locations-section .loc__state,.locations-section .acc__head,.locations-section .display{color:#102440}
.locations-section .eyebrow{color:#0057ff}
.locations-section .acc__item{border-color:rgba(16,36,64,.16)}
.locations-section .acc__cities li{color:#2a3d5e}
.locations-section .acc__head:hover,.locations-section .acc__cities li a:hover{color:#0057ff}

/* Single-page preview navigation and footer alignment. */
section[id],#contact{scroll-margin-top:110px}
.footer__grid,.footer__grid .foot-h,.footer__grid p,.footer__grid ul{text-align:left}
.footer__grid .foot-col ul{align-items:flex-start}
.footer__socials{justify-content:flex-start}
