
:root{ --cream1: #fffdf9; --cream2:#fbf8f2; --accent:#9aa48f; --muted:#6b6b6b; --ink:#222 }
*{box-sizing:border-box}
body{margin:0;font-family:'Open Sans',sans-serif;color:var(--ink);background:var(--cream2);line-height:1.6}
.container{max-width:1100px;margin:0 auto;padding:0 20px}
.site-header{position:sticky;top:0;background:rgba(255,255,255,0.85);backdrop-filter:blur(4px);border-bottom:1px solid rgba(0,0,0,0.04);z-index:1000}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:18px 0}
.logo a{font-family:'Playfair Display',serif;font-size:1.15rem;color:var(--ink);text-decoration:none}
.nav a{margin-left:20px;color:var(--ink);text-decoration:none;font-weight:600}
.hero{padding:140px 0;text-align:center;background:linear-gradient(180deg,var(--cream1),var(--cream2));}
.hero-title{font-family:'Playfair Display',serif;font-size:3.6rem;margin:0;color:var(--ink);line-height:1.03}
.hero-sub{color:var(--muted);margin-top:14px;max-width:760px;margin-left:auto;margin-right:auto}
.btn{display:inline-block;margin-top:24px;padding:12px 24px;background:var(--accent);color:#fff;border-radius:10px;text-decoration:none;border:none;cursor:pointer;font-weight:600}
.section{padding:80px 0}
h2{font-family:'Playfair Display',serif;font-size:1.8rem;margin-bottom:18px;color:var(--ink)}
.about p{font-size:1.05rem;color:var(--ink);margin-bottom:14px}
/* Services cards */
.service-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-top:20px}
.service-card{background:#fff;padding:22px;border-radius:12px;box-shadow:0 8px 24px rgba(0,0,0,0.05);transition:transform .25s ease,box-shadow .25s ease}
.service-card h3{margin-top:0;color:var(--accent)}
.service-card p{color:var(--muted);margin-top:8px}
.service-card:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(0,0,0,0.06)}

/* Testimonials */
.test-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;margin-top:20px}
.test-card{background:#fff;padding:20px;border-radius:12px;box-shadow:0 8px 24px rgba(0,0,0,0.04);font-style:italic;color:var(--muted)}
.test-card .attribution{display:block;margin-top:12px;font-style:normal;font-weight:600;color:var(--ink)}

/* Booking form */
form{margin-top:18px;display:flex;flex-direction:column;gap:10px}
form label{font-weight:600;font-size:0.95rem;display:flex;flex-direction:column;gap:6px}
form input, form textarea{padding:12px;border-radius:8px;border:1px solid rgba(0,0,0,0.08);font-size:1rem}
.form-message{min-height:28px;color:var(--accent);font-weight:600;margin-top:6px}

/* Thank you page style */
.thankyou-hero{padding:140px 0;text-align:center;background:linear-gradient(180deg,var(--cream1),var(--cream2));}
.thankyou-hero h1{font-family:'Playfair Display',serif;font-size:2.6rem;margin-bottom:12px;color:var(--ink)}
.thankyou-hero p{color:var(--muted);font-size:1.05rem}

/* Footer */
.site-footer{padding:28px 0;text-align:center;color:var(--muted);font-size:0.95rem}

/* Responsive */
@media(max-width:800px){
  .hero{padding:80px 0}
  .hero-title{font-size:2.2rem}
  .header-inner{padding:12px 0}
  .service-cards{gap:16px}
}
