
:root{
  --brand:#0e7d55;
  --brand-2:#d8c7a0;
  --ink:#0a0f1a;
  --bg:#ffffff;
  --muted:#6b7280;
  --radius:18px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:'Cairo',system-ui,-apple-system,Segoe UI,Roboto,Arial,'Noto Kufi Arabic',sans-serif;
  margin:0;
  color:var(--ink);
  background:var(--bg);
  line-height:1.8;
}

.container{width:min(1200px, 100%);padding-inline:clamp(12px,2vw,24px);margin-inline:auto}
.site-header{
  position:sticky;top:0;z-index:50;background:#fff;
  border-bottom:1px solid rgba(15,23,42,.06);backdrop-filter:saturate(180%) blur(8px)
}
.site-header .container{display:flex;align-items:center;gap:16px;justify-content:space-between;padding-block:10px}
.brand{font-weight:800;color:var(--brand);text-decoration:none;font-size:22px}
.nav a{color:#111827;text-decoration:none;margin-inline:10px}
.nav-toggle{display:none;background:transparent;border:0;font-size:22px}
@media (max-width: 840px){
  .nav{display:none;position:absolute;inset-inline:0;top:56px;background:#fff;border-bottom:1px solid #eee;padding:12px}
  .nav a{display:block;padding:10px 4px}
  .nav-toggle{display:block}
}

.btn{display:inline-block;padding:.75rem 1.25rem;border-radius:999px;border:1px solid var(--brand);background:var(--brand);color:#fff;text-decoration:none}
.btn.alt{background:#fff;color:var(--brand)}
.btn.large{font-size:1.1rem;padding:1rem 1.5rem}

.hero{background:linear-gradient(180deg, rgba(15,107,74,.06), transparent 40%)}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:24px;align-items:center;padding-block:clamp(24px,4vw,56px)}
.hero-media img{width:100%;border-radius:var(--radius);box-shadow:0 10px 30px rgba(0,0,0,.12)}
.bullets{list-style: '✓ ';padding:0 1rem;margin:1rem 0;color:#1f2937}

.features .cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.card{border:1px solid rgba(15,23,42,.08);border-radius:var(--radius);padding:1rem;background:#fff;box-shadow:0 6px 20px rgba(0,0,0,.06)}
@media (max-width: 900px){.features .cards{grid-template-columns:1fr}}

.gallery h2,.faq h2{margin-top:8px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.grid-3 img{width:100%;height:220px;object-fit:cover;border-radius:14px}
.g-item{display:block}

.faq details{border:1px solid rgba(15,23,42,.08);border-radius:14px;padding:.75rem 1rem;margin:.5rem 0;background:#fff}
.faq summary{cursor:pointer;font-weight:600}

.cta-banner{background:linear-gradient(90deg,var(--brand),#0b5a3f);color:#fff;text-align:center;padding:28px 0}
.cta-banner .btn.alt{color:#0b5a3f}

.site-footer{background:#0b1020;color:#cbd5e1;margin-top:32px}
.site-footer .cols{display:grid;grid-template-columns:2fr 1fr 1fr;gap:16px}
.site-footer a{color:#cbd5e1}
.copy{text-align:center;border-top:1px solid rgba(255,255,255,.1);margin-top:16px;padding-top:8px}
@media (max-width: 900px){.site-footer .cols{grid-template-columns:1fr}}

.service-list .row{display:grid;grid-template-columns:260px 1fr;gap:16px;align-items:center;margin:16px 0}
.service-list img{width:100%;height:180px;object-fit:cover;border-radius:14px}
@media (max-width: 840px){.service-list .row{grid-template-columns:1fr}}

.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:center}
.about-grid img{width:100%;border-radius:16px}
.ticks{list-style:'✓ ';padding-inline:1rem}
@media (max-width: 840px){.about-grid{grid-template-columns:1fr}}

.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.contact-form{display:grid;gap:10px}
.contact-form input,.contact-form select,.contact-form textarea{
  width:100%;padding:.7rem;border:1px solid #e5e7eb;border-radius:12px;background:#fff
}
.rounded{border-radius:16px}

.badges{display:flex;flex-wrap:wrap;gap:10px}
.badge{padding:.5rem .8rem;border-radius:999px;border:1px solid rgba(15,23,42,.12);background:#fff}
.icons-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.icons-grid .i{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:14px;padding:1rem;text-align:center}
@media (max-width: 900px){.icons-grid{grid-template-columns:repeat(2,1fr)}}
.why{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.why .card h3{margin:0 0 .3rem}
@media (max-width: 900px){.why{grid-template-columns:1fr}}
.testimonials{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.testimonial{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:16px;padding:1rem}
.testimonial .name{font-weight:700;margin-top:.5rem}
@media (max-width: 900px){.testimonials{grid-template-columns:1fr}}
.booking{background:linear-gradient(180deg, rgba(14,125,85,.06), transparent 40%);padding-block:24px}
.note{color:var(--muted);font-size:.95rem}
