*{box-sizing:border-box}html{color-scheme:light}body{margin:0;font:16px/1.7 Arial,Helvetica,sans-serif;color:#333d49;background:#fff}a{color:#122858;text-underline-offset:4px}a:hover{color:#386286}a:focus-visible{outline:3px solid #789cc2;outline-offset:5px}.wrap{width:min(1080px,calc(100% - 48px));margin:auto}.topline{background:#122858;color:#fff;font-size:13px}.topline .wrap{display:flex;justify-content:space-between;padding:8px 0}.topline a{color:#fff;text-decoration:none}header{border-bottom:1px solid #e1e5eb}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:28px 0}.brand{text-decoration:none;color:#122858;display:block}.brand strong{font-size:35px;letter-spacing:7px;line-height:1.1;display:block}.brand small{font-size:10px;letter-spacing:2px;display:block;margin-top:5px}nav{display:flex;align-items:center;gap:0}nav a{padding:8px 18px;text-decoration:none;font-size:15px;white-space:nowrap}nav a+ a{border-left:1px solid #dce1e7}nav a[aria-current]{font-weight:bold;color:#122858;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:9px}main{min-height:calc(100svh - 277px)}.hero{background:#f3f5f7;border-bottom:1px solid #e1e5eb;padding:76px 0 80px}.eyebrow{font-size:12px;font-weight:bold;letter-spacing:2px;text-transform:uppercase;color:#526781;margin:0 0 17px}h1,h2,h3{color:#122858;line-height:1.2}h1{font-size:46px;letter-spacing:-1px;max-width:750px;margin:0 0 24px}h2{font-size:27px;margin:0 0 18px}h3{font-size:19px;margin:0 0 10px}p{margin:0 0 20px}.lead{font-size:19px;max-width:660px;color:#56616e}.buttons{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}.button{display:inline-block;background:#122858;color:white;padding:11px 24px;text-decoration:none;border:1px solid #122858;border-radius:3px;font-size:15px}.button:hover{background:#243e6d;color:#fff}.button.secondary{background:transparent;color:#122858}.section{padding:52px 0 60px}.intro{max-width:740px}.page-title{background:#f3f5f7;padding:43px 0;border-bottom:1px solid #e1e5eb}.page-title h1{font-size:36px;margin:0 0 9px}.page-title p{margin:0;color:#56616e}.grid{display:grid;grid-template-columns:repeat(2,1fr);column-gap:55px;row-gap:28px}.service{border-bottom:1px solid #e1e5eb;padding-bottom:23px}.service p{margin:0;color:#596370}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}dl{margin:0}dt{font-weight:bold;color:#122858;margin-top:22px}dt:first-child{margin-top:0}dd{margin:3px 0 0;overflow-wrap:anywhere}.aside{background:#f3f5f7;padding:30px;align-self:start}.social{display:flex;gap:20px;margin-top:25px}footer{border-top:1px solid #e1e5eb;padding:24px 0;font-size:12px;color:#627080}.footer-inner{display:flex;justify-content:space-between;gap:20px}footer p{margin:0}@media(max-width:700px){.wrap{width:calc(100% - 36px)}.topline .wrap{justify-content:center}.topline .area{display:none}.header-inner{flex-direction:column;gap:22px;padding:24px 0 20px}.brand{text-align:center}nav{width:100%;justify-content:center}nav a{padding:5px 12px;font-size:14px}.hero{padding:48px 0 52px}h1{font-size:35px}.lead{font-size:17px}.section{padding:36px 0 44px}.grid,.contact-grid{grid-template-columns:1fr;gap:24px}.page-title{padding:30px 0}.page-title h1{font-size:31px}.footer-inner{flex-direction:column;gap:4px}.aside{padding:24px}.button{padding:10px 18px}}
.brand-logo{display:block;width:220px;height:auto}.header-inner{padding:12px 0;gap:24px}.residential{background:#102f51;color:#fff;text-align:center;font-size:19px;line-height:1.5;font-weight:700;letter-spacing:3px;padding:17px 18px}.residential span{margin:0 18px}.call-line{text-align:center;padding:14px 18px;border-bottom:1px solid #e1e5eb}.call-line a{font-size:20px;font-weight:700;text-decoration:none;color:#102f51}.hero{padding-top:55px}label{display:block;font-weight:bold;color:#122858;margin:0 0 7px}input,textarea{display:block;width:100%;font:inherit;padding:10px 12px;border:1px solid #b8c2ce;border-radius:3px;margin-bottom:19px;background:#fff;color:#333d49}textarea{resize:vertical}button{font:inherit;cursor:pointer}.form-note,#form-status{font-size:14px;color:#596370;margin-top:18px}.aside a{overflow-wrap:anywhere}@media(max-width:700px){.header-inner{gap:12px;padding:12px 0 20px}.brand-logo{width:190px}nav{flex-wrap:wrap;row-gap:12px}nav a{padding:5px 10px;font-size:13px}.residential{font-size:14px;letter-spacing:2px;padding:15px 10px}.residential span{margin:0 9px}.call-line a{font-size:19px}.hero{padding-top:40px}}
.contact-list{margin:0}.contact-item{margin-bottom:26px}.contact-item:last-child{margin-bottom:0}.contact-item dt{display:flex;align-items:center;gap:12px;margin:0 0 6px}.contact-icon{width:24px;height:24px;flex:0 0 24px;color:#2563a6;stroke:currentColor}.contact-item dd{margin:0 0 0 36px;overflow-wrap:anywhere}

.welcome-title{font-size:27px;letter-spacing:0;margin:0 0 18px}

.call-line a{display:inline-block;background:#122858;color:#fff;border:1px solid #122858;border-radius:4px;padding:10px 22px;font-size:18px;line-height:1.5}.call-line a:hover{background:#243e6d;color:#fff}

.services-banner{width:100%;background:#fff}.services-banner img{display:block;width:100%;height:auto}

.service-menu{display:grid;grid-template-columns:1fr 1fr;gap:0 48px;list-style:none;padding:0;margin:0}.service-menu li{display:flex;align-items:center;gap:18px;padding:23px 0;border-bottom:1px solid #e1e5eb;color:#122858;font-size:18px;font-weight:600;line-height:1.45}.service-icon{width:32px;height:32px;flex:0 0 32px;color:#2563a6}.service-note{margin:36px 0 0;color:#56616e}@media(max-width:700px){.service-menu{grid-template-columns:1fr}.service-menu li{font-size:17px;padding:20px 0;gap:16px}.service-icon{width:28px;height:28px;flex-basis:28px}}

.footer-social{display:flex;gap:10px;margin-top:16px}.footer-social a{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;color:#2563a6;border:1px solid #dce4ed;border-radius:4px;text-decoration:none}.footer-social a:hover{background:#edf3fa;border-color:#2563a6}.footer-social-icon{display:block;width:24px;height:24px;stroke:currentColor}

/* Matching solid blue contact badges with white details. */
.contact-icon{box-sizing:border-box;width:38px;height:38px;flex:0 0 38px;padding:8px;border-radius:50%;background:#2563a6;color:#fff;stroke:currentColor}
.contact-item dd{margin-left:50px}
.footer-social a{background:#2563a6;color:#fff;border-color:#2563a6;border-radius:50%}
.footer-social a:hover{background:#194d86;color:#fff;border-color:#194d86}
.footer-social-icon{color:#fff;stroke:currentColor}

.gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.gallery-thumb{display:block;overflow:hidden;border:1px solid #e1e5eb;border-radius:4px;background:#f3f5f7}.gallery-thumb img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .2s}.gallery-thumb:hover img{transform:scale(1.035)}@media(max-width:1000px){.header-inner{flex-wrap:wrap;justify-content:center}nav{flex-wrap:wrap;justify-content:center}.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:600px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}@media(prefers-reduced-motion:reduce){.gallery-thumb img{transition:none}}

@media(max-width:600px){.residential{font-size:clamp(9px,2.7vw,14px);letter-spacing:1px}.residential span{margin:0 6px}}
