.elementor-kit-6{--e-global-color-primary:#0756C9;--e-global-color-secondary:#0B2F62;--e-global-color-text:#2E3B55;--e-global-color-accent:#6AABFF;--e-global-color-lgink:#061A38;--e-global-color-lgink2:#04122A;--e-global-color-lgtint:#EAF1FC;--e-global-color-lgpaper:#F4F7FC;--e-global-color-lgline:#DCE5F2;--e-global-color-lgmuted:#5D6A84;--e-global-color-lgwhite:#FFFFFF;--e-global-color-lgamber:#F4B740;--e-global-color-lgonDark:#C3D1E8;--e-global-typography-primary-font-family:"Bricolage Grotesque";--e-global-typography-primary-font-weight:800;--e-global-typography-primary-line-height:1.05em;--e-global-typography-primary-letter-spacing:-1px;--e-global-typography-secondary-font-family:"Bricolage Grotesque";--e-global-typography-secondary-font-weight:700;--e-global-typography-secondary-line-height:1.2em;--e-global-typography-secondary-letter-spacing:-0.3px;--e-global-typography-text-font-family:"DM Sans";--e-global-typography-text-font-size:17px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.65em;--e-global-typography-accent-font-family:"DM Sans";--e-global-typography-accent-font-size:16px;--e-global-typography-accent-font-weight:600;--e-global-typography-accent-line-height:1.2em;--e-global-typography-lgh1-font-family:"Bricolage Grotesque";--e-global-typography-lgh1-font-size:70px;--e-global-typography-lgh1-font-weight:800;--e-global-typography-lgh1-line-height:1em;--e-global-typography-lgh1-letter-spacing:-2px;--e-global-typography-lgh2-font-family:"Bricolage Grotesque";--e-global-typography-lgh2-font-size:50px;--e-global-typography-lgh2-font-weight:800;--e-global-typography-lgh2-line-height:1.08em;--e-global-typography-lgh2-letter-spacing:-1px;--e-global-typography-lgh3-font-family:"Bricolage Grotesque";--e-global-typography-lgh3-font-size:21px;--e-global-typography-lgh3-font-weight:700;--e-global-typography-lgh3-line-height:1.2em;--e-global-typography-lgh3-letter-spacing:-0.2px;--e-global-typography-lgeyebrow-font-family:"DM Sans";--e-global-typography-lgeyebrow-font-size:13px;--e-global-typography-lgeyebrow-font-weight:700;--e-global-typography-lgeyebrow-text-transform:uppercase;--e-global-typography-lgeyebrow-line-height:1em;--e-global-typography-lgeyebrow-letter-spacing:2px;--e-global-typography-lglead-font-family:"DM Sans";--e-global-typography-lglead-font-size:18px;--e-global-typography-lglead-font-weight:400;--e-global-typography-lglead-line-height:1.65em;--e-global-typography-lgsmall-font-family:"DM Sans";--e-global-typography-lgsmall-font-size:15px;--e-global-typography-lgsmall-font-weight:400;--e-global-typography-lgsmall-line-height:1.6em;--e-global-typography-lgbtn-font-family:"DM Sans";--e-global-typography-lgbtn-font-size:16px;--e-global-typography-lgbtn-font-weight:600;--e-global-typography-lgbtn-line-height:1em;color:#2E3B55;font-family:"DM Sans", Sans-serif;font-size:17px;line-height:1.65em;}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{background-color:#0756C9;font-family:"DM Sans", Sans-serif;font-size:16px;font-weight:600;color:#FFFFFF;border-radius:10px 10px 10px 10px;padding:17px 26px 17px 26px;}.elementor-kit-6 button:hover,.elementor-kit-6 button:focus,.elementor-kit-6 input[type="button"]:hover,.elementor-kit-6 input[type="button"]:focus,.elementor-kit-6 input[type="submit"]:hover,.elementor-kit-6 input[type="submit"]:focus,.elementor-kit-6 .elementor-button:hover,.elementor-kit-6 .elementor-button:focus{background-color:#0546A6;color:#FFFFFF;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-kit-6 a{color:#0756C9;}.elementor-kit-6 a:hover{color:#0546A6;}.elementor-kit-6 h1{color:#0B2F62;font-family:"Bricolage Grotesque", Sans-serif;font-weight:800;}.elementor-kit-6 h2{color:#0B2F62;font-family:"Bricolage Grotesque", Sans-serif;font-weight:800;}.elementor-kit-6 h3{color:#0B2F62;font-family:"Bricolage Grotesque", Sans-serif;font-weight:700;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1260px;}.e-con{--container-max-width:1260px;--container-default-padding-top:0px;--container-default-padding-right:20px;--container-default-padding-bottom:0px;--container-default-padding-left:20px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-kit-6{--e-global-typography-text-font-size:17px;--e-global-typography-accent-font-size:16px;--e-global-typography-lgh1-font-size:56px;--e-global-typography-lgh2-font-size:40px;--e-global-typography-lgh3-font-size:20px;--e-global-typography-lgeyebrow-font-size:13px;--e-global-typography-lglead-font-size:18px;--e-global-typography-lgsmall-font-size:15px;--e-global-typography-lgbtn-font-size:16px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-6{--e-global-typography-text-font-size:16px;--e-global-typography-accent-font-size:15px;--e-global-typography-lgh1-font-size:42px;--e-global-typography-lgh2-font-size:32px;--e-global-typography-lgh3-font-size:19px;--e-global-typography-lgeyebrow-font-size:12px;--e-global-typography-lglead-font-size:17px;--e-global-typography-lgsmall-font-size:15px;--e-global-typography-lgbtn-font-size:15px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* ===== Legacy Roofing global helpers (Site Settings > Custom CSS) ===== */
html{scroll-behavior:smooth}
.lg-hl{color:var(--e-global-color-primary)}
.lg-hl-sky{color:var(--e-global-color-accent)}
.lg-eyebrow .elementor-heading-title{display:inline-flex;align-items:center;gap:10px;padding:9px 14px 9px 10px;border-radius:999px;background:#EAF1FC}
.lg-eyebrow .elementor-heading-title::before{content:"";width:20px;height:11px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 16'%3E%3Cpath d='M1 15 15 2l14 13' fill='none' stroke='black' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center/contain;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 16'%3E%3Cpath d='M1 15 15 2l14 13' fill='none' stroke='black' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center/contain}
.lg-eyebrow-dark .elementor-heading-title{background:rgba(106,171,255,.12);border:1px solid rgba(106,171,255,.25)}
.lg-hero{background-image:radial-gradient(60% 70% at 85% 30%,rgba(7,86,201,.45),transparent 70%),radial-gradient(40% 50% at 0% 100%,rgba(7,86,201,.25),transparent 70%),repeating-linear-gradient(135deg,rgba(255,255,255,.035) 0 1px,transparent 1px 34px),repeating-linear-gradient(45deg,rgba(255,255,255,.035) 0 1px,transparent 1px 34px)}
.lg-dark-pattern{background-image:radial-gradient(50% 60% at 100% 0%,rgba(7,86,201,.35),transparent 70%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='46' viewBox='0 0 80 46'%3E%3Cpath d='M0 40 40 6l40 34' fill='none' stroke='%23ffffff' stroke-opacity='.05' stroke-width='2'/%3E%3C/svg%3E")}
.lg-gable{position:relative}
.lg-gable::before{content:"";position:absolute;inset:0;transform:translate(22px,18px);clip-path:polygon(50% 0,100% 30%,100% 100%,0 100%,0 30%);background:linear-gradient(160deg,#0756C9,rgba(7,86,201,.15))}
.lg-gable img{position:relative;width:100%;aspect-ratio:1/1.02;object-fit:cover;clip-path:polygon(50% 0,100% 30%,100% 100%,0 100%,0 30%)}
.lg-float{position:absolute!important;width:auto!important;z-index:3;animation:lgBob 6s ease-in-out infinite}
.lg-float-1{left:-34px;bottom:56px}.lg-float-2{right:-18px;bottom:-18px;animation-delay:-3s}
.lg-float .elementor-icon-box-wrapper{background:#fff;border-radius:16px;padding:14px 18px 14px 14px;box-shadow:0 24px 60px -24px rgba(6,26,56,.45)}
@keyframes lgBob{50%{transform:translateY(-10px)}}
.lg-seal{position:absolute!important;left:2%;top:12%;width:128px!important;z-index:3}
.lg-seal svg.ring{animation:lgSpin 22s linear infinite}
@keyframes lgSpin{to{transform:rotate(360deg)}}
.lg-card-shadow{box-shadow:0 30px 70px -30px rgba(6,26,56,.45)}
.lg-trust > .e-con-inner > .e-con + .e-con, .lg-trust > .e-con + .e-con{border-left:1px solid #DCE5F2}
.lg-ticker{overflow:hidden}
.lg-ticker .track{display:flex;width:max-content;animation:lgMarquee 38s linear infinite}
.lg-ticker:hover .track{animation-play-state:paused}
.lg-ticker .track span{display:inline-flex;align-items:center;gap:22px;padding-right:22px;font:700 clamp(18px,2vw,24px)/1 "Bricolage Grotesque",sans-serif;color:#fff;white-space:nowrap}
.lg-ticker .track i{display:inline-block;width:30px;height:16px;background:#6AABFF;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 16'%3E%3Cpath d='M1 15 15 2l14 13' fill='none' stroke='black' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center/contain;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 16'%3E%3Cpath d='M1 15 15 2l14 13' fill='none' stroke='black' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center/contain}
.lg-ticker .track .town{opacity:.8;font-weight:600}
@keyframes lgMarquee{to{transform:translateX(-50%)}}
.lg-collage{position:relative;min-height:600px}
.lg-collage .lg-c1{position:absolute!important;left:0;top:0;width:76%!important;height:82%}
.lg-collage .lg-c2{position:absolute!important;right:0;bottom:0;width:52%!important;height:50%}
.lg-collage .lg-c1 img,.lg-collage .lg-c2 img{width:100%;height:100%;object-fit:cover;border-radius:22px}
.lg-collage .lg-c2 img{border:8px solid #fff;box-shadow:0 24px 60px -24px rgba(6,26,56,.35)}
.lg-collage .lg-badge{position:absolute!important;left:-6px;bottom:30px;width:auto!important;z-index:2}
.lg-2col .elementor-icon-list-items{display:grid;grid-template-columns:1fr 1fr;gap:14px 24px}
.lg-svc{transition:transform .4s,border-color .4s,box-shadow .4s}
.lg-svc:hover{transform:translateY(-8px);border-color:#6AABFF!important;box-shadow:0 30px 60px -30px rgba(7,86,201,.9)}
.lg-svc .elementor-icon{transition:background .3s,color .3s}
.lg-svc:hover .elementor-icon{background:#0756C9!important;color:#fff!important;fill:#fff!important}
.lg-svc:hover .elementor-button{background:#0756C9!important;border-color:#0756C9!important}
.lg-lift{transition:transform .35s,box-shadow .35s,background .35s,border-color .35s}
.lg-lift:hover{transform:translateY(-6px);box-shadow:0 24px 60px -24px rgba(6,26,56,.35)}
.lg-wc:hover{background:#0756C9!important;border-color:#0756C9!important}
.lg-wc:hover .elementor-icon-box-title,.lg-wc:hover .elementor-icon-box-title a{color:#fff!important}
.lg-wc:hover .elementor-icon-box-description{color:#DCE8FB!important}
.lg-wc:hover .elementor-icon{background:#fff!important}
.lg-num{position:absolute!important;right:22px;top:14px;width:auto!important}
.lg-num .elementor-heading-title{color:transparent!important;-webkit-text-stroke:1.5px #C4D4EC}
.lg-promise{position:absolute!important;left:18px;right:18px;bottom:18px;width:auto!important;backdrop-filter:blur(6px)}
.lg-mapcard{background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:30px 30px}
.lg-mapcard svg{width:100%;height:auto;display:block}
.lg-pulse{transform-box:fill-box;transform-origin:center;animation:lgPulse 2.2s ease-out infinite}
@keyframes lgPulse{0%{transform:scale(.6);opacity:.9}100%{transform:scale(2.6);opacity:0}}
.lg-callbar .elementor-button{clip-path:polygon(18px 0,100% 0,100% 100%,0 100%);padding-left:34px!important}
.lg-white-logo img{filter:brightness(0) invert(1)}
.lg-footer{position:relative;overflow:hidden}
.lg-footer::after{content:"LEGACY";position:absolute;left:50%;bottom:-.18em;transform:translateX(-50%);font:800 clamp(120px,22vw,330px)/1 "Bricolage Grotesque",sans-serif;color:rgba(255,255,255,.035);letter-spacing:-.04em;white-space:nowrap;pointer-events:none}
.lg-footer > *{position:relative;z-index:1}
.lg-mbar{position:fixed!important;left:0;right:0;bottom:0;z-index:99}
.elementor-widget-accordion .elementor-tab-title{transition:color .3s}
@media (max-width:1024px){.lg-collage{min-height:520px}.lg-float-1{left:-6px}}
@media (max-width:767px){.lg-collage{min-height:430px}.lg-float-1{left:-6px;bottom:auto;top:44%}.lg-float-2{right:-6px;bottom:-14px}.lg-seal{width:96px!important}.lg-2col .elementor-icon-list-items{grid-template-columns:1fr}.lg-trust > .e-con-inner > .e-con + .e-con,.lg-trust > .e-con + .e-con{border-left:0;border-top:1px solid #DCE5F2}.lg-mapcard .map-scroll{overflow-x:auto}.lg-mapcard .map-scroll svg{min-width:560px} body{padding-bottom:76px}}
@media (prefers-reduced-motion:reduce){.lg-float,.lg-seal svg.ring,.lg-ticker .track,.lg-pulse{animation:none!important}}
.lg-mainhdr.elementor-sticky--effects{box-shadow:0 10px 30px -18px rgba(6,26,56,.45)}
.lg-mainhdr .elementor-nav-menu--dropdown{box-shadow:0 24px 60px -24px rgba(6,26,56,.35)}
.elementor-icon-list-text{overflow-wrap:anywhere}
.lg-mbar .elementor-widget-button{min-width:0}
.lg-mbar .elementor-button{width:100%;justify-content:center}
.lg-collage .lg-badge{flex-wrap:nowrap!important}
.lg-collage .lg-badge .elementor-widget-text-editor{flex:1 1 auto;min-width:0}
@media (max-width:767px){.lg-collage .lg-badge{max-width:240px;padding:14px 16px!important}}
/* FAQ cards */
.lg-faq .elementor-accordion{display:grid;gap:14px}
.lg-faq .elementor-accordion-item{border:1px solid #DCE5F2!important;border-radius:14px;background:#fff;overflow:hidden;transition:border-color .3s,box-shadow .3s}
.lg-faq .elementor-accordion-item + .elementor-accordion-item{border-top:1px solid #DCE5F2!important}
.lg-faq .elementor-accordion-item:has(.elementor-tab-title.elementor-active){border-color:#0756C9!important;box-shadow:0 18px 40px -26px rgba(7,86,201,.7)}
.lg-faq .elementor-tab-title{display:flex!important;align-items:center;justify-content:space-between;gap:18px;padding:22px 24px!important;border:0!important;background:#fff}
.lg-faq .elementor-accordion-title{order:1;color:#0B2F62}
.lg-faq .elementor-tab-title.elementor-active .elementor-accordion-title{color:#0B2F62}
.lg-faq .elementor-accordion-icon{order:2;float:none!important;flex:none;width:36px;height:36px;border-radius:50%;background:#EAF1FC;display:grid!important;place-items:center;transition:transform .3s,background .3s}
.lg-faq .elementor-accordion-icon i{font-size:14px;color:#0756C9!important;transition:color .3s}
.lg-faq .elementor-tab-title.elementor-active .elementor-accordion-icon{background:#0756C9;transform:rotate(45deg)}
.lg-faq .elementor-tab-title.elementor-active .elementor-accordion-icon i{color:#fff!important}
.lg-faq .elementor-tab-content{border:0!important;padding:0 24px 22px!important;background:#fff;color:#5D6A84}
@media (max-width:767px){.lg-faq .elementor-tab-title{padding:18px!important}.lg-faq .elementor-tab-content{padding:0 18px 18px!important}}
/* ===== Prototype effects ===== */
@keyframes lgRing{0%{opacity:.5;transform:scale(.85)}100%{opacity:0;transform:scale(1.25)}}
@keyframes lgRise{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
@keyframes lgSettle{from{transform:scale(1.18)}to{transform:scale(1)}}
@keyframes lgFade{from{opacity:0}to{opacity:1}}
body{animation:lgFade .45s ease both}
/* header phone: pulsing ring */
.lg-mainhdr .elementor-widget-icon-box .elementor-icon{position:relative;overflow:visible}
.lg-mainhdr .elementor-widget-icon-box .elementor-icon::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:2px solid #0756C9;opacity:0;animation:lgRing 2.4s ease-out infinite;pointer-events:none}
/* nav underline grows from left */
.lg-mainhdr .elementor-nav-menu--main .elementor-item::after{transform:scaleX(0);transform-origin:left;transition:transform .3s!important;opacity:1!important}
.lg-mainhdr .elementor-nav-menu--main .elementor-item:hover::after,.lg-mainhdr .elementor-nav-menu--main .elementor-item.elementor-item-active::after{transform:scaleX(1)}
/* buttons: lift, shadow, arrow nudge */
.elementor-button{transition:background .25s,color .25s,border-color .25s,transform .25s,box-shadow .25s!important}
.elementor-button:hover{transform:translateY(-2px)}
.elementor-widget-button:not(.lg-callbar) .elementor-button[style*=""],.e-con .elementor-widget-button .elementor-button{will-change:transform}
.elementor-button .elementor-button-icon{transition:transform .25s}
.elementor-button:hover .elementor-button-icon{transform:translateX(4px)}
.lg-mbar .elementor-button:hover,.lg-callbar .elementor-button:hover{transform:none}
.lg-mbar .elementor-button:hover .elementor-button-icon,.lg-callbar .elementor-button:hover .elementor-button-icon{transform:none}
.lg-hero .elementor-widget-button:first-child .elementor-button,.elementor-widget-form .elementor-button{box-shadow:0 12px 26px -12px rgba(7,86,201,.8)}
/* hero: headline swoosh + image settle */
.lg-hero h1 .lg-hl-sky{position:relative;white-space:nowrap}
.lg-hero h1 .lg-hl-sky::after{content:"";position:absolute;left:0;right:0;bottom:-.14em;height:.28em;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 20' preserveAspectRatio='none'%3E%3Cpath d='M3 15C50 5 140 2 197 9' fill='none' stroke='%230756C9' stroke-width='5' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat center/100% 100%}
.lg-gable{overflow:visible}
.lg-gable .elementor-widget-container{overflow:hidden;clip-path:polygon(50% 0,100% 30%,100% 100%,0 100%,0 30%);animation:lgFade 1s .2s both}
.lg-gable img{animation:lgSettle 1.6s cubic-bezier(.2,.8,.2,1) both}
.lg-hero .lg-eyebrow{animation:lgRise .9s .05s cubic-bezier(.2,.8,.2,1) both}
/* trust items */
.lg-trust > .e-con{transition:background .3s}
.lg-trust > .e-con:hover{background:#F4F7FC}
.lg-trust .elementor-icon{transition:background .3s,color .3s}
.lg-trust > .e-con:hover .elementor-icon{background:#0756C9!important;color:#fff!important;fill:#fff!important}
/* collage zoom */
.lg-collage .lg-c1 .elementor-widget-container,.lg-collage .lg-c2 .elementor-widget-container{height:100%;overflow:hidden;border-radius:22px}
.lg-collage img{transition:transform .8s}
.lg-collage .lg-c1:hover img,.lg-collage .lg-c2:hover img{transform:scale(1.05)}
/* service cards */
.lg-svc .elementor-heading-title{transition:color .3s}
.lg-svc:hover .elementor-button .elementor-button-icon{transform:translateX(4px)}
/* why cards: smooth colour swap */
.lg-wc .elementor-icon-box-title,.lg-wc .elementor-icon-box-title a,.lg-wc .elementor-icon-box-description,.lg-wc .elementor-icon{transition:color .35s,background .35s}
/* process steps: ringed icon turns blue */
.lg-lift:not(.lg-wc) .elementor-widget-icon .elementor-icon{box-shadow:0 0 0 8px #fff,0 0 0 9px #DCE5F2;transition:background .3s}
.lg-lift:not(.lg-wc):hover .elementor-widget-icon .elementor-icon{background:#0756C9!important}
/* gallery */
.elementor-gallery-item{border-radius:14px;overflow:hidden}
.elementor-gallery__titles-container .elementor-gallery-title{padding:11px 18px!important;border:1px solid #DCE5F2;border-radius:999px;background:#fff;transition:.25s}
.elementor-gallery__titles-container .elementor-gallery-title:hover{border-color:#0756C9;color:#0756C9!important}
.elementor-gallery__titles-container .elementor-gallery-title.elementor-item-active{background:#0B2F62;border-color:#0B2F62;color:#fff!important}
/* form fields focus */
.elementor-field-group .elementor-field{transition:border-color .2s,background .2s}
.elementor-field-group .elementor-field:focus{border-color:#0756C9!important;background:#fff!important;outline:none}
/* footer links */
.lg-footer .elementor-icon-list-item a{transition:color .2s}
@media (prefers-reduced-motion:reduce){body,.lg-gable img,.lg-gable .elementor-widget-container,.lg-hero .lg-eyebrow,.lg-mainhdr .elementor-widget-icon-box .elementor-icon::after{animation:none!important}.elementor-button:hover,.elementor-button:hover .elementor-button-icon,.lg-collage img{transform:none!important}}
/* about: badge width + mini call */
.lg-collage .lg-badge{max-width:290px!important}
@media (max-width:767px){.lg-collage .lg-badge{max-width:240px!important}}
.lg-minicall .elementor-icon-box-wrapper{display:flex!important;align-items:center;gap:12px;text-align:left!important}
.lg-minicall .elementor-icon-box-icon{margin:0!important}
.lg-minicall .elementor-icon{background:transparent!important;border-color:#DCE5F2!important;color:#0756C9!important;transition:border-color .25s,background .25s}
.lg-minicall:hover .elementor-icon{border-color:#0756C9!important;background:#EAF1FC!important}
.lg-minicall .elementor-icon-box-content{display:flex;flex-direction:column-reverse}
.lg-minicall .elementor-icon-box-description{color:#5D6A84!important}
.lg-minicall .elementor-icon-box-title,.lg-minicall .elementor-icon-box-title a{color:#0B2F62!important}
/* ===== Bento gallery + card borders ===== */
.lg-svc{background-clip:padding-box!important;border:1px solid rgba(255,255,255,.12)!important}
.lg-svc:hover{border-color:#6AABFF!important}
.lg-filters{display:flex;flex-wrap:wrap;gap:10px}
.lg-filters button{font:600 15px "DM Sans",sans-serif;padding:11px 18px;border-radius:999px;border:1px solid #DCE5F2;background:#fff;color:#0B2F62;cursor:pointer;transition:.25s;line-height:1.2}
.lg-filters button:hover{border-color:#0756C9;color:#0756C9;background:#fff}
.lg-filters button.on,.lg-filters button.on:hover{background:#0B2F62;border-color:#0B2F62;color:#fff}
.lg-filters button:focus-visible{outline:3px solid #6AABFF;outline-offset:3px}
.lg-bento{grid-template-rows:none!important;grid-auto-rows:230px!important}
.lg-g{position:relative;overflow:hidden;border-radius:14px;background:#EAF1FC;cursor:zoom-in}
.lg-g-big{grid-column:span 2;grid-row:span 2}
.lg-bento.filtered .lg-g-big{grid-column:auto;grid-row:auto}
.lg-g.is-hidden{display:none!important}
.lg-g > .lg-g-img{position:absolute!important;inset:0;width:100%!important;height:100%;margin:0!important}
.lg-g > .lg-g-img a,.lg-g > .lg-g-img .elementor-widget-container{display:block;width:100%;height:100%}
.lg-g > .lg-g-img img{display:block;width:100%!important;height:100%!important;max-width:none;object-fit:cover;border-radius:0;transition:transform .7s}
.lg-g:hover > .lg-g-img img{transform:scale(1.07)}
.lg-g::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(6,26,56,.85));opacity:.85;pointer-events:none;z-index:1;transition:opacity .35s}
.lg-g:hover::after{opacity:1}
.lg-g .lg-gtag{position:absolute!important;top:14px;left:14px;width:auto!important;z-index:2;pointer-events:none;margin:0!important}
.lg-g .lg-gtag .elementor-heading-title{display:inline-block;font:700 12px/1 "DM Sans",sans-serif;letter-spacing:.1em;text-transform:uppercase;background:rgba(255,255,255,.92);color:#0B2F62;padding:7px 11px;border-radius:999px}
.lg-g .lg-gcap{position:absolute!important;left:18px;right:64px;bottom:16px;width:auto!important;z-index:2;pointer-events:none;margin:0!important}
.lg-g .lg-gcap .elementor-heading-title{font:700 18px/1.2 "Bricolage Grotesque",sans-serif;color:#fff}
.lg-g .lg-gcap::after{content:"";position:absolute;right:-48px;bottom:-6px;width:40px;height:40px;border-radius:50%;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230B2F62' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 3h6v6M9 21H3v-6M21 3l-7 7M3 21l7-7'/%3E%3C/svg%3E") no-repeat center/18px;transform:scale(.6);opacity:0;transition:.3s}
.lg-g:hover .lg-gcap::after{transform:none;opacity:1}
@media (max-width:767px){.lg-bento{grid-auto-rows:180px!important}.lg-g .lg-gcap .elementor-heading-title{font-size:15px}.lg-g .lg-gtag .elementor-heading-title{font-size:10.5px;padding:6px 9px}.lg-g .lg-gtag{top:10px;left:10px}.lg-g .lg-gcap{left:12px;right:12px;bottom:12px}.lg-g .lg-gcap::after{display:none}}
/* ===== Prototype polish ===== */
.lg-faq .elementor-accordion-title{font:700 18px/1.35 "Bricolage Grotesque",sans-serif!important;color:#0B2F62!important}
.lg-faq .elementor-accordion-icon i,.lg-faq .elementor-accordion-icon i:before,.lg-faq .elementor-accordion-icon svg{color:#0756C9!important;fill:#0756C9!important}
.lg-faq .elementor-tab-title.elementor-active .elementor-accordion-icon i,.lg-faq .elementor-tab-title.elementor-active .elementor-accordion-icon i:before,.lg-faq .elementor-tab-title.elementor-active .elementor-accordion-icon svg{color:#fff!important;fill:#fff!important}
.lg-faq .elementor-tab-content,.lg-faq .elementor-tab-content p{font-size:16px;line-height:1.65;color:#5D6A84}
.e-grid:has(> .lg-lift .lg-num){position:relative!important;--position:relative}
.e-grid:has(> .lg-lift .lg-num)::before{content:"";position:absolute;left:12%!important;right:12%!important;top:62px!important;width:auto!important;height:0!important;background:none!important;border-top:2px dashed #B9CBE7;z-index:0}
.e-grid:has(> .lg-lift .lg-num) > .e-con{position:relative;z-index:1}
@media (max-width:1024px){.e-grid:has(> .lg-lift .lg-num)::before{display:none}}
.lg-svc .elementor-widget-heading .elementor-heading-title{font-size:25px!important;min-height:2.16em;display:flex;align-items:flex-end;line-height:1.08}
.lg-svc .elementor-widget-text-editor{min-height:8.2em}
@media (max-width:1024px){.lg-svc .elementor-widget-heading .elementor-heading-title{min-height:0}.lg-svc .elementor-widget-text-editor{min-height:0}}
.lg-collage > .lg-dots, .lg-collage-dots{content:"";position:absolute;right:6%;top:4%;width:120px;height:120px;background-image:radial-gradient(#0756C9 2px,transparent 2.5px);background-size:16px 16px;opacity:.35;z-index:0}
.lg-collage .lg-badge .elementor-widget-heading .elementor-heading-title{font-size:58px!important;line-height:.9!important}
.lg-quote{}
.e-con:has(> .elementor-widget-heading + .elementor-widget-text-editor em) > .elementor-widget-heading .elementor-heading-title{font-size:54px!important;line-height:.7!important}
/* ===== 2026-10-30 client notes: service area chips, counties, map ===== */
.lg-chips{display:flex;flex-wrap:wrap;gap:10px}
.lg-chip{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:999px;border:1px solid #DCE5F2;background:#fff;font:600 15px/1.2 "DM Sans",sans-serif;color:#0B2F62}
.lg-chip i{color:#0756C9;font-size:13px}
.lg-chip-f{background:#0756C9;border-color:#0756C9;color:#fff;font-weight:700}
.lg-chip-f i{color:#BFD9FF}
.lg-chip-hq{background:#0B2F62;border-color:#0B2F62;color:#fff}
.lg-chip-hq i{color:#F4B740}
.lg-3col .elementor-icon-list-items{display:grid;grid-template-columns:repeat(3,1fr);gap:9px 16px}
.lg-3col .elementor-icon-list-item{margin:0!important;padding:0!important}
.lg-map svg{width:100%;height:auto;display:block}
#estimate,#services{scroll-margin-top:90px}
@media (max-width:767px){.lg-3col .elementor-icon-list-items{grid-template-columns:1fr 1fr}.lg-chip{font-size:14px;padding:8px 12px}}
@media (max-width:600px){.lg-map .m-sm{display:none}}

/* ===== Inner pages (About / Services / Contact) ===== */
.e-con.lg-phero{position:relative;isolation:isolate;clip-path:polygon(0 0,100% 0,100% 100%,50% calc(100% - 56px),0 100%)}
.e-con.lg-phero::before{content:"";display:block;position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,#061A38 36%,rgba(6,26,56,.82) 58%,rgba(6,26,56,.3) 100%),repeating-linear-gradient(135deg,rgba(255,255,255,.03) 0 1px,transparent 1px 34px)}
@media (max-width:1024px){.e-con.lg-phero::before{background:linear-gradient(180deg,rgba(6,26,56,.92),rgba(6,26,56,.8))}.e-con.lg-phero{clip-path:polygon(0 0,100% 0,100% 100%,50% calc(100% - 32px),0 100%)}}
.lg-chip-tint{background:#EAF1FC;border-color:#EAF1FC}
.lg-val{transition:background .3s,border-color .3s}
.lg-val:hover{background:rgba(255,255,255,.06)!important;border-color:#6AABFF!important}
.e-con.lg-gab{clip-path:polygon(50% 0,100% 16%,100% 100%,0 100%,0 16%);border-radius:0 0 22px 22px!important}
.lg-qitem{transition:border-color .3s}
.lg-qitem:hover{border-color:#0756C9!important}
.lg-qitem .elementor-icon-box-wrapper{display:flex!important;text-align:left!important;gap:0}
.lg-qitem .elementor-icon-box-icon{margin-bottom:0!important}
.lg-jump{transition:transform .3s,border-color .3s,box-shadow .3s}
.lg-jump:hover{transform:translateY(-3px);border-color:#0756C9!important;box-shadow:0 24px 60px -24px rgba(6,26,56,.35)}
.lg-jump:hover .elementor-icon{background:#0756C9!important;color:#fff!important;fill:#fff!important}
.lg-srow-badge{position:absolute!important;right:-18px;bottom:30px;width:auto!important;z-index:2}
.lg-srow.rev .lg-srow-badge{right:auto;left:-18px}
.lg-srow-media{position:relative}
.lg-srow-media::before{content:"";position:absolute;left:-18px;bottom:-18px;width:60%;height:60%;border-radius:22px;background:#EAF1FC;z-index:0}
.lg-srow.rev .lg-srow-media::before{left:auto;right:-18px}
.lg-srow-media > .elementor-widget-image{position:relative;z-index:1}
.lg-inc .elementor-icon-list-items{display:grid;grid-template-columns:1fr 1fr;gap:12px 22px}
.lg-inc .elementor-icon-list-item{margin:0!important;padding:0!important;align-items:flex-start!important}
@media (max-width:767px){.lg-inc .elementor-icon-list-items{grid-template-columns:1fr}.lg-srow-badge{right:-6px}.lg-srow.rev .lg-srow-badge{left:-6px}.lg-srow-media::before{display:none}}
.lg-cinfo{transition:transform .3s,border-color .3s}
a.lg-cinfo:hover,.lg-cinfo:has(a):hover{transform:translateY(-5px);border-color:#0756C9!important}
.lg-next ol{list-style:none;margin:0;padding:0;display:grid;gap:18px;counter-reset:n}
.lg-next li{display:grid;grid-template-columns:auto 1fr;gap:14px;counter-increment:n}
.lg-next li::before{content:counter(n);width:34px;height:34px;border-radius:50%;background:#0756C9;color:#fff;display:grid;place-items:center;font:700 15px "Bricolage Grotesque",sans-serif}
.lg-next b{display:block;color:#fff;font:700 16.5px/1.3 "Bricolage Grotesque",sans-serif}
.lg-next span{font-size:14.5px;color:#C8D5EB}

.lg-chip svg{width:15px;height:15px;color:#0756C9;flex:none}
.lg-chip-f svg{color:#BFD9FF}
.lg-chip-hq svg{color:#F4B740}
.lg-ap{transition:transform .35s,box-shadow .35s}
.lg-ap:hover{transform:translateY(-6px);box-shadow:0 24px 60px -24px rgba(6,26,56,.35)}

.e-con.lg-srow-media::before{content:"";display:block;position:absolute;top:auto;right:auto;left:-18px;bottom:-18px;width:60%;height:60%;border-radius:22px;background:#EAF1FC;z-index:0;opacity:1;mix-blend-mode:normal}
.lg-srow.rev .e-con.lg-srow-media::before{left:auto;right:-18px}
@media (max-width:767px){.e-con.lg-srow-media::before{display:none}}

.e-con.lg-srow-media::before{inset:auto auto -18px -18px!important;inset-block-start:auto!important;inset-inline-end:auto!important}
.lg-srow.rev .e-con.lg-srow-media::before{inset:auto -18px -18px auto!important;inset-inline-start:auto!important;inset-block-start:auto!important}

.lg-break .elementor-heading-title{overflow-wrap:anywhere}
.lg-cinfo:hover{transform:translateY(-5px);border-color:#0756C9!important}
.lg-opt{transition:transform .25s,border-color .25s}
.lg-opt:hover{transform:translateY(-2px);border-color:#0756C9!important}
#quote{scroll-margin-top:90px}

@media (max-width:600px){.lg-map text.f{font-size:21px}}


/* Go-live fixes 2026-10-30 */
.lg-inc .elementor-icon-list-item{align-items:flex-start}
.lg-inc.elementor-widget .elementor-icon-list-icon + .elementor-icon-list-text{align-self:flex-start}
[id^="svc-"],#services,#estimate{scroll-margin-top:90px}
.page-id-155 .site-main{padding-top:56px;padding-bottom:88px}
.page-id-155 .site-main h2{margin-top:1.6em}
@media (max-width:767px){a[href^="mailto"],.elementor-icon-box-title a[href^="mailto"]{overflow-wrap:anywhere;word-break:break-word}}
.elementor-location-footer .elementor-widget-icon-list .elementor-icon-list-item{align-items:flex-start}
.elementor-location-footer .elementor-widget-icon-list.elementor-widget .elementor-icon-list-icon + .elementor-icon-list-text{align-self:flex-start}
.elementor-location-footer .elementor-widget-icon-list .elementor-icon-list-icon{margin-top:.35em}/* End custom CSS */