:root { 
  --brand-green: #2e7d32; 
  --brand-green-600: #256c29; 
  --brand-mint: #e8f5e9; 
  --brand-dark: #0a1b12; 
}

html { 
  scroll-behavior: smooth; 
}

body { 
  font-family: 'Inter', system-ui, -apple-system, Segoe UI, Roboto, sans-serif; 
  color: var(--brand-dark); 
}

/* Header */
.header { 
  background:#fff; 
  transition: box-shadow .3s ease; 
}

.header.scrolled { 
  box-shadow: 0 8px 30px rgba(0,0,0,.06); 
}

.navbar-brand { 
  color: var(--brand-green); 
  letter-spacing:.2px; 
}

.nav-link { 
  font-weight:600; 
  color: #243; 
}

.nav-link:hover, 
.nav-link:focus { 
  color: var(--brand-green); 
}

.btn-brand { 
  background: var(--brand-green); 
  color:#fff; 
  border:none; 
}

.btn-brand:hover { 
  background: var(--brand-green-600); 
  color:#fff; 
}

.btn-outline-brand { 
  border-color: var(--brand-green); 
  color: var(--brand-green); 
}

.btn-outline-brand:hover { 
  background: var(--brand-green); 
  color:#fff; 
}

/* Hero */
.hero {
  min-height: 86vh;
  background: linear-gradient(rgba(20,60,30,.55), rgba(20,60,30,.55)), url('../Img/hero-truck.jpg') center/cover no-repeat;
}

.badge-soft { 
  background: rgba(255,255,255,.15); 
  border:1px solid rgba(255,255,255,.25); 
  color:#fff; 
}

/* Sections */
.section { 
  padding: 80px 0; 
}

.section-muted { 
  background: var(--brand-mint); 
}

.section-bg { 
  position: relative; 
  color:#fff; 
  background-size: cover; 
  background-position:center; 
}

.section-bg::before { 
  content:""; 
  position:absolute; 
  inset:0; 
  background: rgba(18,46,28,.7); 
}

.section-bg > .container { 
  position: relative; 
  z-index: 1; 
}

.section-bg[data-bg] { 
  background-image: attr(data-bg url); 
} /* fallback won't work in all browsers, JS sets it too */

/* Cards & media */
.card { 
  border:0; 
  box-shadow: 0 10px 30px rgba(0,0,0,.06); 
}

.service-img { 
  height:180px; 
  object-fit:cover; 
  border-radius:.8rem; 
}

/* Reveal on scroll */
.reveal { 
  opacity:0; 
  transform: translateY(16px); 
  transition: .6s ease; 
}

.reveal.show { 
  opacity:1; 
  transform:none; 
}

.reveal.delay-1 { 
  transition-delay:.15s; 
}

.reveal.delay-2 { 
  transition-delay:.3s; 
}

/* Utilities */
.check { 
  color: var(--brand-green); 
}

.object-fit-cover { 
  object-fit: cover; 
}

/* FAQ */
#faq { 
  background-color: #d4f0c2; /* светлый зелёный фон секции */ 
  color: #0a1b12; /* основной текст */ 
}

#faq .accordion-button { 
  background-color: #ffffff; /* закрытые вопросы — белые */ 
  color: #0a1b12; 
}

#faq .accordion-button:not(.collapsed) { 
  background-color: #a8d98f; /* раскрытые вопросы — зелёные */ 
  color: #0a1b12; 
}

#faq .accordion-body { 
  background-color: #a8d98f; /* тело раскрытого вопроса — зелёное */ 
  color: #0a1b12; 
}

#faq.section-bg::before { 
  display: none; /* убираем тёмный оверлей */ 
}

/* Services */
#services .card { 
  cursor: pointer; 
  transition: transform 0.3s ease, box-shadow 0.3s ease; 
}

#services .card:hover { 
  transform: translateY(-10px) scale(1.03); 
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.15); 
}
