:root{
  --brick:#8a3324;
  --brick-dark:#6b2619;
  --char:#1c1917;
  --char-soft:#292524;
  --cream:#faf7f2;
  --ash:#f0ebe3;
  --line:#ddd4c7;
  --text:#2b2724;
  --muted:#6b635a;
  --gold:#c08a2d;
  --white:#ffffff;
  --ok:#2f6f4f;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  color:var(--text);
  background:var(--cream);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;line-height:1.2;color:var(--char)}
a{color:var(--brick);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;display:block}

/* Top call bar */
.callbar{
  background:var(--char);
  color:var(--cream);
  text-align:center;
  font-size:.95rem;
  padding:.5rem 1rem;
}
.callbar a{color:var(--gold);font-weight:700}

/* Header */
header{
  background:var(--white);
  border-bottom:1px solid var(--line);
  position:sticky;top:0;z-index:50;
}
.nav{
  max-width:1080px;margin:0 auto;padding:.9rem 1.2rem;
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
}
.brand{display:flex;align-items:center;gap:.6rem;font-family:Georgia,serif;font-weight:700;font-size:1.25rem;color:var(--char)}
.brand:hover{text-decoration:none}
.brand .mark{
  width:34px;height:34px;border-radius:7px;
  background:var(--brick);color:#fff;display:flex;align-items:center;justify-content:center;
  font-size:1.2rem;flex-shrink:0;
}
.nav-right{display:flex;align-items:center;gap:1.2rem}
.nav-links{display:flex;gap:1.1rem;font-size:.93rem}
.nav-links a{color:var(--char-soft)}
.btn-call{
  background:var(--brick);color:#fff;padding:.55rem 1.1rem;border-radius:8px;
  font-weight:700;font-size:.95rem;white-space:nowrap;
}
.btn-call:hover{background:var(--brick-dark);text-decoration:none}

