*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:#1b2730;background:#fff;font-family:Arial, sans-serif;line-height:1.65}
a{color:inherit}
.container{width:min(1160px,92vw);margin:auto}
.skip{position:absolute;left:-999px;top:auto}
.skip:focus{left:1rem;top:1rem;background:#fff;padding:.75rem;z-index:99}
.top{background:#123f45;color:#fff;font-size:.9rem}
.top .container{display:flex;justify-content:space-between;gap:1rem;padding:.5rem 0}
.top a{font-weight:800;text-decoration:none}
header{background:#fff;border-bottom:1px solid #e3e7e5;position:sticky;top:0;z-index:10}
.navwrap{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;min-height:78px}
.brand{font-weight:900;font-size:1.1rem;color:#123f45;text-decoration:none;line-height:1.15;max-width:260px}
.nav-toggle{display:none;border:1px solid #123f45;background:#fff;color:#123f45;font-weight:800;padding:.55rem .7rem}
nav ul{display:flex;gap:1.1rem;align-items:center;list-style:none;margin:0;padding:0}
nav a{text-decoration:none;font-weight:750;font-size:.92rem}
.navquote{background:#41c7c3;padding:.55rem .8rem;border-radius:5px;color:#172025!important}
.hero{min-height:570px;display:grid;align-items:stretch;position:relative;background:#123f45;color:#fff;overflow:hidden}
.hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,16,18,.84) 0%,rgba(8,16,18,.66) 44%,rgba(8,16,18,.16) 78%,rgba(8,16,18,.10) 100%),url('/assets/hero.webp') center/cover no-repeat}
.hero .container{display:grid;grid-template-columns:1.3fr .7fr;gap:3rem;align-items:center;position:relative;padding:5.5rem 0}
.eyebrow,.kicker{font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;font-weight:900;color:#41c7c3}
.hero h1{font-size:clamp(2.35rem,5vw,4.6rem);line-height:1.03;margin:.45rem 0 1rem;max-width:730px}
.hero p{font-size:1.15rem;max-width:700px;margin:0 0 1.5rem}
.buttons{display:flex;flex-wrap:wrap;gap:.75rem}
.button{display:inline-block;background:#41c7c3;color:#172025!important;text-decoration:none;font-weight:900;padding:.82rem 1rem;border-radius:5px}
.button.outline{background:transparent;color:#fff!important;border:1px solid rgba(255,255,255,.7)}
.quote-card{background:rgba(255,255,255,.95);color:#172025;padding:1.75rem;border-radius:12px;box-shadow:0 16px 40px rgba(0,0,0,.2)}
.quote-card h2{margin-top:0;color:#123f45;line-height:1.15}
.quote-card .button{background:#123f45;color:#fff!important}
section{padding:4.5rem 0}
section.alt{background:#f1f8f8}
section.dark{background:#123f45;color:#fff}
section.dark h2,section.dark p{color:#fff}
h2{font-size:clamp(1.75rem,3.5vw,2.7rem);line-height:1.15;color:#123f45;margin:.25rem 0 1rem}
h3{line-height:1.25;color:#123f45;margin-top:0}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:start}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.card{background:#fff;border:1px solid #dde5e1;border-radius:10px;padding:1.35rem;box-shadow:0 6px 18px rgba(17,33,30,.06)}
.card p{margin-bottom:.5rem}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.5rem}
.service-grid article{background:#fff;border:1px solid #dfe6e2;padding:1.2rem;border-top:4px solid #41c7c3}
.service-grid a{font-weight:900;color:#123f45}
.check{padding-left:1.15rem}
.check li{margin-bottom:.5rem}
.steps{width:100%;border-collapse:collapse;background:#fff}
.steps th,.steps td{padding:.9rem;text-align:left;border:1px solid #dce5df;vertical-align:top}
.steps th{background:#f1f8f8;color:#123f45}
.faq details{border-bottom:1px solid #dce3df;padding:1rem 0}
.faq summary{font-weight:900;cursor:pointer;color:#123f45}
.faq p{margin:.75rem 0 0}
.crumb{padding:1rem 0;border-bottom:1px solid #e5e9e6;font-size:.9rem}
.crumb a{font-weight:900;color:#123f45}
.map{width:100%;min-height:360px;border:0;border-radius:10px}
footer{background:#111d1b;color:#e9f1ec;padding:3.5rem 0 1.2rem}
footer h2{color:#fff;font-size:1.2rem}
.footgrid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:2rem}
footer ul{padding-left:1rem;margin:0}
footer a{color:#fff}
.fine{font-size:.83rem;color:#c8d2cd}
.mobile-call{display:none}
@media(max-width:820px){.nav-toggle{display:block}nav{display:none;position:absolute;top:78px;left:0;right:0;background:#fff;border-bottom:1px solid #dce3df;padding:1rem}nav.open{display:block}nav ul{display:flex;flex-direction:column;align-items:stretch;gap:.25rem}nav li a{display:block;padding:.6rem}.hero .container,.grid2{grid-template-columns:1fr}.hero .container{padding:4rem 0}.quote-card{max-width:480px}.grid3,.service-grid{grid-template-columns:1fr}.footgrid{grid-template-columns:1fr}section{padding:3.2rem 0}.mobile-call{display:block;position:fixed;bottom:0;left:0;right:0;z-index:20;background:#41c7c3;color:#172025;text-align:center;text-decoration:none;font-weight:900;padding:.8rem}body{padding-bottom:3.4rem}.top .container{font-size:.78rem}}