/* HERO */
.hero {
  background: linear-gradient(135deg, rgba(3, 37, 108, 0.95), rgba(0, 21, 60, 0.97)), 
              url('https://images.unsplash.com/photo-1576013551627-0cc20b96c2a7?auto=format&fit=crop&w=1600&q=80') center/cover no-repeat;
  color: white; padding: 100px 25px 120px;
}
.hero-container { max-width: 1280px; margin: 0 auto; display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 50px; align-items: center; }
.hero-badge {
  display: inline-flex; align-items: center; gap: 8px; background: rgba(0, 168, 255, 0.15);
  border: 1px solid rgba(0, 168, 255, 0.5); padding: 6px 16px; border-radius: 30px;
  font-size: 13px; font-weight: 700; color: #60c5ff; margin-bottom: 20px; text-transform: uppercase;
}
.hero h1 { font-size: 52px; line-height: 1.15; color: white; margin-bottom: 20px; font-weight: 800; }
.hero h1 span { 
  background: linear-gradient(90deg, #00a8ff, #60c5ff); 
  -webkit-background-clip: text; 
  -webkit-text-fill-color: transparent; 
}
.hero p { font-size: 18px; color: #cbd5e1; margin-bottom: 35px; }
.hero-buttons { display: flex; gap: 15px; flex-wrap: wrap; }
.hero-media-wrapper { border-radius: 16px; overflow: hidden; box-shadow: 0 20px 40px rgba(0,0,0,0.3); border: 4px solid rgba(255, 255, 255, 0.15); }
.hero-media-wrapper img { width: 100%; height: 420px; object-fit: cover; display: block; }

/* SECTIONS */
.home-section { padding: 90px 25px; }
.section-title { text-align: center; max-width: 700px; margin: 0 auto 60px; }
.section-title .subtitle { color: var(--royal-blue); font-weight: 800; text-transform: uppercase; font-size: 13px; letter-spacing: 1px; margin-bottom: 10px; display: block; }
.section-title h2 { font-size: 38px; font-weight: 800; color: var(--primary); }

.services-grid { max-width: 1280px; margin: 0 auto; display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; }
.service-card { background: white; border: 1px solid var(--border); border-radius: 16px; padding: 35px 30px; transition: var(--transition); }
.service-card:hover { transform: translateY(-8px); box-shadow: var(--shadow-lg); border-color: var(--accent); }
.service-icon { 
  width: 60px; height: 60px; 
  background: linear-gradient(135deg, var(--accent-light), #cceeff); 
  color: var(--royal-blue); 
  border-radius: 14px; 
  display: flex; align-items: center; justify-content: center; 
  font-size: 26px; margin-bottom: 22px; 
}

/* WHY CLEANINGBRO */
.why-section { background: var(--light-bg); padding: 90px 25px; }
.why-grid { max-width: 1280px; margin: 0 auto; display: grid; grid-template-columns: repeat(4, 1fr); gap: 25px; }
.why-card { background: white; padding: 30px 25px; border-radius: 14px; border: 1px solid #dbeafe; text-align: center; box-shadow: var(--shadow-sm); }

/* BEFORE / AFTER SLIDER */
.before-after-container { max-width: 900px; margin: 0 auto; position: relative; height: 480px; border-radius: 16px; overflow: hidden; box-shadow: var(--shadow-lg); user-select: none; }
.ba-img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-size: cover; background-position: center; }
.ba-before { background-image: url('https://images.unsplash.com/photo-1584467541268-b040f83be3fd?auto=format&fit=crop&w=1200&q=80'); }
.ba-after { background-image: url('https://images.unsplash.com/photo-1576013551627-0cc20b96c2a7?auto=format&fit=crop&w=1200&q=80'); width: 50%; border-right: 3px solid white; }
.ba-badge { position: absolute; top: 20px; padding: 6px 14px; background: rgba(3, 37, 108, 0.85); color: white; font-weight: 700; font-size: 12px; border-radius: 4px; backdrop-filter: blur(4px); }
.ba-badge-before { right: 20px; } .ba-badge-after { left: 20px; }
.ba-slider { position: absolute; top: 0; bottom: 0; left: 50%; width: 4px; background: white; cursor: ew-resize; z-index: 10; }
.ba-handle { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 44px; height: 44px; background: var(--royal-blue); color: white; border-radius: 50%; display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 10px rgba(0,0,0,0.3); }

/* STEPS */
.steps-grid { max-width: 1280px; margin: 0 auto; display: grid; grid-template-columns: repeat(4, 1fr); gap: 25px; }
.step-card { background: white; padding: 30px 25px; border-radius: 14px; border: 1px solid var(--border); text-align: center; position: relative; }
.step-number { font-size: 36px; font-weight: 800; color: var(--accent); margin-bottom: 10px; font-family: 'Space Grotesk', sans-serif; }

/* CTA BANNER */
.cta-banner { background: linear-gradient(135deg, var(--primary), var(--primary-dark)); color: white; padding: 70px 25px; text-align: center; border-radius: 20px; max-width: 1280px; margin: 0 auto 80px; }
.cta-banner h2 { color: white; font-size: 36px; margin-bottom: 10px; }

@media (max-width: 992px) {
  .hero-container { grid-template-columns: 1fr; }
  .services-grid, .why-grid, .steps-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
  .services-grid, .why-grid, .steps-grid { grid-template-columns: 1fr; }
  .hero h1 { font-size: 38px; }
}
