
:root{
  --ink:#2b2b2b; --muted:#6c6c6c;
  --green-700:#6f7d69; --green-800:#5e6b57;
  --bg-cream:#f6efe7; --bg-beige:#e9ddc7;
  --accent:#b77e5b; --accent-600:#a86f46;
  --card:#ffffff; --radius-lg:16px; --radius-xl:20px;
  --shadow-sm:0 6px 16px rgba(0,0,0,.06); --shadow-md:0 12px 28px rgba(0,0,0,.08);
}
html,body{ color:var(--ink); background:var(--bg-cream); font-family:'Manrope',system-ui; }
.navbar{ background:#fff !important; box-shadow: var(--shadow-sm); }
.navbar .brand-center img{ height:45px; }
@media (min-width:768px){ .navbar .brand-center img{ height:32px; } }
.btn{ border-radius:999px; padding:.6rem 1rem; }
.btn-primary{ background:var(--accent); border-color:var(--accent); }
.btn-primary:hover{ background:var(--accent-600); border-color:var(--accent-600); }
.btn-outline-primary{ color:var(--ink); border-color:rgba(0,0,0,.2); }
.btn-outline-primary:hover{ background:#fff; color:var(--accent); border-color:var(--accent); }
.card{ border:0; border-radius:var(--radius-lg); box-shadow:var(--shadow-sm); }
.card .card-header{ border:0; background:#fff; border-top-left-radius:var(--radius-lg); border-top-right-radius:var(--radius-lg); }
.hero-wrap{ background: var(--bg-beige); }
.hero-inner{ background: var(--green-700); color:#fff; border-radius: var(--radius-xl); padding: 1rem; box-shadow: var(--shadow-md); }
.hero-eyebrow{ font-size:.85rem; letter-spacing:.12em; text-transform:uppercase; opacity:.9; }
.hero-title{ font-weight:800; line-height:1.08; font-size: clamp(1.6rem, 5.2vw + .6rem, 3rem); }
.hero-lead{ opacity:.95; font-size:.95rem; }
.hero-img-wrap{ width:100%; aspect-ratio:16/9; height:auto; }
.rating-badge{ background:#fff; color:var(--ink); border-radius:18px; padding:.7rem .9rem; box-shadow:var(--shadow-md); display:inline-flex; align-items:center; gap:.6rem; }
.section-center{ text-align:center; }
.section-center .card{ text-align:left; }
.service-card .price{ color:var(--accent); font-weight:800; }
.step{ display:inline-flex; align-items:center; gap:.5rem; padding:.25rem .6rem; border-radius:999px; border:1px solid rgba(0,0,0,.1); background:#fff; }
.step.on{ background:var(--accent); color:#fff; border-color:var(--accent); }
@media (max-width:576px){ .carousel-control-prev, .carousel-control-next{ display:none; } }
