
:root{
  --navy:#17395f;
  --green:#4e8c60;
  --gold:#b6842f;
  --cream:#f7f4ed;
  --ink:#18222c;
  --muted:#64717d;
  --white:#fff;
  --line:#e7e2d8;
  --shadow:0 18px 55px rgba(22,39,57,.10);
  --radius:22px;
}
*{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:#fff;line-height:1.6}
img{max-width:100%;display:block}
a{color:inherit}
.container{width:min(1160px,92%);margin:auto}
.topbar{background:var(--navy);color:#fff;font-size:.86rem}
.topbar .container{display:flex;justify-content:space-between;gap:16px;padding:8px 0}
.nav{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.nav-inner{height:76px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.logo{height:60px;width:auto}
.nav-links{display:flex;gap:25px;align-items:center;font-size:.94rem;font-weight:650}
.nav-links a{text-decoration:none}
.nav-links a:hover{color:var(--green)}
.menu{display:none;border:0;background:none;font-size:28px}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 19px;border-radius:999px;text-decoration:none;font-weight:750;border:1px solid transparent;transition:.2s}
.btn-primary{background:var(--green);color:#fff}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(78,140,96,.25)}
.btn-outline{border-color:var(--navy);color:var(--navy);background:#fff}
.hero{background:linear-gradient(135deg,#fbfaf6 0%,#f2eee5 100%);padding:72px 0 80px;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:54px;align-items:center}
.eyebrow{display:inline-flex;gap:8px;align-items:center;color:var(--green);font-weight:800;letter-spacing:.08em;text-transform:uppercase;font-size:.78rem}
h1{font-size:clamp(2.5rem,5vw,4.6rem);line-height:1.02;margin:14px 0 20px;color:var(--navy);letter-spacing:-.04em}
h2{font-size:clamp(2rem,3.4vw,3rem);line-height:1.08;margin:0 0 15px;color:var(--navy);letter-spacing:-.03em}
h3{margin:0 0 8px;color:var(--navy)}
.lead{font-size:1.12rem;color:#53616d;max-width:650px}
.cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:27px}
.hero-image{position:relative}
.hero-image img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:28px;box-shadow:var(--shadow)}
.hero-badge{position:absolute;left:-18px;bottom:20px;background:#fff;padding:16px 18px;border-radius:16px;box-shadow:var(--shadow);font-weight:750;color:var(--navy)}
.section{padding:82px 0}
.section-alt{background:var(--cream)}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:30px}
.section-head p{max-width:610px;color:var(--muted);margin:0}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:25px;box-shadow:0 10px 35px rgba(20,30,40,.04)}
.card .icon{width:44px;height:44px;border-radius:13px;background:#eef6ef;color:var(--green);display:grid;place-items:center;margin-bottom:15px;font-weight:900}
.card p{color:var(--muted);margin:8px 0 0}
.service-links{display:inline-block;margin-top:16px;color:var(--green);font-weight:750;text-decoration:none}
.gallery{display:grid;grid-template-columns:repeat(12,1fr);gap:14px}
.gallery figure{margin:0;overflow:hidden;border-radius:18px;min-height:220px;position:relative;background:#eee}
.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .45s}
.gallery figure:hover img{transform:scale(1.04)}
.g1{grid-column:span 7;height:430px}.g2{grid-column:span 5;height:430px}
.g3,.g4,.g5,.g6{grid-column:span 3;height:320px}
.g7{grid-column:span 6;height:390px}.g8{grid-column:span 6;height:390px}
.caption{position:absolute;left:15px;bottom:15px;background:rgba(17,28,38,.76);color:#fff;border-radius:999px;padding:7px 12px;font-size:.78rem;font-weight:700}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-top:25px}
.stat{padding:22px;background:#fff;border:1px solid var(--line);border-radius:18px}
.stat strong{display:block;color:var(--navy);font-size:1.4rem}
.stat span{color:var(--muted);font-size:.9rem}
.process{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}
.step{position:relative;padding:25px;background:#fff;border:1px solid var(--line);border-radius:18px}
.num{font-size:.78rem;color:var(--green);font-weight:900;letter-spacing:.1em}
.faq{display:grid;grid-template-columns:1fr 1fr;gap:14px}
details{border:1px solid var(--line);border-radius:16px;padding:17px 20px;background:#fff}
summary{cursor:pointer;font-weight:750;color:var(--navy)}
details p{color:var(--muted);margin:12px 0 0}
.cta{background:var(--navy);color:#fff;border-radius:28px;padding:45px}
.cta h2{color:#fff}.cta p{color:#d7e1e8;max-width:680px}
.footer{background:#0f263e;color:#d8e2ea;padding:55px 0 20px}
.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:35px}
.footer img{height:60px;background:#fff;border-radius:10px;padding:3px}
.footer a{text-decoration:none}
.footer small{display:block;margin-top:35px;padding-top:18px;border-top:1px solid rgba(255,255,255,.12);color:#aebdc9}
.kicker{font-size:.78rem;text-transform:uppercase;letter-spacing:.09em;color:var(--green);font-weight:800}
.service-hero{padding:70px 0;background:var(--cream)}
.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:center}
.service-grid img{border-radius:24px;box-shadow:var(--shadow)}
.checklist{padding:0;list-style:none}.checklist li{margin:10px 0;padding-left:27px;position:relative}.checklist li:before{content:"✓";position:absolute;left:0;color:var(--green);font-weight:900}
@media(max-width:850px){
  .nav-links{display:none;position:absolute;left:0;right:0;top:76px;background:#fff;padding:20px 4%;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}
  .nav-links.open{display:flex}.menu{display:block}
  .hero-grid,.service-grid{grid-template-columns:1fr}
  .cards{grid-template-columns:1fr 1fr}.process{grid-template-columns:1fr 1fr}.stats{grid-template-columns:1fr 1fr}
  .gallery .g1,.gallery .g2,.gallery .g7,.gallery .g8{grid-column:span 12;height:330px}
  .gallery .g3,.gallery .g4,.gallery .g5,.gallery .g6{grid-column:span 6;height:270px}
  .faq,.footer-grid{grid-template-columns:1fr}
}
@media(max-width:560px){
  .topbar .container{font-size:.75rem}.topbar .container span:last-child{display:none}
  .nav-inner{height:68px}.logo{height:52px}
  .cards,.process,.stats{grid-template-columns:1fr}
  .hero{padding:50px 0 55px}.section{padding:62px 0}
  .gallery .g1,.gallery .g2,.gallery .g3,.gallery .g4,.gallery .g5,.gallery .g6,.gallery .g7,.gallery .g8{grid-column:span 12;height:300px}
  .cta{padding:30px 22px}
}
