:root{
  --primary:#c75c5c; /* buttons */
  --accent:#1f5b59;  /* headings/footer */
  --light:#f7f7f7;   /* alt background */
  --text:#333;
  --max:1200px;
}
*{box-sizing:border-box}
body{margin:0;font-family:Roboto,system-ui,-apple-system,Segoe UI,Arial,sans-serif;color:var(--text);background:#fff;line-height:1.6}

/* Header */
header{position:sticky;top:0;z-index:10;background:#fff;border-bottom:1px solid #eee}
.header-container{max-width:var(--max);margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:12px 20px}
.logo{font-weight:700;color:var(--accent);text-decoration:none;font-size:28px}
nav ul{display:flex;gap:20px;list-style:none;margin:0;padding:0}
nav a{text-decoration:none;color:var(--text);font-weight:500}
nav a:hover{color:var(--accent)}
.btn-primary{background:var(--primary);color:#fff;text-decoration:none;padding:9px 14px;border-radius:6px;font-weight:700}
.btn-primary:hover{background:var(--accent)}

/* Hero */
.hero{min-height:460px;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;position:relative;
      background-image:url('assets/hero.png');background-size:cover;background-position:center;background-color:#445}
.hero::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.35)}
.hero-content{position:relative;z-index:1;max-width:1000px;padding:20px}
.hero h1{margin:0 0 8px 0;font-size:40px}
.hero p{margin:0 0 18px 0;font-size:18px}

/* Lead form (compact on desktop, stacked on mobile) */
.lead-form{
  display:grid;
  grid-template-columns:1fr 1fr 1fr auto;
  gap:10px;
  max-width:980px;
  margin:0 auto;
  align-items:center;
}
.lead-form input{
  height:44px;
  padding:0 12px;
  border:1px solid #d9d9d9;
  border-radius:6px;
  background:#fff;
  font-size:16px;
}
.lead-form button{
  height:44px;
  padding:0 18px;
  border-radius:6px;
  background:var(--primary);
  color:#fff;
  font-weight:700;
  border:none;
  cursor:pointer;
}
.lead-form button:hover{background:var(--accent)}

/* Hardened hidden honeypot */
.hp{position:absolute !important;left:-10000px !important;top:auto;width:1px;height:1px;overflow:hidden;opacity:0}

/* Sections */
.section{padding:60px 20px}
.section-title{text-align:center;margin:0 auto 28px auto;max-width:750px}
.section-alt{background:var(--light)}

/* Card grids */
.cards-3,.cards-4{max-width:var(--max);margin:0 auto;display:grid;gap:18px}
.cards-3{grid-template-columns:repeat(3,1fr)}
.cards-4{grid-template-columns:repeat(4,1fr)}
.card{background:#fff;border:1px solid #eee;border-radius:10px;padding:20px;box-shadow:0 2px 4px rgba(0,0,0,.04)}
.step-icon{font-size:26px;margin-bottom:10px}

/* Footer */
footer{background:var(--accent);color:#fff}
.footer{max-width:var(--max);margin:0 auto;display:grid;gap:20px;grid-template-columns:2fr 1fr 1fr;padding:30px 20px}
.footer a{color:#fff;text-decoration:none}
.footer ul{list-style:none;margin:0;padding:0}
.copy{text-align:center;padding:10px 20px;background:#164241}

/* ENSURE Google Places dropdown appears on top */
.pac-container{ z-index: 10000 !important; font-size:16px; }

/* Responsive */
@media (max-width:980px){
  .lead-form{grid-template-columns:1fr;gap:8px}
  .cards-3{grid-template-columns:1fr}
  .cards-4{grid-template-columns:1fr 1fr}
  .hero h1{font-size:30px}
  .hero p{font-size:16px}
}
@media (max-width:640px){
  .cards-4{grid-template-columns:1fr}
}
