/* Shared visual refinements, November 2026. */
.p1-site :is(main,.p1-header,.p1-footer,#p1-chat,.p1-chat-toggle,.p1-floating-contact,.brlbs-cmpnt-container) :is(h1,h2,h3,h4,h5,h6,p,a,button,input,select,textarea,label,legend,li,span,div,blockquote,summary,td,th,output,small,strong,b,em){font-family:Poppins,sans-serif!important}
.p1-site .p1-chat-toggle{font-family:Poppins,sans-serif!important}
.p1-mega summary{display:flex;align-items:center;gap:8px}
.p1-mega summary::after{content:'';display:block;width:7px;height:7px;margin:0 0 4px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg)}
.p1-mega[open] summary::after{transform:rotate(225deg);margin-top:4px;margin-bottom:0}
#p1-chat .p1-chat-close:focus{outline:none;box-shadow:none}
#p1-chat .p1-chat-close:focus-visible{outline:2px solid #fff;outline-offset:-6px;border-radius:4px}
.home .p1-logos-rotator{gap:28px 42px!important;padding:12px 18px}
.home .p1-logos-rotator .p1-logo-slot{height:85px}
.home .p1-logos-rotator .p1-logo-slot>img,.home .p1-logos-rotator .p1-logo-slot>span{inset:8%;width:84%;height:84%;transition:opacity 1.7s ease-in-out}
.home .p1-logos-rotator .p1-logo-slot>span img{width:100%;height:100%}
.home .p1x-element-95d4fc8 .p1x-icon-list-items{display:flex;flex-direction:column;align-items:center;gap:7px;padding:0}
.home .p1x-element-95d4fc8 .p1x-icon-list-item,.home .p1x-element-95d4fc8 .p1x-icon-list-item a{justify-content:center;text-align:center}
.home .p1x-element-e91ad9e .p1-form :is(input:not([type=hidden]),textarea){background:#171717!important;border:1px solid #aaa!important;color:#fff!important}
.home .p1x-element-e91ad9e .p1-form :is(input,textarea)::placeholder{color:#ddd!important;opacity:1!important}
.p1-hotspot-map{position:relative;width:100%;line-height:0}
.p1-hotspot-map img{display:block;width:100%;height:auto}
.p1-map-dot{position:absolute;left:var(--x);top:var(--y);width:8px;height:8px;border-radius:50%;background:#00c79f;box-shadow:0 0 0 3px #00c79f25;transform:translate(-50%,-50%);pointer-events:none}
.p1-project-inquiry{width:min(1120px,calc(100% - 40px));margin:0 auto;padding:45px 0 65px;color:#111;background:#fff;scroll-margin-top:130px}
.p1-project-inquiry>h2{text-align:center;margin-bottom:10px}
.p1-project-inquiry>p{text-align:center;max-width:650px;margin:0 auto 30px}
.p1-wizard-form .p1-wizard-guidance{font-size:13px;line-height:1.6;color:#555;text-align:center;margin:-24px auto 30px;max-width:720px}
.p1-wizard-form .p1-wizard-progress{margin:18px 0 45px;height:24px}
.p1-wizard-form .p1-wizard-title{font-size:clamp(23px,3vw,30px);margin-bottom:26px}
.p1-wizard-form .p1-form-step{min-height:260px}
.p1-wizard-form .p1-choice{min-height:140px;border-radius:5px;padding:20px;transition:background .15s,border-color .15s;transform:none!important}
.p1-wizard-form .p1-choice:has(input:checked){box-shadow:inset 0 0 0 3px #00c79f;background:#171717}
.p1-wizard-form .p1-wizard-label{position:static;display:block;margin:0 0 7px;color:#111;font-size:14px;font-weight:500}
.p1-wizard-form .p1-wizard-controls{margin-top:26px}
.p1-wizard-form .p1-wizard-percent{font-size:12px;white-space:nowrap}
@media(max-width:700px){.home .p1-logos-rotator{gap:20px!important;padding:5px}.home .p1-logos-rotator .p1-logo-slot{height:65px}.p1-wizard-form .p1-field fieldset,.p1-wizard-form .p1-field fieldset:has(.p1-choice:nth-of-type(4)){grid-template-columns:1fr 1fr}.p1-wizard-form .p1-choice{min-height:110px;font-size:16px;padding:15px}.p1-project-inquiry{width:calc(100% - 30px)}}
@media(prefers-reduced-motion:reduce){.home .p1-logos-rotator .p1-logo-slot>img,.home .p1-logos-rotator .p1-logo-slot>span{transition:none}}
.p1-trustindex{clear:both;width:100%;background:#fff;color:#111;padding:40px 20px}
.p1-trustindex-inner{width:min(1140px,100%);margin:auto}
.p1-trustindex .ti-widget,.p1-trustindex .ti-widget *{font-family:Poppins,sans-serif!important}
.p1x-widget-slides:has(.p1-trustindex){height:auto!important}
.p1x-section:has(.p1-trustindex){background:#fff!important;padding-block:10px!important}
.p1x-section:has(.p1-trustindex)>.p1x-container{max-width:100%}
.p1x-section:has(.p1-trustindex) .p1x-widget-icon{display:none}
.p1x-section:has(.p1-trustindex) .p1x-widget-wrap{padding:0}
#p1-form-project_inquiry .p1-form-step:first-of-type .p1-choice span::before{display:none}
#p1-form-project_inquiry fieldset:has(.p1-choice:nth-of-type(2)):not(:has(.p1-choice:nth-of-type(3))){grid-template-columns:repeat(2,minmax(0,1fr));max-width:760px}
.p1-review-link{text-align:center;margin:20px 0 0}.p1-review-link a{display:inline-block;min-height:44px;padding:10px 14px;color:#111!important;text-decoration:underline;text-underline-offset:4px}.p1-review-link a:hover{color:#394298!important}
.p1-trustindex-slot{width:100%;max-width:100%;flex:0 0 100%;min-width:0}

/* Mobile navigation, badges and shared service layouts. */
.p1-nav-phone-icon{display:inline-block;vertical-align:-2px;flex:none;margin-right:3px}
.p1-menu-icon{display:inline-block;vertical-align:middle;flex:none}
.home :is(.p1x-element-89cf812,.p1x-element-0f03053,.p1x-element-7bd59ad){margin-bottom:20px!important;align-self:center}
.p1-person{min-width:0;max-width:100%}.p1-person>div{min-width:0;max-width:100%}.p1-person :is(h3,p,a){max-width:100%;overflow-wrap:anywhere}
@media(max-width:1100px){
 .p1-header .p1-menu-toggle:not([hidden]){display:inline-flex;align-items:center;gap:6px;font-size:16px!important;line-height:1.2;min-height:44px;padding:8px 0;white-space:nowrap}
 .p1-header-inner{gap:0!important;padding-block:8px!important}
 .p1-header #primary-nav{max-height:calc(100dvh - 130px);overflow-y:auto;overscroll-behavior:contain;padding-bottom:8px}
 .p1-header .p1-nav>li{margin:0}
 .p1-header .p1-nav>li>a,.p1-header .p1-nav>li>details>summary{font-size:13px;line-height:1.4;min-height:40px;padding:9px 0}
 .p1-header .p1-mega-panel{padding:8px 0;min-height:0;max-height:none;position:static;width:100%}
 .p1-header .p1-mega-grid{gap:14px}
 .p1-header .p1-mega-group h2,.p1-header .p1-mega-group li{font-size:13px;line-height:1.5}
 .p1-header .p1-mega-group li{margin:0;padding:4px 0}
 .p1-header .p1-mega-group+.p1-mega-group{margin-top:18px}
}
@media(max-width:767px){
 .home :is(.p1x-element-326792ab,.p1x-element-3172619),.home :is(.p1x-element-326792ab,.p1x-element-3172619)>.p1x-widget-container{text-align:center!important}
 .home :is(.p1x-element-326792ab,.p1x-element-3172619) .p1-button{width:220px;max-width:100%;margin-inline:auto}
 .p1-site .p1-cards:has(>.p1-post-card){grid-template-columns:minmax(0,1fr)!important}
 .p1-person{flex-direction:column;align-items:center;text-align:center;gap:18px}
 .p1-person>img{width:130px;height:130px;flex:none;object-fit:cover}
 .p1-person h3{font-size:clamp(23px,7vw,28px)!important;line-height:1.25!important;margin:0 0 12px}
 .p1-person a{display:inline-block;font-size:16px}
}
@media(max-width:767px){
 .p1-header .p1-header-inner{min-height:74px!important}
 .p1-header .p1-brand{width:calc(100% - 85px);max-width:235px;min-width:0;flex:0 1 auto}
 .p1-header .p1-logo{width:100%!important;height:auto!important}
}
@media(max-width:767px){
 .single-services main :is(h1,h2,h3){max-width:100%;overflow-wrap:anywhere;hyphens:auto}
 .single-services main :is(h1,h2,h3) :is(b,strong,span){font-size:inherit;line-height:inherit;white-space:normal}
}
/* Consistent circular contact portraits and matching homepage alignment. */
.single-services .p1-person>img{width:130px!important;height:130px!important;aspect-ratio:1;border-radius:50%!important;object-fit:cover;flex:none}
.home .p1x-element-95d4fc8 :is(.p1x-element-429c59e,.p1x-element-ba9c8f3,.p1x-element-979f43c){margin:0!important}

/* Preserve the actual Google wordmark proportions in the review widget. */
.p1-trustindex .ti-widget .ti-large-logo img.ti-logo-fb{height:auto!important;aspect-ratio:300/94;object-fit:contain}
.p1-trap[hidden]{display:none!important}

/* Comfortable, non-overlapping phone and email targets. */
.p1-person>div>a{display:inline-flex;align-items:center;min-height:44px;max-width:100%;overflow-wrap:anywhere}

.p1x-widget-container>p>a[href^="tel:"],.p1x-widget-container>p>a[href^="mailto:"]{display:inline-flex;align-items:center;min-height:44px}

/* Keep expanded/lazy-loaded review controls readable, too. */
.p1-trustindex .ti-widget .ti-read-more-active{color:#595959!important;opacity:1!important}
