@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@600;700;800&display=swap');
:root{--green:#087443;--deep:#063d2a;--leaf:#6aaa51;--mint:#e8f3eb;--ivory:#f7f8f2;--ink:#183229;--muted:#66756d;--line:rgba(6,61,42,.12);--shadow:0 18px 55px rgba(6,61,42,.10);--radius:22px}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:'DM Sans',sans-serif;color:var(--ink);background:var(--ivory);line-height:1.65;-webkit-font-smoothing:antialiased}img{display:block;max-width:100%}a{text-decoration:none;color:inherit}ul{list-style:none}button,input,select,textarea{font:inherit}.container{width:min(1180px,calc(100% - 40px));margin:auto}.section{padding:100px 0}.section.alt{background:#edf4ee}.eyebrow{display:inline-flex;align-items:center;gap:9px;color:var(--green);font-weight:700;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:16px}.eyebrow:before{content:'';width:22px;height:2px;background:var(--leaf)}h1,h2,h3,h4{font-family:'Manrope',sans-serif;line-height:1.16;color:var(--deep)}h1{font-size:clamp(3rem,6vw,5.7rem);letter-spacing:-.055em}h2{font-size:clamp(2rem,4vw,3.4rem);letter-spacing:-.04em}h3{font-size:1.18rem}.lead{font-size:1.1rem;color:var(--muted);max-width:670px}.section-head{max-width:740px;margin-bottom:48px}.section-head.center{text-align:center;margin-left:auto;margin-right:auto}.section-head.center .lead{margin:auto}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 25px;border-radius:999px;font-weight:700;border:1px solid transparent;transition:.25s;cursor:pointer}.btn-primary{background:var(--green);color:#fff;box-shadow:0 10px 25px rgba(8,116,67,.22)}.btn-primary:hover{background:var(--deep);transform:translateY(-2px)}.btn-outline{border-color:rgba(255,255,255,.55);color:#fff;background:rgba(255,255,255,.08);backdrop-filter:blur(8px)}.site-header{position:fixed;inset:0 0 auto;z-index:1000;transition:.25s}.site-header.scrolled,.site-header.menu-open{background:rgba(247,248,242,.96);box-shadow:0 5px 25px rgba(6,61,42,.08);backdrop-filter:blur(12px)}.nav{height:86px;display:flex;align-items:center;gap:28px}.brand{margin-right:auto}.brand img{width:265px;max-height:64px;object-fit:contain}.nav-links{display:flex;align-items:center;gap:24px}.nav-links a{font-size:.88rem;font-weight:700;color:#fff}.site-header.scrolled .nav-links a,.site-header.menu-open .nav-links a{color:var(--deep)}.nav-links a:hover,.nav-links a.active{color:#91d17b}.site-header.scrolled .nav-links a:hover,.site-header.scrolled .nav-links a.active{color:var(--green)}.nav-quote{white-space:nowrap}.menu-btn{display:none;width:46px;height:46px;border:1px solid var(--line);border-radius:50%;background:#fff;padding:13px}.menu-btn span{display:block;height:2px;background:var(--deep);margin:4px 0}.mobile-quote{display:none}.hero{min-height:790px;position:relative;display:flex;align-items:center;color:#fff;overflow:hidden}.hero video,.hero-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,39,26,.96),rgba(4,65,40,.72) 55%,rgba(3,39,26,.2))}.hero-content{position:relative;z-index:2;max-width:780px;padding-top:80px}.hero .eyebrow{color:#bde2b1}.hero h1{color:#fff;margin-bottom:22px}.hero p{font-size:1.16rem;max-width:650px;color:rgba(255,255,255,.84);margin-bottom:30px}.actions{display:flex;flex-wrap:wrap;gap:13px}.trust-bar{position:relative;z-index:3;margin-top:-45px}.trust-grid{display:grid;grid-template-columns:repeat(3,1fr);background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.trust-item{padding:24px 28px;border-right:1px solid var(--line);display:flex;align-items:center;gap:14px}.trust-item:last-child{border:0}.trust-mark{display:grid;place-items:center;width:43px;height:43px;border-radius:14px;background:var(--mint);color:var(--green);font-weight:800}.trust-item strong{display:block;color:var(--deep)}.trust-item small{color:var(--muted)}.split{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center}.image-frame{position:relative}.image-frame img{width:100%;height:520px;object-fit:cover;border-radius:32px 8px}.image-frame:before{content:'';position:absolute;inset:-22px auto auto -22px;width:130px;height:130px;border-radius:30px;background:var(--mint);z-index:-1}.check-list{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:28px 0}.check-list li:before{content:'✓';color:var(--green);font-weight:800;margin-right:9px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.service-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius) 7px;overflow:hidden;transition:.25s}.service-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}.service-card img{width:100%;height:210px;object-fit:cover}.service-copy{padding:25px}.service-copy p{font-size:.94rem;color:var(--muted);margin-top:9px}.service-copy a{display:inline-block;color:var(--green);font-weight:700;margin-top:15px}.process{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.step{padding:30px;background:#fff;border:1px solid var(--line);border-radius:var(--radius)}.step b{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--mint);color:var(--green);margin-bottom:18px}.step p{color:var(--muted);font-size:.94rem;margin-top:8px}.dark-cta{background:var(--deep);color:#fff;border-radius:34px 10px;padding:60px;display:flex;align-items:center;justify-content:space-between;gap:40px}.dark-cta h2{color:#fff;max-width:700px}.page-hero{padding:185px 0 95px;background:linear-gradient(90deg,rgba(3,39,26,.94),rgba(4,65,40,.72)),url('../img/banner1.webp') center/cover;color:#fff}.page-hero h1{color:#fff;font-size:clamp(2.8rem,5vw,4.7rem)}.page-hero p{max-width:660px;color:rgba(255,255,255,.82);font-size:1.1rem;margin-top:18px}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.gallery figure{position:relative;overflow:hidden;border-radius:22px 7px}.gallery img{width:100%;height:300px;object-fit:cover;transition:.4s}.gallery figure:hover img{transform:scale(1.04)}.gallery figcaption{position:absolute;inset:auto 0 0;padding:55px 22px 20px;color:#fff;font-weight:700;background:linear-gradient(transparent,rgba(3,39,26,.9))}.contact-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:55px}.form-card,.info-card,.policy-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:38px;box-shadow:var(--shadow)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{margin-bottom:18px}.field label{display:block;font-weight:700;font-size:.9rem;margin-bottom:7px}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);border-radius:11px;background:#f8faf8;padding:13px 15px;color:var(--ink)}.field textarea{min-height:140px;resize:vertical}.consent{display:flex;gap:10px;align-items:flex-start;margin:16px 0;color:var(--muted);font-size:.88rem}.consent input{margin-top:5px;accent-color:var(--green)}.legal-note{font-size:.82rem;color:var(--muted);margin:14px 0 20px}.info-list{display:grid;gap:20px;margin-top:28px}.info-list strong{display:block;color:var(--deep)}.policy-card{max-width:900px;margin:auto}.policy-card h2{font-size:1.5rem;margin:30px 0 10px}.policy-card p,.policy-card li{color:var(--muted);margin-bottom:10px}.policy-card ul{list-style:disc;padding-left:22px}.site-footer{background:#043522;color:#fff;padding:75px 0 25px}.footer-grid{display:grid;grid-template-columns:1.7fr 1fr 1fr 1.2fr;gap:45px}.footer-brand img{width:275px;background:#fff;border-radius:8px;padding:4px}.footer-brand p{color:rgba(255,255,255,.68);max-width:340px;margin-top:20px}.site-footer h3{color:#fff;margin-bottom:18px;font-size:1rem}.site-footer li{margin:9px 0}.site-footer a,.site-footer p{color:rgba(255,255,255,.7);font-size:.92rem}.site-footer a:hover{color:#91d17b}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid rgba(255,255,255,.12);margin-top:50px;padding-top:22px}.footer-bottom p{font-size:.82rem}.reveal{opacity:0;transform:translateY(22px);transition:.65s}.reveal.visible{opacity:1;transform:none}
@media(max-width:980px){.nav-links{position:fixed;inset:86px 0 auto;background:var(--ivory);padding:24px 20px;display:none;flex-direction:column;align-items:flex-start}.nav-links.open{display:flex}.nav-links a{color:var(--deep)}.menu-btn,.mobile-quote{display:inline-flex}.nav-quote{display:none}.mobile-quote{min-height:42px;padding:0 16px}.brand img{width:220px}.service-grid,.gallery{grid-template-columns:repeat(2,1fr)}.split,.contact-grid{grid-template-columns:1fr}.process{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.container{width:min(100% - 28px,1180px)}.section{padding:72px 0}.nav{height:76px;gap:9px}.brand img{width:145px}.mobile-quote{font-size:.78rem;padding:0 12px;min-height:40px}.menu-btn{width:42px;height:42px}.nav-links{inset:76px 0 auto}.hero{min-height:760px}.hero-content{padding-top:70px}.hero h1{font-size:clamp(2.75rem,13vw,4rem)}.trust-grid{grid-template-columns:1fr}.trust-item{border-right:0;border-bottom:1px solid var(--line)}.split{gap:45px}.image-frame img{height:380px}.check-list,.service-grid,.gallery,.process,.form-row,.footer-grid{grid-template-columns:1fr}.service-card img{height:230px}.dark-cta{padding:38px 26px;align-items:flex-start;flex-direction:column}.page-hero{padding:150px 0 75px}.form-card,.info-card,.policy-card{padding:25px 20px}.footer-bottom{flex-direction:column}.footer-brand img{width:230px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.reveal{opacity:1;transform:none}.hero video{display:none}}

/* Navigation refinements */
.brand{display:flex;align-items:center;background:#fff;padding:5px 10px;border-radius:12px;box-shadow:0 7px 24px rgba(3,39,26,.13)}
.brand img{width:205px;height:52px;object-fit:contain}
.menu-btn{width:46px;height:46px;border:2px solid var(--deep);border-radius:12px;background:#fff;padding:11px;box-shadow:0 6px 18px rgba(3,39,26,.16)}
.menu-btn span{display:block;width:100%;height:3px;border-radius:4px;background:var(--deep);margin:4px 0}
@media(max-width:650px){.nav{gap:8px}.brand{padding:4px 6px;border-radius:9px}.brand img{width:128px;height:38px}.mobile-quote{font-size:.75rem;padding:0 11px}.menu-btn{width:42px;height:42px;flex:0 0 42px}}

/* Centered hero and clearer primary navigation */
.hero:after{background:linear-gradient(90deg,rgba(3,39,26,.72),rgba(3,39,26,.56),rgba(3,39,26,.72))}
.hero-content{max-width:900px;text-align:center;margin-inline:auto;display:flex;flex-direction:column;align-items:center}
.hero p{margin-left:auto;margin-right:auto}.hero .actions{justify-content:center}
.nav-links{gap:8px}.nav-links a{padding:10px 14px;border-radius:999px;border:1px solid transparent}
.nav-links a:hover,.nav-links a.active{color:#fff;background:rgba(255,255,255,.15);border-color:rgba(255,255,255,.22)}
.site-header.scrolled .nav-links a:hover,.site-header.scrolled .nav-links a.active,.site-header.menu-open .nav-links a:hover,.site-header.menu-open .nav-links a.active{color:#fff;background:var(--green);border-color:var(--green)}
@media(max-width:980px){
  .nav{gap:10px}.brand{min-width:0}.brand img{width:150px;height:42px}
  .nav-links{gap:6px;box-shadow:0 18px 35px rgba(3,39,26,.14);border-top:1px solid var(--line)}
  .nav-links a{width:100%;padding:12px 16px;color:var(--deep);background:#fff;border:1px solid var(--line)}
  .menu-btn{display:flex!important;flex-direction:column;align-items:center;justify-content:center;padding:9px;position:relative;z-index:1002}
  .menu-btn span{flex:0 0 3px;margin:2.5px 0}
}

/* Compact, balanced footer */
.footer-brand{text-align:center}.footer-brand img{margin-left:auto;margin-right:auto}.footer-brand p{margin-left:auto;margin-right:auto}
@media(max-width:650px){
  .site-footer{padding:45px 0 18px}
  .footer-grid{grid-template-columns:1fr 1fr;gap:28px 18px;margin:0}
  .footer-brand{grid-column:1/-1}.footer-brand img{width:190px}.footer-brand p{max-width:310px;margin-top:12px;font-size:.84rem;line-height:1.5}
  .site-footer h3{margin-bottom:10px}.site-footer li{margin:6px 0}.site-footer a,.site-footer p{font-size:.82rem}
  .footer-grid>div:last-child{grid-column:1/-1;text-align:center}.footer-grid>div:last-child p{margin:5px 0}
  .footer-bottom{flex-direction:row;align-items:center;justify-content:space-between;gap:12px;margin-top:28px;padding-top:16px}
  .footer-bottom p{font-size:.69rem;margin:0;white-space:nowrap}
}
@media(max-width:380px){.footer-bottom p{font-size:.62rem}.footer-bottom{gap:7px}}

/* Polished motion system */
.reveal{opacity:0;transform:translateY(28px) scale(.985);transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1);transition-delay:var(--reveal-delay,0ms);will-change:opacity,transform}
.reveal.visible{opacity:1;transform:translateY(0) scale(1)}
.btn{position:relative;isolation:isolate;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease,background-color .25s ease}
.btn:before{content:'';position:absolute;z-index:-1;top:-60%;left:-45%;width:34%;height:220%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.32),transparent);transform:rotate(18deg) translateX(-220%);transition:transform .65s ease}
.btn:hover:before{transform:rotate(18deg) translateX(520%)}
.btn:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(6,61,42,.24)}.btn:active{transform:translateY(-1px) scale(.98)}
.service-card,.step,.trust-item,.form-card,.info-card,.policy-card{transition:transform .32s cubic-bezier(.22,1,.36,1),box-shadow .32s ease,border-color .32s ease}
.service-card:hover,.step:hover,.trust-item:hover{transform:translateY(-7px);box-shadow:0 20px 45px rgba(6,61,42,.13);border-color:rgba(8,116,67,.28)}
.service-card img,.gallery img,.image-frame img{transition:transform .7s cubic-bezier(.22,1,.36,1),filter .45s ease}
.service-card:hover img,.gallery figure:hover img{transform:scale(1.055);filter:saturate(1.06)}
.image-frame:hover img{transform:scale(1.018)}
.trust-mark,.step b{transition:transform .35s cubic-bezier(.22,1,.36,1),background-color .3s ease,color .3s ease}
.trust-item:hover .trust-mark,.step:hover b{transform:rotate(-6deg) scale(1.08);background:var(--green);color:#fff}
.eyebrow:before{transition:width .4s cubic-bezier(.22,1,.36,1)}.section-head:hover .eyebrow:before,.split>div:hover .eyebrow:before{width:38px}
.nav-links a:after{transition:transform .3s cubic-bezier(.22,1,.36,1)}
.hero-content>*{animation:heroRise .8s cubic-bezier(.22,1,.36,1) both}.hero-content>h1{animation-delay:.1s}.hero-content>p{animation-delay:.2s}.hero-content>.actions{animation-delay:.3s}
@keyframes heroRise{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.reveal,.reveal.visible{opacity:1;transform:none;transition:none}.hero-content>*{animation:none}.btn:before{display:none}.service-card img,.gallery img,.image-frame img,.trust-mark,.step b{transition:none}.service-card:hover img,.gallery figure:hover img,.image-frame:hover img{transform:none}}
@media(max-width:520px){
  .container.nav{width:calc(100% - 18px)}.nav{gap:6px}
  .brand{padding:3px 5px;box-shadow:0 4px 14px rgba(3,39,26,.12)}.brand img{width:105px;height:34px}
  .mobile-quote{font-size:.68rem;min-height:38px;padding:0 9px;letter-spacing:-.01em}
  .menu-btn{width:40px;height:40px;flex-basis:40px;border-width:2px;padding:8px}
}

/* Navbar overlay concept: quiet links over a unified translucent band */
.site-header{background:linear-gradient(180deg,rgba(3,39,26,.88),rgba(3,39,26,.62));border-bottom:1px solid rgba(255,255,255,.13);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.site-header.scrolled,.site-header.menu-open{background:rgba(247,248,242,.97);border-bottom-color:var(--line)}
.nav-links{gap:22px}
.nav-links a{padding:10px 0;border:0;border-radius:0;background:transparent!important;position:relative;color:rgba(255,255,255,.88)}
.nav-links a:after{content:'';position:absolute;left:0;right:0;bottom:3px;height:2px;background:#8ed273;transform:scaleX(0);transform-origin:center;transition:transform .22s ease}
.nav-links a:hover,.nav-links a.active{color:#fff;border:0}
.nav-links a:hover:after,.nav-links a.active:after{transform:scaleX(1)}
.site-header.scrolled .nav-links a,.site-header.menu-open .nav-links a{color:var(--deep)}
.site-header.scrolled .nav-links a:hover,.site-header.scrolled .nav-links a.active,.site-header.menu-open .nav-links a:hover,.site-header.menu-open .nav-links a.active{color:var(--green);background:transparent;border:0}
@media(max-width:980px){
  .nav-links{gap:7px;background:rgba(247,248,242,.98)}
  .nav-links a{padding:13px 15px;border:1px solid var(--line);border-radius:10px;background:#fff!important;color:var(--deep)}
  .nav-links a:after{display:none}
  .nav-links a:hover,.nav-links a.active{color:var(--green);border-color:rgba(8,116,67,.34);background:var(--mint)!important}
}
