:root{
  --ink:#17211f;
  --green:#2f6657;
  --green-dark:#21493f;
  --sage:#dfe8e3;
  --sand:#f3eee7;
  --soft:#f7f7f4;
  --accent:#cb8f4b;
  --white:#fff;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#fff;line-height:1.65}
a{text-decoration:none}
.topbar{background:var(--ink);color:#d9dfdc;font-size:.86rem;padding:.48rem 0}
.topbar a{color:#fff}
.navbar-brand{display:flex;align-items:center;gap:.75rem;color:var(--ink)!important;line-height:1}
.brand-mark{width:46px;height:46px;border-radius:50% 50% 50% 8px;background:var(--green);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:800;letter-spacing:-1px}
.brand-copy{font-size:1.05rem;letter-spacing:.04em}.brand-copy strong{font-weight:800}.brand-copy small,.footer-brand small{display:block;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:#78817f;margin-top:.4rem}
.nav-link{font-weight:600;color:#36413f!important;padding:.7rem .85rem!important}.nav-link:hover{color:var(--green)!important}
.btn{border-radius:0;font-weight:700;padding:.78rem 1.2rem}
.btn-primary-custom{background:var(--green);border:1px solid var(--green);color:#fff}.btn-primary-custom:hover{background:var(--green-dark);border-color:var(--green-dark);color:#fff}
.btn-dark-custom{background:var(--ink);border:1px solid var(--ink);color:#fff}.btn-dark-custom:hover{background:#000;color:#fff}
.hero{position:relative;background:url('https://images.unsplash.com/photo-1562259949-e8e7689d7828?auto=format&fit=crop&w=1900&q=90') center/cover no-repeat;color:#fff}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,28,25,.92) 0%,rgba(16,28,25,.74) 48%,rgba(16,28,25,.16) 100%)}
.min-vh-hero{min-height:650px}
.hero h1{font-size:clamp(3rem,7vw,5.5rem);line-height:.98;letter-spacing:-.055em;font-weight:800;max-width:900px;margin:1.25rem 0 1.5rem}
.hero .lead{font-size:1.3rem;max-width:650px;color:#e9eeeb}
.eyebrow{display:inline-flex;align-items:center;gap:.5rem;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);padding:.5rem .8rem;text-transform:uppercase;font-size:.78rem;font-weight:800;letter-spacing:.09em}
.hero-points{font-size:.92rem;color:#e9eeeb}.hero-points i{color:#d8ad72;margin-right:.4rem}
.trust-strip{background:#fff;box-shadow:0 10px 30px rgba(20,30,28,.06);position:relative;z-index:2}
.trust-item{display:flex;justify-content:center;align-items:center;gap:.8rem;padding:1.4rem .8rem;border-right:1px solid #e8ece9}.trust-item:last-child{border-right:0}.trust-item i{font-size:1.7rem;color:var(--green)}.trust-item strong,.trust-item span{display:block}.trust-item span{font-size:.78rem;color:#7d8583}
.section-pad{padding:100px 0}.bg-soft{background:var(--soft)}
.section-heading{max-width:720px}.section-kicker{text-transform:uppercase;color:var(--green);letter-spacing:.13em;font-size:.76rem;font-weight:800;display:block;margin-bottom:.6rem}.section-kicker.light{color:#d8e6e1}
.section-heading h2,#expertise h2,.cta-band h2,.review-section h2,.contact-info h2{font-size:clamp(2.2rem,4.5vw,3.7rem);line-height:1.05;letter-spacing:-.045em;font-weight:800}
.section-heading p{font-size:1.08rem;color:#6f7876}
.service-card{background:#fff;padding:2rem;border:1px solid #e9ecea;transition:.3s ease;position:relative;overflow:hidden}.service-card:before{content:"";position:absolute;left:0;top:0;width:4px;height:0;background:var(--accent);transition:.3s}.service-card:hover{transform:translateY(-6px);box-shadow:0 18px 35px rgba(20,30,28,.09)}.service-card:hover:before{height:100%}
.service-icon{width:58px;height:58px;background:var(--sage);display:flex;align-items:center;justify-content:center;color:var(--green);font-size:1.6rem;margin-bottom:1.5rem}.service-card h3{font-size:1.22rem;font-weight:800}.service-card p{color:#747d7a}.service-card a{color:var(--green);font-weight:700;font-size:.92rem}
.image-stack{position:relative;padding-right:48px;padding-bottom:48px}.img-main{width:100%;height:620px;object-fit:cover;display:block}.experience-card{position:absolute;right:0;bottom:0;background:var(--green);color:#fff;padding:1.8rem 2.2rem;min-width:220px}.experience-card strong{display:block;font-size:1.4rem}.experience-card span{font-size:.9rem;color:#dce8e4}
.check-list>div{display:flex;gap:1rem;padding:1rem 0;border-bottom:1px solid #ecefee}.check-list i{width:32px;height:32px;border-radius:50%;background:var(--sage);display:flex;align-items:center;justify-content:center;color:var(--green);font-weight:900;flex:0 0 auto}.check-list strong,.check-list small{display:block}.check-list small{color:#78817f;margin-top:.2rem}
.cta-band{background:var(--green);color:#fff;padding:70px 0}.cta-band h2{margin:.2rem 0 .7rem}.cta-band p{margin:0;color:#dce8e4;font-size:1.1rem}
.gallery-intro{max-width:460px}.gallery-grid{display:grid;grid-template-columns:1.35fr 1fr;grid-template-rows:260px 260px;gap:1rem}.gallery-item{position:relative;margin:0;overflow:hidden;background:#ddd}.gallery-item.gallery-large{grid-row:1/3}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:.55s}.gallery-item:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(16,28,25,.65),rgba(16,28,25,0) 55%)}.gallery-item:hover img{transform:scale(1.04)}.gallery-item figcaption{position:absolute;z-index:2;left:1.4rem;bottom:1.1rem;color:#fff;font-weight:700}
.review-section{background:#fff}.rating-block{display:flex;align-items:center;gap:1rem}.rating-number{font-size:3.5rem;font-weight:800;line-height:1}.stars{color:#e3a248;letter-spacing:.12rem}.rating-block small{color:#747d7a}.review-card{background:var(--sand);padding:3rem;position:relative}.quote-icon{font-size:3.8rem;color:#d6b58c;position:absolute;top:1rem;right:1.5rem}.review-card p{font-size:1.45rem;line-height:1.55;max-width:680px;font-weight:600}.review-author{display:flex;align-items:center;gap:.8rem;margin-top:1.6rem}.avatar{width:42px;height:42px;border-radius:50%;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800}.review-author small,.review-author strong{display:block}.review-author small{color:#7b817f}
.contact-section{background:#eef1ee}.contact-box{box-shadow:0 30px 60px rgba(20,30,28,.10)}.contact-info{background:var(--ink);color:#fff}.contact-info p{color:#c8d0cd}.contact-lines{display:grid;gap:1.25rem}.contact-lines>a,.contact-lines>div{display:flex;gap:1rem;color:#fff}.contact-lines i{width:42px;height:42px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.08);font-size:1.1rem}.contact-lines small,.contact-lines strong{display:block}.contact-lines small{color:#99a6a2;text-transform:uppercase;letter-spacing:.1em;font-size:.68rem}.form-label{font-size:.84rem;font-weight:700}.form-control,.form-select{border-radius:0;border-color:#dde2df;padding:.9rem 1rem}.form-control:focus,.form-select:focus{border-color:var(--green);box-shadow:0 0 0 .2rem rgba(47,102,87,.12)}
.site-footer{background:#111a18;color:#c8d0cd;padding:65px 0 25px}.footer-brand{display:flex;align-items:center;gap:.8rem;color:#fff;font-size:1.08rem}.site-footer a{color:#d9dfdd}.footer-links{display:flex;flex-wrap:wrap;gap:.6rem 1rem}.footer-phone{font-size:1.4rem;font-weight:800;color:#fff!important}.site-footer hr{border-color:#3c4744;margin:2.5rem 0 1.4rem}.footer-bottom{font-size:.8rem;color:#87918e}
@media(max-width:991.98px){.section-pad{padding:75px 0}.min-vh-hero{min-height:590px}.hero-overlay{background:rgba(16,28,25,.78)}.trust-item:nth-child(2){border-right:0}.trust-item:nth-child(-n+2){border-bottom:1px solid #e8ece9}.img-main{height:520px}.gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:340px 220px}.gallery-item.gallery-large{grid-column:1/3;grid-row:auto}.gallery-item:not(.gallery-large){grid-row:2}.navbar-collapse{padding:1rem 0}.navbar .btn{margin-top:.6rem}}
@media(max-width:767.98px){.hero h1{font-size:3.45rem}.hero .lead{font-size:1.08rem}.min-vh-hero{min-height:620px}.trust-item{display:block}.trust-item i{display:block;margin-bottom:.4rem}.image-stack{padding-right:22px;padding-bottom:30px}.img-main{height:420px}.experience-card{padding:1.2rem 1.4rem;min-width:180px}.gallery-grid{display:block}.gallery-item{height:280px;margin-bottom:1rem}.gallery-item.gallery-large{height:360px}.review-card{padding:2rem}.review-card p{font-size:1.18rem}}
