:root{
  --bg: #FFF8E7; /* cream */
  --primary: #3E2723; /* dark brown */
  --accent: #D4AF37; /* gold */
  --muted:#7a6b67;
  --card:#fff;
}
*{box-sizing:border-box}
.body-font{font-family:Inter,system-ui,Segoe UI,Roboto,'Helvetica Neue',Arial,sans-serif}
body{font-family:Inter,system-ui,Segoe UI,Roboto,'Helvetica Neue',Arial,sans-serif;margin:0;background:var(--bg);color:var(--primary);-webkit-font-smoothing:antialiased}
.container{max-width:1100px;margin:0 auto;padding:1rem}
.site-header{position:sticky;top:0;background:transparent;z-index:50}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:1rem 0}
.brand{font-weight:800;font-family:Merriweather,serif;color:var(--card);text-decoration:none}
.nav ul{display:flex;gap:1rem;list-style:none;padding:0;margin:0}
.nav a{text-decoration:none;color:var(--card);font-weight:600}
.hamburger{display:none;background:none;border:0;font-size:1.25rem;color:var(--card)}
.hero{padding:3.5rem 0;background:linear-gradient(180deg, rgba(62,39,35,0.95) 0%, rgba(62,39,35,0.85) 40%, rgba(255,248,231,0) 100%);color:var(--bg)}
.hero-inner{display:grid;grid-template-columns:1fr 480px;gap:2rem;align-items:center}
.eyebrow{color:rgba(255,248,231,0.8);font-weight:600;margin:0 0 .5rem}
h1{font-family:Merriweather,serif;font-size:2.1rem;margin:0;color:var(--bg);letter-spacing:0.2px}
.sub{color:rgba(255,248,231,0.92);margin-top:.5rem;font-weight:600}
.lead{margin-top:1rem;color:rgba(255,248,231,0.95);max-width:46ch}
.trust-line{margin-top:.75rem;color:var(--accent);font-weight:700}
.hero-actions{display:flex;gap:.75rem;margin-top:1rem}
.btn{padding:.75rem 1rem;border-radius:10px;text-decoration:none;display:inline-block;font-weight:700}
.btn-primary{background:linear-gradient(90deg,var(--accent),#b88f2a);color:var(--primary);box-shadow:0 10px 30px rgba(62,39,35,0.12);border:0}
.btn-secondary{background:transparent;border:2px solid rgba(255,255,255,0.14);color:var(--bg)}
.btn-ghost{background:transparent;border:0;color:var(--bg);font-weight:700}
.hero-media .hero-card{background:transparent;padding:0;border-radius:14px}
.hero-media img{width:100%;height:360px;object-fit:cover;border-radius:12px;box-shadow:0 18px 50px rgba(0,0,0,0.45)}
.grid{display:grid;gap:1rem}
.grid-4{grid-template-columns:repeat(4,1fr)}
.grid-3{grid-template-columns:repeat(3,1fr)}
.card{background:var(--card);padding:1rem;border-radius:14px;box-shadow:0 20px 50px rgba(62,39,35,0.06);border:1px solid rgba(0,0,0,0.04)}
.card.small{padding:1rem;text-align:center}
.service .link{display:inline-block;margin-top:.75rem;color:var(--primary);text-decoration:none;font-weight:700}
.why .card{min-height:100px;display:flex;align-items:center;justify-content:center;text-align:center}
.timeline{display:flex;gap:1rem;flex-wrap:wrap}
.step{flex:1;min-width:200px;background:linear-gradient(180deg,#fff, #fffefb);padding:1rem;border-radius:10px;box-shadow:0 6px 18px rgba(0,0,0,0.04)}
.num{background:var(--accent);color:var(--primary);width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800}
.testimonial .stars{color:var(--accent);font-size:1.05rem}
.reviews-head{display:flex;align-items:center;gap:1rem;justify-content:space-between}
.review-badge{background:var(--card);color:var(--primary);padding:.5rem .8rem;border-radius:10px;display:flex;flex-direction:row;align-items:center;gap:.6rem;box-shadow:0 8px 24px rgba(62,39,35,0.06)}
.review-badge .score{font-weight:800;color:var(--primary);font-size:1.5rem}
.review-badge .meta{color:var(--muted);font-weight:700}
.accordion details{background:transparent;margin-bottom:.5rem;padding:.5rem;border-radius:8px}
.cta{background:linear-gradient(90deg,var(--primary),#5a3b36);color:var(--bg);padding:1.5rem;border-radius:12px}
.contact .socials{margin-top:1rem;display:flex;gap:.5rem}
.social{background:transparent;color:var(--bg);padding:.4rem .6rem;border-radius:8px;text-decoration:none;border:1px solid rgba(255,255,255,0.08);display:inline-flex;align-items:center;justify-content:center}
.social svg{display:block}
.site-footer{background:var(--primary);color:var(--bg);padding:1.25rem;margin-top:2rem}
.footer-inner{display:flex;gap:1rem;align-items:center;justify-content:space-between}
.footer-inner a{color:var(--bg);text-decoration:none}
.whatsapp-float{position:fixed;right:18px;bottom:90px;background:linear-gradient(180deg,var(--accent),#b88f2a);color:var(--primary);padding:12px;border-radius:50%;font-size:1.4rem;box-shadow:0 18px 50px rgba(62,39,35,0.22);text-decoration:none}
.back-top{position:fixed;right:16px;bottom:20px;background:var(--card);border:0;padding:8px 10px;border-radius:8px;box-shadow:0 8px 20px rgba(0,0,0,0.06);display:none}

.review-badge .count{color:var(--muted);font-weight:600}

/* Responsive */
@media(max-width:900px){
  .hero-inner{grid-template-columns:1fr;}
  .grid-4{grid-template-columns:repeat(2,1fr)}
  .grid-3{grid-template-columns:repeat(2,1fr)}
  .nav ul{display:none}
  .hamburger{display:inline-block}
  .brand{color:var(--primary)}
  .nav a{color:var(--primary)}
  .site-header{background:var(--bg);}
}

@media(max-width:480px){
  h1{font-size:1.15rem}
  .hero-media img{height:200px}
}

/* small helper animations */
.card, .service, .step{transition:transform .28s ease, box-shadow .28s ease}
.card:hover, .service:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(62,39,35,0.08)}
.fade-in{opacity:0;transform:translateY(10px);transition:opacity .6s ease,transform .6s ease}
.fade-in.visible{opacity:1;transform:none}
