/* Variables & Reset */
:root {
  --red: #ED1B23;
  --blue: #0040AA;
  --light-gray: #f4f4f4;
  --dark-gray: #333;
  --font-heading: Arial, sans-serif;
  --font-body: Verdana, sans-serif;
}
* { margin:0; padding:0; box-sizing:border-box; }
body {
  font-family: var(--font-body);
  color: var(--dark-gray);
  line-height: 1.6;
}

/* Utility */
.container { max-width: 1100px; margin: 0 auto; padding: 0 1rem; }
.section { padding: 4rem 0; }

/* Header & Nav */
.site-header {
  background: #fff;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
  position: sticky; top: 0; z-index:100;
}
.site-header .container {
  display: flex; align-items: center; justify-content: space-between;
}
.logo-img { height: 50px; }
.main-nav a {
  margin-left: 1rem; text-decoration:none; color: var(--dark-gray);
  font-weight: bold;
}
.btn {
  padding: 0.7rem 1.2rem;
  border: none; cursor: pointer;
  font-family: var(--font-heading);
  transition: background 0.3s;
}
.btn-primary {
  background: var(--red); color: #fff;
}
.btn-primary:hover { background: darken(var(--red), 10%); }
.btn-secondary {
  background: var(--blue); color: #fff;
}
.btn-secondary:hover { background: darken(var(--blue), 10%); }

/* Mobile nav toggle */
.nav-toggle { display:none; background:none; border:none; font-size:1.5rem; }
@media(max-width:768px) {
  .main-nav { display:none; flex-direction:column; background:#fff; position:absolute; top:60px; right:0; width:200px; }
  .main-nav.show { display:flex; }
  .nav-toggle { display:block; }
}

/* Hero */
.hero {
  position: relative;
  background-size: cover; background-position: center;
  min-height: 60vh;
}
.hero-overlay {
  background: rgba(0,0,0,0.5);
  width:100%; height:100%; display:flex; align-items:center;
}
.hero-content {
  color:#fff; text-align:center;
}
.hero-content h1 {
  font-family: var(--font-heading);
  font-size: 2.5rem; margin-bottom: 1rem;
}
.hero-content p { font-size:1.1rem; margin-bottom:1.5rem; }

/* About */
.about-content {
  display: flex; align-items:center; gap:2rem;
}
.about-text { flex:1; }
.about-image img {
  width:100%; border-radius: 8px;
}
@media(max-width:768px) {
  .about-content { flex-direction:column; }
}

/* Services */
.service-grid {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(280px,1fr));
  gap:2rem; margin-top:2rem;
}
.service-card {
  background:#fff; padding:1.5rem; border-radius:8px; box-shadow:0 2px 8px rgba(0,0,0,0.1);
}
.service-card img {
  width:50px; margin-bottom:1rem;
}

/* Process */
.process-list {
  list-style:none; display:grid; grid-template-columns: repeat(auto-fit, minmax(220px,1fr)); gap:1.5rem;
}
.process-list li {
  background: var(--light-gray); padding:1rem; border-radius:8px;
}
.process-list li span {
  display:inline-block; width:2rem; height:2rem; background: var(--red);
  color:#fff; text-align:center; line-height:2rem; margin-right:0.5rem; border-radius:50%;
}

/* Contact */
.contact-form {
  max-width:600px; margin:0 auto 2rem;
}
.form-group { margin-bottom:1rem; display:flex; flex-direction:column; }
.form-group label { margin-bottom:0.3rem; font-weight:bold; }
.form-group input,
.form-group textarea {
  padding:0.6rem; border:1px solid #ccc; border-radius:4px;
  font-family: var(--font-body);
}
.checkbox { flex-direction:row; align-items:center; }
.checkbox label { margin-left:0.5rem; margin-bottom:0; }

/* Contact Info */
.contact-info {
  text-align:center; font-size:0.9rem;
}

/* Section headings */
.section h2 {
  font-family: var(--font-heading);
  font-size:2rem; color: var(--blue);
  text-align:center;
}
.logo-img {
  max-height: 50px;
  object-fit: contain;
}
.site-footer img {
  max-height: 60px;
}