:root{--bg:#fff;--fg:#14201a;--muted:#55605a;--brand:#0b6b3a;--brand-d:#0a4f2b;--lime:#62c43a;--accent:#ffc107;--card:#f3f6f4;--line:#dfe5e1;--dark:#0d1512;--dark2:#131d18}
@media(prefers-color-scheme:dark){:root{--bg:#101412;--fg:#eef2ef;--muted:#a3ada7;--brand:#27a672;--card:#1a201d;--line:#2b332f}}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font:16px/1.65 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--fg)}
a{color:var(--brand)}img{max-width:100%;height:auto;display:block}
.wrap{max-width:1100px;margin:0 auto;padding:0 16px}
header.site{background:var(--dark);position:sticky;top:0;z-index:30;border-bottom:1px solid #1f2b25}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:64px}
.logo{display:flex;align-items:center;gap:8px;text-decoration:none;color:#fff;line-height:1}
.logo b{display:block;font-size:1.3rem;font-weight:900;letter-spacing:.5px}.logo b i{font-style:normal;color:var(--lime)}
.logo small{display:block;font-size:.62rem;letter-spacing:3px;color:#c5d0c9;margin-top:2px}
nav a{margin-right:18px;text-decoration:none;color:#fff;font-size:.9rem;font-weight:600}nav a:hover{color:var(--lime)}
.btn{display:inline-block;background:var(--accent);color:#14201a;font-weight:800;padding:13px 22px;border-radius:8px;text-decoration:none;border:0;font-size:1rem;cursor:pointer;letter-spacing:.3px}
.btn:hover{filter:brightness(.95)}.btn.alt{background:var(--lime);color:#0d1512}.btn.sm{padding:10px 16px;font-size:.95rem}
.hero{position:relative;background:var(--dark);color:#fff;padding:44px 0;overflow:hidden;isolation:isolate}
.hero>img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:30% 30%;z-index:-2}
.hero.photo::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(13,21,18,.8) 0%,rgba(13,21,18,0) 45%),linear-gradient(90deg,rgba(13,21,18,.92) 0%,rgba(13,21,18,.72) 55%,rgba(13,21,18,.66) 100%)}
.hero .wrap{display:grid;gap:32px;grid-template-columns:1.15fr .85fr;align-items:center}
.eyebrow{color:var(--lime);font-weight:800;letter-spacing:1.5px;font-size:.82rem;margin:0 0 10px}
.hero h1{font-size:2.9rem;line-height:1.08;margin:0 0 14px;font-weight:900}.hero h1 em{font-style:normal;color:var(--lime);display:block}
.hero p{margin:0 0 16px;font-size:1.05rem;color:#e6ece8}
.checks{display:flex;flex-wrap:wrap;gap:8px 16px;list-style:none;padding:0;margin:0 0 22px;font-size:.85rem;font-weight:600}
.checks li::before{content:"";display:inline-block;vertical-align:-4px;width:18px;height:18px;border-radius:50%;background:var(--lime) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 6.4l2.3 2.3 4.7-5' fill='none' stroke='%230d1512' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/70% no-repeat;margin-right:6px}
.hero a:not(.btn){color:#fff}
form.quote{background:#fff;color:var(--fg);padding:22px;border-radius:12px}
form.quote h2{margin:0 0 10px;font-size:1.25rem}
.hero form.quote{background:rgba(16,24,20,.94);color:#fff;border:1px solid #2a3831;box-shadow:0 10px 40px rgba(0,0,0,.4)}
label{display:block;font-weight:600;font-size:.85rem;margin:10px 0 4px}
input,select,textarea{width:100%;padding:12px;border:1px solid var(--line);border-radius:8px;font:inherit;background:var(--bg);color:var(--fg)}
.hero input,.hero select{background:#1d2a23;border-color:#33433a;color:#fff}
.hero input::placeholder{color:#9fb0a6}
form.quote .note{font-size:.78rem;color:var(--muted);text-align:center;margin:8px 0 0}.hero form.quote .note{color:#a9b9af}
.hp{position:absolute;left:-9999px}
.trust{background:var(--brand-d);color:#fff;padding:22px 0}
.trust .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.trust div.it{text-align:center;padding:0 10px;border-left:1px solid rgba(255,255,255,.18)}.trust div.it:first-child{border-left:0}
.trust svg{width:38px;height:38px;stroke:var(--lime);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;margin:0 auto 6px;display:block}
.trust b{display:block;font-size:1.05rem}.trust span{font-size:.85rem;color:#cfe0d5}
section{padding:42px 0}section.alt{background:var(--card)}section.dark{background:var(--dark);color:#fff}
section.dark h2,section.dark p{color:#fff}
h2.t{font-size:1.75rem;margin:0 0 14px;line-height:1.2;font-weight:800}
.center{text-align:center}.sub{color:var(--muted);margin:-6px 0 22px}section.dark .sub{color:#b5c3ba}
h3{line-height:1.3}
.grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:18px}
section.alt .card{background:var(--bg)}
.card h3{margin:0 0 6px;font-size:1.05rem}.card p{margin:0;color:var(--muted)}
.step{counter-increment:s;text-align:center}.step h3::before{content:counter(s);display:block;width:34px;height:34px;line-height:34px;text-align:center;border-radius:50%;background:var(--brand);color:#fff;margin:0 auto 8px;font-size:1rem}
.steps{counter-reset:s}
.tiles{display:grid;gap:14px;grid-template-columns:repeat(5,1fr)}
.tiles a{text-decoration:none;color:inherit;text-align:center;font-weight:700;font-size:.95rem}
.tiles img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px;margin-bottom:8px;border:1px solid var(--line)}
.gallery{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.gallery figure{margin:0}.gallery img{border-radius:10px;width:100%;aspect-ratio:4/3;object-fit:cover}
.gallery figcaption{font-size:.85rem;color:var(--muted);margin-top:4px}
.vgrid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));align-items:start}
.vgrid .vid video{height:340px;max-height:none;object-fit:contain}
.vid{margin:0}.vid video{width:100%;height:auto;max-height:70vh;border-radius:12px;background:#000;object-fit:contain}
.vid figcaption{font-size:.85rem;color:var(--muted);margin-top:6px}section.dark .vid figcaption{color:#b5c3ba}
.two{display:grid;gap:28px;grid-template-columns:1.2fr .8fr;align-items:center}
.two img{border-radius:12px;width:100%}
.chips{display:flex;flex-wrap:wrap;gap:8px;padding:0;list-style:none;margin:0}
.chips a{display:inline-block;background:var(--card);border:1px solid var(--line);border-radius:999px;padding:7px 15px;text-decoration:none;font-size:.92rem;font-weight:600}
.chips a:hover{background:var(--brand);color:#fff;border-color:var(--brand)}
.center .chips{justify-content:center}
.why{display:grid;gap:28px;grid-template-columns:1fr 1fr;align-items:center}
.why ul{list-style:none;padding:0;margin:0}.why li{padding:6px 0 6px 30px;position:relative;font-weight:600}
.why li::before{content:"";position:absolute;left:0;top:9px;width:20px;height:20px;border-radius:50%;background:var(--brand) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 6.4l2.3 2.3 4.7-5' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/70% no-repeat}
.panel{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:24px}
.panel h3{margin:0 0 8px;font-size:1.25rem}.panel p{margin:0 0 14px;color:var(--muted)}
details{border-bottom:1px solid var(--line);padding:12px 0}summary{cursor:pointer;font-weight:600}
article h2{margin-top:28px}article p,article li{max-width:70ch}
.cta{background:linear-gradient(90deg,var(--brand-d),var(--brand));color:#fff;text-align:center;padding:40px 0}
.cta h2{margin:0 0 6px;font-size:1.8rem}.cta p{margin:0 0 16px;color:#d6e8dc}
footer.site{background:var(--dark);color:#b9c6be;padding:34px 0 18px;font-size:.9rem}
footer.site a{color:#b9c6be;text-decoration:none}footer.site a:hover{color:var(--lime)}
footer.site .cols{display:grid;gap:24px;grid-template-columns:1.3fr 1fr 1fr}
footer.site .fcities{margin-top:24px;padding-top:20px;border-top:1px solid #22302a}
footer.site .fcities .chips a{background:transparent;color:#cfe0d5;border-color:#2e3f36;font-weight:500}
footer.site .fcities .chips a:hover{background:var(--lime);color:#0d1512;border-color:var(--lime)}
footer.site h4{color:#fff;margin:0 0 10px;font-size:1rem}
footer.site ul{list-style:none;padding:0;margin:0}footer.site li{margin:4px 0}
footer.site .cities{columns:2}
footer.site .fine{border-top:1px solid #22302a;margin-top:22px;padding-top:14px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;font-size:.82rem}
.hero.subpage h1{font-size:2.5rem}
.hero.single .wrap{display:block}.hero.single{padding:38px 0}.hero.single h1{max-width:820px}.hero.single p{max-width:720px}
form.quote{border:1px solid var(--line)}
.county{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.county .card ul{list-style:none;padding:0;margin:0}.county .card li{padding:7px 0;border-bottom:1px solid var(--line);font-size:.92rem;color:var(--muted)}
.county .card li:last-child{border-bottom:0}.county .card h2{margin:0 0 8px;font-size:1.25rem}
aside form.quote{margin-top:16px}
.crumbs{font-size:.85rem;color:var(--muted);padding:12px 0}
.callbar{display:none}
@media(max-width:860px){.tiles{grid-template-columns:repeat(2,1fr)}.trust .wrap{grid-template-columns:1fr 1fr;gap:18px}.trust div.it:nth-child(3){border-left:0}}
@media(max-width:760px){.hero .wrap,.two,.why,footer.site .cols{grid-template-columns:1fr}.hero h1{font-size:2.1rem}nav{display:none}
.hero{padding:28px 0}header.site .btn{padding:9px 12px;font-size:.88rem}
.callbar{display:block;position:fixed;bottom:0;left:0;right:0;background:var(--accent);text-align:center;padding:14px;font-weight:800;z-index:40}
.callbar a{color:#14201a;text-decoration:none;font-size:1.1rem}body{padding-bottom:56px}}
