:root{
  --sage:#5E6F61;
  --sage-dark:#3f4d43;
  --olive:#8A967A;
  --seafoam:#B9C7B5;
  --sand:#DCCDB5;
  --terracotta:#CDA39A;
  --slate:#8FA9B6;
  --cream:#faf5ec;
  --text:#3a3a35;
}
*{box-sizing:border-box;}
body{
  margin:0;
  font-family:'Georgia', 'Times New Roman', serif;
  background:var(--cream);
  color:var(--text);
  line-height:1.65;
}
h1,h2,h3,h4{
  font-family:'Palatino Linotype','Georgia',serif;
  color:var(--sage-dark);
  letter-spacing:.5px;
}
a{color:var(--terracotta);text-decoration:none;}
a:hover{text-decoration:underline;}
.container{max-width:1100px;margin:0 auto;padding:0 24px;}

header{
  background:var(--cream);
  border-bottom:1px solid var(--sand);
  position:sticky;top:0;z-index:100;
}
.nav-wrap{
  display:flex;align-items:center;justify-content:space-between;
  padding:12px 24px;max-width:1100px;margin:0 auto;
}
.brand{display:flex;align-items:center;gap:12px;}
.brand img{height:56px;width:auto;}
.brand-text{line-height:1.1;}
.brand-text .name{font-size:1.3rem;color:var(--sage-dark);font-weight:bold;}
.brand-text .tag{font-size:.7rem;letter-spacing:2px;color:var(--terracotta);text-transform:uppercase;}
nav ul{list-style:none;display:flex;align-items:center;gap:20px;margin:0;padding:0;flex-wrap:nowrap;}
nav a{color:var(--sage-dark);font-weight:600;font-size:.9rem;white-space:nowrap;}
nav a:hover{color:var(--terracotta);text-decoration:none;}
.nav-cta{
  background:var(--terracotta);color:#fff !important;padding:10px 20px;
  border-radius:30px;font-weight:600;font-size:.9rem;white-space:nowrap;
  display:inline-block;line-height:1.2;
}
.nav-cta:hover{background:var(--sage-dark);text-decoration:none;}

.menu-toggle{
  display:none;background:none;border:none;cursor:pointer;
  flex-direction:column;gap:5px;padding:8px 4px;margin-left:auto;
}
.menu-toggle span{display:block;width:26px;height:3px;background:var(--sage-dark);border-radius:2px;}

@media (max-width:1100px){
  .nav-wrap{flex-wrap:wrap;}
  .menu-toggle{display:flex;}
  nav{width:100%;}
  nav ul{
    flex-direction:column;align-items:stretch;gap:4px;width:100%;
    padding:10px 0 4px;display:none;flex-wrap:nowrap;
  }
  nav ul.open{display:flex;}
  nav a{font-size:1rem;padding:10px 2px;display:block;border-bottom:1px solid var(--sand);}
  nav .nav-cta{text-align:center;margin-top:14px;border:none;}
}

.hero{
  background:linear-gradient(135deg, rgba(94,111,97,.08), rgba(205,163,154,.08));
  padding:70px 0;
}
.hero-grid{display:flex;align-items:center;gap:50px;flex-wrap:wrap;}
.hero-text{flex:1;min-width:300px;}
.hero-text h1{font-size:2.6rem;margin-bottom:10px;}
.hero-text p.lead{font-size:1.15rem;color:#5c5c54;margin-bottom:26px;}
.hero-img{flex:1;min-width:280px;text-align:center;}
.hero-img img{max-width:340px;width:100%;}
.btn{
  display:inline-block;background:var(--sage);color:#fff;padding:14px 30px;
  border-radius:30px;font-weight:600;margin-right:12px;margin-top:6px;
}
.btn:hover{background:var(--sage-dark);text-decoration:none;color:#fff;}
.btn-outline{
  background:transparent;border:2px solid var(--terracotta);color:var(--terracotta);
}
.btn-outline:hover{background:var(--terracotta);color:#fff;}

.section{padding:64px 0;}
.section.alt{background:#efe6d6;}
.section-title{text-align:center;margin-bottom:10px;}
.section-sub{text-align:center;color:#6a6a60;max-width:640px;margin:0 auto 40px;}

.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;}
@media(max-width:800px){.grid-3{grid-template-columns:1fr;}.grid-2{grid-template-columns:1fr;}}

.card{
  background:#fff;border-radius:14px;padding:30px 26px;box-shadow:0 4px 18px rgba(0,0,0,.05);
  border-top:4px solid var(--sage);
}
.card.terra{border-top-color:var(--terracotta);}
.card.slate{border-top-color:var(--slate);}
.card h3{margin-top:0;}

.badge{
  display:inline-block;background:var(--slate);color:#fff;font-size:.75rem;
  padding:4px 12px;border-radius:20px;letter-spacing:1px;text-transform:uppercase;margin-bottom:14px;
}

footer{
  background:var(--sage-dark);color:#e9e3d5;padding:44px 0 20px;margin-top:40px;
}
footer a{color:#f0d9cd;}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:30px;margin-bottom:24px;}
@media(max-width:700px){.footer-grid{grid-template-columns:1fr;}}
footer h4{color:#fff;margin-top:0;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.15);padding-top:16px;text-align:center;font-size:.85rem;color:#c9c2ae;}

form{background:#fff;padding:34px;border-radius:14px;box-shadow:0 4px 18px rgba(0,0,0,.06);}
label{display:block;font-weight:600;margin:16px 0 6px;color:var(--sage-dark);}
input,select,textarea{
  width:100%;padding:12px 14px;border:1px solid var(--sand);border-radius:8px;
  font-family:inherit;font-size:1rem;background:#fdfbf7;
}
textarea{min-height:120px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
@media(max-width:700px){.form-row{grid-template-columns:1fr;}}
.submit-btn{
  margin-top:24px;background:var(--terracotta);color:#fff;border:none;padding:14px 32px;
  border-radius:30px;font-weight:700;font-size:1rem;cursor:pointer;
}
.submit-btn:hover{background:var(--sage-dark);}

.faq-item{
  background:#fff;border-radius:10px;padding:20px 24px;margin-bottom:16px;border-left:4px solid var(--slate);
}
.faq-item h3{margin:0 0 8px;font-size:1.05rem;color:var(--terracotta);}

.blog-card img{width:100%;border-radius:10px 10px 0 0;}
.blog-card{overflow:hidden;padding:0;}
.blog-card .content{padding:22px;}
.blog-meta{font-size:.8rem;color:var(--slate);text-transform:uppercase;letter-spacing:1px;margin-bottom:8px;}

.quote{
  font-style:italic;text-align:center;font-size:1.3rem;color:var(--sage-dark);
  max-width:700px;margin:0 auto;padding:0 20px;
}
.divider{
  width:60px;height:3px;background:var(--terracotta);margin:14px auto 0;border-radius:2px;
}
