
:root{
  --bg: #faf8f5;
  --ink: #1f2933;
  --muted: #6b7280;
  --sage: #8d7b68;
  --sage-dark: #6f5e4d;
  --border: #ece8e2;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family: ui-rounded, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;line-height:1.6}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
.container{width:min(1100px,92%);margin-inline:auto}
.center{text-align:center}
.muted{color:var(--muted)}

/* Header */
.site-header{position:sticky;top:0;background:rgba(250,248,245,.9);backdrop-filter: blur(6px);border-bottom:1px solid var(--border);z-index:10}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:14px 0}
.brand{display:flex;align-items:center;gap:.7rem;font-weight:700}
.brand-mark{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:10px;background:linear-gradient(135deg,#a8c9b7,#e7c3d0);color:#0d1211;font-weight:900}
.nav{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center;justify-content:center}
.nav a{padding:10px 12px;border-radius:10px}
.nav a.active{background:#fff;border:1px solid var(--border)}
.nav .btn{margin-left:.3rem}

/* Buttons */
.btn{display:inline-block;padding:12px 18px;border-radius:12px;border:1px solid var(--border);box-shadow:0 1px 0 #0000000a}
.btn-primary{background:#ffffff;color:#0f1a18;border-color:#ddd}
.btn-primary:hover{filter:brightness(0.97)}
.btn-ghost{background:transparent}
.btn-ghost:hover{background:#f1eee9}

/* Sections */
.section{padding:40px 0}
h1{font-size:clamp(28px,4vw,46px);line-height:1.15;margin:0 0 .6rem;text-align:center}
h2{font-size:clamp(22px,3vw,32px);margin:0 0 .6rem;text-align:center}
p.lead{font-size:1.1rem;color:var(--muted);max-width:70ch;margin:0 auto 1rem;text-align:center}

/* Hero */
.hero{background:var(--sage);padding:46px 0 24px}
.hero .brandline{text-align:center;color:#fff;opacity:.9;margin:0 0 12px}
.hero .hero-media{display:grid;place-items:center}
.hero img{border-radius:16px;box-shadow:0 20px 40px #00000025;border:4px solid #ffffff40}
.hero .cta{display:flex;gap:.6rem;justify-content:center;flex-wrap:wrap;margin-top:14px}

/* Welcome block */
.figure{display:grid;gap:10px;justify-items:center}
.figure img{border-radius:16px;border:1px solid var(--border)}

/* Cards */
.cards{display:grid;gap:1rem;grid-template-columns: repeat(auto-fit,minmax(260px,1fr));margin-top:16px}
.card{background:#fff;border:1px solid var(--border);border-radius:16px;overflow:hidden;text-align:center;padding:12px 12px 16px}
.card h3{margin:.2rem 0}
.card p{color:var(--muted);margin:.2rem 0 .6rem}

/* Pricing */
.group{margin:18px auto;max-width:860px;border:1px solid var(--border);border-radius:16px;background:#fff;overflow:hidden}
.group h3{margin:0;padding:12px 14px;border-bottom:1px solid var(--border);text-align:center;background:#fff}
.price-list{list-style:none;margin:0;padding:0}
.price-list li{display:flex;justify-content:space-between;gap:1rem;padding:12px 18px;border-top:1px solid var(--border)}
.price-list li:first-child{border-top:none}
.price-list span:last-child{font-weight:700;color:#0a6a4f}

/* Map */
.map-embed{border:1px solid var(--border);border-radius:16px;overflow:hidden;background:#fff;max-width:1100px;margin:0 auto}
.map-embed iframe{width:100%;height:380px;border:0;display:block}

/* Footer */
.site-footer{margin-top:40px;background:var(--sage-dark);color:#fff}
.footer-grid{display:grid;gap:1rem;padding:20px 0;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.footer-grid a{color:#fff;text-decoration:underline}
.footer-bottom{padding:10px 0;border-top:1px solid #ffffff33;text-align:center;opacity:.9}

@media (max-width:760px){
  .mobile-cta {
    position:fixed;
    left:0; right:0; bottom:0;
    display:flex;
    gap:8px;
    justify-content:space-between;
    padding:10px 14px;
    background:#fffffff0;
    border-top:1px solid var(--border);
    backdrop-filter:blur(6px);
    z-index:50;
  }
  .mobile-cta a {
    flex:1;
    text-align:center;
    padding:12px 14px;
    border-radius:10px;
    border:1px solid var(--border);
    font-weight:600;
  }
  .mobile-cta a:last-child {
    background:var(--sage-dark);
    color:#fff;
    border-color:var(--sage-dark);
  }
}
