:root{--bg:#FFFFFF;--surface:#F4F6F3;--ink:#15201A;--accent:#1E5631;--accent2:#3B8049;--accent-light:#8FC79B;--dark:#12140F;--radius-sm:4px;--radius-md:10px;--radius-pill:999px;--sp-sm:8px;--sp-md:16px;--sp-lg:32px;--sp-xl:64px;--sp-xxl:100px;--font-heading:'Helvetica Neue',Arial,'Segoe UI',sans-serif;--font-body:system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;--container:1200px;}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;font-family:var(--font-body);color:var(--ink);background:var(--bg);line-height:1.6;font-size:17px;-webkit-font-smoothing:antialiased;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;margin:0;padding:0;}
.container{max-width:var(--container);margin:0 auto;padding:0 24px;}
h1,h2,h3,h4{font-family:var(--font-heading);font-weight:800;line-height:1.08;margin:0 0 var(--sp-md);color:var(--dark);}
h1{font-size:clamp(32px,5vw,56px);text-transform:uppercase;letter-spacing:-.01em;}
h2{font-size:clamp(24px,3.2vw,36px);text-transform:uppercase;}
h3{font-size:20px;text-transform:uppercase;}
p{margin:0 0 var(--sp-md);max-width:65ch;}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:15px 30px;border-radius:var(--radius-pill);font-family:var(--font-heading);font-weight:800;font-size:14px;text-transform:uppercase;letter-spacing:.03em;border:2px solid transparent;cursor:pointer;transition:transform .15s ease,background .2s ease;}
.btn:hover{transform:translateY(-2px);}
.btn-primary{background:var(--accent);color:#fff;}
.btn-primary:hover{background:#174627;color:#fff;}
.btn-secondary{background:var(--dark);color:#fff;}
.btn-secondary:hover{background:#000;color:#fff;}
.btn-outline{background:transparent;color:#fff;border-color:#fff;}
.btn-outline:hover{background:#fff;color:var(--dark);}
.site-header{position:sticky;top:0;z-index:100;background:#fff;border-bottom:1px solid rgba(0,0,0,.06);}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:14px 24px;max-width:var(--container);margin:0 auto;}
.site-logo{display:flex;align-items:center;gap:10px;font-family:var(--font-heading);font-weight:800;text-transform:uppercase;font-size:17px;color:var(--dark);}
.site-logo img{height:46px;width:auto;}
.main-nav ul{display:flex;gap:24px;align-items:center;}
.main-nav a{font-weight:600;font-size:15px;}
.main-nav a:hover{color:var(--accent);}
.header-cta{display:flex;align-items:center;gap:16px;}
.header-phone{font-weight:800;font-family:var(--font-heading);color:var(--accent);font-size:15px;}
.menu-toggle{display:none;background:none;border:0;font-size:24px;cursor:pointer;}
@media (max-width:900px){.main-nav,.header-phone{display:none;}.menu-toggle{display:block;}}
.mobile-cta-bar{display:none;position:fixed;left:0;right:0;bottom:0;z-index:200;background:var(--dark);padding:8px;}
.mobile-cta-bar .wrap{display:flex;gap:8px;}
.mobile-cta-bar a{flex:1;text-align:center;color:#fff;font-family:var(--font-heading);font-weight:800;font-size:11px;text-transform:uppercase;padding:12px 4px;border-radius:var(--radius-sm);background:rgba(255,255,255,.08);}
.mobile-cta-bar a.quote{background:var(--accent);}
@media (max-width:820px){.mobile-cta-bar{display:block;}body{padding-bottom:64px;}}
.hero{padding:80px 0 64px;background:var(--surface);overflow:hidden;}
.hero .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center;max-width:var(--container);margin:0 auto;padding:0 24px;}
.hero-copy p{font-size:19px;}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px;}
.hero-media img{width:100%;height:400px;object-fit:cover;}
@media (max-width:900px){.hero .wrap{grid-template-columns:1fr;}}
.trust-strip{background:var(--dark);color:#fff;padding:20px 0;}
.trust-strip .wrap{max-width:var(--container);margin:0 auto;padding:0 24px;}
.trust-strip ul{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;}
.trust-strip li{font-family:var(--font-heading);font-weight:700;text-transform:uppercase;font-size:13px;letter-spacing:.03em;}
.section{padding:80px 0;}
.section .wrap{max-width:var(--container);margin:0 auto;padding:0 24px;}
.section.alt{background:var(--surface);}
.section-head{max-width:640px;margin-bottom:32px;}
.card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
@media (max-width:1000px){.card-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.card-grid{grid-template-columns:1fr;}}
.service-card{background:#fff;border-top:3px solid transparent;border-radius:var(--radius-md);padding:24px 20px;transition:border-color .15s ease,transform .15s ease;box-shadow:0 1px 3px rgba(0,0,0,.05);}
.service-card:hover{border-top-color:var(--accent);transform:translateY(-3px);}
.service-card h3{font-size:17px;margin-bottom:8px;}
.service-card p{font-size:14px;margin-bottom:10px;}
.service-card a{font-weight:700;color:var(--accent);font-size:13px;text-transform:uppercase;}
.steps-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;}
@media (max-width:900px){.steps-grid{grid-template-columns:repeat(2,1fr);}}
.step .num{font-family:var(--font-heading);font-size:36px;font-weight:800;color:var(--accent-light);}
.final-cta{background:var(--dark);color:#fff;padding:80px 0;text-align:center;}
.final-cta h2{color:#fff;}
.final-cta .hero-ctas{justify-content:center;}
footer.site-footer{background:var(--dark);color:rgba(255,255,255,.85);padding:56px 0 32px;}
footer.site-footer .wrap{max-width:var(--container);margin:0 auto;padding:0 24px;}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:32px;}
@media (max-width:800px){.footer-grid{grid-template-columns:1fr 1fr;}}
footer h4{color:#fff;font-size:14px;margin-bottom:14px;}
footer a{opacity:.85;}
footer a:hover{opacity:1;color:var(--accent-light);}
.footer-bottom{margin-top:32px;padding-top:24px;border-top:1px solid rgba(255,255,255,.12);font-size:13px;opacity:.7;}
.breadcrumbs{font-size:13px;padding:16px 0;opacity:.7;}
.faq-item{border-bottom:1px solid rgba(0,0,0,.08);padding:16px 0;}
.faq-item summary{cursor:pointer;font-weight:700;font-family:var(--font-heading);text-transform:uppercase;font-size:15px;}
.faq-item p{margin-top:10px;font-size:15px;}
.quote-form{background:#fff;border-radius:var(--radius-md);padding:32px;}
.quote-form label{display:block;font-weight:700;font-size:12px;text-transform:uppercase;margin-bottom:6px;}
.quote-form input,.quote-form select,.quote-form textarea{width:100%;padding:12px 14px;border:1px solid #ccd3cd;border-radius:var(--radius-sm);margin-bottom:16px;font-family:var(--font-body);font-size:15px;background:#fff;}
.quote-form input:focus,.quote-form select:focus,.quote-form textarea:focus{outline:2px solid var(--accent);}
.form-success{background:var(--accent);color:#fff;padding:16px;border-radius:var(--radius-sm);}
.form-error{background:#c0392b;color:#fff;padding:16px;border-radius:var(--radius-sm);}
.hp-hide{position:absolute!important;left:-9999px!important;}
.page-hero{background:var(--dark);color:#fff;padding:56px 0 40px;}
.page-hero h1{color:#fff;}
.two-col{display:grid;grid-template-columns:1.3fr .7fr;gap:48px;}
@media (max-width:900px){.two-col{grid-template-columns:1fr;}}
.contact-block{margin-bottom:20px;font-size:15px;}
.contact-block strong{display:block;font-family:var(--font-heading);text-transform:uppercase;font-size:13px;color:var(--accent);margin-bottom:4px;}

.btn-header{padding:10px 20px;font-size:12px;white-space:nowrap;}
.card-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
@media (max-width:900px){.card-grid-3{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.card-grid-3{grid-template-columns:1fr;}}
@media (max-width:480px){.site-logo img{height:36px;}.header-cta .btn-header{padding:9px 16px;font-size:11px;}}
