
:root{
  --green:#0f5b2c;
  --green-2:#168a45;
  --lime:#b6f04d;
  --red:#e52a24;
  --red-2:#b90f15;
  --aqua:#08bde6;
  --blue:#055c78;
  --cream:#fff8e8;
  --paper:#ffffff;
  --ink:#123126;
  --muted:#63756e;
  --shadow:0 22px 60px rgba(8,50,36,.14);
  --shadow-strong:0 28px 90px rgba(6,36,28,.28);
  --radius:26px;
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color:var(--ink);
  background:
    radial-gradient(circle at 12% 8%, rgba(8,189,230,.14), transparent 28%),
    radial-gradient(circle at 90% 14%, rgba(182,240,77,.18), transparent 32%),
    linear-gradient(180deg,#fffef9 0%,#fff8e8 42%,#ffffff 100%);
  overflow-x:hidden;
}
body::before{
  content:"";
  position:fixed; inset:0; pointer-events:none; z-index:-1;
  background-image:radial-gradient(rgba(15,91,44,.06) 1px, transparent 1px);
  background-size:22px 22px;
  mask-image:linear-gradient(to bottom, rgba(0,0,0,.7), transparent 80%);
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.container{width:min(var(--max), calc(100% - 36px)); margin:auto}
.site-header{
  position:sticky;top:0;z-index:99;
  background:rgba(255,255,255,.82);
  backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(15,91,44,.08);
  transition:.35s ease;
}
.site-header.scrolled{box-shadow:0 14px 40px rgba(0,0,0,.08)}
.nav{height:86px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.logo-wrap{display:flex;align-items:center;gap:12px;min-width:215px}
.logo-wrap img{width:62px;height:62px;object-fit:cover;border-radius:18px;box-shadow:0 12px 28px rgba(15,91,44,.20);background:#fff}
.logo-text strong{display:block;font-size:1.08rem;letter-spacing:.2px;color:var(--green)}
.logo-text span{font-size:.78rem;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.nav-links{display:flex;align-items:center;gap:7px}
.nav-links a{
  padding:12px 14px;border-radius:999px;font-weight:800;font-size:.94rem;color:#174132;
  transition:.25s ease; position:relative;
}
.nav-links a:hover,.nav-links a.active{background:rgba(22,138,69,.10);color:var(--green)}
.header-cta{display:flex;align-items:center;gap:10px}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  border:none;border-radius:999px;padding:14px 20px;font-weight:900;line-height:1;cursor:pointer;
  transition:transform .25s ease, box-shadow .25s ease, background .25s ease;
  box-shadow:0 14px 30px rgba(15,91,44,.16);
}
.btn:hover{transform:translateY(-3px);box-shadow:0 20px 42px rgba(15,91,44,.22)}
.btn-primary{background:linear-gradient(135deg,var(--red),var(--red-2));color:#fff}
.btn-green{background:linear-gradient(135deg,var(--green-2),var(--green));color:#fff}
.btn-light{background:#fff;color:var(--green);border:1px solid rgba(15,91,44,.12)}
.hamburger{display:none;width:48px;height:48px;border:0;border-radius:15px;background:rgba(15,91,44,.1);position:relative;cursor:pointer}
.hamburger span{position:absolute;left:13px;right:13px;height:3px;background:var(--green);border-radius:4px;transition:.25s}
.hamburger span:nth-child(1){top:15px}.hamburger span:nth-child(2){top:23px}.hamburger span:nth-child(3){top:31px}
.hamburger.active span:nth-child(1){top:23px;transform:rotate(45deg)}
.hamburger.active span:nth-child(2){opacity:0}.hamburger.active span:nth-child(3){top:23px;transform:rotate(-45deg)}
.hero{position:relative;padding:64px 0 74px;overflow:hidden}
.hero::before,.hero::after{content:"";position:absolute;border-radius:50%;filter:blur(2px);opacity:.55;animation:float 8s ease-in-out infinite;z-index:-1}
.hero::before{width:260px;height:260px;background:rgba(8,189,230,.25);left:-80px;top:120px}
.hero::after{width:280px;height:280px;background:rgba(229,42,36,.13);right:-90px;bottom:90px;animation-delay:1.5s}
.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:45px;align-items:center}
.eyebrow{display:inline-flex;align-items:center;gap:9px;padding:8px 13px;border-radius:999px;background:#fff;border:1px solid rgba(15,91,44,.12);box-shadow:0 10px 28px rgba(0,0,0,.05);font-size:.86rem;font-weight:900;color:var(--green);margin-bottom:16px}
.eyebrow .dot{width:10px;height:10px;background:var(--aqua);border-radius:50%;box-shadow:0 0 0 6px rgba(8,189,230,.13);animation:pulse 1.8s infinite}
h1,.h1{font-size:clamp(2.35rem,5.2vw,5rem);line-height:.98;margin:0 0 18px;letter-spacing:-.055em;color:#112d21}
h1 .gradient,.h1 .gradient{background:linear-gradient(105deg,var(--green),var(--green-2),var(--aqua));-webkit-background-clip:text;background-clip:text;color:transparent}
.lead{font-size:1.12rem;line-height:1.8;color:#4d6259;margin:0 0 26px;max-width:690px}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0 30px}
.trust-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}
.trust-pill{display:flex;align-items:center;gap:9px;background:rgba(255,255,255,.82);border:1px solid rgba(15,91,44,.09);border-radius:18px;padding:12px 13px;font-weight:800;color:#214b39;box-shadow:0 12px 24px rgba(0,0,0,.05)}
.hero-card{position:relative;min-height:560px;border-radius:42px;padding:18px;background:linear-gradient(145deg,rgba(255,255,255,.85),rgba(255,255,255,.42));border:1px solid rgba(255,255,255,.75);box-shadow:var(--shadow-strong);overflow:hidden;isolation:isolate}
.hero-card::before{content:"";position:absolute;inset:-40%;background:conic-gradient(from 180deg,transparent,rgba(8,189,230,.24),transparent,rgba(182,240,77,.28),transparent);animation:spin 8s linear infinite;z-index:-2}
.hero-card::after{content:"";position:absolute;inset:10px;border-radius:34px;background:linear-gradient(180deg,rgba(255,255,255,.78),rgba(255,255,255,.96));z-index:-1}
.hero-photo{height:355px;border-radius:32px;overflow:hidden;position:relative;box-shadow:0 20px 45px rgba(0,0,0,.16)}
.hero-photo img{width:100%;height:100%;object-fit:cover;transform:scale(1.02);animation:slowZoom 8s ease-in-out infinite alternate}
.hero-badge{position:absolute;top:26px;left:26px;background:rgba(255,255,255,.90);border-radius:22px;padding:12px 14px;box-shadow:0 14px 30px rgba(0,0,0,.11);font-weight:900;color:var(--green)}
.logo-orbit{position:absolute;right:22px;top:255px;width:170px;height:170px;border-radius:34px;background:#fff;padding:8px;box-shadow:0 25px 55px rgba(15,91,44,.25);animation:float 5s ease-in-out infinite}
.logo-orbit img{width:100%;height:100%;object-fit:cover;border-radius:26px}
.mini-feature{position:absolute;left:22px;right:22px;bottom:22px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.mini-feature div{background:linear-gradient(180deg,#fff,rgba(255,255,255,.76));border:1px solid rgba(15,91,44,.10);border-radius:23px;padding:16px;box-shadow:0 12px 28px rgba(0,0,0,.07)}
.mini-feature strong{display:block;font-size:1.35rem;color:var(--green)}
.mini-feature span{font-size:.82rem;color:var(--muted);font-weight:800}
.section{padding:78px 0;position:relative}
.section.alt{background:linear-gradient(180deg,rgba(255,255,255,.55),rgba(255,248,232,.55))}
.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:34px}
.section-kicker{font-weight:1000;color:var(--red);letter-spacing:.12em;text-transform:uppercase;font-size:.8rem;margin:0 0 10px}
h2{font-size:clamp(2rem,3.8vw,3.45rem);line-height:1.05;letter-spacing:-.04em;margin:0;color:#123126}
.section-head p{max-width:520px;color:var(--muted);line-height:1.75;margin:0}
.grid{display:grid;gap:22px}
.grid-3{grid-template-columns:repeat(3,1fr)}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}
.card{background:rgba(255,255,255,.86);border:1px solid rgba(15,91,44,.10);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;transition:.32s ease;position:relative}
.card:hover{transform:translateY(-8px);box-shadow:0 28px 72px rgba(15,91,44,.19)}
.service-card .img{height:215px;overflow:hidden;position:relative}
.service-card .img::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(15,91,44,.45),transparent 55%)}
.service-card img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.service-card:hover img{transform:scale(1.08)}
.service-card .content{padding:24px}
.service-card h3{font-size:1.45rem;margin:0 0 10px;color:var(--green)}
.service-card p{color:var(--muted);line-height:1.72;margin:0 0 18px}
.link-more{display:inline-flex;align-items:center;gap:8px;color:var(--red);font-weight:1000}
.icon-box{width:54px;height:54px;border-radius:18px;background:linear-gradient(135deg,rgba(8,189,230,.15),rgba(182,240,77,.25));display:flex;align-items:center;justify-content:center;font-size:1.55rem;box-shadow:0 14px 28px rgba(15,91,44,.12)}
.feature-card{padding:28px}
.feature-card h3{font-size:1.28rem;margin:16px 0 10px}.feature-card p{line-height:1.75;color:var(--muted);margin:0}
.process{counter-reset:step;position:relative}
.process::before{content:"";position:absolute;left:8%;right:8%;top:60px;height:2px;background:linear-gradient(90deg,transparent,var(--aqua),var(--green),transparent)}
.step-card{padding:26px;text-align:center;overflow:visible}
.step-card::before{counter-increment:step;content:"0" counter(step);display:inline-flex;align-items:center;justify-content:center;width:66px;height:66px;border-radius:24px;background:linear-gradient(135deg,var(--green),var(--green-2));color:#fff;font-size:1.3rem;font-weight:1000;box-shadow:0 18px 34px rgba(15,91,44,.25);margin-bottom:16px}
.step-card h3{margin:0 0 10px;color:var(--green)}.step-card p{color:var(--muted);line-height:1.7;margin:0}
.cta-band{border-radius:38px;padding:42px;background:linear-gradient(135deg,var(--green),#073b23);color:#fff;position:relative;overflow:hidden;box-shadow:var(--shadow-strong)}
.cta-band::before{content:"";position:absolute;right:-120px;top:-120px;width:360px;height:360px;border-radius:50%;background:rgba(8,189,230,.22);animation:float 6s ease-in-out infinite}
.cta-band::after{content:"";position:absolute;left:-60px;bottom:-130px;width:280px;height:280px;border-radius:50%;background:rgba(229,42,36,.18)}
.cta-content{position:relative;display:flex;align-items:center;justify-content:space-between;gap:28px}.cta-content h2{color:#fff}.cta-content p{color:rgba(255,255,255,.82);line-height:1.7;max-width:650px}
.region-card{padding:28px;display:flex;flex-direction:column;gap:14px}
.region-card strong{font-size:1.55rem;color:var(--green)}
.region-card p{color:var(--muted);line-height:1.7;margin:0}
.region-card .tags{display:flex;flex-wrap:wrap;gap:8px}.tag{padding:8px 10px;border-radius:999px;background:rgba(8,189,230,.1);font-weight:900;font-size:.83rem;color:#09627a}
.review-shell{position:relative;overflow:hidden}
.review-track{display:flex;transition:transform .55s cubic-bezier(.2,.8,.2,1)}
.review-card{min-width:calc(33.333% - 15px);margin-right:22px;padding:26px;background:#fff;border:1px solid rgba(15,91,44,.1);border-radius:28px;box-shadow:var(--shadow)}
.stars{letter-spacing:2px;color:#ffb800;font-size:1.05rem;margin-bottom:12px}
.review-card p{line-height:1.76;color:#4b6057;margin:0 0 18px}.reviewer{display:flex;align-items:center;gap:12px;font-weight:1000;color:var(--green)}.avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--aqua),var(--lime));display:flex;align-items:center;justify-content:center;color:#063823;font-weight:1000}
.slider-controls{display:flex;gap:10px;margin-top:22px;justify-content:center}.slider-controls button{width:44px;height:44px;border-radius:50%;border:0;background:#fff;color:var(--green);font-weight:1000;box-shadow:0 10px 24px rgba(0,0,0,.08);cursor:pointer}
.faq{display:grid;gap:14px}.faq-item{background:#fff;border:1px solid rgba(15,91,44,.1);border-radius:20px;overflow:hidden;box-shadow:0 12px 26px rgba(0,0,0,.05)}.faq-q{width:100%;background:transparent;border:0;padding:20px;text-align:left;font-size:1rem;font-weight:1000;color:#173d2f;display:flex;justify-content:space-between;gap:16px;cursor:pointer}.faq-q span:last-child{color:var(--red);font-size:1.25rem}.faq-a{max-height:0;overflow:hidden;transition:max-height .28s ease}.faq-a p{padding:0 20px 20px;margin:0;color:var(--muted);line-height:1.75}.faq-item.open .faq-a{max-height:240px}.faq-item.open .faq-q span:last-child{transform:rotate(45deg)}
.page-hero{padding:64px 0 45px;position:relative}.breadcrumb{display:flex;gap:8px;align-items:center;flex-wrap:wrap;color:var(--muted);font-weight:800;margin-bottom:15px}.breadcrumb a{color:var(--green)}
.content-block{background:#fff;border:1px solid rgba(15,91,44,.1);box-shadow:var(--shadow);border-radius:32px;padding:34px;line-height:1.82;color:#4a5d56}.content-block h2,.content-block h3{color:var(--green)}.content-block ul{padding-left:20px}.content-block li{margin:8px 0}
.hero-inner{display:grid;grid-template-columns:1fr .85fr;gap:30px;align-items:center}.hero-inner .photo-card{border-radius:32px;overflow:hidden;box-shadow:var(--shadow-strong);min-height:330px}.hero-inner .photo-card img{width:100%;height:100%;object-fit:cover}
.contact-card{padding:30px}.contact-card h3{margin:12px 0 8px;color:var(--green)}.contact-card p{color:var(--muted);line-height:1.7}.contact-form{display:grid;gap:14px}.contact-form input,.contact-form textarea,.contact-form select{width:100%;border:1px solid rgba(15,91,44,.16);border-radius:18px;padding:15px 16px;font:inherit;outline:none;background:#fff}.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{border-color:var(--green);box-shadow:0 0 0 4px rgba(22,138,69,.1)}
.service-detail{display:grid;grid-template-columns:.85fr 1.15fr;gap:28px;align-items:center}.service-detail + .service-detail{margin-top:28px}.service-detail img{width:100%;height:310px;object-fit:cover;border-radius:28px;box-shadow:var(--shadow)}.service-detail:nth-child(even){grid-template-columns:1.15fr .85fr}.service-detail:nth-child(even) img{order:2}
.marquee{overflow:hidden;border-block:1px solid rgba(15,91,44,.08);background:rgba(255,255,255,.5)}.marquee-track{display:flex;gap:28px;white-space:nowrap;animation:marquee 22s linear infinite;padding:16px 0;font-weight:1000;color:var(--green)}.marquee-track span{display:inline-flex;align-items:center;gap:8px}.marquee-track span::before{content:"✦";color:var(--red)}
.footer{background:#071f16;color:#fff;padding:64px 0 26px;position:relative;overflow:hidden}.footer::before{content:"";position:absolute;right:-100px;top:-100px;width:360px;height:360px;border-radius:50%;background:rgba(8,189,230,.10)}.footer-grid{display:grid;grid-template-columns:1.15fr .75fr .75fr .9fr;gap:28px;position:relative}.footer-logo{display:flex;align-items:center;gap:12px;margin-bottom:15px}.footer-logo img{width:62px;height:62px;border-radius:18px;object-fit:cover}.footer p{color:rgba(255,255,255,.72);line-height:1.75}.footer h3{margin:0 0 14px;color:#fff}.footer a{display:block;color:rgba(255,255,255,.78);margin:9px 0;transition:.2s}.footer a:hover{color:var(--lime);transform:translateX(4px)}.copyright{border-top:1px solid rgba(255,255,255,.1);margin-top:36px;padding-top:22px;color:rgba(255,255,255,.60);font-size:.92rem;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.float-buttons{position:fixed;right:18px;bottom:18px;z-index:120;display:flex;flex-direction:column;gap:12px}.float-btn{width:58px;height:58px;border-radius:20px;display:flex;align-items:center;justify-content:center;box-shadow:0 18px 36px rgba(0,0,0,.22);transition:.25s ease}.float-btn:hover{transform:translateY(-4px) scale(1.03)}.float-btn svg{width:28px;height:28px;fill:#fff}.wa{background:#25d366}.call{background:linear-gradient(135deg,var(--red),var(--red-2))}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease, transform .7s ease}.reveal.visible{opacity:1;transform:none}.delay-1{transition-delay:.1s}.delay-2{transition-delay:.2s}.delay-3{transition-delay:.3s}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-18px)}}@keyframes pulse{0%,100%{transform:scale(1);box-shadow:0 0 0 6px rgba(8,189,230,.13)}50%{transform:scale(1.2);box-shadow:0 0 0 12px rgba(8,189,230,.03)}}@keyframes spin{to{transform:rotate(1turn)}}@keyframes slowZoom{to{transform:scale(1.10)}}@keyframes marquee{to{transform:translateX(-50%)}}
@media (max-width:980px){
  .nav{height:78px}.header-cta{display:none}.hamburger{display:block}.nav-links{position:fixed;top:78px;left:18px;right:18px;display:grid;gap:8px;background:rgba(255,255,255,.96);padding:16px;border-radius:24px;box-shadow:var(--shadow-strong);transform:translateY(-20px);opacity:0;pointer-events:none;transition:.25s}.nav-links.open{transform:translateY(0);opacity:1;pointer-events:auto}.nav-links a{padding:15px 16px;background:rgba(15,91,44,.06)}
  .hero-grid,.hero-inner,.service-detail,.service-detail:nth-child(even){grid-template-columns:1fr}.service-detail:nth-child(even) img{order:0}.hero-card{min-height:520px}.grid-3,.grid-4,.footer-grid{grid-template-columns:1fr 1fr}.section-head,.cta-content{display:block}.review-card{min-width:calc(50% - 12px)}.process::before{display:none}
}
@media (max-width:640px){
  .container{width:min(100% - 24px,var(--max))}.logo-text span{display:none}.logo-wrap{min-width:auto}.logo-wrap img{width:54px;height:54px}.hero{padding-top:38px}.hero-card{min-height:590px;padding:12px;border-radius:30px}.hero-photo{height:280px;border-radius:24px}.logo-orbit{width:130px;height:130px;right:18px;top:228px}.mini-feature{grid-template-columns:1fr;bottom:14px;left:14px;right:14px}.mini-feature div{padding:13px}.hero-actions .btn{width:100%;padding:16px}.grid-2,.grid-3,.grid-4,.footer-grid{grid-template-columns:1fr}.section{padding:58px 0}.section-head{margin-bottom:24px}.review-card{min-width:100%;margin-right:14px}.cta-band{padding:28px;border-radius:28px}.content-block{padding:24px;border-radius:24px}.float-buttons{right:12px;bottom:12px}.float-btn{width:54px;height:54px;border-radius:18px}.footer{padding-bottom:90px}
}
