
:root{
 --teal:#1c8a8f;--teal-deep:#147074;--navy:#143a4e;--navy-2:#1d4f66;
 --coral:#e0745a;--coral-deep:#c65a41;--sand:#f4efe4;--shell:#fbf8f2;
 --ink:#2b3a40;--haze:#607680;--line:#e4dccb;--aqua-mist:#e8f3f2}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:"Nunito","Segoe UI",-apple-system,"Helvetica Neue",sans-serif;
 color:var(--ink);background:var(--shell);line-height:1.75;font-size:17px}
img{max-width:100%}
a{color:var(--teal-deep)}
h1,h2,h3,h4{font-family:"Poppins","Trebuchet MS","Segoe UI",sans-serif;line-height:1.22;color:var(--navy);font-weight:700;letter-spacing:-.01em}
.wrap{max-width:1080px;margin:0 auto;padding:0 24px}

.topline{background:var(--navy);color:#d9e7ea;font-size:.86rem;padding:8px 0}
.topline .wrap{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}
.topline a{color:#8fe0dc;font-weight:800;text-decoration:none}

.bar{background:var(--shell);position:sticky;top:0;z-index:60;box-shadow:0 2px 18px rgba(20,58,78,.07)}
.bar .wrap{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 24px}
.mark{font-family:"Poppins",sans-serif;font-weight:800;font-size:1.22rem;color:var(--navy);text-decoration:none;display:flex;align-items:center;gap:9px}
.mark .dot{width:15px;height:15px;border-radius:50%;background:var(--coral);box-shadow:0 0 0 4px var(--aqua-mist)}
.mark b{color:var(--teal)}
.nav a{color:var(--ink);text-decoration:none;margin-left:26px;font-weight:600;font-size:.94rem}
.nav a:hover{color:var(--teal)}
.callchip{background:var(--coral);color:#fff;font-weight:800;padding:11px 22px;border-radius:14px;text-decoration:none;white-space:nowrap;box-shadow:0 10px 22px rgba(224,116,90,.32)}
.callchip:hover{background:var(--coral-deep)}

.hero-sea{position:relative;background:linear-gradient(160deg,var(--teal) 0%,var(--navy) 92%);color:#eafcfb;padding:82px 0 130px;text-align:center;overflow:hidden}
.hero-sea:before{content:"";position:absolute;top:-120px;right:-90px;width:340px;height:340px;border-radius:50%;background:rgba(255,255,255,.06)}
.hero-sea .wrap{position:relative;z-index:2}
.hero-sea .kicker{display:inline-block;background:rgba(255,255,255,.14);color:#d6fbf8;font-weight:700;font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;padding:7px 18px;border-radius:999px;margin-bottom:22px}
.hero-sea h1{color:#fff;font-size:clamp(2rem,4.8vw,3.15rem);max-width:840px;margin:0 auto}
.hero-sea .deck{margin:22px auto 32px;font-size:1.16rem;color:#cdeeee;max-width:660px}
.wave{position:absolute;bottom:-1px;left:0;width:100%;height:110px;display:block;z-index:1}

.btns{display:flex;gap:15px;flex-wrap:wrap;justify-content:center}
.btn{display:inline-block;padding:15px 32px;border-radius:14px;font-weight:800;text-decoration:none;font-size:1.02rem}
.btn-fill{background:var(--coral);color:#fff;box-shadow:0 12px 26px rgba(224,116,90,.34)}
.btn-fill:hover{background:var(--coral-deep)}
.btn-ghost{border:2px solid rgba(255,255,255,.7);color:#fff}
.btn-ghost:hover{background:rgba(255,255,255,.14)}
.btn-tide{background:var(--teal);color:#fff;box-shadow:0 12px 26px rgba(28,138,143,.32)}
.btn-tide:hover{background:var(--teal-deep)}
.btn-outline{border:2px solid var(--teal);color:var(--teal-deep)}
.btn-outline:hover{background:var(--teal);color:#fff}

.badges{display:flex;gap:12px 26px;flex-wrap:wrap;justify-content:center;margin-top:34px;font-size:.92rem;color:#bfe6e5}
.badges span{display:flex;align-items:center;gap:8px}
.badges span:before{content:"";width:9px;height:9px;border-radius:50%;background:var(--coral)}

.band{padding:66px 0}
.band.tint{background:var(--aqua-mist)}
.band.sand{background:var(--sand)}
.title{font-size:clamp(1.5rem,3.1vw,2.15rem);color:var(--navy);margin-bottom:12px}
.title.mid{text-align:center}
.sub{color:var(--haze);max-width:660px;margin-bottom:38px;font-size:1.03rem}
.sub.mid{margin-left:auto;margin-right:auto;text-align:center}

.cards{display:grid;gap:24px}
.cards.trio{grid-template-columns:repeat(auto-fill,minmax(290px,1fr))}
.cards.quad{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
.service-card{background:#fff;border-radius:20px;padding:28px;box-shadow:0 8px 28px rgba(20,58,78,.08);border:1px solid var(--line);transition:transform .16s ease,box-shadow .16s ease}
.service-card:hover{transform:translateY(-4px);box-shadow:0 16px 38px rgba(20,58,78,.13)}
.service-card h3{font-size:1.08rem;color:var(--navy);margin-bottom:8px}
.service-card p{font-size:.94rem;color:var(--haze)}
.service-card .more{display:inline-block;margin-top:14px;font-weight:800;font-size:.88rem;color:var(--coral-deep);text-decoration:none}
.service-card .more:hover{color:var(--coral)}

.steps{display:grid;gap:22px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));counter-reset:tide}
.step-card{background:#fff;border-radius:20px;padding:34px 26px 26px;position:relative;box-shadow:0 8px 26px rgba(20,58,78,.07);border:1px solid var(--line)}
.step-card:before{counter-increment:tide;content:counter(tide);position:absolute;top:-22px;left:26px;width:46px;height:46px;border-radius:14px;background:var(--teal);color:#fff;font-family:"Poppins",sans-serif;font-weight:800;font-size:1.3rem;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 20px rgba(28,138,143,.32)}
.step-card h3{font-size:1.05rem;margin:8px 0 8px}
.step-card p{font-size:.93rem;color:var(--haze)}

.valuesea{background:linear-gradient(150deg,var(--navy),var(--navy-2));color:#dfeef1;padding:70px 0}
.valuesea .title{color:#fff}
.valuesea .grid{display:grid;gap:26px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));margin-top:30px}
.valuesea .grid h3{color:#7fded9;font-size:1.06rem;margin-bottom:8px}
.valuesea .grid p{font-size:.95rem;color:#c6dde1}

.zone-chips{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.zone-chips a{background:#fff;border:1px solid var(--line);border-radius:999px;padding:11px 22px;text-decoration:none;font-size:.92rem;font-weight:700;color:var(--navy);box-shadow:0 4px 14px rgba(20,58,78,.06)}
.zone-chips a:hover{background:var(--teal);color:#fff;border-color:var(--teal)}

.checks{list-style:none;display:grid;gap:13px;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));margin:18px 0 8px}
.checks li{padding-left:34px;position:relative;color:var(--ink)}
.checks li:before{content:"";position:absolute;left:0;top:7px;width:20px;height:20px;border-radius:6px;background:var(--teal);
 -webkit-mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 6L9 17l-5-5" fill="none" stroke="white" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/></svg>') center/16px no-repeat;
 mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 6L9 17l-5-5" fill="none" stroke="white" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/></svg>') center/16px no-repeat}

.faq details{background:#fff;border-radius:16px;margin-bottom:14px;padding:20px 26px;box-shadow:0 5px 18px rgba(20,58,78,.06);border:1px solid var(--line)}
.faq summary{font-weight:800;cursor:pointer;color:var(--navy);font-family:"Poppins",sans-serif;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary:before{content:"+";color:var(--coral);font-weight:800;margin-right:10px}
.faq details[open] summary:before{content:"–"}
.faq p{margin-top:12px;color:var(--haze)}

.crumbs{font-size:.83rem;color:var(--haze);padding:20px 0 0}
.crumbs a{color:var(--haze);text-decoration:none}
.crumbs a:hover{color:var(--teal)}
.crumbs .arw{color:var(--coral);margin:0 8px}

.aside{background:var(--aqua-mist);border-left:5px solid var(--teal);border-radius:0 16px 16px 0;padding:22px 28px;margin:34px 0;font-size:.98rem}
.aside strong{color:var(--teal-deep)}

.cta-wave{position:relative;background:linear-gradient(150deg,var(--teal-deep),var(--navy));color:#eafcfb;text-align:center;padding:62px 24px;border-radius:26px;margin:0 24px;overflow:hidden}
.cta-wave h2{color:#fff;font-size:clamp(1.4rem,3vw,2rem);margin-bottom:12px}
.cta-wave p{color:#cdeeee;margin-bottom:26px;max-width:600px;margin-left:auto;margin-right:auto}

.field{width:100%;padding:14px 16px;border:1px solid var(--line);border-radius:13px;font:inherit;background:#fff}
.field:focus{outline:none;border-color:var(--teal)}
.formcard{background:#fff;border-radius:20px;padding:30px;box-shadow:0 8px 28px rgba(20,58,78,.08);border:1px solid var(--line)}
.reachcard{background:var(--aqua-mist);border-radius:20px;padding:30px}

.footer-sea{background:var(--navy);color:#b9d1d6;padding:58px 0 28px;font-size:.92rem;margin-top:24px}
.footer-sea .cols{display:grid;gap:32px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));margin-bottom:32px}
.footer-sea h3{color:#fff;margin-bottom:14px;font-size:1rem;font-weight:700}
.footer-sea a{color:#b9d1d6;text-decoration:none;display:block;margin-bottom:8px}
.footer-sea a:hover{color:#8fe0dc}
.footer-sea .anchor{border-top:1px solid rgba(255,255,255,.14);padding-top:20px;text-align:center;color:#8ba7ad}

.callbar{display:none}
@media(max-width:800px){
 .nav{display:none}
 .cta-wave{margin:0}
 .callbar{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:99;background:var(--coral);color:#fff;font-weight:800;justify-content:center;padding:16px;text-decoration:none;font-size:1.06rem;box-shadow:0 -4px 18px rgba(0,0,0,.18)}
 body{padding-bottom:58px}
}
