/* ===== Core theme ===== */
:root{
  --primary:#008f57;
  --primary-600:#006b44;
  --accent:#ffd700;
  --bg:#f5fdf6;
  --text:#1f2937;
  --muted:#667085;
  --card:#ffffff;
  --shadow:0 10px 25px rgba(0,0,0,.06);
  --radius:16px;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: ui-sans-serif, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
  color:var(--text);
  background:var(--bg);
  line-height:1.6;
}

/* Reuse from your original palette */
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}

/* Containers */
.container{width:min(1120px, 100%); margin-inline:auto; padding:0 20px}

/* Skip link */
.skip-link{position:absolute;left:-9999px;top:auto}
.skip-link:focus{left:16px;top:16px;z-index:1000;background:#000;color:#fff;padding:8px 12px;border-radius:8px}

/* Header */
.site-header{
  position:sticky; top:0; z-index:50;
  background:#fff;
  border-bottom:1px solid #eef2f7;
  box-shadow:0 1px 8px rgba(0,0,0,.03);
}
.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:64px}
.brand{display:flex;align-items:center;gap:.5rem;font-weight:800}
.brand-mark{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:10px;background:var(--primary);color:#fff}
.brand-text{letter-spacing:.2px}

.nav{display:flex;gap:1rem;align-items:center}
.nav a{color:var(--muted);font-weight:600}
.nav a:hover{color:var(--text)}

/* Buttons */
.btn{display:inline-flex;gap:.5rem;align-items:center;justify-content:center;border:0;border-radius:12px;padding:.8rem 1.2rem;font-weight:700;cursor:pointer;transition:transform .06s ease, background .2s ease}
.btn:active{transform:translateY(1px)}
.btn.btn-primary{background:var(--primary);color:#fff}
.btn.btn-primary:hover{background:var(--primary-600)}
.btn.btn-outline{border:2px solid var(--primary);color:var(--primary);background:#fff}
.btn.btn-outline:hover{background:#f0fff7}
.btn.btn-ghost{background:#ffffffa6;border:1px solid #e6f5ee}
.btn.btn-full{width:100%}
.btn-lg{padding:1rem 1.4rem;font-size:1.05rem}

/* Hero */
.hero{
  background:
    radial-gradient(1200px 600px at 10% -20%, rgba(0,143,87,.18), transparent 60%),
    linear-gradient(180deg, #ffffff 0%, #f7fff9 100%);
  padding:64px 0;
}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:2rem;align-items:center}
.hero-copy h1{font-size:clamp(2rem, 3.6vw, 3rem);line-height:1.1;margin:0 0 .5rem}
.subhead{font-size:1.1rem;color:var(--muted);max-width:48ch}
.cta-row{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0}
.trust-points{display:flex;gap:14px;flex-wrap:wrap;padding:0;margin:12px 0 0;list-style:none;color:#0f5132}

/* Mock booking card */
.hero-card{display:flex;justify-content:flex-end}
.booking-card{
  width:min(420px, 100%);
  background:var(--card); border-radius:var(--radius); box-shadow:var(--shadow); overflow:hidden;
}
.booking-header{display:flex;gap:6px;background:#f3f4f6;padding:10px}
.booking-header .dot{width:10px;height:10px;border-radius:999px;background:#c4c4c4}
.booking-body{padding:20px}
.booking-body h3{margin:0 0 12px}
.booking-body .row{display:flex;justify-content:space-between;border-bottom:1px dashed #eef2f7;padding:10px 0;color:#374151}
.booking-body .row:last-child{border-bottom:0}

/* Sections */
.section{padding:72px 0}
.section.alt{background:#ffffff}
.section-title{font-size:1.8rem;margin:0 0 18px;text-align:center}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.card{
  background:var(--card);
  border:1px solid #eef2f7;
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:22px;
}
.feature .icon{font-size:28px}

.steps{
  max-width:760px;margin:16px auto 28px;padding-left:18px;color:#374151
}
.center{text-align:center}
.subtle{color:var(--muted)}

/* Quotes */
.quote p{margin:0 0 10px;font-style:italic}
.quote footer{color:var(--muted)}

/* FAQ */
.faq{max-width:820px;margin:10px auto;border:1px solid #e7efe8;border-radius:12px;background:#fff;overflow:hidden}
.faq + .faq{margin-top:10px}
.faq summary{cursor:pointer;padding:16px 18px;font-weight:700;list-style:none}
.faq[open] summary{background:#f7fffb}
.faq p{margin:0;padding:0 18px 16px;color:#475467}

/* Footer */
.site-footer{background:#0f2d22;color:#e6fff3;padding:40px 0}
.footer-grid{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center}
.foot-brand{margin-bottom:8px}
.foot-copy{margin:0;color:#bfe6d4}
.foot-nav{display:flex;gap:16px}
.foot-nav a{color:#bfe6d4}
.foot-nav a:hover{color:#ffffff}

/* Responsive */
@media (max-width: 900px){
  .hero-grid{grid-template-columns:1fr;gap:28px}
  .grid-3{grid-template-columns:1fr;gap:16px}
  .nav{display:none} /* keep it simple; can add a mobile menu later */
}