:root{
  --green:#087b58;--dark:#07533e;--mint:#eaf6f0;--cream:#faf7f2;
  --ink:#182420;--muted:#66756d;--line:#e9e2d8;--white:#fff;
  --accent:#e2823f;--accent-dark:#b85e28;--accent-soft:#fbe9dc;
  --font-family:'Prompt',sans-serif;--sans:'DM Sans',sans-serif;
  --shadow:0 20px 55px rgba(20,45,32,.09);
  --shadow-lift:0 28px 70px rgba(20,45,32,.16);
  --r-lg:28px;--r-md:20px;--r-sm:14px;--r-pill:999px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--font-family);line-height:1.65}
a{color:inherit;text-decoration:none}
.container{width:min(1180px,calc(100% - 48px));margin:auto}

.topbar{background:var(--dark);color:#d9f0e6;font-size:.78rem}
.topbar-inner{min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.topbar i{margin-right:5px;color:#9ee3c7}

.navbar{height:84px;display:flex;align-items:center;background:rgba(250,247,242,.94);backdrop-filter:blur(6px);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:100%;gap:18px}
.navbar-brand{display:flex;align-items:center;gap:10px;font-family:var(--sans);font-size:1rem;font-weight:700;letter-spacing:.1em;line-height:1.05;color:#153c30}
.navbar-brand b{color:var(--green)}
.navbar-brand small{display:block;font-size:.42rem;letter-spacing:.17em;margin-top:5px;color:#84938d;font-weight:600}
.brand-mark{width:40px;height:40px;display:grid;place-items:center;border-radius:13px;background:linear-gradient(135deg,var(--green),var(--dark));color:#fff;font-size:1.05rem;box-shadow:0 10px 22px rgba(8,123,88,.26)}

.nav-links{display:flex;align-items:center;gap:24px;list-style:none;margin:0;padding:0;font-size:.88rem;font-weight:500;color:#43534c}
.nav-links a{transition:.2s}
.nav-links a:hover,.nav-links .active{color:var(--green)}
.nav-cta{background:var(--green);padding:12px 18px;border-radius:var(--r-pill);color:#fff!important;box-shadow:0 10px 22px rgba(8,123,88,.24)}
.nav-cta i{font-size:.68rem;margin-left:4px}
.nav-cart{position:relative;width:42px;height:42px;border-radius:50%;background:var(--mint);display:grid;place-items:center;color:var(--dark);font-size:.92rem;flex:0 0 auto}
.nav-cart .cart-badge{position:absolute;top:-3px;right:-3px;min-width:18px;height:18px;padding:0 4px;border-radius:var(--r-pill);background:var(--accent);color:#fff;font:700 .62rem/18px var(--sans);text-align:center;border:2px solid var(--cream);display:none}
.mobile-menu-btn{display:none;border:0;background:none;color:var(--green);font-size:1.4rem}

.btn{min-height:50px;padding:12px 22px;border-radius:var(--r-pill);display:inline-flex;align-items:center;justify-content:center;gap:10px;font-size:.9rem;font-weight:600;font-family:var(--sans);transition:transform .2s,box-shadow .2s}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--accent);color:#fff;box-shadow:0 16px 32px rgba(226,130,63,.32)}
.btn-primary i,.btn-white i{font-size:.75rem}
.btn-ghost{border:1.5px solid rgba(255,255,255,.5);color:#fff}
.btn-ghost:hover{background:rgba(255,255,255,.1)}
.btn-green{background:var(--green);color:#fff;box-shadow:0 16px 32px rgba(8,123,88,.26)}
.btn-white{background:#fff;color:var(--dark);box-shadow:0 16px 32px rgba(0,0,0,.12)}

.hero{min-height:610px;position:relative;display:flex;align-items:center;isolation:isolate;overflow:hidden}
.hero-bg,.hero-overlay{position:absolute;inset:0;width:100%;height:100%}
.hero-bg{object-fit:cover;object-position:center;z-index:-2}
.hero-overlay{z-index:-1;background:linear-gradient(90deg,rgba(4,38,28,.94),rgba(6,58,42,.8) 45%,rgba(6,58,42,.25))}
.hero-layout{display:flex;align-items:end;justify-content:space-between;gap:48px;padding:70px 0}
.hero-content{max-width:650px;color:#fff}
.eyebrow{font-family:var(--sans);font-size:.7rem;font-weight:700;letter-spacing:.17em;color:#c8ecdb;margin:0 0 15px;display:flex;align-items:center;gap:9px}
.eyebrow span{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--accent)}
.eyebrow.green{color:var(--green)}
h1,h2,h3,p{margin-top:0}
.hero h1{font-size:clamp(2.65rem,5vw,4.6rem);line-height:1.14;letter-spacing:-.045em;margin:0 0 21px;font-weight:600}
.hero-copy{max-width:545px;font-size:1.08rem;line-height:1.85;color:#e5f1eb;margin-bottom:29px}
.hero-buttons{display:flex;gap:12px;flex-wrap:wrap}
.hero-notes{display:flex;gap:22px;flex-wrap:wrap;margin-top:33px;color:#e0eee8;font-size:.82rem}
.hero-notes i{color:#89d9b6;margin-right:5px}
.quote-card{width:280px;flex:0 0 280px;padding:26px;background:#fff;border-radius:var(--r-lg);color:var(--ink);box-shadow:var(--shadow-lift)}
.quote-icon{display:grid;place-items:center;width:42px;height:42px;background:var(--mint);color:var(--green);border-radius:14px;font-size:1rem}
.quote-label{font-size:.73rem;letter-spacing:.12em;font-weight:700;color:var(--green);margin:17px 0 5px}
.quote-card h2{font-size:1.45rem;line-height:1.35;letter-spacing:-.03em;margin:0 0 10px}
.quote-card p:not(.quote-label){font-size:.79rem;line-height:1.65;color:var(--muted);margin-bottom:15px}
.text-link{font-size:.8rem;font-weight:700;color:var(--green)}
.text-link i{font-size:.7rem;margin-left:5px}

.trust-strip{background:transparent}
.trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding:32px 0}
.trust-grid>div{display:flex;gap:14px;align-items:flex-start;padding:22px;background:#fff;border-radius:var(--r-md);box-shadow:var(--shadow)}
.trust-grid i{color:var(--green);font-size:1.2rem;margin-top:2px}
.trust-grid b,.trust-grid small{display:block}
.trust-grid b{font-size:.85rem}
.trust-grid small{color:var(--muted);font-size:.72rem;margin-top:3px}

.stats-strip{padding:36px 0 6px}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.stat-tile{text-align:center;padding:26px 16px;background:#fff;border-radius:var(--r-md);box-shadow:var(--shadow)}
.stat-tile b{display:block;font-family:'Prompt',sans-serif;font-size:2.1rem;font-weight:700;color:var(--green);letter-spacing:-.02em}
.stat-tile span{display:block;font-size:.78rem;color:var(--muted);margin-top:4px}

/* Portfolio teaser (home) */
.portfolio-teaser-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.portfolio-teaser-grid .highlight-media{height:300px}
.portfolio-teaser-grid p{padding:0 20px;font-size:.78rem;color:var(--muted);margin:0 0 18px}

.section{padding:106px 0}
.services-preview{background:transparent}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:37px}
.section-heading.center-only{justify-content:center;text-align:center;flex-direction:column;align-items:center}
.section-heading h2,.process-content h2,.cta-section h2{font-size:clamp(2rem,3.4vw,3.1rem);line-height:1.2;letter-spacing:-.04em;margin:0;color:var(--dark)}
.section-heading>p{max-width:415px;color:var(--muted);font-size:.91rem;margin:0 0 4px}
.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.service-grid-3{grid-template-columns:repeat(3,1fr)}
.service-card{min-height:313px;padding:26px;background:#fff;border:1px solid var(--line);border-radius:var(--r-md);position:relative;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}
.service-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lift)}
.service-card.featured{background:linear-gradient(150deg,var(--green),var(--dark));border-color:transparent;color:#fff}
.service-number{font:600 .73rem var(--sans);color:#9aa9a2}
.featured .service-number{color:#a8ddc4}
.service-icon{width:52px;height:52px;display:grid;place-items:center;border-radius:15px;background:var(--mint);font-size:1.3rem;margin:24px 0 16px;color:var(--green)}
.featured .service-icon{background:rgba(255,255,255,.14);color:#c9ecdb}
.service-card h3{font-size:1.02rem;line-height:1.45;margin:0 0 9px}
.service-card p{font-size:.78rem;color:var(--muted);line-height:1.7;margin:0}
.featured p{color:#d4eadf}
.card-link{font-size:.75rem;font-weight:700;color:var(--green);margin-top:auto;padding-top:16px}
.featured .card-link{color:#fff}
.card-link i{font-size:.65rem;margin-left:5px}

.process-section{padding:104px 0}
.process-layout{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:92px}
.process-image{height:570px;position:relative;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow)}
.process-image img{width:100%;height:100%;object-fit:cover}
.image-badge{position:absolute;right:20px;bottom:20px;width:164px;border-radius:var(--r-sm);background:var(--dark);padding:20px;color:#fff;font:700 .7rem/1.7 var(--sans);letter-spacing:.08em}
.image-badge i{display:block;font-size:1rem;margin-top:9px}
.process-content>p:not(.eyebrow){color:var(--muted);font-size:.91rem;max-width:430px;margin:18px 0 28px}
.process-list{list-style:none;padding:0;margin:0}
.process-list li{display:flex;gap:17px;padding:17px 0;border-top:1px solid var(--line)}
.process-list b{font:700 .75rem var(--sans);color:var(--green)}
.process-list h3{font-size:.94rem;margin:0 0 3px}
.process-list p{font-size:.76rem;color:var(--muted);margin:0}

.cta-section{background:transparent;padding:20px 0 106px}
.cta-content{background:linear-gradient(120deg,var(--green) 0%,var(--dark) 75%);border-radius:var(--r-lg);color:#fff;padding:60px 56px;display:flex;align-items:center;justify-content:space-between;gap:30px;box-shadow:var(--shadow-lift);position:relative;overflow:hidden;flex-wrap:wrap}
.cta-content:before{content:'';position:absolute;right:-70px;top:-70px;width:260px;height:260px;border-radius:50%;background:rgba(255,255,255,.06)}
.cta-section .eyebrow{margin-bottom:9px;color:#bfe8d5}
.cta-section h2{font-size:2.35rem;color:#fff}
.cta-section p:not(.eyebrow){color:#d3ecdf;font-size:.88rem;margin:10px 0 0}
.btn-white{flex:0 0 auto;background:#fff;color:var(--green);min-width:190px;position:relative}
.cta-contact-chips{display:flex;gap:12px;flex-wrap:wrap;position:relative}
.cta-contact-chips .btn{min-width:0}
.cta-contact-chips .btn-ghost{border-color:rgba(255,255,255,.4)}

/* Product highlight (home) */
.highlight-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.highlight-card{background:#fff;border-radius:var(--r-md);overflow:hidden;box-shadow:var(--shadow);transition:.2s;display:block}
.highlight-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lift)}
.highlight-media{height:260px;position:relative;overflow:hidden}
.highlight-media img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.highlight-card:hover .highlight-media img{transform:scale(1.05)}
.highlight-media span{position:absolute;left:16px;top:14px;font:700 .62rem var(--sans);letter-spacing:.1em;padding:5px 11px;border-radius:var(--r-pill);background:rgba(255,255,255,.92);color:var(--dark)}
.highlight-card b{display:block;padding:18px 20px;font-size:.98rem;color:var(--ink)}

/* Why choose us (home) */
.why-section{padding-top:0}
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:920px;margin:0 auto}
.why-card{text-align:center;padding:32px 24px;background:#fff;border-radius:var(--r-md);box-shadow:var(--shadow)}
.why-card .service-icon{margin:0 auto 18px}
.why-card h3{font-size:1rem;margin-bottom:6px}
.why-card p{font-size:.8rem;color:var(--muted);margin:0}

/* Testimonials + logo marquee (home) */
.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:16px}
.testimonial-card{background:#fff;border-radius:var(--r-md);padding:30px 26px;box-shadow:var(--shadow)}
.testimonial-card>i{color:var(--mint);font-size:1.4rem}
.testimonial-card>p{font-size:.86rem;color:#3d4a44;line-height:1.75;margin:14px 0 22px}
.testimonial-who{display:flex;align-items:center;gap:12px}
.testimonial-who .avatar{width:38px;height:38px;border-radius:50%;background:var(--mint);color:var(--dark);display:grid;place-items:center;font:700 .85rem var(--sans);flex:0 0 auto}
.testimonial-who b{display:block;font-size:.82rem}
.testimonial-who small{color:var(--muted);font-size:.7rem}
.testimonial-note{text-align:center;font-size:.7rem;color:#a6b2ac;margin:0 0 36px}
.logo-marquee{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.logo-marquee-track{display:flex;gap:14px;width:max-content;animation:vh-marquee 26s linear infinite}
.logo-chip{display:inline-flex;align-items:center;gap:10px;white-space:nowrap;padding:14px 22px;border-radius:var(--r-pill);background:#fff;box-shadow:var(--shadow);font-size:.8rem;font-weight:600;color:#3d4a44}
.logo-chip i{color:var(--green);font-size:.95rem}
@keyframes vh-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

.footer{background:var(--dark);color:#c4d6ce;padding-top:60px;border-radius:36px 36px 0 0}
.footer-top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.1fr;gap:50px;padding-bottom:47px}
.footer .navbar-brand{color:#fff}
.footer-brand p{max-width:330px;font-size:.78rem;line-height:1.8;margin:19px 0}
.footer h4{font-size:.85rem;color:#fff;margin:3px 0 17px}
.footer-links{list-style:none;margin:0;padding:0;font-size:.77rem}
.footer-links li{margin:10px 0}
.footer-links a:hover{color:#fff}
.contact-links i{color:#80cfaa;width:20px}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12);padding:20px 0;display:flex;justify-content:space-between;font-size:.68rem;color:#98ada4}
.footer-bottom a:hover{color:#fff}

.bottom-nav{display:none;position:fixed;left:0;right:0;bottom:0;z-index:30;background:#fff;border-top:1px solid var(--line);box-shadow:0 -10px 26px rgba(20,45,32,.08);padding:8px 6px calc(6px + env(safe-area-inset-bottom))}
.bottom-nav a{display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 2px;border-radius:12px;font-size:.62rem;font-weight:600;color:#8a978f;text-align:center}
.bottom-nav a.active{color:var(--green)}
.bottom-nav-icon{position:relative;font-size:1.05rem;line-height:1}
.bottom-nav-badge{position:absolute;top:-8px;right:-10px;min-width:16px;height:16px;padding:0 4px;font-size:.56rem;line-height:16px;border:2px solid #fff}

@media(max-width:900px){
  .nav-links{gap:14px}
  .quote-card{display:none}
  .hero-layout{padding:80px 0}
  .service-grid{grid-template-columns:repeat(2,1fr)}
  .process-layout{gap:55px}
  .footer-top{gap:34px;grid-template-columns:1fr 1fr}
  .trust-grid{grid-template-columns:1fr}
  .why-grid,.testimonial-grid{grid-template-columns:repeat(2,1fr)}
  .stats-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:680px){
  body{padding-bottom:64px}
  .bottom-nav{display:grid;grid-template-columns:repeat(5,1fr)}
  .container{width:min(100% - 36px,1180px)}
  .topbar{font-size:.67rem}
  .topbar-inner{min-height:35px}
  .topbar-inner a{display:none}
  .navbar{height:68px}
  .mobile-menu-btn{display:block}
  .nav-links{display:none;position:absolute;top:68px;left:0;width:100%;padding:12px 18px 20px;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 14px 24px rgba(0,0,0,.08);flex-direction:column;align-items:stretch;gap:0}
  .nav-links.active{display:flex}
  .nav-links li{padding:8px 0}
  .nav-links .nav-cta{display:block;text-align:center}
  .hero{min-height:590px}
  .hero-overlay{background:linear-gradient(90deg,rgba(4,38,28,.92),rgba(4,38,28,.6))}
  .hero-layout{padding:69px 0}
  .hero h1{font-size:2.65rem}
  .hero-copy{font-size:.94rem}
  .hero-notes{font-size:.72rem;gap:13px}
  .trust-grid{grid-template-columns:1fr;padding:14px 0}
  .section{padding:68px 0}
  .section-heading{display:block;margin-bottom:25px}
  .section-heading>p{margin-top:15px}
  .service-grid{grid-template-columns:1fr;gap:11px}
  .service-card{min-height:230px}
  .service-icon{margin:19px 0 12px}
  .process-section{padding:70px 0}
  .process-layout{grid-template-columns:1fr;gap:43px}
  .process-image{height:360px}
  .image-badge{right:14px;bottom:14px}
  .cta-content{padding:40px 26px;border-radius:24px}
  .cta-section{padding:0 0 70px}
  .cta-content{display:block}
  .cta-section h2{font-size:2rem}
  .btn-white{margin-top:22px;width:100%}
  .cta-contact-chips{margin-top:22px}
  .highlight-grid,.why-grid,.testimonial-grid,.portfolio-teaser-grid{grid-template-columns:1fr}
  .stats-grid{grid-template-columns:repeat(2,1fr);gap:10px}
  .stat-tile b{font-size:1.7rem}
  .logo-chip{padding:12px 18px;font-size:.76rem}
  .footer{padding-top:47px;border-radius:24px 24px 0 0}
  .footer-top{grid-template-columns:1fr;gap:25px;padding-bottom:35px}
  .footer-bottom{font-size:.63rem;gap:12px}
  .hero-buttons .btn{width:100%}
}
