
:root{
  --accent:#2a7f78; /* teal */
  --muted:#6b6b6b;
  --bg:#fffdf9;
}
*{box-sizing:border-box}
body{font-family:'Open Sans',system-ui,Arial,sans-serif;margin:0;color:#222;background:var(--bg);line-height:1.6}
.container{max-width:1100px;margin:0 auto;padding:0 20px}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:18px 0}
.brand a{font-family:'Playfair Display',serif;font-size:1.35rem;color:var(--accent);text-decoration:none}
.main-nav ul{list-style:none;display:flex;gap:18px;margin:0;padding:0}
.main-nav a{color:#222;text-decoration:none;font-weight:600}
.nav-toggle{display:none;background:none;border:0;font-size:1.25rem}

.hero{min-height:68vh;background-size:cover;background-position:center;position:relative;display:flex;align-items:center}
.hero .overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,23,19,0.4),rgba(11,23,19,0.5))}
.hero-content{position:relative;color:#fff;padding:60px 20px}
.hero h1{font-family:'Playfair Display',serif;font-size:2.8rem;margin:0 0 12px}
.hero p{font-size:1.1rem;margin:0 0 18px}
.btn{display:inline-block;padding:10px 18px;border-radius:4px;text-decoration:none}
.btn.primary{background:var(--accent);color:#fff}
.btn.ghost{background:transparent;border:2px solid rgba(255,255,255,0.85);color:var(--fff)}

.section{padding:60px 0}
.lead{color:var(--muted);max-width:720px}
.grid{display:grid;gap:24px}
.two-col{grid-template-columns:1fr 1fr}
.three-col{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.about-image{background-size:cover;background-position:center;border-radius:8px;min-height:220px}
.service{background:#fff;padding:18px;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,0.06);display:flex;flex-direction:column;align-items:center}
.service h3{margin-top:12px}
.service .muted{color:var(--muted);font-size:0.95rem}
.service-img{width:100%;max-width:220px;height:140px;object-fit:contain;border-radius:8px 8px 0 0;display:block;}

.testimonials .carousel{display:flex;flex-direction:column;gap:18px}
.quote{background:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,0.06);margin:0}
.quote cite{display:block;margin-top:10px;color:var(--muted);font-style:normal}
.contact .map-wrap iframe{width:100%;height:220px;border:0;border-radius:8px}
.contact-form form{display:flex;flex-direction:column;gap:10px}
.contact-form input,.contact-form textarea,.contact-form select{padding:10px;border:1px solid #ddd;border-radius:6px;font-size:1rem}
.contact-form button{align-self:flex-start}
.site-footer{background:#fff;padding:20px 0;border-top:1px solid #eee}
.footer-inner{display:flex;justify-content:space-between;align-items:center}
.social a{margin-left:12px;color:var(--accent);text-decoration:none}

@media(max-width:800px){
  .two-col{grid-template-columns:1fr}
  .header-inner{padding:12px 0}
  .main-nav{display:none}
  .nav-toggle{display:block}
  .service-img{max-width:100%;height:120px;}
}
.brand span {
  color: #000;
  font-size: 2rem;
  font-weight: 700;
  font-family: 'Playfair Display', serif;
}
