:root{
  --bg:#fff;
  --panel:#f9f9f9;
  --muted:#666;
  --text:#111;
  --brand:#c8102e;
  --brand-2:#ff4d4d;
  --accent:#000;
  --card:#f3f3f3;
  --border:#ddd;
}

*{box-sizing:border-box}
html,body{
  margin:0;
  padding:0;
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  background:var(--bg);
  color:var(--text);
  height:100%;
  scroll-behavior:smooth;
}

a{color:var(--brand);text-decoration:none}
.container{width:min(1100px,92%);margin-inline:auto}

/* 🔴 HEADER */
.site-header{
  position:sticky;
  top:0;
  z-index:100;
  background:rgba(255,255,255,0.95);
  backdrop-filter:saturate(180%) blur(10px);
  border-bottom:1px solid var(--border);
}

.nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:12px 0;
}

.logo img{
  height:40px;       /* smaller logo */
  width:auto;
}

nav a{
  margin-left:18px;
  color:var(--text);
  transition:color 0.3s ease, border-bottom 0.3s ease;
}

nav a:hover{
  color:var(--brand);
  border-bottom:2px solid var(--brand);
}

nav a.active{
  color:var(--brand);
  font-weight:700;
  border-bottom:2px solid var(--brand);
}

/* 🔴 BUTTONS */
.btn{
  display:inline-block;
  padding:10px 16px;
  border-radius:12px;
  background:var(--brand);
  color:#fff;
  font-weight:600;
  transition:background .3s;
}
.btn:hover{background:var(--brand-2)}
.btn.ghost{background:transparent;border:1px solid var(--border);color:var(--text)}

/* 🔴 MAIN */
main{height:auto;overflow:visible}

section{
  min-height:auto;
  padding:72px 0;
  display:flex;
  align-items:center;
}

img{max-width:100%;height:auto;display:block}

/* HERO */
.hero{
  padding:64px 0;
  background:#f8f8f8;
  border-bottom:1px solid var(--border);
}
.hero-inner{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:32px;
  align-items:center;
}
.hero h1{font-size:40px;line-height:1.1;margin:0 0 8px;color:var(--brand)}
.hero .sub{color:var(--muted);margin:0 0 16px}

/* GENERAL SECTIONS */
.section{padding:56px 0;background:#fff}
.section.alt{background:#f5f5f5;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}

.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.card{background:var(--card);border:1px solid var(--border);padding:18px;border-radius:16px}
.card h3{margin-top:0;color:var(--brand)}

.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}

.stat-blocks{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.stat{background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:16px;text-align:center}
.stat span{display:block;font-weight:700;font-size:28px;color:var(--brand)}

/* CTA */
.cta{padding:56px 0;background:#f5f5f5;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.cta-inner{text-align:center}

/* PAGE HERO */
.page-hero{padding:48px 0;border-bottom:1px solid var(--border);background:#fafafa}

/* SERVICES GRID */
.services-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.bullets{padding-left:18px;color:var(--muted)}
.checklist{padding-left:18px}
.checklist li{margin:8px 0}

/* FOOTER */
.site-footer{padding:36px 0;border-top:1px solid var(--border);background:#fff}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:24px}
.legal{text-align:center;color:var(--muted);font-size:14px;margin-top:18px;border-top:1px solid var(--border);padding-top:18px}

/* FAQ */
.faq .faq-item{border-bottom:1px solid var(--border)}
.faq-q{display:block;width:100%;text-align:left;background:transparent;border:none;color:var(--text);font-size:18px;padding:16px 0;cursor:pointer}
.faq-a{display:none;color:var(--muted);padding-bottom:16px}

/* CONTACT */
.contact-form{
  display:grid;
  gap:12px;
  background:var(--card);
  border:1px solid var(--border);
  padding:18px;
  border-radius:16px
}
.contact-form label{display:grid;gap:6px}
.contact-form input,
.contact-form textarea{
  background:#fff;
  border:1px solid var(--border);
  color:var(--text);
  padding:10px;
  border-radius:12px
}
.form-note{color:var(--muted);font-size:13px}
.contact-list{list-style:none;padding:0;margin:0}

/* MAP full width below contact */
.map-section{
  width:100%;
  margin-top:32px;
}
.map-section iframe{
  width:100%;
  height:400px;
  border:0;
}

/* MOBILE */
@media (max-width: 900px){
  .hero-inner, .grid-2, .services-grid, .footer-grid{grid-template-columns:1fr}
  .cards{grid-template-columns:1fr}

  .hero{padding:48px 0}
  .hero h1{font-size:28px; line-height:1.2}
  .hero .sub{font-size:16px}

  .nav{padding:10px 0}
  nav a{margin-left:12px; font-size:15px}

  section{padding:56px 0; align-items:flex-start}
}
