:root{--ink:#10201a;--green:#0f2a1f;--green2:#1d4a36;--yellow:#f5b700;--yellow2:#ffcd3c;--bg:#f6f4ee;--line:#e2ddcf;--muted:#5b665f;--r:14px;--sh:0 18px 40px -20px rgba(15,42,31,.45)}
*{box-sizing:border-box}html,body{overflow-x:hidden}body{margin:0;font-family:"Source Sans 3",system-ui,sans-serif;color:var(--ink);background:#fff;line-height:1.65;font-size:17px}
img{max-width:100%;height:auto;display:block;border-radius:var(--r)}a{color:var(--green2)}h1,h2,h3{font-family:Archivo,sans-serif;line-height:1.15;letter-spacing:-.01em}
.wrap{max-width:1200px;margin:0 auto;padding:0 20px}.narrow{max-width:820px}.center{text-align:center}
.topbar{background:var(--green);color:#cfe0d6;font-size:14px}.topbar .wrap{display:flex;justify-content:space-between;padding:6px 20px;gap:10px}.topbar a{color:var(--yellow);font-weight:700;text-decoration:none}
.site-header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 4px 20px -12px rgba(0,0,0,.2)}
.hdr{display:flex;align-items:center;gap:18px;padding:10px 20px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--green);font-family:Archivo;font-size:17px;line-height:1.1}.brand small{display:block;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}.brand.light{color:#fff}.brand.light small{color:var(--yellow)}
.logo-mark{width:44px;height:44px;flex:none}
.nav{margin-left:auto}.nav>ul{display:flex;align-items:center;white-space:nowrap;list-style:none;margin:0;padding:0;gap:2px}.nav a{display:block;padding:10px 8px;text-decoration:none;color:var(--ink);font-weight:600;font-size:15px}.nav a:hover{color:var(--green2)}
.has-dd{position:relative;display:flex;align-items:center}.dd-toggle{background:none;border:0;cursor:pointer;color:var(--muted);padding:4px}
.dd{display:none;position:absolute;top:100%;left:0;min-width:270px;background:#fff;list-style:none;padding:8px;margin:0;border-radius:12px;box-shadow:var(--sh);border:1px solid var(--line)}.dd a{font-weight:500;padding:8px 12px;border-radius:8px}.dd a:hover{background:var(--bg)}
.has-dd:hover .dd,.has-dd:focus-within .dd,.has-dd.open .dd{display:block}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 22px;border-radius:10px;font-weight:700;text-decoration:none;font-family:Archivo;border:2px solid transparent;cursor:pointer;font-size:16px;transition:.2s}
.btn-call{background:var(--yellow);color:var(--green)}.btn-call:hover{background:var(--yellow2);transform:translateY(-1px)}.btn-ghost{border-color:#fff;color:#fff}.btn-ghost:hover{background:#fff;color:var(--green)}.btn-dark{background:var(--green);color:#fff}.btn-dark:hover{background:var(--green2)}
.hdr-call{white-space:nowrap;padding:10px 16px}.burger{display:none;background:none;border:0;cursor:pointer;padding:8px}.burger span{display:block;width:26px;height:3px;background:var(--green);margin:5px 0;border-radius:2px}
.hero{position:relative;color:#fff;min-height:640px;display:flex;align-items:center}.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:0}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,28,20,.92) 0%,rgba(10,28,20,.7) 50%,rgba(10,28,20,.2));z-index:1}.hero .wrap{position:relative;z-index:2;padding:70px 20px}.hero h1{font-size:clamp(36px,6vw,64px);max-width:720px;margin:.2em 0;font-weight:900}.hero p{max-width:580px;font-size:20px;color:#e3ece6}
.eyebrow{display:inline-block;text-transform:uppercase;letter-spacing:.16em;font-size:13px;font-weight:700;color:var(--yellow)}
.phone-big{display:inline-block;font-family:Archivo;font-weight:900;font-size:clamp(28px,4vw,40px);color:var(--yellow);text-decoration:none;margin:6px 0 16px}
.cta-btns{display:flex;flex-wrap:wrap;gap:12px}.cta-btns.center{justify-content:center}.trust{display:flex;flex-wrap:wrap;gap:20px;list-style:none;padding:0;margin:26px 0 0;font-weight:600}
.phero{position:relative;color:#fff;background:linear-gradient(90deg,rgba(10,28,20,.93),rgba(10,28,20,.65)),var(--img) center/cover}.phero .wrap{padding:60px 20px}.phero h1{font-size:clamp(30px,5vw,50px);margin:.2em 0;font-weight:900;max-width:850px}.phero p{max-width:640px;font-size:19px;color:#e3ece6}
.crumbs{font-size:14px;color:#b9cbbf}.crumbs a{color:var(--yellow)}
.sec{padding:72px 0}.sec.alt{background:var(--bg)}.sh{text-align:center;max-width:720px;margin:0 auto 36px}.sh h2{font-size:clamp(28px,4vw,40px);margin:.2em 0}.sh p{color:var(--muted)}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px}.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:24px;text-decoration:none;color:var(--ink);transition:.2s;border-top:4px solid var(--yellow)}a.card:hover{transform:translateY(-4px);box-shadow:var(--sh)}.card h3{margin:0 0 8px;color:var(--green)}.card p{color:var(--muted);margin:0 0 10px}.card span{font-weight:700;color:var(--green2)}
.sizes{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}.sizes>div{background:#fff;border-radius:var(--r);padding:22px;text-align:center;border:1px solid var(--line)}.sizes b{display:block;font-family:Archivo;font-size:24px;color:var(--green)}.sizes span{color:var(--muted);font-size:14px}.sizes .pop{background:var(--green);color:#fff}.sizes .pop b{color:var(--yellow)}.sizes .pop span{color:#cfe0d6}
.split{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}.split h2{font-size:clamp(28px,4vw,38px)}
.steps{padding-left:20px}.steps li{margin-bottom:12px}
.reviews{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.review{margin:0;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:24px}.stars{color:var(--yellow);letter-spacing:2px}.review cite{font-style:normal;font-weight:700;color:var(--green)}
.faq details{border:1px solid var(--line);border-radius:12px;padding:16px 20px;margin-bottom:10px;background:#fff}.faq summary{cursor:pointer;font-weight:700;font-family:Archivo}
.content-grid{display:grid;grid-template-columns:1fr 340px;gap:44px;align-items:start}.content-grid h2{font-size:28px;margin-top:1.4em}.content-grid article>h2:first-child{margin-top:0}.content-grid article img{margin:24px 0}
aside{position:sticky;top:110px;display:grid;gap:20px}.side-cta{background:var(--green);color:#fff;border-radius:var(--r);padding:26px;display:grid;gap:12px}.side-cta h3{margin:0;color:var(--yellow)}.side-cta p{margin:0;color:#d6e3db}.side-cta a:not(.btn){color:var(--yellow)}.side-links{border:1px solid var(--line);border-radius:var(--r);padding:22px}.side-links h3{margin-top:0}
.checks{list-style:none;padding:0}.checks li{padding-left:28px;position:relative;margin:6px 0}.checks li:before{content:"✓";position:absolute;left:0;color:var(--green2);font-weight:900}.cols{columns:2}.links li{margin:4px 0}
.map iframe{width:100%;height:320px;border:0;border-radius:var(--r);margin:20px 0}.map.big iframe{height:420px}
.areas{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}.areas a{display:block;padding:18px;border:1px solid var(--line);border-radius:12px;text-decoration:none;border-left:4px solid var(--yellow)}.areas b{display:block;color:var(--green)}.areas span{color:var(--muted);font-size:14px}.lead{font-size:20px;max-width:800px}
.quote{background:var(--bg);border-radius:var(--r);padding:30px;display:grid;gap:14px}.quote h2{margin:0}.quote label{display:grid;gap:6px;font-weight:600;font-size:15px}.frow{display:grid;grid-template-columns:1fr 1fr;gap:14px}.quote input,.quote select,.quote textarea{font:inherit;padding:12px;border:1px solid #cfc8b6;border-radius:8px;width:100%;background:#fff}.form-msg{font-weight:700;color:var(--green2)}
.smap{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:30px}.big404{font-size:120px;margin:0;color:var(--yellow)}
.cta-band{background:var(--yellow)}.cta-band .wrap{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:40px 20px;flex-wrap:wrap}.cta-band h2{margin:0;color:var(--green);font-size:32px}.cta-band p{margin:4px 0 0}.cta-band .btn-call{background:var(--green);color:#fff}.cta-band .btn-ghost{border-color:var(--green);color:var(--green)}
.site-footer{background:#0b1f17;color:#b9cbbf;padding:60px 0 90px}.fgrid{display:grid;grid-template-columns:1.35fr 1fr 1fr 1fr 1.05fr;gap:26px;align-items:start}.footer-map-column h3{color:#fff}.footer-map-frame{width:100%;height:230px;overflow:hidden;border-radius:12px;border:1px solid #365143}.footer-map-frame iframe{width:100%;height:100%;border:0;display:block}.footer-map-link{margin-top:10px;font-size:14px}.footer-map-link a{color:var(--yellow)}.site-footer h3{color:#fff}.site-footer ul{list-style:none;padding:0}.site-footer li{margin:6px 0}.site-footer a{color:#dbe7df;text-decoration:none}.site-footer a:hover{color:var(--yellow)}.copy{border-top:1px solid #23392f;margin-top:30px;padding-top:20px;font-size:14px}
.mobile-call{display:none}
@media(max-width:1240px){.hdr-call{display:none}.burger{display:block;margin-left:auto}.nav{position:fixed;inset:100px 0 0 0;background:#fff;overflow-y:auto;display:none;padding:10px 20px 100px}.nav.open{display:block}.nav>ul{flex-direction:column}.nav>ul>li{border-bottom:1px solid var(--line)}.has-dd{flex-wrap:wrap}.has-dd>a{flex:1}.dd-toggle{font-size:20px;padding:8px 14px}.dd{position:static;box-shadow:none;border:0;width:100%;padding:0 0 8px 12px}.has-dd:hover .dd{display:none}.has-dd.open .dd{display:block}}
@media(max-width:860px){.split,.content-grid,.fgrid{grid-template-columns:1fr}aside{position:static}.frow{grid-template-columns:1fr}.cols{columns:1}.topbar span{display:none}.topbar .wrap{justify-content:center}.hero{min-height:560px}.mobile-call{display:block;position:fixed;bottom:0;left:0;right:0;z-index:60;background:var(--yellow);color:var(--green);text-align:center;font-family:Archivo;font-weight:900;padding:14px;text-decoration:none;font-size:18px}.brand{font-size:15px}}

@media(max-width:1050px){.fgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-map-column{grid-column:span 2}.footer-map-frame{height:260px}}
@media(max-width:600px){.fgrid{grid-template-columns:1fr}.footer-map-column{grid-column:auto}.footer-map-frame{height:240px}}

/* Responsive testimonial cards */
.testimonial-section{padding:56px 0 72px}
.testimonial-section .section-heading{margin-bottom:28px}
.testimonial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch}
.testimonial-card{background:#fff;color:#20332a;border-radius:14px;box-shadow:0 5px 20px rgba(0,0,0,.09);border-left:5px solid #f5b700;padding:24px;display:flex;flex-direction:column;min-width:0}
.testimonial-card blockquote{margin:12px 0 22px;font-style:italic;line-height:1.7;flex:1}
.testimonial-card blockquote p{margin:0}
.testimonial-stars{color:#e8a900;letter-spacing:2px;font-size:18px}
.testimonial-author{display:flex;flex-direction:column;gap:4px;border-top:1px solid #e8ece9;padding-top:14px}
.testimonial-author strong{font-weight:700;color:#102b20}
.testimonial-author span{font-size:14px;color:#65736b}
@media(max-width:1000px){.testimonial-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.testimonial-grid{grid-template-columns:1fr}.testimonial-card{padding:20px}}
