
:root{
  --bg:#0b0b0b;
  --panel:#151515;
  --accent:#f1c40f;
  --muted:#bfbfbf;
  --maxw:1100px;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);font-family:system-ui;color:#fff;line-height:1.6}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 20px}

/* header */
header.site{border-bottom:1px solid rgba(255,255,255,.05);padding:16px 0;display:flex;align-items:center;gap:14px}
header .logo{display:flex;align-items:center;gap:10px}
header .logo img{height:64px;border-radius:6px}
header h1{margin:0;font-size:24px;letter-spacing:1.5px;text-transform:uppercase}
header small{color:var(--muted);font-size:12px}
nav{margin-left:auto}
nav a{margin-left:16px;font-size:14px;color:var(--muted);font-weight:600}
nav a.cta{padding:8px 12px;background:var(--accent);color:#111;border-radius:6px}

/* main */
main{padding:26px 0 40px}
.hero{display:grid;grid-template-columns:1.4fr 1fr;gap:22px}
.panel{background:var(--panel);padding:18px;border-radius:10px;border:1px solid rgba(255,255,255,.06)}
.badge{padding:2px 8px;border-radius:999px;background:rgba(241,196,15,.2);color:var(--accent);font-size:11px}
.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;margin-top:14px}
.service-card{padding:14px;border-radius:8px;border:1px solid rgba(255,255,255,.05);background:rgba(255,255,255,.02)}
.service-card h3{color:var(--accent);margin-top:0}

/* gallery */
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}
.gallery img{width:100%;height:220px;object-fit:cover;border-radius:8px}

/* testimonials */
.review-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.review{background:var(--panel);padding:14px;border-radius:10px;border:1px solid rgba(255,255,255,.06)}
.review .stars{color:var(--accent)}

/* footer */
footer{border-top:1px solid rgba(255,255,255,.05);padding:18px 0;text-align:center;color:var(--muted)}
.social-icons{display:flex;gap:14px;justify-content:center;margin-top:10px}
.social-icons a{font-size:22px;color:var(--accent)}

/* floating call button */
.call-now{
  display:none;
  position:fixed;
  bottom:18px;
  right:18px;
  background:var(--accent);
  color:#111;
  padding:12px 18px;
  border-radius:50px;
  font-weight:700;
  font-size:14px;
  box-shadow:0 4px 10px rgba(0,0,0,.4);
  z-index:9999;
}

@media(max-width:900px){
  nav{display:none}
  .call-now{display:block}
  .hero{grid-template-columns:1fr}
}
