:root{--ink:#173644;--muted:#66818f;--sky:#e6f5fa;--white:#f9fcfd;--line:#cfe1e8;--accent:#78cade}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--sky);color:var(--ink);font-family:'Source Sans 3',sans-serif;font-size:20px}a{color:inherit;text-decoration:none}button,input,select{font:inherit}img{display:block;max-width:100%}.container{width:min(1360px,calc(100% - 64px));margin:auto}header{background:#fbfdfd;border-bottom:1px solid #dfebef}.header-inner{height:84px;display:flex;align-items:center;justify-content:space-between}.header-inner img{width:80px;height:66px;object-fit:contain}nav{display:flex;gap:40px;margin-left:90px;color:#597684;font-weight:600}.button{display:inline-flex;justify-content:center;align-items:center;gap:12px;background:var(--ink);color:#fff;border:0;border-radius:17px;padding:17px 28px;font-weight:600;cursor:pointer;min-height:62px}.button svg{width:23px;height:23px;flex-shrink:0}.header-call{border-radius:40px;padding:14px 24px}.hero{background:linear-gradient(180deg,rgba(230,245,250,.82),rgba(230,245,250,.94) 85%,#e6f5fa),url('assets/hero.png') center 48%/cover}.hero-grid{min-height:694px;display:grid;grid-template-columns:520px 1fr;gap:74px;align-items:center;padding-block:90px}.location{display:inline-flex;align-items:center;gap:12px;border:1px solid #becfd7;border-radius:24px;padding:6px 16px;font-weight:700;letter-spacing:2.4px;font-size:16px;background:#f8fbfc}.location span{width:8px;height:8px;border-radius:50%;background:var(--accent)}h1,h2,h3,strong{font-family:'Montserrat',sans-serif}h1{font-size:68px;line-height:1.05;letter-spacing:-1.1px;margin:22px 0 26px;font-weight:800}h2{font-size:44px;line-height:1.2;margin:16px 0 18px;font-weight:800;letter-spacing:-.5px}h3{font-size:24px;line-height:1.3;margin:0 0 8px;font-weight:800;letter-spacing:-.35px}.hero-copy>p{font-size:26px;line-height:1.6;color:#4d6c7a;margin:0;max-width:500px}.checks{display:flex;gap:30px;margin-top:34px;font-size:20px;font-weight:600;color:#547482}.quote-card{background:rgba(252,253,254,.94);border:1px solid #b9cbd3;border-radius:24px;padding:38px 40px 40px;box-shadow:0 20px 40px #17364418}.form-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:30px}.form-heading h2{font-size:30px;margin:0;letter-spacing:0}.form-heading>span{font-size:16px;color:#8499a5}.fields{display:grid;grid-template-columns:1fr 1fr;gap:20px 24px}label{font-size:17px;font-weight:600;letter-spacing:1.4px;color:#748b97}input,select{font-weight:400;display:block;width:100%;height:68px;border:1px solid #cbdfe7;border-radius:18px;background:#eaf5f9;color:#234554;padding:16px 22px;margin-top:8px;font-size:23px;letter-spacing:0;outline-offset:3px}input::placeholder{color:#91a8b4;opacity:1}select{appearance:none}form>.button{width:100%;height:74px;margin-top:28px;font-size:23px}.form-note{font-size:17px;text-align:center;color:#8499a5;margin:14px 0 0}#form-status{font-size:17px;color:#173644;margin-bottom:0}.trust{background:#f9fcfd;border-block:1px solid #d9e7ec}.badges{height:114px;display:flex;align-items:center;justify-content:space-around;padding-inline:50px}.badges img{height:64px;width:auto;object-fit:contain}.badges img:first-child{width:260px;height:auto}.badges img:nth-child(2){width:172px}.badges img:nth-child(3){width:106px}.badges img:nth-child(4){width:66px}.section{padding:110px 0}.eyebrow{font-size:17px;letter-spacing:2.2px;font-weight:700;color:#7893a0;margin:0}.intro{font-size:24px;line-height:1.55;color:var(--muted);margin:20px 0 48px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.service-grid article{background:var(--white);border:1px solid var(--line);border-radius:24px;overflow:hidden}.service-grid article>img{width:100%;aspect-ratio:4/3;object-fit:cover}.card-copy{padding:24px 22px 26px}.card-copy p{font-size:21px;line-height:1.55;color:#6b8492;margin:0}.projects{background:var(--ink);color:white}.projects .eyebrow{color:var(--accent)}.projects .intro{color:#a3b7bf}.project-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.project-grid img{width:100%;aspect-ratio:1;object-fit:cover;border:1px solid #ffffff30;border-radius:18px}.about-grid{display:grid;grid-template-columns:1.42fr 1fr;gap:48px;align-items:center}.about .intro{margin:20px 0 36px}.about-grid>img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:24px;border:1px solid var(--line)}.contact-buttons{display:flex;gap:16px}.secondary{background:var(--accent);color:var(--ink)}footer{background:#f9fcfd;border-top:1px solid #dce8ed}footer .container{min-height:84px;display:flex;justify-content:space-between;align-items:center}footer strong{font-size:21px;font-weight:800}footer span{font-size:17px;color:#8099a6}a:focus-visible,button:focus-visible{outline:3px solid #38a7c3;outline-offset:5px}section[id]{scroll-margin-top:24px}
@media(max-width:1100px){.hero-grid{grid-template-columns:1fr 1.3fr;gap:36px}h1{font-size:58px}.hero-copy>p{font-size:23px}.quote-card{padding:28px}.form-heading{flex-wrap:wrap}.about-grid{grid-template-columns:1.2fr 1fr}.contact-buttons{flex-wrap:wrap}.checks{gap:12px;flex-wrap:wrap}.card-copy{padding:20px 18px}h3{font-size:21px}.card-copy p{font-size:19px}}
@media(max-width:760px){.container{width:calc(100% - 40px)}.header-inner{height:auto;min-height:80px;flex-wrap:wrap;padding-block:10px;gap:12px}.header-inner img{width:65px;height:54px}nav{order:3;width:100%;justify-content:center;margin:0;gap:36px;font-size:18px;padding-bottom:6px}.header-call{font-size:17px;padding:12px 17px;min-height:48px}.hero-grid{grid-template-columns:1fr;padding-block:48px;gap:36px;min-height:0}h1{font-size:56px}.hero-copy>p{font-size:22px}.checks{font-size:18px;margin-top:24px;gap:22px}.quote-card{padding:25px 20px;border-radius:22px}.form-heading h2{font-size:25px}.form-heading{margin-bottom:22px}.fields{gap:18px 12px}label{font-size:14px}input,select{font-size:17px;height:56px;padding:12px;border-radius:13px}form>.button{height:62px;font-size:20px}.form-note{font-size:15px}.badges{height:auto;min-height:160px;display:grid;grid-template-columns:1fr 1fr;gap:20px;justify-items:center;padding:24px 0}.badges img:first-child{width:170px}.badges img:nth-child(2){width:120px;height:45px}.badges img:nth-child(3){width:84px;height:48px}.badges img:nth-child(4){width:48px;height:48px}.section{padding:60px 0}h2{font-size:33px}.intro{font-size:21px;margin-bottom:30px}.eyebrow{font-size:14px}.service-grid{grid-template-columns:1fr;gap:20px}h3{font-size:23px}.card-copy p{font-size:20px}.project-grid{grid-template-columns:1fr 1fr;gap:12px}.project-grid img{border-radius:14px}.about-grid{grid-template-columns:1fr;gap:30px}.desktop-break{display:none}.contact-buttons{gap:12px}.contact-buttons .button{font-size:18px;padding:15px 20px}footer .container{padding-block:24px;gap:12px;flex-direction:column;align-items:flex-start}footer strong{font-size:20px}footer span{font-size:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

@media(min-width:761px){.badges{width:min(1224px,calc(100% - 64px));display:grid;grid-template-columns:repeat(4,1fr);padding-inline:0;justify-items:center}.badges img:nth-child(2){width:210px;height:78px}.badges img:nth-child(3){width:116px;height:70px}nav{margin-left:0}.hero-grid{grid-template-columns:520px 1fr;gap:74px}}
@media(min-width:761px) and (max-width:1100px){.hero-grid{grid-template-columns:1fr 1.3fr;gap:36px}}@media(min-width:1101px){h1{font-size:72px;line-height:.99}}

/* GHL controls the fields inside this cross-origin frame and resizes it. */
.quote-card{min-width:0}.quote-card>iframe{display:block;max-width:100%}.hero-grid{align-items:center}

/* The supplied GHL form uses white labels on a transparent background. */
.quote-card>iframe{background:#173644;border-radius:10px}

/* Match the quote holder to the header call button for readable white GHL labels. */
#quote-form.quote-card{background:var(--ink);color:#fff;border-color:var(--ink)}
#quote-form .form-heading h2{color:#fff}
#quote-form .form-heading>span{color:#c7dee8}
#quote-form>iframe{background:var(--ink)!important}
#quote-form noscript a{color:#fff;text-decoration:underline}
