@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap');
:root{--ink:#17343b;--muted:#60747a;--teal:#176b70;--pale:#eaf3f1;--line:#dce7e4;--white:#fff}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:'DM Sans',Arial,sans-serif;line-height:1.6;background:#fff}
.site-header{height:82px;padding:0 max(6vw,24px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#fff}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--ink);font-size:14px;font-weight:700;letter-spacing:.08em}.brand img{display:block}.brand b{color:var(--teal)}
.header-cta{color:var(--teal);font-weight:700;text-decoration:none;font-size:14px}.header-cta:hover{text-decoration:underline}
.hero{min-height:510px;background:var(--pale);padding:90px max(9vw,28px);display:grid;grid-template-columns:1.1fr .9fr;align-items:center;overflow:hidden;position:relative}
.hero-content{max-width:620px;position:relative;z-index:2}.eyebrow{font-size:11px;letter-spacing:.2em;font-weight:700;color:var(--teal);margin:0 0 15px}
h1,h2,h3{font-family:Manrope,'DM Sans',sans-serif;line-height:1.15}h1{font-size:clamp(38px,5vw,62px);letter-spacing:-.045em;margin:0 0 22px;max-width:650px}h2{font-size:clamp(30px,4vw,42px);letter-spacing:-.035em;margin:0 0 16px}
.lead{font-size:18px;color:#50676d;max-width:520px;margin:0 0 30px}.button{display:inline-flex;align-items:center;gap:20px;background:var(--teal);color:white;padding:15px 21px;border-radius:5px;text-decoration:none;font-weight:700;font-size:14px;box-shadow:0 8px 20px #176b7020}.button:hover{background:#10575c;transform:translateY(-1px)}.coverage{font-size:13px;color:var(--muted);margin-top:18px}
.hero-art{height:340px;position:relative}.sun{position:absolute;width:190px;height:190px;border-radius:50%;background:#d5a85d;right:15%;top:5%;opacity:.95}.wave{position:absolute;width:390px;height:230px;border-radius:50% 50% 0 0;transform:rotate(-18deg)}.wave-one{background:#83b6ad;right:0;bottom:0}.wave-two{background:#347e7b;right:18%;bottom:-40px;opacity:.9}
.section{padding:88px max(9vw,28px);max-width:1440px;margin:auto}.section-intro{color:var(--muted);max-width:570px;margin:0 0 34px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.service{border:1px solid var(--line);border-radius:8px;padding:25px 22px;min-height:190px;background:white}.service-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--pale);color:var(--teal);font-size:23px}.service h3{font-size:19px;margin:18px 0 8px}.service p{font-size:14px;color:var(--muted);margin:0}
.contact{margin:0 max(6vw,20px) 75px;padding:52px max(5vw,24px);border-radius:10px;background:#173f46;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:30px}.contact .eyebrow{color:#a6d4ca}.contact h2{max-width:500px}.contact p:not(.eyebrow){color:#d2e1df;max-width:540px;margin-bottom:0}.button-light{background:#fff;color:var(--teal);white-space:nowrap}.button-light:hover{background:#edf5f3}
footer{border-top:1px solid var(--line);padding:28px max(6vw,24px);display:flex;align-items:center;justify-content:space-between;gap:18px;color:var(--muted);font-size:13px}footer p{margin:0}.footer-brand{font-size:11px}footer small{font-size:12px}
@media(max-width:800px){.hero{grid-template-columns:1fr;padding-top:68px;padding-bottom:35px}.hero-art{height:210px;max-width:430px;width:100%;margin:20px auto 0}.sun{width:130px;height:130px}.wave{width:300px;height:170px}.service-grid{grid-template-columns:repeat(2,1fr)}.contact{align-items:flex-start;flex-direction:column;margin-bottom:48px}footer{flex-wrap:wrap}}
@media(max-width:480px){.site-header{height:72px;padding:0 18px}.brand{font-size:11px;gap:7px}.brand img{width:38px;height:38px}.header-cta{font-size:12px}.hero{padding-left:22px;padding-right:22px}h1{font-size:39px}.lead{font-size:16px}.section{padding:65px 22px}.service-grid{grid-template-columns:1fr}.service{min-height:0}.contact{padding:35px 24px;margin-left:14px;margin-right:14px}footer{padding:25px 20px;display:grid;grid-template-columns:1fr 1fr}footer p{grid-column:1/-1;grid-row:2}}
