:root{--navy:#0d3569;--blue:#4e8fd7;--line:#cbdff5;--soft:#eef6ff;--serif:"Playfair Display",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f5f7fa;color:var(--navy);font-family:var(--sans);font-size:16px}.page{width:min(100%,977px);margin:0 auto;background:linear-gradient(110deg,#fff 0%,#fff 60%,#fbfdff 100%);overflow:hidden;box-shadow:0 0 0 1px #dfe2e6}.svg-defs{position:absolute;width:0;height:0;overflow:hidden}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.site-header{height:89px;padding:0 33px 0 46px;display:flex;align-items:center;position:relative;z-index:10}.brand{display:flex;align-items:center;gap:8px;color:var(--navy);font:600 24px/1 var(--serif);text-decoration:none;white-space:nowrap}.logo-drop{width:25px;height:35px;fill:none;stroke:#4388d3;stroke-width:1.35;stroke-linecap:round}.primary-nav{margin-left:auto;display:flex;align-self:stretch;gap:32px}.primary-nav a{display:flex;align-items:center;padding-top:2px;color:#252c3a;text-decoration:none;font-size:11.5px;border-bottom:2px solid transparent}.primary-nav a:hover,.primary-nav a.active{color:var(--navy);border-bottom-color:#3d86d5}.header-phone,.pill-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;color:#fff;text-decoration:none;font-weight:700;border-radius:999px;background:linear-gradient(105deg,#387fc8,#5197dc);transition:transform .2s ease,box-shadow .2s ease}.header-phone{width:160px;height:40px;margin-left:49px;font-size:15px;background:#eaf4ff;color:#275e9c}.header-phone svg{width:23px;height:23px;color:#326fae}.pill-button{height:40px;padding:0 19px;font-size:14px}.pill-button svg{width:20px;height:20px}.pill-button:hover,.header-phone:hover{transform:translateY(-1px);box-shadow:0 7px 18px #2f75bc33}.menu-toggle{display:none;margin-left:auto;border:0;background:transparent;padding:8px}.menu-toggle>span:not(.sr-only){display:block;width:24px;height:2px;background:var(--navy);margin:5px}.hero{height:397px;position:relative}.hero-photo{position:absolute;z-index:0;top:0;left:445px;width:532px;height:397px;object-fit:fill}.hero-pipes{position:absolute;z-index:1;left:0;top:21px;width:108px;height:328px;object-fit:contain}.hero-copy{position:absolute;z-index:2;left:123px;top:59px;width:330px}.hero h1,.services h2,.coverage h2,.projects h2,.faq h2,.callout h2{font-family:var(--serif);font-weight:600;letter-spacing:-.032em}.hero h1{margin:0;color:var(--navy);font-size:46px;line-height:1.02}.hero h1 em,.coverage h2 em{font-style:normal;color:#5a9bdc}.hero-copy p{width:309px;margin:14px 0 24px;color:#596275;font-size:12px;line-height:1.55}.services{position:relative;height:325px;margin:0 32px;background:#fff;border-radius:31px 31px 0 0;box-shadow:0 -2px 23px #2c5d9410;padding-top:31px;text-align:center;overflow:hidden}.service-pipes{position:absolute;right:-1px;top:0;width:298px;height:101px;object-fit:cover;object-position:top}.eyebrow{position:relative;z-index:1;margin:0 0 5px;color:#72a7e1;text-transform:uppercase;letter-spacing:.16em;font-size:9px;font-weight:700}.services h2,.projects h2,.faq h2{position:relative;z-index:1;margin:0;font-size:25px}.service-grid{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin:21px 31px 0}.service-card{min-width:0}.service-icon{width:65px;height:65px;color:#4289d5;fill:none;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round}.service-card h3,.project-grid h3{font:600 15px/1.2 var(--serif);margin:8px 0 6px;color:#153563}.service-card p{max-width:172px;margin:0 auto;color:#444d5d;font-size:11.5px;line-height:1.48}.coverage{height:264px;margin:0 47px;display:grid;grid-template-columns:417px 1fr;border-radius:17px;overflow:hidden;background:linear-gradient(106deg,#f6fbff,#eef5ff)}.coverage-map{height:264px;overflow:hidden}.coverage-map img{width:417px;height:264px;object-fit:fill;display:block}.coverage-copy{padding:25px 36px 0 4px}.coverage h2{margin:0 0 10px;font-size:23px;line-height:1.06}.coverage-copy>p{margin:0 0 16px;color:#4d5667;font-size:10.5px;line-height:1.55;max-width:420px}.coverage-facts{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #bcd7f2}.coverage-facts>div{min-height:92px;padding:14px 8px 0;display:flex;flex-direction:column;align-items:center;text-align:center;border-right:1px solid #bcd7f2}.coverage-facts>div:last-child{border:0}.coverage-facts svg{width:31px;height:31px;margin-bottom:5px;fill:none;stroke:#2d70b9;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.coverage-facts strong{font:600 11.5px/1.28 var(--serif)}.projects{height:309px;padding-top:17px;text-align:center}.projects h2{font-size:22px}.project-grid{display:grid;grid-template-columns:254px 255px 271px;gap:23px;margin:10px 0 0 76px;text-align:left}.project-grid article{min-width:0}.project-grid img{display:block;width:100%;height:165px;object-fit:fill;border-radius:14px}.project-grid h3{font-size:13px;margin:8px 7px 3px}.project-grid p{margin:0 7px;color:#4f5868;font-size:9.5px;line-height:1.35}.faq{padding:32px 110px 42px;text-align:center;background:#fff}.faq h2{font-size:25px}.faq-list{margin-top:18px;text-align:left;border-bottom:1px solid var(--line)}.faq-list details{border-top:1px solid var(--line)}.faq-list summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding:16px 3px;font:600 15px/1.25 var(--serif)}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{color:#4b8fd5;font:400 22px/1 var(--sans);transition:transform .2s ease}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list p{margin:-3px 42px 17px 3px;color:#505a6b;font-size:11.5px;line-height:1.55}.callout{height:89px;margin:0 32px;position:relative;display:flex;align-items:center;gap:14px;padding:0 60px;border-radius:25px;overflow:hidden;background:linear-gradient(105deg,#edf7ff,#e9f4ff)}.callout-phone{z-index:2;width:57px;height:57px;display:grid;place-items:center;border:2px solid #fff;border-radius:50%;color:#2e73bd}.callout-phone svg{width:31px;height:31px}.callout h2{position:relative;z-index:2;margin:0 0 2px;font-size:25px}.callout p{position:relative;z-index:2;margin:0;color:#4d5667;font-size:10.5px}.callout .pill-button{z-index:3;margin-left:auto;width:150px}.ripple{position:absolute;z-index:1;right:0;top:0;width:283px;height:91px;object-fit:fill}.site-footer{height:138px;position:relative;margin:0 32px;padding:28px 32px 0;display:grid;grid-template-columns:1.65fr .62fr .7fr 1.32fr;column-gap:30px}.footer-brand .brand{font-size:21px}.footer-brand .logo-drop{width:23px;height:31px}.footer-brand p,.footer-contact p{margin:5px 0;color:#515a69;font-size:10px}.footer-links{display:flex;flex-direction:column;gap:5px;padding-top:4px}.footer-links a{color:#333b49;text-decoration:none;font-size:9.5px}.footer-contact{position:relative;z-index:2;padding-top:1px}.footer-phone{display:flex;align-items:center;gap:6px;color:#2c67a8;text-decoration:none;font-size:15px;font-weight:700}.footer-phone svg{width:18px;height:18px}.footer-email{display:block;color:#4a6079;text-decoration:none;font-size:8.5px;margin:3px 0}.copyright{position:absolute;left:340px;bottom:12px;margin:0;color:#9098a4;font-size:9px}.footer-pipes{position:absolute;right:-32px;bottom:0;width:111px;height:143px;object-fit:fill}.footer-links a:hover,.footer-email:hover{color:#4387d3}@media(max-width:760px){body{background:#fff}.page{width:100%;box-shadow:none}.site-header{height:74px;padding:0 20px}.brand{font-size:19px}.logo-drop{width:21px;height:30px}.menu-toggle{display:block}.primary-nav{display:none;position:absolute;left:0;right:0;top:74px;z-index:20;background:#fff;padding:8px 22px 16px;box-shadow:0 10px 20px #1a43701c;flex-direction:column;gap:0}.primary-nav.open{display:flex}.primary-nav a{padding:12px 0;border-bottom:1px solid #edf2f7}.header-phone{width:42px;height:42px;margin-left:9px}.header-phone span{display:none}.hero{height:auto;padding:36px 0 0}.hero-copy{position:relative;left:auto;top:auto;width:auto;margin:0 29px}.hero h1{font-size:38px}.hero-copy p{width:auto;max-width:390px;font-size:13px;margin:18px 0 24px}.hero-photo{position:relative;left:auto;top:auto;width:100%;height:auto;margin-top:24px;display:block}.hero-pipes{display:none}.services{height:auto;margin:24px 20px 0;border-radius:25px;padding:34px 20px 31px}.service-pipes{width:210px;height:72px}.services h2,.projects h2,.faq h2{font-size:26px}.service-grid{grid-template-columns:1fr;margin:25px 0 0;gap:28px}.service-card p{max-width:260px;font-size:12px}.coverage{height:auto;margin:24px 20px 0;grid-template-columns:1fr;border-radius:20px}.coverage-map,.coverage-map img{width:100%;height:auto}.coverage-copy{padding:28px 23px 15px}.coverage h2{font-size:26px}.coverage-copy>p{font-size:12px}.coverage-facts{grid-template-columns:1fr;margin-top:19px}.coverage-facts>div{min-height:62px;padding:13px 6px;flex-direction:row;justify-content:center;gap:12px;border-right:0;border-bottom:1px solid #bdd7f1;text-align:left}.coverage-facts>div:last-child{border-bottom:0}.coverage-facts svg{margin:0}.projects{height:auto;padding:47px 28px 22px}.project-grid{grid-template-columns:1fr;margin:18px 0 0;gap:27px}.project-grid img{height:auto}.project-grid h3{font-size:16px;margin-top:9px}.project-grid p{font-size:11px}.faq{padding:47px 29px 40px}.faq-list summary{font-size:16px}.faq-list p{font-size:12px}.callout{height:auto;min-height:176px;margin:0 20px;padding:24px 22px;display:grid;grid-template-columns:58px 1fr;gap:8px 13px}.callout h2{font-size:24px}.callout p{font-size:11px}.callout .pill-button{grid-column:1/-1;margin:8px 0 0;width:185px}.ripple{width:100%;height:100%;object-fit:cover;opacity:.42}.site-footer{height:auto;margin:0;padding:38px 28px 29px;grid-template-columns:1fr 1fr;gap:26px 30px}.footer-brand{grid-column:1/-1}.footer-brand .brand{font-size:20px}.footer-contact{grid-column:1/-1}.footer-brand p,.footer-contact p{font-size:11px}.footer-links a{font-size:11px}.footer-email{font-size:10px}.copyright{position:static;grid-column:1/-1;font-size:9px}.footer-pipes{display:none}}@media(min-width:761px) and (max-width:976px){.site-header{padding-left:4.7vw;padding-right:3.3vw}.hero-copy{left:12.6vw}.hero-photo{left:45.55vw;width:54.45vw}.services{margin-left:3.28vw;margin-right:3.28vw}.coverage{margin-left:4.81vw;margin-right:4.81vw;grid-template-columns:42.68vw 1fr}.coverage-map,.coverage-map img{width:42.68vw}.project-grid{margin-left:7.78vw;grid-template-columns:26vw 26.1vw 27.74vw;gap:2.35vw}}
