


:root{--navy:#071820;--navy2:#0d2733;--blue:#1459bd;--sky:#7db3ef;--ink:#0b1d26;--muted:#566872;--pale:#f3f7fa;--line:#dce6eb;--white:#fff;--radius:16px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65}a{text-decoration:none;color:inherit}.container{width:min(1160px,calc(100% - 40px));margin-inline:auto}.topbar{background:#041016;color:#b9c8cf;font-size:13px}.topbar .container{height:34px;display:flex;align-items:center;justify-content:space-between}.topbar span,.topbar a{display:flex;align-items:center;gap:6px}.site-header{height:84px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between}.brand img{display:block;width:235px;height:auto}.site-header nav{display:flex;align-items:center;gap:25px;font-size:15px;font-weight:700}.site-header nav a:hover{color:var(--blue)}.header-phone{display:flex;gap:10px;align-items:center;color:var(--blue);font-weight:800}.header-phone>svg{border:1px solid #cde0fb;width:40px;height:40px;padding:10px;border-radius:50%}.header-phone span{line-height:1.15}.header-phone small{display:block;color:#6b7c84;font-size:11px;text-transform:uppercase;letter-spacing:.1em;margin-bottom:3px}.mobile-menu{display:none}.hero{position:relative;overflow:hidden;background:var(--navy);color:#fff;padding:100px 0 92px}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 55%,rgba(8,102,232,.08));pointer-events:none}.hero-glow{position:absolute;width:650px;height:650px;border:1px solid rgba(80,166,255,.16);border-radius:50%;right:-180px;top:-260px;box-shadow:0 0 0 110px rgba(80,166,255,.035),0 0 0 220px rgba(80,166,255,.025)}.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.3fr .7fr;gap:80px;align-items:center}.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.18em;font-weight:800;color:#b9d8fb;display:flex;align-items:center;gap:10px;margin:0 0 18px}.eyebrow span{width:28px;height:2px;background:var(--sky)}.eyebrow.dark{color:#24506a}.hero h1,.page-hero h1{font-size:clamp(44px,6vw,76px);line-height:1.02;letter-spacing:-.045em;margin:0;max-width:810px}.hero h1 em{font-style:normal;color:var(--sky)}.hero-lede{font-size:20px;line-height:1.6;color:#c5d3d9;max-width:720px;margin:28px 0 34px}.button-row{display:flex;gap:14px;flex-wrap:wrap}.button{min-height:52px;padding:0 22px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;gap:9px;font-size:15px;font-weight:800}.button.primary{background:var(--blue);color:#fff;box-shadow:0 10px 35px rgba(8,102,232,.26)}.button.primary:hover{background:#1877f2}.button.ghost{border:1px solid #47606b;color:#fff}.trust-row{display:flex;gap:22px;margin-top:30px;color:#b8c8cf;font-size:14px;flex-wrap:wrap}.trust-row span{display:flex;align-items:center;gap:7px}.trust-row svg{width:17px;color:var(--sky)}.hero-card{background:linear-gradient(160deg,#102f3d,#0b222c);border:1px solid #2a4957;border-radius:20px;padding:34px;box-shadow:0 30px 80px rgba(0,0,0,.3);position:relative;overflow:hidden}.hero-card>p{font-size:13px;text-transform:uppercase;letter-spacing:.12em;color:#8fb1c0;margin:0}.hero-card h2{font-size:29px;line-height:1.15;margin:10px 0 22px}.hero-card ul{list-style:none;padding:0;margin:0 0 24px}.hero-card li{padding:8px 0 8px 24px;border-bottom:1px solid rgba(255,255,255,.08);position:relative;color:#d6e1e5}.hero-card li:before{content:"";position:absolute;left:0;top:17px;width:8px;height:8px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 4px rgba(8,102,232,.15)}.hero-card>a,.text-link{display:inline-flex;gap:8px;align-items:center;color:#7dbbff;font-weight:800}.panel-lines{position:absolute;right:-10px;top:-10px;opacity:.16;display:grid;grid-template-columns:repeat(2,20px);gap:9px}.panel-lines i{width:20px;height:48px;border:2px solid var(--sky);border-radius:10px}.service-strip{border-bottom:1px solid var(--line);background:#fff}.strip-grid{display:grid;grid-template-columns:repeat(4,1fr);padding:23px 0}.strip-grid div{padding-left:25px;border-left:1px solid var(--line)}.strip-grid div:first-child{padding-left:0;border:0}.strip-grid strong,.strip-grid span{display:block}.strip-grid strong{font-size:15px}.strip-grid span{font-size:13px;color:var(--muted)}.section{padding-top:95px;padding-bottom:95px}.section-heading{display:grid;grid-template-columns:1fr .72fr;gap:80px;align-items:end;margin-bottom:45px}.section-heading h2,.split h2,.locations h2,.cta h2,.faq>h2,.prose-grid h2,.prose-narrow h2{font-size:clamp(32px,4vw,50px);line-height:1.12;letter-spacing:-.035em;margin:0}.section-heading>p,.locations>div>p{color:var(--muted);font-size:17px;margin:0}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.service-card{padding:34px;min-height:300px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:.2s}.service-card:hover{background:var(--pale);transform:translateY(-2px)}.service-card>svg{color:var(--blue);width:30px;height:30px}.service-card h3{font-size:22px;line-height:1.2;margin:24px 0 12px}.service-card p{color:var(--muted);margin:0 0 23px}.service-card span{display:flex;align-items:center;gap:7px;color:var(--blue);font-weight:800;font-size:14px}.dark-section{background:var(--navy);color:#fff;padding:100px 0}.split{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px;align-items:center}.split>div>p:not(.eyebrow){color:#b9c9d0;font-size:17px}.audience-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#28414c;border:1px solid #28414c}.audience-grid article{background:#0b222c;padding:30px}.audience-grid svg{color:var(--sky)}.audience-grid h3{font-size:19px;margin:15px 0 5px}.audience-grid p{font-size:14px;color:#acbec6;margin:0}.locations{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px;align-items:center}.locations>div>p{margin:20px 0}.text-link.blue{color:var(--blue)}.location-list{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.location-list span{background:var(--pale);border:1px solid var(--line);padding:12px 15px;font-weight:700;font-size:14px}.cta{background:var(--blue);color:#fff;padding:48px 0}.cta-inner{display:flex;justify-content:space-between;align-items:center;gap:40px}.cta p{margin:0;font-weight:700;color:#dcecff}.cta h2{font-size:38px}.button.white{background:#fff;color:var(--blue)}.button.outline-white{border:1px solid rgba(255,255,255,.6);color:#fff}footer{background:#041016;color:#9fb2bb;padding:70px 0 25px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.1fr;gap:60px}.footer-grid>div:first-child img{width:220px;filter:brightness(0) invert(1)}.footer-grid h3{color:#fff;font-size:14px;text-transform:uppercase;letter-spacing:.11em;margin:0 0 18px}.footer-grid a{display:block;margin:8px 0;font-size:14px}.footer-grid a:hover{color:#fff}.footer-grid p{font-size:14px}.footer-bottom{border-top:1px solid #19303a;margin-top:48px;padding-top:22px;display:flex;justify-content:space-between;font-size:12px}.page-hero{background:var(--navy);color:#fff;padding:85px 0}.page-hero .container>p:last-child{color:#bed0d7;font-size:19px;max-width:760px;margin:24px 0 0}.page-hero h1{font-size:clamp(42px,5vw,66px)}.page-hero .button-row{margin-top:30px}.page-hero.compact{padding:60px 0}.service-intro{display:grid;grid-template-columns:1fr .72fr;gap:90px}.service-intro h2{font-size:43px;line-height:1.15;margin-top:0}.service-intro>div p,.prose-grid p,.legal p,.prose-narrow p{font-size:17px;color:var(--muted)}.service-intro aside,.principles{background:var(--pale);border-top:4px solid var(--blue);padding:30px}.service-intro aside h3,.principles h3{margin-top:0}.service-intro aside span,.principles span{display:flex;gap:10px;align-items:flex-start;padding:9px 0;border-bottom:1px solid var(--line)}.service-intro aside svg,.principles svg{width:17px;color:var(--blue);flex:none;margin-top:5px}.alt{background:var(--pale)}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.detail-grid article{background:#fff;padding:32px;border:1px solid var(--line)}.detail-grid b{color:var(--blue);font-size:13px}.detail-grid h2{font-size:24px;line-height:1.25}.detail-grid p{color:var(--muted)}.faq{max-width:850px}.faq>h2{margin-bottom:35px}.faq details{border-top:1px solid var(--line);padding:20px 0}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{font-weight:800;font-size:18px;cursor:pointer}.faq details p{color:var(--muted);margin-bottom:0}.faq.large{padding-top:70px}.prose-grid{display:grid;grid-template-columns:1fr .55fr;gap:90px}.prose-grid h2:not(:first-child){font-size:32px;margin-top:45px}.area-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.area-grid article{border:1px solid var(--line);padding:22px}.area-grid h3{font-size:17px;margin:0 0 8px}.area-grid p{font-size:14px;color:var(--muted);margin:0}.prose-narrow{max-width:800px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.contact-grid>a{border:1px solid var(--line);padding:30px;display:flex;align-items:center;gap:18px}.contact-grid>a>svg:first-child{background:#eaf3ff;color:var(--blue);width:50px;height:50px;padding:14px;border-radius:50%}.contact-grid>a>svg:last-child{margin-left:auto;color:var(--blue)}.contact-grid span{font-size:21px;font-weight:800}.contact-grid small{display:block;color:var(--muted);font-size:13px;font-weight:600}.legal{max-width:820px}.legal h2{font-size:25px;margin-top:35px}
@media(max-width:1080px){.topbar span:nth-child(2),.topbar a,.site-header nav,.header-phone{display:none}.site-header{height:72px}.brand img{width:205px}.mobile-menu{display:block;position:relative}.mobile-menu summary{list-style:none;cursor:pointer}.mobile-menu>div{position:absolute;right:0;top:42px;background:#fff;border:1px solid var(--line);box-shadow:0 15px 40px rgba(0,0,0,.15);width:230px;padding:12px}.mobile-menu a{display:block;padding:10px;font-weight:700}.hero{padding:70px 0}.hero-grid,.section-heading,.split,.locations,.service-intro,.prose-grid{grid-template-columns:1fr;gap:40px}.hero-card{max-width:600px}.strip-grid{grid-template-columns:1fr 1fr;gap:20px}.strip-grid div:nth-child(3){padding-left:0;border:0}.service-grid,.detail-grid{grid-template-columns:1fr 1fr}.area-grid{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}.cta-inner{align-items:flex-start;flex-direction:column}}
@media(max-width:560px){.container{width:min(100% - 28px,1160px)}.topbar .container{justify-content:center}.topbar .container span:first-child{display:flex}.hero{padding:58px 0}.hero h1,.page-hero h1{font-size:41px}.hero-lede{font-size:17px}.button-row{width:100%}.button{width:100%}.trust-row{display:grid;gap:8px}.service-strip{display:none}.section{padding-top:64px;padding-bottom:64px}.service-grid,.detail-grid,.area-grid,.contact-grid{grid-template-columns:1fr}.service-card{min-height:auto}.audience-grid{grid-template-columns:1fr}.location-list{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr;gap:35px}.footer-bottom{flex-direction:column;gap:6px}.page-hero{padding:58px 0}.cta h2{font-size:31px}.service-intro h2{font-size:34px}}

/* White Marsh: crisp white surfaces, ink typography, restrained electric blue. */
.site-header{height:100px}
.brand{flex-shrink:0}.brand img{width:275px;max-width:100%}
.site-header nav{gap:20px}
.hero{background:#f4f7fa;color:var(--ink);padding:76px 0}
.hero:after,.hero-glow,.panel-lines{display:none}
.hero-grid{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:60px}
.hero h1{font-size:clamp(42px,4.7vw,66px);line-height:1.08;letter-spacing:-.04em}
.hero h1 em{color:var(--blue)}
.hero .eyebrow{color:#36516a;font-size:13px}
.hero-lede{color:#4c6070;font-size:19px}
.hero .trust-row{color:#3e5364}
.hero .trust-row svg{color:var(--blue)}
.hero .button.ghost{border-color:#b7c7d4;color:var(--ink);background:#fff}
.hero-card{padding:30px;border-radius:14px;background:#fff;border:1px solid var(--line);box-shadow:0 18px 45px #142b4010}
.hero-card:before{content:"";display:block;height:145px;margin:-30px -30px 25px;background:url("/electrical-work.png") center right/cover}
.hero-card>p{color:#526676;font-size:12px}
.hero-card h2{font-size:27px}
.hero-card li{color:#425564;border-color:var(--line)}
.hero-card>a{color:var(--blue)}
.button{transition:background .18s ease,box-shadow .18s ease}
.button.primary{box-shadow:0 6px 18px #1459bd22}
.button.primary:hover{background:#104b9f}
.service-grid{gap:18px;border:0}
.service-card{border:1px solid var(--line);border-radius:12px;padding:28px;background:#fff}
.service-card:hover{box-shadow:0 12px 32px #142b400c;border-color:#adc4d6}
.service-card>svg{padding:10px;box-sizing:content-box;background:#edf4fc;border-radius:10px}
.section-heading{gap:50px}
.section-heading h2,.split h2,.locations h2{font-size:clamp(30px,3.6vw,44px)}
.audience-grid{gap:14px;background:transparent;border:0}
.audience-grid article{border:1px solid #294350;border-radius:12px}
.footer-grid{gap:35px;grid-template-columns:1.4fr 1fr 1fr 1.2fr}
.footer-grid>div:first-child img{display:block;width:270px;max-width:100%;height:auto;filter:none;background:#fff;padding:12px;border-radius:6px}
.footer-grid a{overflow-wrap:anywhere}
.page-hero{padding:64px 0}
.page-hero .container>p{color:#c5d5df}
.detail-grid article,.principles,.service-intro aside,.contact-grid>a{border-radius:12px}
.contact-grid span{font-size:clamp(16px,1.65vw,21px);overflow-wrap:anywhere;min-width:0}
.contact-grid svg{flex-shrink:0}
.dark-section .prose-narrow p{color:#c4d2db}
.breadcrumbs{display:flex;flex-wrap:wrap;gap:9px;font-size:14px;color:#c3d4df;margin-bottom:24px}
.breadcrumbs a{text-decoration:underline;text-underline-offset:4px}
.related-services{padding-top:0}
.related-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.related-links a{padding:12px 16px;border:1px solid var(--line);border-radius:8px;color:var(--blue);font-weight:700}
.service-directory{margin-top:25px}
.service-directory a{color:var(--blue);font-weight:700;text-decoration:underline;text-underline-offset:4px}
.skip-link{position:fixed;top:-100px;left:16px;padding:12px 20px;background:#fff;color:#102231;z-index:100}
.skip-link:focus{top:12px}
a:focus-visible,summary:focus-visible{outline:3px solid #568aca;outline-offset:5px}
#services{scroll-margin-top:120px}
@media(max-width:1080px){.site-header{height:88px}.brand img{width:240px}.hero-grid{grid-template-columns:1fr;gap:35px}.hero-card{max-width:640px}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.hero{padding:48px 0}.hero h1{font-size:clamp(34px,9vw,44px)}.hero-lede{font-size:17px}.footer-grid{grid-template-columns:1fr}.contact-grid>a{padding:20px;gap:12px}.contact-grid>a>svg:last-child{display:none}.section-heading{gap:22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.service-card{transition:none}.service-card:hover{transform:none}}
