/* Public-site presentation only. Operations and the standalone Ads page have their own layouts. */
body.site-v106 main > section { padding:56px 0; }
body.site-v106 main .page-hero { padding:48px 0; }
body.site-v106 main h1 { font-size:clamp(36px,4.1vw,52px); line-height:1.12; letter-spacing:-1.2px; text-wrap:balance; }
body.site-v106 main h2 { font-size:clamp(28px,3vw,38px); line-height:1.18; letter-spacing:-.7px; text-wrap:balance; }
body.site-v106 main h3 { line-height:1.25; text-wrap:balance; }
body.site-v106 main .lead { font-size:18px; line-height:1.65; }
body.site-v106 main .section-head { max-width:800px; margin-bottom:28px; }
body.site-v106 main .section-head p { font-size:17px; line-height:1.65; }
body.site-v106 main .hero-grid,body.site-v106 main .split { gap:40px; }
body.site-v106 main .hero-photo,body.site-v106 main .split-img img,body.site-v106 main .service-plan-hero-photo { height:420px!important; min-height:0!important; }
body.site-v106 main .hero-photo img,body.site-v106 main .service-plan-hero-photo img { height:100%!important; width:100%; object-fit:cover; }
body.site-v106 main .card,body.site-v106 main .plan,body.site-v106 main .detail-card { border-radius:20px; padding:26px; }
body.site-v106 main .card p,body.site-v106 main .step p,body.site-v106 main .detail-card p,body.site-v106 main .promise-item p { font-size:16px; line-height:1.6; }
body.site-v106 main .plan h3 { font-size:25px; }
body.site-v106 main .plan ul { margin-bottom:0; }
body.site-v106 main .offer,body.site-v106 main .feature-band { padding:36px; border-radius:24px; gap:32px; }
body.site-v106 main .feature-band p { margin:0; font-size:18px; line-height:1.65; }
body.site-v106 main .feature-band h2 { margin-bottom:0; }
body.site-v106 main .cta { padding:40px 32px; }
body.site-v106 main .cta .lead { max-width:650px; margin:16px auto 24px; }
body.site-v106 main .cta .hero-ctas { justify-content:center; }
body.site-v106 main .hero-ctas { gap:12px; flex-wrap:wrap; }
body.site-v106 main .btn { min-height:46px; padding:13px 22px; line-height:1.3; text-align:center; }
body.site-v106 .social-proof-row .social-pill { font-size:13px!important; line-height:1.4; padding:10px 15px!important; }
body.site-v106 main .faq { max-width:860px; }
body.site-v106 main .faq > h2 { margin:0 0 16px; }
body.site-v106 main .faq details { border-radius:14px; padding:0; overflow:hidden; }
body.site-v106 main .faq summary { padding:19px 22px; font-size:17px; line-height:1.45; cursor:pointer; }
body.site-v106 main .faq details p { padding:0 22px 20px; margin:0; font-size:16px; line-height:1.65; }
body.site-v106 main .faq details[open] { border-color:#99ccdf; background:#f8fcfe; }
body.site-v106 main .faq summary:focus-visible,body.site-v106 a:focus-visible,body.site-v106 button:focus-visible { outline:3px solid #158dcc; outline-offset:4px; }
body.site-v106 main .reviews-proof { gap:18px; flex-wrap:wrap; }
body.site-v106 main .checks { gap:12px; }
body.site-v106 main .checks > div { line-height:1.5; }
body.site-v106 main .field > label { font-size:14px; }
body.site-v106 main .form-card { border-radius:22px; }
body.site-v106 main .photo-pair figure { margin:0; min-width:0; }
body.site-v106 main .photo-pair figcaption { text-align:center; font-weight:800; padding:12px; color:var(--navy); }
body.site-v106 main .home-hero-photo h1 { font-size:clamp(38px,5vw,64px); }
body.site-v106 main .home-hero-photo { min-height:510px; }
body.site-v106 main .home-hero-photo .hero-ctas .btn { font-size:16px; }
body.site-v106 main .social-proof-band h2 { font-size:34px!important; line-height:1.2!important; }
@media(min-width:701px) and (max-width:1000px) {
 body.site-v106 main .plan-grid { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
 body.site-v106 main .cards.four { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:700px) {
 body.site-v106 main > section,body.site-v106 .home-v106 > section { padding:36px 0; }
 body.site-v106 main .page-hero { padding:30px 0; }
 body.site-v106 main h1,body.site-v106 main .page-hero h1 { font-size:36px; letter-spacing:-.8px; }
 body.site-v106 main h2,body.site-v106 main .section-head h2 { font-size:29px; }
 body.site-v106 main .lead { font-size:17px; line-height:1.55; }
 body.site-v106 main .hero-grid,body.site-v106 main .split { gap:26px; }
 body.site-v106 main .hero-photo,body.site-v106 main .split-img img,body.site-v106 main .service-plan-hero-photo { height:280px!important; }
 body.site-v106 main .hero-ctas { display:flex!important; flex-direction:row!important; flex-wrap:wrap!important; gap:10px!important; }
 body.site-v106 main .hero-ctas .btn { flex:1 1 auto!important; width:auto!important; font-size:14px!important; padding:14px 18px!important; }
 body.site-v106 main .hero-ctas .btn-primary { flex-basis:100%!important; }
 body.site-v106 main .offer,body.site-v106 main .feature-band { grid-template-columns:1fr; padding:26px; gap:20px; }
 body.site-v106 main .feature-band p { font-size:17px; }
 body.site-v106 main .card,body.site-v106 main .plan,body.site-v106 main .detail-card { padding:24px; }
 body.site-v106 main .plan-grid { grid-template-columns:1fr!important; }
 body.site-v106 main .cta { padding:30px 22px; }
 body.site-v106 main .faq summary { font-size:16px; padding:17px 18px; }
 body.site-v106 main .faq details p { padding:0 18px 18px; }
 body.site-v106 main .social-proof-band h2 { font-size:28px!important; }
 body.site-v106 main .social-proof-band { padding:26px!important; }
 body.site-v106 main .reviews-proof .btn { width:100%; }
 body.site-v106 main .home-hero-photo h1 { font-size:38px; }
 body.site-v106 .social-proof-row { gap:8px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
/* Keep the contact dock clear of the footer's privacy and terms links. */
body.site-v106 > footer { padding-bottom:100px!important; }
body.site-v106 main .section-head h2 { font-size:clamp(28px,3vw,38px)!important; line-height:1.18!important; }
body.site-v106 main .real-work-strip .real-work-photo { min-height:220px; }
@media(max-width:700px) {
 body.site-v106 main .section-head h2 { font-size:29px!important; }
 body.site-v106 .footer-grid { grid-template-columns:1fr 1fr; gap:26px 18px; }
 body.site-v106 .footer-grid > div:first-child { grid-column:1/-1; }
 body.site-v106 .footer-grid p { font-size:14px; overflow-wrap:anywhere; }
}

body.site-v106 .cards > article.card { display:flex; flex-direction:column; }
body.site-v106 .cards > article.card > .btn { align-self:flex-start; margin-top:auto; }
