.elementor-kit-5{--e-global-color-primary:#0E2A47;--e-global-color-secondary:#16395F;--e-global-color-text:#1B2733;--e-global-color-accent:#F5B800;--e-global-color-gpmyd:#D99E00;--e-global-color-gpmbg:#F5F7FA;--e-global-color-gpmmut:#4F5D6B;--e-global-color-gpmnd:#0A1F35;--e-global-color-gpmpy:#FFF6D6;--e-global-typography-primary-font-family:"Lexend";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Lexend";--e-global-typography-secondary-font-weight:500;--e-global-typography-text-font-family:"Source Sans 3";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Lexend";--e-global-typography-accent-font-weight:600;color:#1B2733;font-family:"Source Sans 3", Sans-serif;font-size:18px;line-height:1.65em;}.elementor-kit-5 e-page-transition{background-color:#FFBC7D;}.elementor-kit-5 a{color:#0E2A47;}.elementor-kit-5 a:hover{color:#000000;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1200px;}.e-con{--container-max-width:1200px;}.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-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* GPM Electrical global design system. Lives in Elementor Site Settings > Custom CSS (kit 5). */
:root{--gn:#0E2A47;--gn2:#16395F;--gnd:#0A1F35;--gy:#F5B800;--gyl:#FFC93C;--gyd:#D99E00;--gink:#1B2733;--gmut:#4F5D6B;--gline:#E3E8EE;--gbg:#F5F7FA;--gpy:#FFF6D6;--gsoft:#D5DEE8;--gsh:0 8px 24px rgba(14,42,71,.08);--gsh2:0 22px 50px rgba(14,42,71,.16);--gr:16px;--gh:'Lexend',sans-serif;--gb:'Source Sans 3',sans-serif}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--gink);background:#fff}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--gy);outline-offset:3px}
.elementor-widget-text-editor p{margin:0 0 1em}
.elementor-widget-text-editor p:last-child,.elementor-widget-text-editor ul:last-child{margin-bottom:0}
.elementor-widget-text-editor a{color:var(--gn);font-weight:600;text-decoration:underline;text-decoration-color:var(--gy);text-decoration-thickness:2px;text-underline-offset:3px;transition:color .2s,text-decoration-color .2s}
.elementor-widget-text-editor a:hover{color:#000;text-decoration-color:var(--gn)}
.gpm-dark .elementor-widget-text-editor a{color:#fff}
.gpm-dark .elementor-widget-text-editor a:hover{color:var(--gy);text-decoration-color:#fff}
.elementor-widget-text-editor ul{list-style:none;margin:0 0 1.1em;padding:0}
.elementor-widget-text-editor ul li{position:relative;padding-left:34px;margin:0 0 10px}
.elementor-widget-text-editor ul li::before,.gpm-checks li::before{content:"";position:absolute;left:0;top:.18em;width:22px;height:22px;border-radius:50%;background:var(--gy) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230E2A47' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/12px no-repeat}
.elementor-widget-text-editor ul.gpm-arrows li::before{background:var(--gpy) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230E2A47' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M12 5l7 7-7 7'/%3E%3C/svg%3E") center/12px no-repeat}
.elementor-widget-text-editor blockquote{position:relative;margin:1.5em 0;padding:24px 26px 22px 66px;background:var(--gbg);border:0;border-left:4px solid var(--gy);border-radius:0 14px 14px 0}
.elementor-widget-text-editor blockquote::before{content:"\201C";position:absolute;left:18px;top:10px;font:700 64px/1 Georgia,serif;color:var(--gy)}
.elementor-widget-text-editor blockquote p{margin:0 0 .6em;font-style:italic;font-size:1.03em}
.elementor-widget-text-editor blockquote p:last-child{margin:0;font-style:normal}
.elementor-widget-text-editor blockquote strong{font-family:var(--gh);font-weight:600;font-size:14px;color:var(--gn)}
.gpm-dark .elementor-widget-text-editor blockquote{background:rgba(255,255,255,.06)}
.gpm-dark .elementor-widget-text-editor blockquote strong{color:#fff}
.gpm-eyebrow .elementor-heading-title{display:inline-flex;align-items:center;gap:10px}
.gpm-eyebrow .elementor-heading-title::before{content:"";flex:none;width:26px;height:3px;border-radius:3px;background:var(--gy)}
.gpm-hl{color:var(--gy)}
.gpm-intro{max-width:780px;margin-left:auto;margin-right:auto}
.elementor-heading-title{text-wrap:balance}
.gpm-btns{display:flex;flex-wrap:wrap;gap:12px}
.gpm-btns.center{justify-content:center}
.gpm-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:52px;padding:13px 24px;border-radius:10px;border:2px solid transparent;font:600 16px/1.2 var(--gh);text-decoration:none!important;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s,transform .2s,box-shadow .2s}
.gpm-btn svg{width:18px;height:18px;flex:none}
.gpm-btn:hover{transform:translateY(-2px)}
.gpm-btn.y{background:var(--gy);color:var(--gnd)!important;box-shadow:0 8px 20px rgba(245,184,0,.28)}
.gpm-btn.y:hover{background:var(--gyl)}
.gpm-btn.o{border-color:rgba(255,255,255,.55);color:#fff!important}
.gpm-btn.o:hover{background:#fff;border-color:#fff;color:var(--gn)!important}
.gpm-btn.n{background:var(--gn);color:#fff!important}
.gpm-btn.n:hover{background:var(--gn2)}
.gpm-btn.on{border-color:var(--gn);color:var(--gn)!important}
.gpm-btn.on:hover{background:var(--gn);color:#fff!important}
.gpm-btn.full{width:100%}
@media(max-width:767px){.gpm-btns{flex-direction:column}.gpm-btn{width:100%}}
.gpm-pill{display:inline-flex;align-items:center;flex-wrap:wrap;gap:10px;padding:8px 16px 8px 12px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);color:#fff;font-size:15px;line-height:1.3}
.gpm-pill b{font-family:var(--gh)}
.gpm-pill.light{background:var(--gpy);border-color:#F1D98A;color:var(--gink)}
.gpm-stars{display:inline-flex;gap:2px;vertical-align:middle}
.gpm-stars svg{width:16px;height:16px;fill:var(--gy);stroke:none}
.gpm-crumbs .rank-math-breadcrumb p{margin:0;font-size:14.5px;color:rgba(255,255,255,.78)}
.gpm-crumbs .rank-math-breadcrumb a{color:#fff;font-weight:600;text-decoration:none}
.gpm-crumbs .rank-math-breadcrumb a:hover{color:var(--gy)}
.gpm-crumbs .separator{margin:0 8px;color:var(--gy)}
.gpm-chips{display:flex;flex-wrap:wrap;gap:12px 22px;list-style:none;margin:6px 0 0;padding:0}
.gpm-chips li{display:flex;align-items:center;gap:9px;color:#fff;font-weight:600;font-size:16px}
.gpm-chips .ic{flex:none;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--gy)}
.gpm-chips .ic svg{width:13px;height:13px;stroke:var(--gn);stroke-width:3.4}
.gpm-chips.light li{color:var(--gink)}
.gpm-stats{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border-radius:var(--gr);box-shadow:var(--gsh2);overflow:hidden}
.gpm-stat{display:flex;align-items:center;gap:16px;padding:26px 24px;border-right:1px solid var(--gline)}
.gpm-stat:last-child{border-right:0}
.gpm-stat .ic{flex:none;display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:var(--gn)}
.gpm-stat .ic svg{width:25px;height:25px;stroke:var(--gy)}
.gpm-stat strong{display:block;font:700 24px/1.1 var(--gh);color:var(--gn)}
.gpm-stat span{display:block;font-size:15.5px;color:var(--gmut);line-height:1.35}
@media(max-width:1024px){.gpm-stats{grid-template-columns:1fr 1fr}.gpm-stat:nth-child(2){border-right:0}.gpm-stat:nth-child(-n+2){border-bottom:1px solid var(--gline)}}
@media(max-width:480px){.gpm-stat{flex-direction:column;align-items:flex-start;gap:10px;padding:18px 16px}.gpm-stat .ic{width:42px;height:42px}.gpm-stat strong{font-size:20px}}
.gpm-svcs{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.gpm-svcs.c3{grid-template-columns:repeat(3,1fr)}
.gpm-svc{display:flex;flex-direction:column;background:#fff;border:1px solid var(--gline);border-radius:var(--gr);overflow:hidden;color:inherit;text-decoration:none!important;box-shadow:var(--gsh);transition:transform .25s ease,box-shadow .25s ease,border-color .25s}
.gpm-svc:hover{transform:translateY(-6px);box-shadow:var(--gsh2);border-color:transparent}
.gpm-svc__img{display:block;aspect-ratio:16/10;overflow:hidden;background:var(--gbg)}
.gpm-svc__img img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.gpm-svc:hover .gpm-svc__img img{transform:scale(1.06)}
.gpm-svc__body{position:relative;display:flex;flex-direction:column;flex:1;padding:38px 22px 22px}
.gpm-svc__ic{position:absolute;top:-26px;left:22px;display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:var(--gy);box-shadow:0 8px 18px rgba(14,42,71,.18)}
.gpm-svc__ic svg{width:25px;height:25px;stroke:var(--gn)}
.gpm-svc h3{margin:0 0 8px;font:600 19px/1.3 var(--gh);color:var(--gn)}
.gpm-svc p{flex:1;margin:0 0 16px;font-size:16px;line-height:1.55;color:var(--gmut)}
.gpm-svc__more{display:inline-flex;align-items:center;gap:6px;font:600 15px var(--gh);color:var(--gn)}
.gpm-svc__more svg{width:16px;height:16px;stroke:var(--gyd);transition:transform .2s}
.gpm-svc:hover .gpm-svc__more svg{transform:translateX(4px)}
@media(max-width:1024px){.gpm-svcs,.gpm-svcs.c3{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.gpm-svcs,.gpm-svcs.c3{grid-template-columns:1fr}}
.gpm-frame{position:relative;z-index:0}
.gpm-frame img{position:relative;z-index:1;display:block;width:100%;height:auto!important;aspect-ratio:16/11;object-fit:cover;border-radius:var(--gr);box-shadow:var(--gsh2)}
.gpm-frame::before{content:"";position:absolute;z-index:0;right:-18px;bottom:-18px;width:60%;height:66%;border-radius:var(--gr);background:var(--gy)}
.gpm-frame.left::before{right:auto;left:-18px}
.gpm-frame::after{content:"";position:absolute;z-index:0;left:-22px;top:-22px;width:112px;height:112px;background-image:radial-gradient(rgba(14,42,71,.32) 2px,transparent 2.6px);background-size:14px 14px}
.gpm-frame.left::after{left:auto;right:-22px}
.gpm-dark .gpm-frame::after{background-image:radial-gradient(rgba(255,255,255,.28) 2px,transparent 2.6px)}
.gpm-inline img{aspect-ratio:16/9}
.gpm-inline::before{width:38%;height:50%;right:-12px;bottom:-12px}
.gpm-inline::after{display:none}
@media(max-width:767px){.gpm-frame::before{right:-8px;bottom:-8px}.gpm-frame.left::before{left:-8px}.gpm-frame::after{display:none}}
.gpm-feats{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.gpm-feats.c2{grid-template-columns:1fr 1fr}
.gpm-feats.c4{grid-template-columns:repeat(4,1fr)}
.gpm-feat{padding:28px 26px;border-radius:var(--gr);background:#fff;border:1px solid var(--gline);transition:transform .25s,box-shadow .25s}
.gpm-feat:hover{transform:translateY(-4px);box-shadow:var(--gsh)}
.gpm-feat .ic{display:grid;place-items:center;width:54px;height:54px;margin-bottom:18px;border-radius:14px;background:var(--gn)}
.gpm-feat .ic svg{width:26px;height:26px;stroke:var(--gy)}
.gpm-feat h3{margin:0 0 8px;font:600 19px/1.3 var(--gh);color:var(--gn)}
.gpm-feat p{margin:0;font-size:16.5px;line-height:1.6;color:var(--gmut)}
.gpm-feats.dark .gpm-feat{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.12)}
.gpm-feats.dark .gpm-feat:hover{background:rgba(255,255,255,.08);box-shadow:none}
.gpm-feats.dark .ic{background:var(--gy)}
.gpm-feats.dark .ic svg{stroke:var(--gn)}
.gpm-feats.dark h3{color:#fff}
.gpm-feats.dark p{color:#C3CEDA}
@media(max-width:1024px){.gpm-feats,.gpm-feats.c4{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.gpm-feats,.gpm-feats.c2,.gpm-feats.c4{grid-template-columns:1fr}}
.gpm-pattern{background-image:radial-gradient(rgba(255,255,255,.07) 1px,transparent 1.4px)!important;background-size:22px 22px!important}
.gpm-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;list-style:none;margin:0;padding:0}
.gpm-steps li{position:relative;padding:30px 24px 26px;border-radius:var(--gr);background:#fff;border:1px solid var(--gline);box-shadow:var(--gsh)}
.gpm-steps .n{display:grid;place-items:center;width:56px;height:56px;margin-bottom:18px;border-radius:50%;background:var(--gy);box-shadow:0 0 0 7px var(--gpy);font:700 18px var(--gh);color:var(--gn)}
.gpm-steps li:not(:last-child)::after{content:"";position:absolute;top:57px;right:-29px;width:30px;height:2px;background:repeating-linear-gradient(90deg,var(--gyd) 0 6px,transparent 6px 11px)}
.gpm-steps h3{margin:0 0 8px;font:600 19px/1.3 var(--gh);color:var(--gn)}
.gpm-steps p{margin:0;font-size:16.5px;line-height:1.6;color:var(--gmut)}
@media(max-width:1024px){.gpm-steps{grid-template-columns:1fr 1fr}.gpm-steps li::after{display:none}}
@media(max-width:600px){.gpm-steps{grid-template-columns:1fr}}
.gpm-revs{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.gpm-revs.c2{grid-template-columns:1fr 1fr}
.gpm-rev{position:relative;display:flex;flex-direction:column;margin:0;padding:28px 28px 24px;border-radius:var(--gr);background:#fff;border:1px solid var(--gline);box-shadow:var(--gsh)}
.gpm-rev::after{content:"\201D";position:absolute;right:22px;top:4px;font:700 96px/1 Georgia,serif;color:var(--gpy);pointer-events:none}
.gpm-rev .gpm-stars{margin-bottom:14px}
.gpm-rev .gpm-stars svg{width:18px;height:18px}
.gpm-rev blockquote{position:relative;z-index:1;flex:1;margin:0 0 20px;padding:0;border:0}
.gpm-rev blockquote p{margin:0;font-size:17px;line-height:1.65;color:var(--gink)}
.gpm-rev figcaption{display:flex;align-items:center;gap:12px;padding-top:18px;border-top:1px solid var(--gline)}
.gpm-rev__av{flex:none;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--gn)}
.gpm-rev__av svg{width:20px;height:20px;stroke:var(--gy)}
.gpm-rev figcaption b{display:block;font:600 15px/1.3 var(--gh);color:var(--gn)}
.gpm-rev figcaption small{display:block;font-size:14px;color:var(--gmut)}
@media(max-width:1024px){.gpm-revs{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.gpm-revs,.gpm-revs.c2{grid-template-columns:1fr}}
.gpm-faq{display:flex;flex-direction:column;gap:12px}
.gpm-faq details{background:#fff;border:1px solid var(--gline);border-radius:14px;transition:box-shadow .2s,border-color .2s}
.gpm-faq details[open]{border-color:var(--gy);box-shadow:var(--gsh)}
.gpm-faq summary{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 22px;list-style:none;cursor:pointer;font:600 18px/1.35 var(--gh);color:var(--gn)}
.gpm-faq summary::-webkit-details-marker{display:none}
.gpm-faq .pm{position:relative;flex:none;width:32px;height:32px;border-radius:50%;background:var(--gbg);transition:background .2s}
.gpm-faq .pm::before,.gpm-faq .pm::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:2px;border-radius:2px;background:var(--gn);transform:translate(-50%,-50%)}
.gpm-faq .pm::after{transform:translate(-50%,-50%) rotate(90deg);transition:transform .25s}
.gpm-faq details[open] .pm{background:var(--gy)}
.gpm-faq details[open] .pm::after{transform:translate(-50%,-50%) rotate(0)}
.gpm-faq .a{padding:0 22px 22px;font-size:17px;line-height:1.65;color:var(--gink)}
.gpm-faq .a p{margin:0}
.gpm-faq .a a{color:var(--gn);font-weight:600;text-decoration:underline;text-decoration-color:var(--gy);text-decoration-thickness:2px;text-underline-offset:3px}
@media(min-width:1025px){.gpm-sticky{position:sticky!important;top:112px;align-self:flex-start!important}}
.gpm-sc{position:relative;overflow:hidden;padding:30px 28px;border-radius:var(--gr);background:var(--gn);color:var(--gsoft)}
.gpm-sc::after{content:"";position:absolute;right:-34px;bottom:-34px;width:170px;height:170px;opacity:.09;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23F5B800' d='M13.5 2 4.5 13.5H11L10 22l9-11.5h-6.5z'/%3E%3C/svg%3E") center/contain no-repeat}
.gpm-sc__ic{display:grid;place-items:center;width:52px;height:52px;margin-bottom:16px;border-radius:14px;background:var(--gy)}
.gpm-sc__ic svg{width:24px;height:24px;stroke:var(--gn)}
.gpm-sc__k{margin:0 0 4px;font:600 13px var(--gh);letter-spacing:1.6px;text-transform:uppercase;color:var(--gy)}
.gpm-sc__num{display:block;margin:0 0 12px;font:700 28px/1.15 var(--gh);color:#fff!important;text-decoration:none!important}
.gpm-sc__t{margin:0 0 20px;font-size:16px;line-height:1.55}
.gpm-sbox{padding:26px;border-radius:var(--gr);background:#fff;border:1px solid var(--gline);box-shadow:var(--gsh)}
.gpm-sbox h3{margin:0 0 16px;font:600 18px/1.3 var(--gh);color:var(--gn)}
.gpm-checks{list-style:none;margin:0;padding:0}
.gpm-checks li{position:relative;padding-left:34px;margin:0 0 11px;font-size:17px;line-height:1.45;color:var(--gink)}
.gpm-checks li:last-child{margin-bottom:0}
.gpm-checks.dark li{color:#fff}
.gpm-snav ul{list-style:none;margin:0;padding:0}
.gpm-snav li+li{border-top:1px solid var(--gline)}
.gpm-snav a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 4px;font-weight:600;font-size:16px;color:var(--gn);text-decoration:none;transition:color .2s}
.gpm-snav a svg{flex:none;width:16px;height:16px;stroke:var(--gyd);transition:transform .2s}
.gpm-snav a:hover{color:#000}
.gpm-snav a:hover svg{transform:translateX(3px)}
.gpm-snav .cur a{padding-left:12px;padding-right:12px;border-radius:8px;background:var(--gpy);color:var(--gnd)}
.gpm-towns{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:0;padding:0}
.gpm-towns a,.gpm-towns .t{display:inline-flex;align-items:center;gap:7px;padding:9px 15px;border-radius:999px;background:#fff;border:1px solid var(--gline);font-weight:600;font-size:15.5px;color:var(--gn);text-decoration:none;transition:border-color .2s,background .2s}
.gpm-towns a:hover{border-color:var(--gy);background:var(--gpy)}
.gpm-towns svg{flex:none;width:15px;height:15px;stroke:var(--gyd)}
.gpm-map iframe{display:block;border-radius:var(--gr)}
.gpm-clist{display:grid;gap:14px;list-style:none;margin:0;padding:0}
.gpm-clist li{display:flex;gap:16px;align-items:flex-start;padding:20px;border-radius:14px;background:#fff;border:1px solid var(--gline)}
.gpm-clist .ic{flex:none;display:grid;place-items:center;width:46px;height:46px;border-radius:12px;background:var(--gn)}
.gpm-clist .ic svg{width:22px;height:22px;stroke:var(--gy)}
.gpm-clist small{display:block;font:600 13px var(--gh);letter-spacing:1px;text-transform:uppercase;color:var(--gmut);margin-bottom:2px}
.gpm-clist b,.gpm-clist a{font:600 18px/1.35 var(--gh);color:var(--gn);text-decoration:none}
.gpm-clist p{margin:4px 0 0;font-size:16px;color:var(--gmut)}
.gpm-card{padding:34px;border-radius:var(--gr);background:#fff;border:1px solid var(--gline);box-shadow:var(--gsh)}
.gpm-formcard{position:relative;border-top:5px solid var(--gy)!important;box-shadow:0 30px 60px rgba(4,15,28,.28)}
.gpm-formcard .elementor-field-label{font:600 14.5px/1.3 var(--gb)!important;color:var(--gn)!important;margin-bottom:6px}
.gpm-formcard .elementor-field-textual{min-height:48px;padding:11px 14px!important;border:1.5px solid #CBD4DE!important;border-radius:10px!important;background:#fff!important;font-size:16px!important;color:var(--gink)!important;transition:border-color .2s,box-shadow .2s}
.gpm-formcard textarea.elementor-field-textual{min-height:96px}
.gpm-formcard .elementor-field-textual:focus{border-color:var(--gn)!important;box-shadow:0 0 0 4px rgba(245,184,0,.35);outline:0}
.gpm-formcard .elementor-button{min-height:54px;border-radius:10px!important;font:600 17px var(--gh)!important;box-shadow:0 10px 22px rgba(245,184,0,.3);transition:background-color .2s,transform .2s}
.gpm-formcard .elementor-button:hover{transform:translateY(-1px)}
.gpm-formnote{display:flex;align-items:center;justify-content:center;gap:8px;margin:2px 0 0;font-size:15px;color:var(--gmut)}
.gpm-formnote a{color:var(--gn);font-weight:700;text-decoration:none}
.gpm-formnote svg{width:16px;height:16px;stroke:var(--gyd)}
.gpm-tb{display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:14px}
.gpm-tb>div{display:flex;align-items:center;gap:24px}
.gpm-tb span,.gpm-tb a{display:inline-flex;align-items:center;gap:8px;color:#C9D3DE;text-decoration:none;white-space:nowrap}
.gpm-tb a:hover{color:var(--gy)}
.gpm-tb svg{width:15px;height:15px;stroke:var(--gy)}
.gpm-tb .gpm-stars svg{width:13px;height:13px}
@media(max-width:1200px){.gpm-tb .hide-md{display:none}}
.gpm-header{transition:box-shadow .3s}
.gpm-header.elementor-sticky--effects{box-shadow:0 8px 24px rgba(14,42,71,.12)}
.gpm-logo{display:inline-flex;align-items:center;gap:12px;text-decoration:none!important}
.gpm-logo__mark{flex:none;display:grid;place-items:center;width:46px;height:46px;border-radius:12px;background:var(--gy);box-shadow:inset 0 -3px 0 rgba(0,0,0,.12)}
.gpm-logo__mark svg{width:26px;height:26px;fill:var(--gn)}
.gpm-logo__name{display:block;font:700 21px/1 var(--gh);letter-spacing:.4px;text-transform:uppercase;color:var(--gn)}
.gpm-logo__name em{font-style:normal;font-weight:500;letter-spacing:1.6px}
.gpm-logo__tag{display:block;margin-top:6px;font-size:11.5px;font-weight:600;letter-spacing:2.2px;text-transform:uppercase;color:var(--gmut)}
.gpm-logo.light .gpm-logo__name{color:#fff}
.gpm-logo.light .gpm-logo__tag{color:#9FB0C2}
@media(max-width:767px){.gpm-logo{gap:10px}.gpm-logo__mark{width:40px;height:40px}.gpm-logo__mark svg{width:22px;height:22px}.gpm-logo__name{font-size:17px}.gpm-logo__tag{font-size:10px;letter-spacing:1.5px}}
.gpm-hr{display:flex;align-items:center;justify-content:flex-end;gap:18px}
.gpm-hcall{display:flex;align-items:center;gap:11px;text-decoration:none!important}
.gpm-hcall .ic{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--gpy);transition:background .2s}
.gpm-hcall .ic svg{width:20px;height:20px;stroke:var(--gn)}
.gpm-hcall:hover .ic{background:var(--gy)}
.gpm-hcall small{display:block;font-size:12.5px;font-weight:600;letter-spacing:.6px;text-transform:uppercase;color:var(--gmut)}
.gpm-hcall b{display:block;font:700 18px/1.2 var(--gh);color:var(--gn)}
.gpm-hbtn{min-height:48px;padding:11px 18px}
.gpm-mcall{display:none}
@media(max-width:1024px){.gpm-hcall,.gpm-hbtn{display:none}.gpm-mcall{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:10px 16px;border-radius:10px;background:var(--gy);color:var(--gnd)!important;font:600 16px var(--gh);text-decoration:none!important}.gpm-mcall svg{width:18px;height:18px;stroke:var(--gnd)}}
@media(max-width:400px){.gpm-mcall span{display:none}.gpm-mcall{padding:10px 13px}}
.gpm-nav .elementor-nav-menu--main .sub-menu{min-width:270px;padding:8px 0;border-radius:12px;border:1px solid var(--gline);box-shadow:var(--gsh2);overflow:hidden}
.gpm-nav .elementor-nav-menu--dropdown.elementor-nav-menu__container{border-top:1px solid var(--gline);box-shadow:0 18px 30px rgba(14,42,71,.14)}
.gpm-foot{font-size:15.5px;color:#B8C4D1}
.gpm-fcols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.1fr;gap:44px}
.gpm-fcols h3{position:relative;margin:4px 0 20px;padding-bottom:12px;font:600 16px var(--gh);letter-spacing:.3px;color:#fff}
.gpm-fcols h3::after{content:"";position:absolute;left:0;bottom:0;width:30px;height:3px;border-radius:3px;background:var(--gy)}
.gpm-fcols ul{list-style:none;margin:0;padding:0}
.gpm-fcols li{margin:0 0 10px}
.gpm-fcols a{color:#B8C4D1;text-decoration:none;transition:color .2s}
.gpm-fcols a:hover{color:var(--gy)}
.gpm-fabout{margin:18px 0 16px;line-height:1.65}
.gpm-frating{display:inline-flex;align-items:center;gap:10px;padding:8px 14px;border-radius:10px;background:rgba(255,255,255,.06);color:#fff;font-size:14.5px}
.gpm-fcontact li{display:flex;gap:12px;align-items:flex-start;margin-bottom:14px}
.gpm-fcontact .ic{flex:none;display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:rgba(255,255,255,.07)}
.gpm-fcontact svg{width:17px;height:17px;stroke:var(--gy)}
.gpm-fcontact small{display:block;font-size:12.5px;font-weight:600;letter-spacing:.8px;text-transform:uppercase;color:#8597AA}
.gpm-fcontact a,.gpm-fcontact b{color:#fff;font-weight:600}
.gpm-fbar{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:48px;padding-top:22px;border-top:1px solid rgba(255,255,255,.1);font-size:14px;color:#8597AA}
.gpm-fbar a{color:#B8C4D1;text-decoration:none}
.gpm-fbar a:hover{color:var(--gy)}
@media(max-width:1024px){.gpm-fcols{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.gpm-fcols{grid-template-columns:1fr;gap:32px}}
.gpm-mbar{display:none}
@media(max-width:767px){
.gpm-mbar{display:grid;grid-template-columns:1fr 1fr;gap:10px;position:fixed;left:0;right:0;bottom:0;z-index:9990;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(10,31,53,.97);box-shadow:0 -8px 24px rgba(0,0,0,.25)}
.gpm-mbar a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:50px;border-radius:10px;font:600 16px var(--gh);text-decoration:none!important}
.gpm-mbar svg{width:18px;height:18px}
.gpm-mbar .c{background:var(--gy);color:var(--gnd)!important}
.gpm-mbar .c svg{stroke:var(--gnd)}
.gpm-mbar .e{border:1.5px solid rgba(255,255,255,.35);background:rgba(255,255,255,.08);color:#fff!important}
.gpm-mbar .e svg{stroke:#fff}
body{padding-bottom:72px}}
.gpm-bigcheck{display:grid;place-items:center;width:84px;height:84px;margin:0 auto;border-radius:50%;background:var(--gy);box-shadow:0 0 0 12px rgba(245,184,0,.18)}
.gpm-bigcheck svg{width:42px;height:42px;stroke:var(--gn);stroke-width:3}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
/* ---------- v2.1 fixes ---------- */
.e-con>.gpm-intro,.gpm-intro{max-width:780px!important;margin-left:auto!important;margin-right:auto!important}
.gpm-logo__tag{font-size:12px}
.gpm-logo__name,.gpm-logo__tag{white-space:nowrap}
@media(max-width:767px){.gpm-logo__tag{display:none}.gpm-logo__name{font-size:18px}}
@media(min-width:1025px){.gpm-end .gpm-btns{justify-content:flex-end}}
@media(max-width:600px){.gpm-svc{flex-direction:row;align-items:stretch}.gpm-svc__img{flex:0 0 36%;aspect-ratio:auto}.gpm-svc__ic{display:none}.gpm-svc__body{padding:16px}.gpm-svc h3{font-size:17px;margin-bottom:4px}.gpm-svc p{font-size:15px;margin-bottom:8px}.gpm-svc__more{font-size:14px}}

/* ---------- v2.2 ---------- */
.gpm-feat a.gpm-more{display:inline-flex;margin-top:12px;padding-bottom:2px;border-bottom:2px solid var(--gy);font:600 15px var(--gh);color:var(--gn);text-decoration:none}
.gpm-feat a.gpm-more:hover{color:#000}
.gpm-feats.dark a.gpm-more{color:#fff}
.elementor-widget-text-editor h2{margin:1.6em 0 .5em;font:600 26px/1.25 var(--gh);color:var(--gn)}
.elementor-widget-text-editor h2:first-child{margin-top:0}

/* ---------- v2.3 ---------- */
.gpm-clist li>div{min-width:0}
.gpm-clist a,.gpm-clist b{overflow-wrap:anywhere}
@media(max-width:767px){.gpm-clist b,.gpm-clist a{font-size:16.5px}.gpm-clist li{padding:16px;gap:12px}}
.gpm-fcontact a{overflow-wrap:anywhere}
.gpm-sc__num{padding:6px 0}
.gpm-feat a.gpm-more{min-height:44px;align-items:center;margin-top:2px;padding:0;border:0;text-decoration:underline;text-decoration-color:var(--gy);text-decoration-thickness:2px;text-underline-offset:4px}
.gpm-tb a,.gpm-tb span{min-height:44px}

/* ---------- v2.4: sidebar = nav, why, then a call card that sticks ---------- */
@media(min-width:1025px){.gpm-sticky{position:relative!important;top:auto;align-self:stretch!important}.gpm-sticky>.gpm-stick{position:sticky;top:112px}}

/* ---------- v2.5: doc copy (h3, numbered lists, byline, 5 steps) ---------- */
.elementor-widget-text-editor h3{margin:1.4em 0 .45em;font:600 21px/1.3 var(--gh);color:var(--gn)}
.elementor-widget-text-editor h3:first-child{margin-top:0}
.gpm-dark .elementor-widget-text-editor h3{color:#fff}
.elementor-widget-text-editor ol{list-style:none;counter-reset:gpmol;margin:0 0 1.1em;padding:0}
.elementor-widget-text-editor ol li{position:relative;counter-increment:gpmol;padding-left:44px;margin:0 0 12px;min-height:30px}
.elementor-widget-text-editor ol li::before{content:counter(gpmol);position:absolute;left:0;top:0;width:30px;height:30px;border-radius:50%;background:var(--gn);color:var(--gy);font:700 14px/30px var(--gh);text-align:center}
.gpm-dark .elementor-widget-text-editor ol li::before{background:var(--gy);color:var(--gn)}
.gpm-tysteps{text-align:left}
.gpm-byline{display:flex;align-items:center;gap:10px;margin:0;font-size:16px;color:var(--gmut)}
.gpm-byline svg{width:20px;height:20px;stroke:var(--gyd)}
.gpm-steps.c5{grid-template-columns:repeat(5,1fr);gap:20px}
.gpm-steps.c5 li:not(:last-child)::after{right:-21px;width:22px}
@media(max-width:1200px){.gpm-steps.c5{grid-template-columns:repeat(3,1fr)}.gpm-steps.c5 li::after{display:none}}
@media(max-width:1024px){.gpm-steps.c5{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.gpm-steps.c5{grid-template-columns:1fr}}
.gpm-feat p a{color:var(--gn);font-weight:600;text-decoration:underline;text-decoration-color:var(--gy);text-decoration-thickness:2px;text-underline-offset:3px}
.gpm-feats.dark .gpm-feat p a{color:#fff}
/* ---------- v2.6: contact form photo upload ---------- */
.elementor-field-type-upload input[type=file]{min-height:48px;padding:8px 10px;border:1.5px dashed #CBD4DE;border-radius:10px;background:var(--gbg);font-size:15px;color:var(--gmut);cursor:pointer}
.elementor-field-type-upload input[type=file]::file-.elementor-kit-5-button{min-height:32px;margin-right:12px;padding:6px 14px;border:0;border-radius:8px;background:var(--gn);color:#fff;font:600 14px var(--gh);cursor:pointer}
/* ---------- v2.7: Google reviews widget (Rich Showcase plugin, [grw id=179] on /reviews/) ---------- */
.gpm-grw .wp-gr.rpi{--card-bg:#F5F7FA!important;--card-tail:#F5F7FA!important;--card-br:1px solid!important;--card-br-color:#E3E8EE!important;--card-radius:14px!important;--card-star-color:#F5B800!important;--rpi-star-color:#F5B800!important;--head-star-color:#F5B800!important;--name-color:#0E2A47!important;--card-color:#1B2733!important;--time-color:#4F5D6B!important;--btn-radius:999px!important}
.gpm-grw .wp-gr .grw-row .grw-review{flex-grow:0!important}
.gpm-grw .wp-gr .grw-reviews{justify-content:center!important}
.gpm-grw .wp-gr a.wp-google-name{display:inline-block!important;padding:9px 0!important;margin:-9px 0!important}
.gpm-grw .wp-gr .grw-header a[onclick*="rplg_leave_review"]{display:inline-flex!important;align-items:center!important;min-height:44px!important;padding:0 18px!important}
/* ---------- v2.8: client logo (media 181) and a navy header built around it ---------- */
.gpm-header.e-con{--background-color:#112041;background-color:#112041!important;box-shadow:0 1px 0 rgba(255,255,255,.06)}
.gpm-header.elementor-sticky--effects{box-shadow:0 8px 24px rgba(0,0,0,.35)!important}
.gpm-logo--img{position:relative;display:block;width:140px;height:72px}
.gpm-logo__img{position:absolute;left:0;top:-2px;z-index:5;display:block;width:140px;height:140px;max-width:none!important;border-radius:14px;box-shadow:0 12px 28px rgba(0,0,0,.4);transition:width .25s,height .25s,top .25s,box-shadow .25s}
.gpm-header.elementor-sticky--effects .gpm-logo__img{top:2px;width:68px;height:68px;border-radius:10px;box-shadow:none}
.gpm-header .gpm-nav .elementor-nav-menu--main>ul>li>a.elementor-item{color:#fff!important}
.gpm-header .gpm-nav .elementor-nav-menu--main>ul>li>a.elementor-item:hover,.gpm-header .gpm-nav .elementor-nav-menu--main>ul>li>a.elementor-item:focus,.gpm-header .gpm-nav .elementor-nav-menu--main>ul>li>a.elementor-item.elementor-item-active{color:var(--gy)!important}
.gpm-header .gpm-nav .elementor-menu-toggle{color:#fff!important;background:transparent!important}
.gpm-header .gpm-nav .elementor-menu-toggle svg{fill:#fff!important}
.gpm-header .gpm-hcall small{color:#9FB0C2}
.gpm-header .gpm-hcall b{color:#fff}
.gpm-header .gpm-hcall .ic{background:rgba(245,184,0,.16)}
.gpm-header .gpm-hcall .ic svg{stroke:var(--gy)}
.gpm-header .gpm-hcall:hover .ic svg{stroke:var(--gn)}
@media(min-width:1025px){.e-con.gpm-hero{--padding-top:124px!important}}
@media(max-width:1024px){.gpm-logo--img{width:auto;height:auto}.gpm-logo__img{position:static;width:76px;height:76px;border-radius:10px;box-shadow:none}.gpm-header.elementor-sticky--effects .gpm-logo__img{width:60px;height:60px}}
@media(max-width:767px){.gpm-logo__img{width:62px;height:62px}.gpm-header.elementor-sticky--effects .gpm-logo__img{width:52px;height:52px}}
.gpm-logo.light.gpm-logo--img{width:auto;height:auto}
.gpm-logo.light .gpm-logo__img{position:static;width:176px;height:176px;border-radius:16px;box-shadow:none}
@media(max-width:767px){.gpm-logo.light .gpm-logo__img{width:140px;height:140px}}
/* ---------- v2.9: transparent vertical logo (media 200) ---------- */
.gpm-logo--img{width:120px}
.gpm-logo__img{width:auto!important;height:150px;border-radius:0!important;box-shadow:none!important;filter:drop-shadow(0 6px 12px rgba(0,0,0,.45))}
.gpm-header.elementor-sticky--effects .gpm-logo__img{top:3px;height:66px;filter:none}
@media(max-width:1024px){.gpm-logo--img{width:auto}.gpm-logo__img{height:80px;filter:none}.gpm-header.elementor-sticky--effects .gpm-logo__img{height:64px}}
@media(max-width:767px){.gpm-logo__img{height:68px}.gpm-header.elementor-sticky--effects .gpm-logo__img{height:56px}}
.gpm-logo.light .gpm-logo__img{height:200px;filter:none}
@media(max-width:767px){.gpm-logo.light .gpm-logo__img{height:160px}}
/* ---------- v2.10: hidden per-page hero preload block (link rel=preload in the hero's first HTML widget) ---------- */
.gpm-preload{display:none!important}
/* ---------- v2.11: form consent note + reCAPTCHA v3 (badge hidden; Google's notice shows in the note only when reCAPTCHA is active) ---------- */
.elementor-field-type-html .gpm-consent{margin:2px 0 0;font-family:'Source Sans 3',sans-serif;font-size:13.5px;line-height:1.5;color:#4F5D6B}
.gpm-consent a{color:#0E2A47;text-decoration:underline;text-underline-offset:2px}
.gpm-consent a:hover{color:#0A1F35}
.gpm-consent .gpm-rc{display:none}
.elementor-form:has(.elementor-g-recaptcha) .gpm-consent .gpm-rc{display:inline}
.elementor-field-type-recaptcha_v3{margin-bottom:0!important;padding-bottom:0!important}
.grecaptcha-badge{visibility:hidden!important}
.elementor-field-type-recaptcha_v3 .elementor-alert{display:none!important}
/* ---------- v2.12: required consent tickbox (acceptance field consent_ok; group label kept for the email, hidden here) ---------- */
.elementor-field-group-consent_ok>.elementor-field-label{display:none!important}
.elementor-field-group-consent_ok .elementor-field-option{display:flex!important;align-items:flex-start;gap:10px}
.elementor-field-group-consent_ok input[type=checkbox]{flex:0 0 auto;width:20px;height:20px;margin:1px 0 0!important;accent-color:#0E2A47;cursor:pointer}
.elementor-field-group-consent_ok .elementor-field-option label{font-family:'Source Sans 3',sans-serif!important;font-size:14.5px!important;font-weight:400!important;line-height:1.45!important;color:#1B2733!important;cursor:pointer}
.elementor-field-group-consent_ok label a{color:#0E2A47;font-weight:600;text-decoration:underline;text-underline-offset:2px}
.elementor-field-type-html .gpm-rcnote{font-size:12.5px;margin:0}
/* ---------- v2.13: portrait variant of the framed photo (Nick on /about/) ---------- */
.gpm-frame.portrait{max-width:440px!important;margin-left:auto;margin-right:auto}
.gpm-frame.portrait img{aspect-ratio:4/5;object-position:center top}/* End custom CSS */