/* Hero */
.hero{
  background:linear-gradient(rgba(28,25,23,.72),rgba(28,25,23,.78)),
    url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="40" height="40"><rect width="40" height="40" fill="%236b2619"/><rect x="0" y="0" width="19" height="9" fill="%238a3324"/><rect x="21" y="0" width="19" height="9" fill="%238a3324"/><rect x="0" y="11" width="9" height="9" fill="%238a3324"/><rect x="11" y="11" width="19" height="9" fill="%238a3324"/><rect x="32" y="11" width="8" height="9" fill="%238a3324"/></svg>');
  background-size:cover,80px;
  color:var(--cream);
  text-align:center;
  padding:4.5rem 1.2rem 4rem;
}
.hero h1{color:#fff;font-size:2.4rem;max-width:760px;margin:0 auto 1rem}
.hero p{font-size:1.15rem;max-width:620px;margin:0 auto 1.8rem;color:#ece7df}
.hero .cta{display:flex;gap:.8rem;justify-content:center;flex-wrap:wrap}
.btn-lg{
  background:var(--gold);color:var(--char);padding:.9rem 1.7rem;border-radius:9px;
  font-weight:700;font-size:1.05rem;
}
.btn-lg:hover{background:#a9781f;text-decoration:none}
.btn-lg.ghost{background:transparent;color:#fff;border:2px solid #fff}
.btn-lg.ghost:hover{background:rgba(255,255,255,.12)}
.trust{margin-top:1.6rem;font-size:.9rem;color:#d8d2c8;display:flex;gap:1.4rem;justify-content:center;flex-wrap:wrap}
.trust span{display:flex;align-items:center;gap:.35rem}

/* Sections */
section.block{max-width:1080px;margin:0 auto;padding:3.2rem 1.2rem}
.block h2{font-size:1.8rem;margin-bottom:.4rem}
.lead{color:var(--muted);font-size:1.08rem;max-width:720px;margin-bottom:2rem}

/* Service cards */
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.2rem}
.card{
  background:var(--white);border:1px solid var(--line);border-radius:12px;padding:1.5rem;
  transition:transform .15s,box-shadow .15s;
}
.card:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(28,25,23,.09)}
.card .ico{font-size:1.7rem;margin-bottom:.6rem}
.card h3{font-size:1.2rem;margin-bottom:.45rem}
.card p{color:var(--muted);font-size:.96rem;margin-bottom:.8rem}
.card a.more{font-weight:700;font-size:.92rem}

/* Why / trust band */
.band{background:var(--ash)}
.band .grid .card{background:var(--white)}

/* Steps */
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.4rem;counter-reset:s}
.step{position:relative;padding-left:3rem}
.step:before{
  counter-increment:s;content:counter(s);
  position:absolute;left:0;top:0;
  width:2.1rem;height:2.1rem;border-radius:50%;
  background:var(--brick);color:#fff;font-weight:700;
  display:flex;align-items:center;justify-content:center;
}
.step h3{font-size:1.1rem;margin-bottom:.3rem}
.step p{color:var(--muted);font-size:.95rem}

/* Areas list */
.areas{display:flex;flex-wrap:wrap;gap:.6rem}
.areas a{
  background:var(--white);border:1px solid var(--line);border-radius:999px;
  padding:.45rem 1rem;font-size:.92rem;color:var(--char-soft);
}
.areas a:hover{background:var(--brick);color:#fff;border-color:var(--brick);text-decoration:none}

/* FAQ */
.faq details{
  background:var(--white);border:1px solid var(--line);border-radius:10px;
  padding:1rem 1.2rem;margin-bottom:.8rem;
}
.faq summary{font-weight:700;cursor:pointer;font-family:Georgia,serif;font-size:1.05rem;color:var(--char)}
.faq p{color:var(--muted);margin-top:.7rem}

/* CTA band */
.cta-band{
  background:var(--brick);color:#fff;text-align:center;padding:3rem 1.2rem;
}
.cta-band h2{color:#fff;font-size:1.9rem;margin-bottom:.6rem}
.cta-band p{color:#f3e4de;margin-bottom:1.5rem;font-size:1.08rem}

/* Content pages */
.page-hero{background:var(--char-soft);color:var(--cream);padding:3rem 1.2rem}
.page-hero .inner{max-width:1080px;margin:0 auto}
.page-hero .crumb{font-size:.85rem;color:#b7aea3;margin-bottom:.6rem}
.page-hero .crumb a{color:#d8cfc4}
.page-hero h1{color:#fff;font-size:2.1rem;max-width:760px}
.page-hero p{color:#e7e0d7;max-width:680px;margin-top:.7rem}
article.prose{max-width:760px;margin:0 auto;padding:2.6rem 1.2rem}
article.prose h2{font-size:1.5rem;margin:1.8rem 0 .7rem}
article.prose h3{font-size:1.2rem;margin:1.4rem 0 .5rem}
article.prose p{margin-bottom:1rem}
article.prose ul{margin:0 0 1rem 1.3rem}
article.prose li{margin-bottom:.4rem}
.callout{
  background:var(--ash);border-left:4px solid var(--brick);
  padding:1.1rem 1.3rem;border-radius:0 8px 8px 0;margin:1.6rem 0;
}
.callout strong{color:var(--char)}

/* Footer */
footer{background:var(--char);color:#c9c1b7;padding:2.6rem 1.2rem 1.6rem;font-size:.92rem}
.foot{max-width:1080px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.6rem}
footer h4{color:#fff;font-family:Georgia,serif;margin-bottom:.7rem;font-size:1.05rem}
footer a{color:#d8cfc4;display:block;margin-bottom:.35rem}
footer .big{font-size:1.3rem;color:var(--gold);font-weight:700}
.foot-bottom{max-width:1080px;margin:1.8rem auto 0;padding-top:1.2rem;border-top:1px solid #3a3330;color:#8c847a;font-size:.84rem}

@media(max-width:700px){
  .nav-links{display:none}
  .hero h1{font-size:1.85rem}
  .hero{padding:3.2rem 1.2rem}
  .page-hero h1{font-size:1.7rem}
}
