:root{
  --bg:#f7f7f7; --card:#ffffff; --text:#1b1b1b; --muted:#5a6772;
  --brand:#1f6f43; --brand2:#e7f3ec; --border:#e6e9ee;
  --shadow: 0 10px 30px rgba(15, 23, 42, .08);
  --radius:18px;
}
*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--text);background:var(--bg);}
a{color:inherit}
.container{max-width:1180px;margin:0 auto;padding:24px}
.header{background:#fff;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:20}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:18px}
.logo img{height:90px;display:block}
.nav{display:flex;align-items:center;gap:18px}
.nav a{text-decoration:none;color:#2b2f36;padding:8px 14px;border-radius:999px}
.nav a.active,.nav a:hover{background:var(--brand2)}
.hero{padding:28px 0 14px}
.hero-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:26px;align-items:stretch}
.hero-card{
  background:var(--card); border:1px solid var(--border);
  border-radius:var(--radius); box-shadow:var(--shadow);
  padding:28px; display:flex;flex-direction:column;justify-content:center;
}
.strap{display:inline-flex;align-items:center;gap:8px;background:var(--brand2);color:var(--brand);font-weight:600;
  padding:6px 10px;border-radius:999px;font-size:12px;margin-bottom:10px}
h1{font-size:40px;line-height:1.05;margin:0 0 12px}
.hero-card p{color:var(--muted);font-size:16px;line-height:1.5;margin:0 0 16px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:4px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;text-decoration:none;
  padding:12px 18px;border-radius:999px;font-weight:700;border:1px solid transparent}
.btn.primary{background:var(--brand);color:#fff}
.btn.ghost{border-color:rgba(31,111,67,.35);color:var(--brand);background:#fff}
.meta{margin-top:10px;color:var(--muted);font-size:13px}
.hero-image{
  border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow);
  border:1px solid var(--border); background:#ddd;
}
.hero-image img{width:100%;height:100%;object-fit:cover;display:block}
.trust{padding:16px 0 8px}
.trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.trust-card{background:#fff;border:1px solid var(--border);border-radius:16px;padding:16px 18px;box-shadow:0 6px 18px rgba(15,23,42,.05)}
.trust-card strong{display:block;margin-bottom:6px}
.trust-card p{margin:0;color:var(--muted);font-size:14px;line-height:1.4}

.section{padding:26px 0}
.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:12px}
.section-head h2{margin:0;font-size:28px}
.section-head p{margin:6px 0 0;color:var(--muted)}
.pill{background:#fff;border:1px solid var(--border);border-radius:999px;padding:10px 14px;text-decoration:none;color:var(--brand);font-weight:700}

.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.service-card{
  background:#fff;border:1px solid var(--border);border-radius:16px;overflow:hidden;box-shadow:0 6px 18px rgba(15,23,42,.05);
  display:flex;flex-direction:row;align-items:stretch;min-height:220px
}
.service-card img{width:38%;min-width:220px;max-width:320px;height:auto;object-fit:cover;display:block}
.service-body{flex:1}
.service-body{padding:16px 16px 18px}
.service-body h3{margin:0 0 8px;font-size:16px}
.service-body p{margin:0;color:var(--muted);font-size:14px;line-height:1.45}

.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.gallery-grid img{width:100%;height:220px;object-fit:cover;border-radius:16px;border:1px solid var(--border);box-shadow:0 6px 18px rgba(15,23,42,.05)}
.footer{padding:18px 0;background:#fff;border-top:1px solid var(--border);color:#4d5964;font-size:13px}

@media (max-width:980px){
  .hero-grid{grid-template-columns:1fr}
  h1{font-size:34px}
  .services-grid,.trust-grid,.gallery-grid{grid-template-columns:1fr}
  .service-card{flex-direction:column}
  .service-card img{width:100%;min-width:unset;max-width:unset;height:180px}
  .hero-image img{height:320px}
}
/* v10 tweaks: service cards with image to the right */
.service-card{flex-direction:row;min-height:220px}
.service-card img{width:38%;height:100%;min-height:220px;object-fit:cover}
.service-card .service-body{flex:1;padding:16px 18px}

@media (max-width: 820px){
  .service-card{flex-direction:column}
  .service-card img{width:100%;height:180px;min-height:180px}
}


/* v11 services layout: text first, image to the right; alternate for variety */
.service-card{display:flex;flex-direction:row;align-items:stretch;gap:0;min-height:230px}
.service-card img{width:44%;height:100%;min-height:230px;object-fit:cover;flex:0 0 44%}
.service-body{width:56%;flex:1;padding:18px 18px 20px}
.services-grid{grid-template-columns:1fr;gap:14px}
.service-card:nth-child(even){flex-direction:row-reverse}
@media (max-width:980px){
  .service-card{flex-direction:column}
  .service-card:nth-child(even){flex-direction:column}
  .service-card img{width:100%;height:190px;min-height:190px}
  .service-body{width:100%}
}


/* v12: compact service tiles (home) */
.service-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:16px}
.tile{display:block;background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:18px;padding:16px 16px 14px;text-decoration:none;box-shadow:0 10px 30px rgba(15,23,42,.04);transition:transform .15s ease, box-shadow .15s ease}
.tile:hover{transform:translateY(-2px);box-shadow:0 14px 40px rgba(15,23,42,.08)}
.tile-title{display:block;font-weight:700;color:#0f172a;margin-bottom:4px}
.tile-meta{display:block;color:rgba(15,23,42,.72);font-size:14px;line-height:1.35}
@media (max-width:980px){.service-tiles{grid-template-columns:1fr}}

/* v12: services detail page */
.page-hero{padding:26px 0 10px}
.services-detail{padding:10px 0 48px}
.service-detail{display:grid;grid-template-columns:1.15fr 1fr;gap:18px;background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:22px;overflow:hidden;box-shadow:0 14px 40px rgba(15,23,42,.06);margin-top:16px}
.service-detail__media img{width:100%;height:100%;min-height:320px;object-fit:cover;display:block}
.service-detail__body{padding:18px 18px 20px}
.service-detail__body h2{margin:2px 0 8px}
.service-detail__body p{margin:0 0 12px}
.service-detail__body ul{margin:0 0 12px 18px;color:rgba(15,23,42,.82)}
.service-detail__note{font-size:14px;color:rgba(15,23,42,.7);background:rgba(16,185,129,.08);border:1px solid rgba(16,185,129,.18);padding:10px 12px;border-radius:14px}
@media (max-width:980px){
  .service-detail{grid-template-columns:1fr}
  .service-detail__media img{min-height:220px}
}

/* v12: CTA band */
.cta-band{display:flex;justify-content:space-between;align-items:center;gap:16px;background:rgba(16,185,129,.08);border:1px solid rgba(16,185,129,.18);border-radius:22px;padding:18px;margin-top:18px}
.cta-band h3{margin:0 0 4px}
.cta-band p{margin:0;color:rgba(15,23,42,.78)}
.cta-band__actions{display:flex;gap:10px;flex-wrap:wrap}
@media (max-width:980px){.cta-band{flex-direction:column;align-items:flex-start}}


/* v13 About section */
.about-grid{display:grid;grid-template-columns:1.1fr 0.9fr;gap:18px;align-items:stretch}
.about-card p{margin:0 0 10px}
.ticks{margin:10px 0 0;padding-left:18px}
.ticks li{margin:6px 0}
.about-photo{padding:0;overflow:hidden}
.about-photo img{width:100%;height:100%;min-height:320px;object-fit:cover;display:block}
@media (max-width:980px){
  .about-grid{grid-template-columns:1fr}
  .about-photo img{min-height:220px}
}

/* v13 Services page layout */
.page-hero{padding:34px 0 12px}
.svc-stack{display:flex;flex-direction:column;gap:16px}
.svc-block{display:grid;grid-template-columns:0.9fr 1.1fr;gap:18px;align-items:stretch;background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:18px;box-shadow:0 10px 30px rgba(0,0,0,.06);overflow:hidden}
.svc-media img{width:100%;height:100%;min-height:340px;object-fit:cover;display:block}
.svc-copy{padding:18px 18px 20px}
.svc-copy h2{margin:0 0 6px}
.svc-bullets,.svc-typical{margin:10px 0 0;padding-left:18px}
.svc-bullets li,.svc-typical li{margin:6px 0}
.svc-sub{margin-top:12px;padding-top:10px;border-top:1px solid rgba(0,0,0,.06)}
.svc-sub h4{margin:0 0 6px;font-size:14px;letter-spacing:.02em;text-transform:uppercase;opacity:.8}
@media (max-width:980px){
  .svc-block{grid-template-columns:1fr}
  .svc-media img{min-height:220px}
}

/* v14: small quality-of-life + conversion tweaks */
.topbar{background:var(--brand);color:#fff;font-size:13px}
.topbar .container{padding:10px 24px}
.topbar a{color:#fff;text-decoration:none;font-weight:700}
.topbar__inner{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}

.btn:hover{filter:brightness(0.98)}
.btn:focus-visible,.nav a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid rgba(31,111,67,.35);outline-offset:2px}

.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:10px}
.feature{background:#fff;border:1px solid var(--border);border-radius:16px;padding:16px 18px;box-shadow:0 6px 18px rgba(15,23,42,.05)}
.feature h3{margin:0 0 6px;font-size:16px}
.feature p{margin:0;color:var(--muted);line-height:1.45;font-size:14px}
@media (max-width:980px){.feature-grid{grid-template-columns:1fr}}

.faq{background:#fff;border:1px solid var(--border);border-radius:16px;padding:14px 16px;box-shadow:0 6px 18px rgba(15,23,42,.05);margin-top:12px}
.faq summary{cursor:pointer;font-weight:800}
.faq p{margin:10px 0 0;color:var(--muted);line-height:1.55}

.form{margin-top:10px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.form label{display:block;font-weight:800;font-size:13px;margin:10px 0 6px}
.form input,.form textarea{width:100%;padding:12px 12px;border-radius:14px;border:1px solid var(--border);font:inherit;background:#fff}
.form textarea{min-height:140px;resize:vertical}
.form small{display:block;color:var(--muted);margin-top:6px}
@media (max-width:980px){.form-row{grid-template-columns:1fr}}

.footer{padding:26px 0}
.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:18px}
.footer h4{margin:0 0 10px}
.footer a{text-decoration:none}
.footer a:hover{text-decoration:underline}
.footer-links{display:grid;gap:8px}
.footer-note{margin-top:12px;color:var(--muted)}
@media (max-width:980px){.footer-grid{grid-template-columns:1fr}}

.mobile-cta{position:fixed;left:0;right:0;bottom:0;display:none;gap:10px;padding:10px;background:rgba(255,255,255,.92);border-top:1px solid var(--border);backdrop-filter:blur(10px);z-index:30}
.mobile-cta__btn{flex:1;display:inline-flex;align-items:center;justify-content:center;padding:12px 14px;border-radius:999px;font-weight:900;text-decoration:none;background:var(--brand);color:#fff}
.mobile-cta__btn:last-child{background:#fff;color:var(--brand);border:1px solid rgba(31,111,67,.35)}
@media (max-width:980px){.mobile-cta{display:flex} body{padding-bottom:66px}}

/* Gallery before/after pair */
.gallery-pair{
  grid-column: span 2;
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:12px;
}
.gallery-pair figure{
  margin:0;
  position:relative;
  overflow:hidden;
  border-radius:16px;
  background:#f2f4f5;
}
.gallery-pair img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}
.gallery-pair figcaption{
  position:absolute;
  left:10px;
  bottom:10px;
  background:rgba(255,255,255,.9);
  padding:6px 10px;
  border-radius:999px;
  font-size:13px;
  font-weight:600;
}
@media (max-width: 900px){
  .gallery-pair{ grid-column: span 1; grid-template-columns:1fr; }
}
