index.html 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418
  1. <!DOCTYPE html>
  2. <html lang="ru">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover">
  6. <title>ТарДетейл | Премиальный детейлинг автомобилей</title>
  7. <!-- Tailwind CSS + Google Fonts -->
  8. <script src="https://cdn.tailwindcss.com"></script>
  9. <link href="https://fonts.googleapis.com/css2?family=Inter:opsz,wght@14..32,300;14..32,400;14..32,500;14..32,600;14..32,700&family=Manrope:wght@400;500;600;700;800&display=swap" rel="stylesheet">
  10. <!-- FontAwesome 6 (иконки) -->
  11. <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta3/css/all.min.css">
  12. <style>
  13. * {
  14. margin: 0;
  15. padding: 0;
  16. box-sizing: border-box;
  17. }
  18. body {
  19. font-family: 'Inter', 'Manrope', system-ui, sans-serif;
  20. background-color: #0A0A0A;
  21. color: #FFFFFF;
  22. scroll-behavior: smooth;
  23. }
  24. /* Анимации появления */
  25. .fade-up {
  26. opacity: 0;
  27. transform: translateY(30px);
  28. transition: opacity 0.7s cubic-bezier(0.2, 0.9, 0.4, 1), transform 0.7s cubic-bezier(0.2, 0.9, 0.4, 1);
  29. }
  30. .fade-up.visible {
  31. opacity: 1;
  32. transform: translateY(0);
  33. }
  34. /* Hover эффекты карточек */
  35. .service-card, .principle-card {
  36. transition: transform 0.3s ease, box-shadow 0.3s ease;
  37. background: #111111;
  38. border-radius: 1.5rem;
  39. overflow: hidden;
  40. border: 1px solid #2A2A2A;
  41. }
  42. .service-card:hover, .principle-card:hover {
  43. transform: translateY(-6px);
  44. box-shadow: 0 20px 35px -12px rgba(0,0,0,0.6);
  45. }
  46. /* Стили для изображений в карточках */
  47. .service-img {
  48. width: 100%;
  49. height: 200px;
  50. object-fit: cover;
  51. transition: transform 0.5s ease;
  52. }
  53. .service-card:hover .service-img {
  54. transform: scale(1.03);
  55. }
  56. /* Стили полей формы */
  57. input, textarea {
  58. transition: all 0.2s ease;
  59. background-color: #00000080;
  60. border: 1px solid #333;
  61. border-radius: 0.75rem;
  62. padding: 0.75rem 1.25rem;
  63. color: white;
  64. }
  65. input:focus, textarea:focus {
  66. outline: none;
  67. border-color: #FFFFFF;
  68. box-shadow: 0 0 0 2px rgba(255,255,255,0.2);
  69. }
  70. /* Уведомление */
  71. .toast-message {
  72. position: fixed;
  73. bottom: 30px;
  74. left: 50%;
  75. transform: translateX(-50%) translateY(20px);
  76. background: #1A1A1A;
  77. backdrop-filter: blur(12px);
  78. border: 1px solid #333;
  79. padding: 12px 24px;
  80. border-radius: 48px;
  81. font-weight: 500;
  82. z-index: 1000;
  83. opacity: 0;
  84. transition: opacity 0.3s, transform 0.3s;
  85. pointer-events: none;
  86. font-size: 0.9rem;
  87. white-space: nowrap;
  88. }
  89. .toast-message.show {
  90. opacity: 1;
  91. transform: translateX(-50%) translateY(0);
  92. }
  93. @media (max-width: 640px) {
  94. .toast-message { white-space: normal; text-align: center; width: 90%; font-size: 0.8rem; }
  95. }
  96. </style>
  97. </head>
  98. <body class="bg-[#0A0A0A] antialiased">
  99. <!-- НАВИГАЦИЯ -->
  100. <nav class="fixed top-0 left-0 w-full z-50 bg-[#0A0A0A]/80 backdrop-blur-md border-b border-[#222] py-4">
  101. <div class="container mx-auto px-6 md:px-12 flex justify-between items-center">
  102. <div class="text-2xl font-bold tracking-tighter"><span class="text-white">Тар</span><span class="font-light">Детейл</span></div>
  103. <div class="hidden md:flex gap-8 text-sm font-medium">
  104. <a href="#home" class="hover:text-gray-300 transition">Главная</a>
  105. <a href="#about" class="hover:text-gray-300 transition">О нас</a>
  106. <a href="#services" class="hover:text-gray-300 transition">Услуги</a>
  107. <a href="#contact" class="hover:text-gray-300 transition">Консультация</a>
  108. </div>
  109. <div class="md:hidden">
  110. <button id="mobileMenuBtn" class="text-white text-2xl"><i class="fas fa-bars"></i></button>
  111. </div>
  112. </div>
  113. <!-- Мобильное меню -->
  114. <div id="mobileMenu" class="fixed top-0 left-0 w-full h-full bg-black/95 backdrop-blur-md z-50 transform -translate-x-full transition-transform duration-300 pt-24 px-6">
  115. <button id="closeMenu" class="absolute top-6 right-6 text-3xl text-white">&times;</button>
  116. <div class="flex flex-col gap-8 text-xl font-medium">
  117. <a href="#home" class="border-b border-gray-700 pb-2">Главная</a>
  118. <a href="#about" class="border-b border-gray-700 pb-2">О нас</a>
  119. <a href="#services" class="border-b border-gray-700 pb-2">Услуги</a>
  120. <a href="#contact" class="border-b border-gray-700 pb-2">Консультация</a>
  121. </div>
  122. </div>
  123. </nav>
  124. <main class="pt-20">
  125. <!-- Hero секция (главная) -->
  126. <section id="home" class="min-h-screen flex items-center justify-center px-6 md:px-12 py-24">
  127. <div class="container mx-auto max-w-6xl text-center md:text-left fade-up">
  128. <h1 class="text-4xl md:text-6xl lg:text-7xl font-bold leading-tight tracking-tight">
  129. ТарДетейл:<br>
  130. <span class="bg-gradient-to-r from-white to-gray-400 bg-clip-text text-transparent">Безупречный уход за вашим автомобилем</span>
  131. </h1>
  132. <p class="text-gray-300 text-lg md:text-xl max-w-3xl mx-auto md:mx-0 mt-6 leading-relaxed">
  133. Студия профессионального детейлинга Матвея Тарабана. Мы не просто моем машины,
  134. мы возвращаем им первозданный вид, работая на совесть.
  135. </p>
  136. <div class="mt-10">
  137. <a href="#contact" class="inline-block bg-white text-black font-semibold px-8 py-4 rounded-full text-lg shadow-2xl hover:bg-gray-200 transition transform hover:scale-[1.02]">Записаться на осмотр →</a>
  138. </div>
  139. <div class="mt-16 flex flex-wrap justify-center md:justify-start gap-6 text-sm text-gray-400">
  140. <div class="flex items-center gap-2"><i class="fas fa-check-circle text-white"></i> Полировка</div>
  141. <div class="flex items-center gap-2"><i class="fas fa-check-circle text-white"></i> Керамика</div>
  142. <div class="flex items-center gap-2"><i class="fas fa-check-circle text-white"></i> Химчистка</div>
  143. <div class="flex items-center gap-2"><i class="fas fa-check-circle text-white"></i> Антидождь</div>
  144. </div>
  145. </div>
  146. </section>
  147. <!-- О НАС / История + Принципы -->
  148. <section id="about" class="py-24 px-6 md:px-12">
  149. <div class="container mx-auto max-w-6xl">
  150. <div class="fade-up border-l-4 border-white pl-6 md:pl-8 mb-24">
  151. <span class="text-sm uppercase tracking-wider text-gray-400">Основано Матвеем Тарабаном</span>
  152. <h2 class="text-3xl md:text-5xl font-bold mt-3">История ТарДетейл</h2>
  153. <p class="text-gray-300 text-lg md:text-xl max-w-4xl mt-6 leading-relaxed">
  154. Всё началось с безграничной любви к автомобилям и перфекционизма. Матвей Тарабан,
  155. основатель студии, долгие годы искал сервис, где к машине относятся как к искусству.
  156. Не найдя — создал своё пространство «ТарДетейл». Здесь каждый проект ведётся лично
  157. под контролем Матвея, а компромиссы в качестве — недопустимы. Девиз «Делаем на совесть»
  158. стал фундаментом безупречной репутации.
  159. </p>
  160. </div>
  161. <!-- Принципы 4 карточки -->
  162. <div class="fade-up">
  163. <h3 class="text-2xl md:text-3xl font-semibold text-center mb-14">Наши принципы</h3>
  164. <div class="grid md:grid-cols-2 lg:grid-cols-4 gap-8">
  165. <div class="principle-card p-6">
  166. <div class="text-4xl mb-4"><i class="fas fa-hand-sparkles"></i></div>
  167. <h4 class="text-xl font-bold">Работаем на совесть</h4>
  168. <p class="text-gray-400 mt-2 text-sm">Каждая деталь проверяется лично.</p>
  169. </div>
  170. <div class="principle-card p-6">
  171. <div class="text-4xl mb-4"><i class="fas fa-gem"></i></div>
  172. <h4 class="text-xl font-bold">Премиальные материалы</h4>
  173. <p class="text-gray-400 mt-2 text-sm">Лучшие мировые бренды.</p>
  174. </div>
  175. <div class="principle-card p-6">
  176. <div class="text-4xl mb-4"><i class="fas fa-shield-alt"></i></div>
  177. <h4 class="text-xl font-bold">Гарантия результата</h4>
  178. <p class="text-gray-400 mt-2 text-sm">Гарантийные обязательства.</p>
  179. </div>
  180. <div class="principle-card p-6">
  181. <div class="text-4xl mb-4"><i class="fas fa-chart-line"></i></div>
  182. <h4 class="text-xl font-bold">Прозрачные цены</h4>
  183. <p class="text-gray-400 mt-2 text-sm">Фиксированная стоимость.</p>
  184. </div>
  185. </div>
  186. </div>
  187. </div>
  188. </section>
  189. <!-- УСЛУГИ с фотографиями (все ваши ссылки добавлены) -->
  190. <section id="services" class="py-24 px-6 md:px-12 bg-[#050505]">
  191. <div class="container mx-auto max-w-6xl">
  192. <div class="text-center fade-up mb-14">
  193. <h2 class="text-3xl md:text-5xl font-bold">Наши услуги</h2>
  194. <div class="w-20 h-[2px] bg-white/50 mx-auto mt-4"></div>
  195. <p class="text-gray-400 mt-4">Качественные фото наших работ — лучшее подтверждение мастерства</p>
  196. </div>
  197. <div class="grid md:grid-cols-2 lg:grid-cols-4 gap-6">
  198. <!-- 1. Полировка кузова -->
  199. <div class="service-card">
  200. <img class="service-img" src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcSCOzjz7kgoz8Dq4LoaOQ6Rs3TSB5Hi0KK3XA&s" alt="Полировка автомобиля">
  201. <div class="p-5">
  202. <h3 class="text-xl font-bold">Полировка кузова</h3>
  203. <p class="text-gray-400 text-sm mt-2">Восстановление ЛКП до зеркального блеска.</p>
  204. </div>
  205. </div>
  206. <!-- 2. Керамическое покрытие -->
  207. <div class="service-card">
  208. <img class="service-img" src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRuhWF6lxUXwoNEZ1qPZrvwgLyuGnSTrUgJDw&s" alt="Керамическое покрытие авто">
  209. <div class="p-5">
  210. <h3 class="text-xl font-bold">Керамическое покрытие</h3>
  211. <p class="text-gray-400 text-sm mt-2">Надёжная защита на годы, гидрофобность.</p>
  212. </div>
  213. </div>
  214. <!-- 3. Детейлинг-химчистка (фото процессов детейлинга) -->
  215. <div class="service-card">
  216. <img class="service-img" src="https://spbdetailing.ru/wp-content/uploads/2022/07/INS09083-scaled.jpg" alt="Детейлинг химчистка салона">
  217. <div class="p-5">
  218. <h3 class="text-xl font-bold">Детейлинг-химчистка</h3>
  219. <p class="text-gray-400 text-sm mt-2">Глубокая чистка салона, удаление запахов.</p>
  220. </div>
  221. </div>
  222. <!-- 4. Антидождь + полировка фар / пример -->
  223. <div class="service-card">
  224. <img class="service-img" src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTAiVFoc9rdi5z0ceYA-rx_2ubic9iOAdKddg&s" alt="Антидождь покрытие стёкол">
  225. <div class="p-5">
  226. <h3 class="text-xl font-bold">Антидождь</h3>
  227. <p class="text-gray-400 text-sm mt-2">Нанопокрытие стёкол для идеального обзора.</p>
  228. </div>
  229. </div>
  230. </div>
  231. <!-- Дополнительные фото для красоты можно добавить второй ряд (по желанию) -->
  232. <div class="grid md:grid-cols-3 gap-6 mt-10">
  233. <div class="service-card">
  234. <img class="service-img h-48" src="https://storeaudio.ru/upload/iblock/46c/1qb33ngtv1t58jfyp2uy6mjn071y7q7c.jpg" alt="Полировка фар">
  235. <div class="p-4">
  236. <h3 class="font-bold">Полировка фар</h3>
  237. <p class="text-gray-400 text-xs">Возвращаем прозрачность оптике.</p>
  238. </div>
  239. </div>
  240. <div class="service-card">
  241. <img class="service-img h-48" src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcR-7hID6M2fhena-J-tK1TvDyryonrL1HRryw&s" alt="Защита кузова">
  242. <div class="p-4">
  243. <h3 class="font-bold">Защитная пленка</h3>
  244. <p class="text-gray-400 text-xs">Антигравийная защита кузова.</p>
  245. </div>
  246. </div>
  247. <div class="service-card">
  248. <img class="service-img h-48" src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcScEUcyi44yHlWDc24cxYZJWy2Xrv-6-jIotg&s" alt="Чистка двигателя">
  249. <div class="p-4">
  250. <h3 class="font-bold">Чистка моторного отсека</h3>
  251. <p class="text-gray-400 text-xs">Детейлинг под капотом.</p>
  252. </div>
  253. </div>
  254. </div>
  255. </div>
  256. </section>
  257. <!-- ФОРМА ОБРАТНОЙ СВЯЗИ -->
  258. <section id="contact" class="py-28 px-6 md:px-12">
  259. <div class="container mx-auto max-w-5xl fade-up">
  260. <div class="text-center mb-12">
  261. <h2 class="text-3xl md:text-5xl font-bold">Оставьте заявку на <span class="border-b-2 border-white">бесплатную консультацию</span></h2>
  262. <p class="text-gray-400 mt-4">Заполните форму, и основатель студии Матвей Тарабан свяжется с вами.</p>
  263. </div>
  264. <div class="bg-[#111111] rounded-3xl border border-[#2A2A2A] p-6 md:p-10">
  265. <form id="leadForm" class="space-y-6">
  266. <div>
  267. <label class="block text-sm font-medium mb-2">ФИО *</label>
  268. <input type="text" id="fullname" placeholder="Иван Иванов" class="w-full">
  269. <div class="text-red-400 text-xs mt-1 hidden" id="nameError">Укажите ФИО</div>
  270. </div>
  271. <div>
  272. <label class="block text-sm font-medium mb-2">Телефон *</label>
  273. <input type="tel" id="phone" placeholder="+7 (999) 000-00-00" class="w-full">
  274. <div class="text-red-400 text-xs mt-1 hidden" id="phoneError">Введите 10 цифр номера</div>
  275. </div>
  276. <div>
  277. <label class="block text-sm font-medium mb-2">Электронная почта *</label>
  278. <input type="email" id="email" placeholder="example@mail.ru" class="w-full">
  279. <div class="text-red-400 text-xs mt-1 hidden" id="emailError">Введите корректный email</div>
  280. </div>
  281. <div>
  282. <label class="block text-sm font-medium mb-2">Марка авто / Комментарий</label>
  283. <textarea id="comment" rows="3" placeholder="Например: BMW X5, керамика..." class="w-full"></textarea>
  284. </div>
  285. <button type="submit" id="submitBtn" class="w-full bg-white text-black font-bold py-4 rounded-xl text-lg hover:bg-gray-200 transition flex justify-center items-center gap-2">Отправить заявку <i class="fas fa-arrow-right"></i></button>
  286. </form>
  287. </div>
  288. </div>
  289. </section>
  290. <!-- ФУТЕР -->
  291. <footer class="border-t border-[#222] py-12 px-6 md:px-12 bg-[#050505]">
  292. <div class="container mx-auto max-w-6xl grid md:grid-cols-3 gap-8">
  293. <div>
  294. <div class="text-2xl font-bold">Тар<span class="font-light">Детейл</span></div>
  295. <p class="text-gray-400 text-sm mt-3">Студия детейлинга. Делаем на совесть.</p>
  296. </div>
  297. <div>
  298. <h4 class="font-semibold text-lg mb-3">Контакты</h4>
  299. <p class="text-gray-400 flex gap-2 items-center"><i class="fas fa-phone-alt"></i> +7 (928) 888-22-33</p>
  300. <p class="text-gray-400 flex gap-2 items-center mt-2"><i class="fas fa-map-marker-alt"></i> г. Таганрог, Детейлинговая 12</p>
  301. <div class="flex gap-5 mt-4">
  302. <a href="#" class="text-gray-400 hover:text-white text-xl"><i class="fab fa-telegram"></i></a>
  303. <a href="#" class="text-gray-400 hover:text-white text-xl"><i class="fab fa-instagram"></i></a>
  304. <a href="#" class="text-gray-400 hover:text-white text-xl"><i class="fab fa-whatsapp"></i></a>
  305. </div>
  306. </div>
  307. <div class="text-gray-400 text-sm">
  308. <p>© 2026 ТарДетейл. Все права защищены. <br>Основатель: Матвей Тарабан.</p>
  309. </div>
  310. </div>
  311. </footer>
  312. </main>
  313. <div id="toastMsg" class="toast-message"></div>
  314. <script>
  315. // Анимации Intersection Observer
  316. const faders = document.querySelectorAll('.fade-up');
  317. const observer = new IntersectionObserver((entries) => {
  318. entries.forEach(entry => {
  319. if(entry.isIntersecting) {
  320. entry.target.classList.add('visible');
  321. observer.unobserve(entry.target);
  322. }
  323. });
  324. }, { threshold: 0.1 });
  325. faders.forEach(el => observer.observe(el));
  326. // Мобильное меню
  327. const menuBtn = document.getElementById('mobileMenuBtn');
  328. const mobileMenu = document.getElementById('mobileMenu');
  329. const closeMenuBtn = document.getElementById('closeMenu');
  330. if(menuBtn && mobileMenu && closeMenuBtn) {
  331. menuBtn.onclick = () => { mobileMenu.classList.remove('-translate-x-full'); mobileMenu.classList.add('translate-x-0'); };
  332. closeMenuBtn.onclick = () => { mobileMenu.classList.add('-translate-x-full'); mobileMenu.classList.remove('translate-x-0'); };
  333. document.querySelectorAll('#mobileMenu a').forEach(link => {
  334. link.onclick = () => { mobileMenu.classList.add('-translate-x-full'); mobileMenu.classList.remove('translate-x-0'); };
  335. });
  336. }
  337. // Маска телефона
  338. const phoneField = document.getElementById('phone');
  339. if(phoneField) {
  340. phoneField.addEventListener('input', function(e) {
  341. let val = e.target.value.replace(/\D/g, '');
  342. if(val.length > 11) val = val.slice(0,11);
  343. let formatted = '';
  344. if(val.length > 0) formatted = '+7 ';
  345. if(val.length >= 1) {
  346. let part1 = val.slice(1,4);
  347. if(part1) formatted += `(${part1}`;
  348. if(val.length >= 4) formatted += `) ${val.slice(4,7)}`;
  349. if(val.length >= 7) formatted += `-${val.slice(7,9)}`;
  350. if(val.length >= 9) formatted += `-${val.slice(9,11)}`;
  351. }
  352. e.target.value = formatted;
  353. });
  354. }
  355. // Валидация и отправка
  356. const form = document.getElementById('leadForm');
  357. const toast = document.getElementById('toastMsg');
  358. function showMessage(text, isError = false) {
  359. toast.innerText = text;
  360. toast.classList.add('show');
  361. toast.style.background = isError ? '#2c1515' : '#1E1E1E';
  362. toast.style.border = isError ? '1px solid #f44336' : '1px solid #4CAF50';
  363. setTimeout(() => toast.classList.remove('show'), 4000);
  364. }
  365. form.addEventListener('submit', (e) => {
  366. e.preventDefault();
  367. let isValid = true;
  368. const fullname = document.getElementById('fullname').value.trim();
  369. const phoneDigits = document.getElementById('phone').value.replace(/\D/g, '');
  370. const email = document.getElementById('email').value.trim();
  371. const nameErr = document.getElementById('nameError');
  372. const phoneErr = document.getElementById('phoneError');
  373. const emailErr = document.getElementById('emailError');
  374. if(!fullname) { nameErr.classList.remove('hidden'); isValid = false; } else { nameErr.classList.add('hidden'); }
  375. if(phoneDigits.length < 10) { phoneErr.classList.remove('hidden'); isValid = false; } else { phoneErr.classList.add('hidden'); }
  376. const emailRegex = /^[^\s@]+@([^\s@]+\.)+[^\s@]+$/;
  377. if(!email || !emailRegex.test(email)) { emailErr.classList.remove('hidden'); isValid = false; } else { emailErr.classList.add('hidden'); }
  378. if(isValid) {
  379. const btn = document.getElementById('submitBtn');
  380. const original = btn.innerHTML;
  381. btn.innerHTML = '<i class="fas fa-spinner fa-spin"></i> Отправка...';
  382. btn.disabled = true;
  383. setTimeout(() => {
  384. showMessage('✅ Спасибо! Матвей или менеджер свяжется с вами.');
  385. form.reset();
  386. btn.innerHTML = original;
  387. btn.disabled = false;
  388. }, 1000);
  389. } else {
  390. showMessage('⚠️ Заполните все обязательные поля верно', true);
  391. }
  392. });
  393. // Плавный скролл по якорям
  394. document.querySelectorAll('a[href^="#"]').forEach(anchor => {
  395. anchor.addEventListener('click', function(e) {
  396. const target = document.querySelector(this.getAttribute('href'));
  397. if(target) { e.preventDefault(); target.scrollIntoView({ behavior: 'smooth' }); }
  398. });
  399. });
  400. window.addEventListener('load', () => {
  401. faders.forEach(el => { if(el.getBoundingClientRect().top < window.innerHeight-100) el.classList.add('visible'); });
  402. });
  403. </script>
  404. </body>
  405. </html>