/* Общие стили */
* { margin: 0; padding: 0; box-sizing: border-box; }
body { 
  font-family: 'Inter', sans-serif; 
  background: #2B2B2B; /* Гранитный темно-серый */
  color: #D3D3D3; /* Светлый серый для текста */
  overflow-x: hidden; 
  font-weight: 400; 
}
body.dark-mode { background: #1C1C1C; color: #E0E0E0; }
.container { max-width: 1200px; margin: 0 auto; padding: 0 15px; }
h1, h2, h3 { font-weight: 700; }
h1 { font-size: 48px; line-height: 1.2; margin-bottom: 20px; color: #D3D3D3; }
h2 { font-size: 36px; color: #00AEEF; /* Голубой акцент с логотипа */ margin-bottom: 20px; }
h3 { font-size: 24px; margin-bottom: 15px; color: #D3D3D3; }
p { font-size: 16px; line-height: 1.6; margin-bottom: 20px; }
.btn { 
  display: inline-block; 
  padding: 12px 24px; 
  background: linear-gradient(45deg, #00AEEF, #5A5A5A); /* Градиент с голубым и серым */
  color: #fff; 
  text-decoration: none; 
  border-radius: 6px; 
  font-weight: 600; 
  transition: transform 0.3s ease, box-shadow 0.3s ease; 
  position: relative; 
  overflow: hidden; 
  z-index: 1; 
}
.btn::before { 
  content: ''; 
  position: absolute; 
  top: 0; 
  left: -100%; 
  width: 200%; 
  height: 100%; 
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent); 
  transition: left 0.5s ease; 
  z-index: -1; 
}
.btn:hover { 
  transform: translateY(-2px); 
  box-shadow: 0 4px 12px rgba(0, 174, 239, 0.3); 
}
.btn:hover::before { left: 100%; }
body.dark-mode .btn { background: linear-gradient(45deg, #00AEEF, #3A3A3A); }

/* Хедер */
.header { 
  position: fixed; 
  top: 0; 
  left: 0; 
  width: 100%; 
  background: rgba(43, 43, 43, 0.95); /* Гранитный темно-серый */
  backdrop-filter: blur(10px); 
  z-index: 1000; 
  padding: 10px 0; 
  transition: background 0.3s ease; 
}
body.dark-mode .header { background: rgba(28, 28, 28, 0.95); }
.header.scrolled { background: #5A5A5A; /* Серый металлик */ }
.header .container { display: flex; justify-content: space-between; align-items: center; }
.logo-img { height: 50px; transition: transform 0.3s ease; }
.logo:hover .logo-img { transform: scale(1.05); }
.nav-menu { display: flex; gap: 15px; }
.nav-menu a { 
  color: #D3D3D3; 
  text-decoration: none; 
  font-size: 14px; 
  font-weight: 600; 
  transition: color 0.3s ease, transform 0.3s ease; 
}
.nav-menu a:hover { color: #00AEEF; transform: translateY(-2px); }
.hamburger { display: none; font-size: 24px; color: #D3D3D3; cursor: pointer; }
.language-switcher select { 
  padding: 8px; 
  border-radius: 4px; 
  border: none; 
  background: #5A5A5A; 
  color: #D3D3D3; 
  cursor: pointer; 
  font-size: 12px; 
}
body.dark-mode .language-switcher select { background: #3A3A3A; color: #E0E0E0; }
.profile-btn { 
  padding: 8px 12px; 
  background: #5A5A5A; 
  color: #D3D3D3; 
  border-radius: 4px; 
  cursor: pointer; 
  font-size: 12px; 
  transition: background 0.3s ease; 
}
body.dark-mode .profile-btn { background: #3A3A3A; color: #00AEEF; }
.profile-btn:hover { background: #00AEEF; color: #fff; }

/* Герой-секция */
.hero { 
  height: 100vh; 
  display: flex; 
  align-items: center; 
  justify-content: center; 
  text-align: center; 
  position: relative; 
  overflow: hidden; 
  background-image: url('../images/background.jpg'); /* Новый фон без текста */
  background-size: cover; 
  background-position: center; 
}
body.dark-mode .hero { background-image: url('../images/background_dark.jpg'); }
.hero-canvas { 
  position: absolute; 
  top: 0; 
  left: 0; 
  width: 100%; 
  height: 100%; 
  z-index: 1; 
  opacity: 0.6; 
}
.hero-parallax { 
  position: absolute; 
  top: 0; 
  left: 0; 
  width: 100%; 
  height: 100%; 
  background: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiB2aWV3Qm94PSIwIDAgMTAwIDEwMCI+PHBhdGggZD0iTTEwIDEwQzIwIDIwIDQwIDQwIDUwIDUwQzYwIDQwIDgwIDIwIDkwIDEwIiBmaWxsPSJub25lIiBzdHJva2U9InJnYmEoMjU1LDI1NSwyNTUsMC4yKSIvPjwvc3ZnPg==') repeat; 
  z-index: 0; 
  transition: transform 0.5s ease; 
}
.hero-content { position: relative; z-index: 2; color: #D3D3D3; }
.hero-content h1 { font-size: 60px; text-shadow: 0 2px 10px rgba(0, 0, 0, 0.4); }
.hero-content p { font-size: 20px; margin-bottom: 30px; font-weight: 300; }
.hero .btn { font-size: 16px; padding: 15px 30px; }

/* Преимущества */
.advantages { padding: 80px 15px; background: #2B2B2B; text-align: center; }
body.dark-mode .advantages { background: #1C1C1C; }
.advantages-grid { 
  display: grid; 
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); 
  gap: 20px; 
  margin-top: 30px; 
}
.advantage-card { 
  padding: 20px; 
  background: #5A5A5A; 
  border-radius: 10px; 
  transition: transform 0.3s ease, box-shadow 0.3s ease; 
}
body.dark-mode .advantage-card { background: #3A3A3A; }
.advantage-card:hover { transform: translateY(-5px); box-shadow: 0 6px 15px rgba(0, 0, 0, 0.3); }
.advantage-icon { 
  width: 50px; 
  height: 50px; 
  margin-bottom: 15px; 
  transition: transform 0.3s ease; 
}
.advantage-card:hover .advantage-icon { transform: rotate(360deg); }

/* Услуги */
.services { padding: 80px 15px; background: #2B2B2B; text-align: center; }
body.dark-mode .services { background: #1C1C1C; }
.service-filter { display: flex; justify-content: center; gap: 15px; margin-bottom: 20px; }
.filter-btn { 
  padding: 8px 15px; 
  background: #00AEEF; 
  color: #fff; 
  border-radius: 6px; 
  cursor: pointer; 
  font-size: 14px; 
  transition: background 0.3s ease; 
}
.filter-btn:hover { background: #5A5A5A; }
.service-category { margin-bottom: 40px; }
.service-list { 
  display: grid; 
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); 
  gap: 15px; 
}
.service-item { 
  background: #5A5A5A; 
  padding: 15px; 
  border-radius: 8px; 
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3); 
  transition: transform 0.3s ease, box-shadow 0.3s ease; 
  position: relative; 
  overflow: hidden; 
}
body.dark-mode .service-item { background: #3A3A3A; }
.service-item:hover { transform: scale(1.05); box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4); }
.service-item::before { 
  content: ''; 
  position: absolute; 
  top: 0; 
  left: 0; 
  width: 100%; 
  height: 100%; 
  background: radial-gradient(circle, rgba(0, 174, 239, 0.2), transparent); 
  opacity: 0; 
  transition: opacity 0.3s ease; 
  z-index: -1; 
}
.service-item:hover::before { opacity: 1; }
.service-item p { margin: 5px 0; }

/* AI-консультант */
.ai-consultant { padding: 80px 15px; background: #2B2B2B; text-align: center; }
body.dark-mode .ai-consultant { background: #1C1C1C; }
.consultant-form { 
  max-width: 600px; 
  margin: 0 auto; 
  background: #5A5A5A; 
  padding: 20px; 
  border-radius: 10px; 
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3); 
}
body.dark-mode .consultant-form { background: #3A3A3A; }
.consultant-form select, 
.consultant-form input { 
  width: 100%; 
  padding: 10px; 
  margin-bottom: 15px; 
  border: 1px solid #D3D3D3; 
  border-radius: 6px; 
  font-size: 14px; 
  background: #2B2B2B; 
  color: #D3D3D3; 
}
body.dark-mode .consultant-form select, 
body.dark-mode .consultant-form input { border-color: #00AEEF; background: #1C1C1C; color: #E0E0E0; }
.progress-bar { 
  width: 100%; 
  height: 10px; 
  background: #D3D3D3; 
  border-radius: 5px; 
  margin-bottom: 20px; 
  overflow: hidden; 
}
.progress-bar-fill { 
  height: 100%; 
  background: #00AEEF; 
  transition: width 0.3s ease; 
}
.consultant-result { margin-top: 20px; font-size: 16px; color: #00AEEF; display: none; }
body.dark-mode .consultant-result { color: #00AEEF; }
.result-canvas { width: 100%; height: 150px; margin-top: 20px; }

/* История */
.history { padding: 80px 15px; background: #2B2B2B; text-align: center; }
body.dark-mode .history { background: #1C1C1C; }
.timeline { position: relative; max-width: 800px; margin: 0 auto; }
.timeline-item { 
  display: flex; 
  align-items: center; 
  margin-bottom: 40px; 
  position: relative; 
}
.timeline-item:nth-child(even) { flex-direction: row-reverse; }
.timeline-content { 
  background: #5A5A5A; 
  padding: 20px; 
  border-radius: 8px; 
  width: 45%; 
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3); 
  transition: transform 0.3s ease; 
}
body.dark-mode .timeline-content { background: #3A3A3A; }
.timeline-content:hover { transform: scale(1.03); }
.timeline-dot { 
  position: absolute; 
  width: 16px; 
  height: 16px; 
  background: #00AEEF; 
  border-radius: 50%; 
  top: 50%; 
  left: 50%; 
  transform: translate(-50%, -50%); 
  box-shadow: 0 0 8px rgba(0, 174, 239, 0.5); 
}
.timeline-content svg { 
  width: 40px; 
  height: 40px; 
  margin-bottom: 10px; 
  fill: #00AEEF; 
}
body.dark-mode .timeline-content svg { fill: #00AEEF; }

/* Контакты */
.contacts { padding: 80px 15px; background: #2B2B2B; text-align: center; }
body.dark-mode .contacts { background: #1C1C1C; }
.contacts-map { 
  width: 100%; 
  height: 300px; 
  border-radius: 10px; 
  margin-top: 20px; 
  position: relative; 
  overflow: hidden; 
}
.contacts-map svg { 
  width: 100%; 
  height: 100%; 
  background: #5A5A5A; 
}
body.dark-mode .contacts-map svg { background: #3A3A3A; }
.contacts-info { margin-top: 20px; }
.contacts-info p { font-size: 16px; margin: 10px 0; }
.contacts .btn { margin: 10px; }

/* Форма заявки */
.request-form { padding: 80px 15px; background: #2B2B2B; text-align: center; }
body.dark-mode .request-form { background: #1C1C1C; }
.form-container { 
  max-width: 500px; 
  margin: 0 auto; 
  background: #5A5A5A; 
  padding: 20px; 
  border-radius: 10px; 
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3); 
}
body.dark-mode .form-container { background: #3A3A3A; }
.form-container input, 
.form-container textarea { 
  width: 100%; 
  padding: 10px; 
  margin-bottom: 15px; 
  border: 1px solid #D3D3D3; 
  border-radius: 6px; 
  font-size: 14px; 
  background: #2B2B2B; 
  color: #D3D3D3; 
}
body.dark-mode .form-container input, 
body.dark-mode .form-container textarea { border-color: #00AEEF; background: #1C1C1C; color: #E0E0E0; }
.form-result { margin-top: 20px; font-size: 16px; color: #00AEEF; display: none; }
body.dark-mode .form-result { color: #00AEEF; }

/* Футер */
.footer { background: #5A5A5A; color: #D3D3D3; padding: 40px 15px; text-align: center; }
body.dark-mode .footer { background: #3A3A3A; }
.footer a { color: #00AEEF; text-decoration: none; transition: color 0.3s ease; }
.footer a:hover { color: #fff; }
.footer-links { display: flex; justify-content: center; gap: 15px; margin-top: 20px; }
.footer-social { margin-top: 15px; }
.footer-social a { margin: 0 8px; font-size: 20px; }

/* Адаптивность */
@media (max-width: 768px) {
  h1 { font-size: 36px; }
  h2 { font-size: 28px; }
  h3 { font-size: 20px; }
  .hero-content h1 { font-size: 40px; }
  .hero-content p { font-size: 16px; }
  .nav-menu { 
    display: none; 
    flex-direction: column; 
    position: absolute; 
    top: 60px; 
    left: 0; 
    width: 100%; 
    background: #5A5A5A; 
    padding: 15px; 
  }
  body.dark-mode .nav-menu { background: #3A3A3A; }
  .nav-menu.active { display: flex; }
  .hamburger { display: block; }
  .advantages-grid, .service-list { grid-template-columns: 1fr; }
  .timeline-item { flex-direction: column !important; align-items: flex-start; }
  .timeline-content { width: 100%; margin-left: 30px; }
  .timeline-dot { left: 20px; }
  .request-form .form-container { padding: 15px; }
  .hero-canvas { height: 80vh; }
}

/* Анимации */
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
.fade-in { animation: fadeIn 1s ease-in; }
@keyframes slideUp { from { transform: translateY(40px); opacity: 0; } to { transform: translateY(0); opacity: 1; } }
.slide-up { animation: slideUp 0.8s ease-out; }
@keyframes pulse { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.1); } }
.pulse { animation: pulse 2s infinite; }
@keyframes dissolve { 
  0% { transform: scale(1); opacity: 1; } 
  50% { transform: scale(0.8); opacity: 0.5; } 
  100% { transform: scale(0); opacity: 0; } 
}
.dissolve { animation: dissolve 0.5s forwards; }