
:root {
  --primary: #1E3A8A;
  --secondary: #F59E0B;
  --font: 'Poppins', sans-serif;
  --dark: #1a1a1a;
  --gray: #666;
  --light-bg: #f8f9fa;
}
* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior: smooth; }
body { font-family: var(--font); line-height:1.7; color:var(--dark); overflow-x:hidden; }

/* Navbar */
.navbar {
  display:flex; justify-content:space-between; align-items:center;
  padding:1rem 5%; background:#fff; box-shadow:0 2px 12px rgba(0,0,0,0.06);
  position:sticky; top:0; z-index:1000;
}
.navbar .logo { font-weight:700; font-size:1.5rem; color:var(--primary); }
.navbar nav { display:flex; align-items:center; gap:2rem; }
.navbar nav a { text-decoration:none; color:var(--dark); font-weight:500; font-size:0.95rem; transition:color 0.2s; }
.navbar nav a:hover { color:var(--primary); }
.nav-call-btn { background:var(--primary); color:#fff !important; padding:0.6rem 1.3rem; border-radius:30px; }
.menu-toggle { display:none; background:none; border:none; font-size:1.6rem; cursor:pointer; color:var(--dark); }

/* Hero */
.hero {
  background-size:cover; background-position:center; position:relative;
  min-height:85vh; display:flex; align-items:center; justify-content:center; text-align:center;
}
.hero-overlay { position:absolute; inset:0; background:linear-gradient(180deg, rgba(0,0,0,0.55), rgba(0,0,0,0.35)); }
.hero-content { position:relative; z-index:1; color:#fff; max-width:700px; padding:2rem; }
.hero-content h1 { font-size:3rem; font-weight:700; margin-bottom:1rem; line-height:1.2; }
.hero-content p { font-size:1.15rem; margin-bottom:2rem; opacity:0.95; }
.btn { display:inline-block; padding:0.9rem 2rem; border-radius:30px; text-decoration:none; font-weight:600; transition:transform 0.2s, box-shadow 0.2s; }
.call-btn { background:var(--primary); color:#fff; box-shadow:0 6px 20px rgba(0,0,0,0.2); }
.call-btn:hover { transform:translateY(-2px); box-shadow:0 8px 24px rgba(0,0,0,0.28); }

/* Sections general */
section { padding:5rem 1.5rem; }
.section-inner { max-width:1100px; margin:0 auto; text-align:center; }
.eyebrow { color:var(--primary); font-weight:600; font-size:0.85rem; letter-spacing:1.5px; text-transform:uppercase; }
section h2 { font-size:2.2rem; margin:0.6rem 0 2rem; color:var(--dark); }
.about p { max-width:750px; margin:0 auto; color:var(--gray); font-size:1.05rem; }
.services { background:var(--light-bg); }

/* Services grid */
.services-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:1.8rem; text-align:left; }
.service-card { background:#fff; padding:2rem; border-radius:14px; box-shadow:0 4px 16px rgba(0,0,0,0.06); transition:transform 0.25s, box-shadow 0.25s; border-top:4px solid var(--primary); }
.service-card:hover { transform:translateY(-6px); box-shadow:0 12px 28px rgba(0,0,0,0.1); }
.service-card h3 { color:var(--primary); margin-bottom:0.6rem; font-size:1.15rem; }
.service-card p { color:var(--gray); font-size:0.95rem; }

/* Why choose */
.why-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(220px,1fr)); gap:1.5rem; text-align:left; }
.why-item { background:var(--light-bg); padding:1.5rem; border-radius:12px; font-weight:500; border-left:4px solid var(--secondary); }

/* Contact */
.contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:2rem; text-align:left; align-items:stretch; }
.contact-card { background:var(--light-bg); padding:2.5rem; border-radius:16px; display:flex; flex-direction:column; justify-content:center; }
.contact-card h3 { color:var(--primary); font-size:1.4rem; margin-bottom:1rem; }
.contact-address { color:var(--gray); margin-bottom:1rem; }
.contact-phone { display:inline-block; font-size:1.2rem; font-weight:700; color:var(--dark); text-decoration:none; }
.contact-map { width:100%; height:100%; min-height:300px; border:0; border-radius:16px; }

/* Footer */
footer { text-align:center; padding:2rem; background:var(--dark); color:#ccc; font-size:0.9rem; }
footer a { color:var(--secondary); text-decoration:none; font-weight:600; margin-left:4px; }
footer a:hover { text-decoration:underline; }

/* Responsive */
@media(max-width:900px){
  .services-grid { grid-template-columns:repeat(2, 1fr); }
  .contact-grid { grid-template-columns:1fr; }
}
@media(max-width:640px){
  .menu-toggle { display:block; }
  .navbar nav {
    display:none; position:absolute; top:100%; left:0; right:0;
    background:#fff; flex-direction:column; padding:1.5rem; gap:1rem;
    box-shadow:0 8px 20px rgba(0,0,0,0.08);
  }
  .navbar nav.open { display:flex; }
  .nav-call-btn { text-align:center; }
  .hero-content h1 { font-size:2.1rem; }
  .services-grid { grid-template-columns:1fr; }
  section { padding:3.5rem 1.2rem; }
}
