*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:"Segoe UI",Arial,sans-serif;color:#2b2a26;line-height:1.65;background:#fff}
.wrap{max-width:1060px;margin:0 auto;padding:0 20px}
a{color:#4a3b28}
img{max-width:100%}

/* Header */
header{background:#4a3b28;color:#fff;padding:14px 0;position:sticky;top:0;z-index:100;box-shadow:0 2px 8px rgba(0,0,0,.25)}
header .wrap{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px}
.brand{font-size:21px;font-weight:700;letter-spacing:.2px}
.brand a{color:#fff;text-decoration:none}
.brand span{color:#d9b36a}
nav.main a{color:#fff;text-decoration:none;margin-right:18px;opacity:.9;font-size:15px}
nav.main a:hover{opacity:1;color:#f0dfb8}
a.tel{color:#fff;text-decoration:none;font-weight:700;font-size:17px;white-space:nowrap}
a.tel:hover{color:#f0dfb8}

/* Hero */
.hero{background:#5a4a33;color:#fff;padding:78px 0;text-align:center}
.hero h1{font-size:36px;margin-bottom:16px;line-height:1.25}
.hero p{max-width:660px;margin:0 auto 28px;opacity:.95;font-size:18px}
.hero .trust{display:inline-block;margin-top:22px;font-size:14px;color:#e8d9b8;border-top:1px solid rgba(255,255,255,.25);padding-top:16px}
.btn{display:inline-block;background:#d9b36a;color:#33291a;font-weight:700;padding:13px 30px;border-radius:4px;text-decoration:none;font-size:16px}
.btn:hover{background:#e8c884}
.btn-outline{display:inline-block;border:2px solid #d9b36a;color:#d9b36a;font-weight:700;padding:11px 28px;border-radius:4px;text-decoration:none;font-size:16px}
.btn-outline:hover{background:rgba(217,179,106,.12)}

/* Layout */
.pad{padding:64px 0}
.alt{background:#f6f2ea}
h2{font-size:29px;margin-bottom:22px;text-align:center;color:#4a3b28}
h2.sub-left{text-align:left}
.lead{max-width:760px;margin:0 auto 34px;text-align:center;font-size:17px;color:#55504a}
.content h2{text-align:left;font-size:25px;margin-top:38px;margin-bottom:12px}
.content h3{color:#5a4a33;font-size:19px;margin-top:26px;margin-bottom:8px}
.content p{margin-bottom:15px;max-width:820px}
.content ul,.content ol{margin:0 0 15px 24px;max-width:800px}
.content li{margin-bottom:7px}

/* Cards */
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:20px}
.card{background:#fff;border:1px solid #e6ddcc;border-radius:6px;padding:24px;transition:box-shadow .2s,transform .2s,border-color .2s}
.card:hover{box-shadow:0 6px 18px rgba(74,59,40,.14);transform:translateY(-3px);border-color:#d9b36a}
.card h3{color:#4a3b28;margin-bottom:8px;font-size:18px}
.card p{font-size:15px;color:#55504a;margin-bottom:14px}
.card a.more{color:#4a3b28;font-weight:700;text-decoration:none;font-size:15px}
.card a.more:hover{color:#8a6a2e;text-decoration:underline}

/* Breadcrumbs */
.crumbs{background:#ece5d5;font-size:13.5px;padding:9px 0;color:#6b6151}
.crumbs a{color:#4a3b28;text-decoration:none}
.crumbs a:hover{text-decoration:underline}
.crumbs span.sep{margin:0 7px;color:#a5976f}

/* CTA banner */
.cta-banner{background:#4a3b28;color:#fff;padding:46px 0;text-align:center}
.cta-banner h2{color:#fff;margin-bottom:10px}
.cta-banner p{max-width:620px;margin:0 auto 22px;color:#e8dcc2;font-size:16.5px}

/* Reviews / stars */
.stars{color:#d9b36a;font-size:16px;letter-spacing:3px;margin-bottom:8px}
.review{background:#fff;border:1px solid #e6ddcc;border-radius:6px;padding:22px;margin-bottom:16px}
.review p{font-size:15.5px;color:#3d3a34;margin-bottom:10px}
.review .who{font-size:14px;color:#8a7d5e;font-style:italic}
.reviews-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px}
.reviews-grid .review{margin-bottom:0}

/* FAQ */
.faq-item{background:#fff;border:1px solid #e6ddcc;border-radius:6px;padding:20px 22px;margin-bottom:14px}
.faq-item h3{color:#4a3b28;font-size:17px;margin-bottom:8px}
.faq-item p,.faq-item ul{font-size:15.5px;color:#3d3a34}
.faq-item p{margin-bottom:0}
.faq-item ul{margin:8px 0 0 22px}

/* Forms */
.form-simple{background:#fff;border:1px solid #e6ddcc;border-radius:6px;padding:28px;max-width:620px}
.form-simple label{display:block;font-weight:600;color:#4a3b28;margin:14px 0 5px;font-size:14.5px}
.form-simple input,.form-simple textarea{width:100%;padding:10px 12px;border:1px solid #cfc4ab;border-radius:4px;font-family:inherit;font-size:15px;background:#fdfcf9;color:#2b2a26}
.form-simple input:focus,.form-simple textarea:focus{outline:2px solid #d9b36a;outline-offset:1px}
.form-simple textarea{min-height:110px;resize:vertical}
.form-simple .note{font-size:13.5px;color:#8a7d5e;margin-top:12px}
.form-simple button{margin-top:18px;background:#d9b36a;color:#33291a;font-weight:700;padding:12px 30px;border:none;border-radius:4px;font-size:16px;cursor:pointer;font-family:inherit}
.form-simple button:hover{background:#e8c884}

/* Service sub-nav */
.svc-nav{display:flex;flex-wrap:wrap;gap:8px;margin:26px 0 6px}
.svc-nav a{border:1px solid #d9cba8;border-radius:20px;padding:6px 15px;font-size:13.5px;text-decoration:none;color:#5a4a33;background:#fdfbf6}
.svc-nav a:hover{border-color:#d9b36a;background:#f6f2ea}
.svc-nav a.here{background:#4a3b28;color:#fff;border-color:#4a3b28}

/* Callout boxes */
.callout{border-left:4px solid #d9b36a;background:#faf6ec;border-radius:0 6px 6px 0;padding:16px 20px;margin:20px 0;max-width:820px}
.callout h4{color:#5a4a33;font-size:15px;margin-bottom:6px;text-transform:uppercase;letter-spacing:.6px}
.callout p{font-size:14.5px;color:#4a463e;margin-bottom:0}

/* How we work */
.steps{counter-reset:step;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}
.step{background:#fff;border:1px solid #e6ddcc;border-radius:6px;padding:24px;position:relative}
.step::before{counter-increment:step;content:counter(step);display:inline-block;width:34px;height:34px;line-height:34px;text-align:center;border-radius:50%;background:#4a3b28;color:#d9b36a;font-weight:700;margin-bottom:12px;font-size:16px}
.step h3{color:#4a3b28;font-size:17.5px;margin-bottom:8px}
.step p{font-size:15px;color:#55504a}

/* Two-column info */
.two{display:grid;grid-template-columns:1fr 1fr;gap:36px}
.two h3{color:#4a3b28;margin-bottom:10px}
.two ul{margin-left:22px}

/* Sitemap */
.sitemap ul{list-style:none;margin-bottom:26px}
.sitemap li{margin-bottom:7px}
.sitemap li a{color:#4a3b28;text-decoration:none}
.sitemap li a:hover{text-decoration:underline}
.sitemap .group{font-weight:700;color:#5a4a33;margin-top:22px}

/* Contact info block */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}
.contact-info h3{color:#4a3b28;font-size:19px;margin:18px 0 6px}
.contact-info h3:first-child{margin-top:0}
.contact-info p{margin-bottom:12px;font-size:15.5px}
.hours-table{width:100%;border-collapse:collapse;font-size:15px;max-width:340px}
.hours-table td{padding:5px 0;border-bottom:1px solid #e6ddcc}
.hours-table td:last-child{text-align:right;color:#5a4a33}

/* Footer */
footer{background:#33291a;color:#ddd2bd;padding:44px 0 24px;font-size:14.5px}
footer .foot-grid{display:grid;grid-template-columns:1.3fr 1fr 1.2fr;gap:32px;margin-bottom:28px}
footer h4{color:#d9b36a;font-size:14px;text-transform:uppercase;letter-spacing:.8px;margin-bottom:12px}
footer a{color:#ddd2bd;text-decoration:none}
footer a:hover{color:#f0dfb8;text-decoration:underline}
footer ul{list-style:none}
footer li{margin-bottom:6px}
footer .legal{border-top:1px solid rgba(255,255,255,.14);padding-top:18px;text-align:center;font-size:13.5px;color:#bcae93}
footer .legal a{color:#bcae93}

@media(max-width:760px){
  .two,.contact-grid{grid-template-columns:1fr}
  footer .foot-grid{grid-template-columns:1fr}
  .hero h1{font-size:27px}
  .hero{padding:56px 0}
  .pad{padding:46px 0}
  nav.main a{margin-right:13px;font-size:14px}
}
