
:root{
  --primary: #7b0c13;
  --accent: #b88a2d;
  --light: #ffffff;
  --dark: #2b2b2b;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Poppins,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,'Helvetica Neue',Arial,'Noto Sans',sans-serif;color:var(--dark);background:#fff}
a{color:inherit;text-decoration:none}
header.hero{
  position:relative;min-height:82vh;display:flex;align-items:center;justify-content:center;
  color:#fff;overflow:hidden;background:var(--primary);
}
.hero::before{
  content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(0,0,0,.35), rgba(0,0,0,.55));
  z-index:1;
}
.hero img.bg{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.75);
}
.hero .content{
  position:relative;z-index:2;text-align:center;padding:2rem;max-width:1000px;
}
.badge{display:inline-flex;align-items:center;gap:.5rem;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.3);padding:.4rem .8rem;border-radius:999px;font-weight:600;letter-spacing:.5px}
h1{font-size:clamp(2rem,5vw,3.4rem);margin:1rem 0 .5rem}
.lead{font-size:clamp(1.05rem,2.2vw,1.25rem);opacity:.95;line-height:1.6;max-width:70ch;margin:0 auto}
.btn{
  display:inline-block;border-radius:12px;padding:.9rem 1.2rem;font-weight:700;
  border:2px solid transparent;transition:.2s;box-shadow:0 10px 24px rgba(0,0,0,.15);
}
.btn-primary{background:var(--accent);color:#fff}
.btn-primary:hover{filter:brightness(1.05);transform:translateY(-1px)}
.btn-ghost{background:transparent;color:#fff;border-color:#fff}
.btn-ghost:hover{background:#fff;color:var(--primary)}
.container{width:min(1120px,92%);margin-inline:auto}
.section{padding:72px 0}
.section.alt{background:#fff5f5}
.section h2{font-size:clamp(1.6rem,3.5vw,2.2rem);margin:0 0 .6rem;color:var(--primary)}
.kicker{color:var(--accent);font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.grid{display:grid;gap:24px}
.grid.cols-3{grid-template-columns:repeat(3,1fr)}
.card{background:#fff;border-radius:20px;border:1px solid #eee;overflow:hidden;box-shadow:0 8px 24px rgba(0,0,0,.06)}
.card .p{padding:20px}
.card h3{margin:.2rem 0 .5rem;font-size:1.2rem;color:var(--primary)}
.card p{margin:0;color:#555;line-height:1.6}
.services .icon{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;background:#fff4e0;border:1px solid #ffe1a3;color:#b07600;font-weight:900}
.banner-cta{background:linear-gradient(135deg,var(--primary),#a8151d);color:#fff;padding:40px;border-radius:22px;display:flex;gap:20px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.banner-cta h3{margin:0;font-size:clamp(1.2rem,2.5vw,1.6rem)}
.banner-cta .actions{
  display:flex;gap:12px;flex-wrap:wrap
}
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.gallery img{width:100%;height:auto;border-radius:14px;box-shadow:0 6px 18px rgba(0,0,0,.08)}
footer{
  background:#180406;color:#eee;padding:40px 0;margin-top:40px;border-top:4px solid var(--accent)
}
footer a{color:#fbe2b9;text-decoration:underline}
.footer-grid{display:grid;gap:24px;grid-template-columns:2fr 1fr 1fr}
.logo-row{display:flex;align-items:center;gap:14px;margin-bottom:14px}
.logo-row img{height:44px;width:auto}
small, .small{font-size:.9rem;color:#bdbdbd}
.faq details{background:#fff;border:1px solid #eee;border-radius:14px;padding:16px}
.faq details+details{margin-top:10px}
.faq summary{font-weight:700;color:var(--primary);cursor:pointer}
.whatsapp-float{
  position:fixed;right:18px;bottom:18px;background:#25d366;color:#fff;border-radius:999px;
  padding:14px 18px;font-weight:800;box-shadow:0 10px 26px rgba(0,0,0,.25);z-index:50
}
.whatsapp-float:hover{transform:translateY(-2px)}
@media(max-width:900px){
  .grid.cols-3{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .gallery{grid-template-columns:repeat(2,1fr)}
}
