* { box-sizing: border-box; margin: 0; padding: 0; font-family: Arial, Helvetica, sans-serif; }

body { display: flex; background: #f4f6f8; color: #111; }

.sidebar {
  width: 240px;
  background: #0b1c2d;
  min-height: 100vh;
  padding: 20px;
  position: fixed;
}

.logo img {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  display: block;
  margin: 0 auto 20px;
}

.sidebar nav a {
  display: block;
  color: #fff;
  text-decoration: none;
  padding: 12px 0;
}

.content { margin-left: 240px; width: 100%; }

.hero-slider { position: relative; height: 90vh; overflow: hidden; }

.slide {
  position: absolute;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  opacity: 0;
  transition: opacity 1s ease;
}

.slide.active { opacity: 1; }

.hero-overlay {
  position: relative;
  z-index: 2;
  background: rgba(0,0,0,0.55);
  height: 100%;
  padding: 80px;
  color: #fff;
}

.nav {
  position: absolute;
  top: 50%;
  font-size: 30px;
  background: rgba(0,0,0,0.5);
  color: #fff;
  border: none;
  padding: 10px;
  cursor: pointer;
}

.nav.prev { left: 20px; }
.nav.next { right: 20px; }

.section { padding: 80px; }
.section.dark { background: #0b1c2d; color: #fff; }

.grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 30px;
  margin-top: 40px;
}

.card { background: #fff; padding: 30px; border-radius: 4px; }

.quote-form input, .quote-form textarea {
  width: 100%;
  padding: 12px;
  margin-bottom: 15px;
}

footer { background: #000; color: #fff; padding: 40px; }

.footer-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 30px;
}

.footer-bottom { margin-top: 20px; text-align: center; }

@media (max-width: 768px) {
  .sidebar { position: relative; width: 100%; }
  .content { margin-left: 0; }
}
