        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }
        body {
            background: #f0f4f9;
            font-family: 'Inter', sans-serif;
            color: #181d21;
            line-height: 1.5;
        }
        
        /* Контейнер с отступами */
        .b-container {
            width: 100%;
            max-width: 1280px;
            margin: 0 auto;
            padding: 0 20px;
        }
        
        /* Кнопки */
        .b-button {
            box-sizing: border-box;
            white-space: nowrap;
            cursor: pointer;
            border: none;
            border-radius: 60px;
            outline: 0;
            justify-content: center;
            align-items: center;
            height: 52px;
            padding: 0 28px;
            display: inline-flex;
            font-weight: 600;
            font-size: 15px;
            transition: all 0.3s ease;
            font-family: inherit;
            gap: 8px;
        }
        .b-button_blue { background: linear-gradient(135deg, #1a5dd0 0%, #0d47a1 100%); color: white; box-shadow: 0 8px 20px rgba(26, 93, 208, 0.25); }
        .b-button_blue:hover { transform: translateY(-2px); box-shadow: 0 12px 25px rgba(26, 93, 208, 0.35); }
        .b-button_green { background: linear-gradient(135deg, #11998e 0%, #38ef7d 100%); color: white; }
        .b-button_purple { background: linear-gradient(135deg, #8e2de2, #4a00e0); color: white; }
        .b-button_outline { background: transparent; border: 2px solid #1a5dd0; color: #1a5dd0; }
        
        /* Шапка */
        .b-header { background: rgba(255, 255, 255, 0.98); backdrop-filter: blur(12px); position: sticky; top: 0; z-index: 1000; border-bottom: 1px solid rgba(0,0,0,0.05); border-radius: 0 0 3em 3em;}
        .b-header__container { display: flex; justify-content: space-between; align-items: center; padding: 10px 0; flex-wrap: wrap; gap: 15px; }
        .logo-main { font-size: 24px; font-weight: 800; background: linear-gradient(135deg, #1a5dd0, #0d47a1); -webkit-background-clip: text; background-clip: text; color: transparent; text-decoration: none; display: flex; align-items: center; gap: 8px; }
        .town-selector { display: flex; align-items: center; gap: 8px; background: #f0f4fa; padding: 8px 16px; border-radius: 60px; cursor: pointer; transition: 0.2s; font-size: 14px; }
        
        /* Hero секция */
        .hero-section { background: linear-gradient(135deg, #ffffff 0%, #eef4ff 100%); border-radius: 32px; margin: 20px 0 32px; padding: 40px 32px; position: relative; overflow: hidden; box-shadow: 0 10px 30px rgba(0,0,0,0.03); }
        .hero-title h1 { font-size: 42px; font-weight: 800; line-height: 1.2; background: linear-gradient(135deg, #181d21, #1a5dd0); -webkit-background-clip: text; background-clip: text; color: transparent; }
        @media (max-width: 560px) {
            .hero-title h1 { font-size: 32px; }
            .hero-section { padding: 28px 20px; }
        }
        .search-card { background: white; border-radius: 60px; padding: 6px 6px 6px 20px; display: flex; gap: 10px; box-shadow: 0 20px 35px rgba(0,0,0,0.08); margin-top: 32px; flex-wrap: wrap; }
        .search-card input { flex: 1; border: none; font-size: 15px; outline: none; background: transparent; padding: 14px 0; min-width: 180px; }
        .search-card button { white-space: nowrap; }
        .search-results { background: white; border-radius: 24px; margin-top: 12px; display: none; box-shadow: 0 15px 30px rgba(0,0,0,0.1); }
        .search-results.active { display: block; }
        
        /* Разделители */
        .section-divider { display: flex; align-items: center; justify-content: center; margin: 40px 0 28px; gap: 12px; }
        .divider-line { flex: 1; height: 2px; background: linear-gradient(90deg, transparent, #cbd5e1, #1a5dd0, #cbd5e1, transparent); }
        .divider-icon { background: white; width: 44px; height: 44px; display: flex; align-items: center; justify-content: center; border-radius: 60px; box-shadow: 0 4px 12px rgba(0,0,0,0.05); color: #1a5dd0; font-size: 20px; }
        
        /* Карточки акций */
        .promo-mega { background: linear-gradient(135deg, #ff4a37 0%, #b91c1c 100%); border-radius: 32px; padding: 32px 28px; margin: 24px 0 32px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 20px; box-shadow: 0 20px 30px rgba(255,74,55,0.2); }
        .promo-dual { background: linear-gradient(135deg, #1e2a3a, #0f172a); border-radius: 32px; padding: 32px 28px; margin: 28px 0; display: flex; flex-wrap: wrap; gap: 24px; justify-content: space-between; align-items: center; color: white; box-shadow: 0 15px 25px rgba(0,0,0,0.1); }
        .countdown-timer { background: rgba(0,0,0,0.3); backdrop-filter: blur(8px); padding: 12px 22px; border-radius: 60px; font-weight: 700; font-size: 20px; display: flex; align-items: center; gap: 8px; color:#fff}
        
        /* Бесплатные консультации */
        .free-consult-block { background: linear-gradient(135deg, #0c2e28 0%, #115b4c 100%); border-radius: 32px; padding: 40px 36px; margin: 40px 0; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 32px; box-shadow: 0 20px 35px rgba(0,0,0,0.12); }
        .consult-badge { background: rgba(255,215,0,0.2); backdrop-filter: blur(8px); padding: 6px 18px; border-radius: 50px; display: inline-flex; align-items: center; gap: 8px; font-weight: 700; color: #ffea8a; font-size: 12px; }
        .consult-title { font-size: 34px; font-weight: 800; color: white; line-height: 1.3; margin-top: 12px; }
        .consult-title span { background: linear-gradient(120deg, #ffd966, #ffb347); -webkit-background-clip: text; background-clip: text; color: transparent; }
        .consult-features { display: flex; flex-wrap: wrap; gap: 10px; margin: 20px 0 16px; }
        .consult-feature { background: rgba(255,255,255,0.12); padding: 6px 16px; border-radius: 60px; color: white; font-weight: 500; font-size: 13px; display: flex; align-items: center; gap: 8px; }
        .consult-cta { background: #ffd966; color: #115b4c; padding: 14px 32px; border-radius: 80px; font-weight: 800; font-size: 18px; display: inline-flex; align-items: center; gap: 10px; cursor: pointer; transition: 0.3s; border: none; }
        
        /* Сетка услуг */
        .services-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 28px; margin: 40px 0; }
        .service-card { background: white; border-radius: 28px; padding: 28px; transition: all 0.3s; box-shadow: 0 8px 25px rgba(0,0,0,0.05); border: 1px solid rgba(0,0,0,0.03); }
        .service-card:hover { transform: translateY(-4px); box-shadow: 0 15px 30px rgba(26,93,208,0.08); }
        .price-block { display: flex; align-items: baseline; gap: 12px; margin: 14px 0; flex-wrap: wrap; }
        .current-price { font-size: 30px; font-weight: 800; color: #1a5dd0; }
        .old-price { text-decoration: line-through; color: #8da2ba; font-size: 16px; }
        .service-card ul { margin: 16px 0; list-style: none; display: flex; flex-direction: column; gap: 10px; }
        .service-card li { display: flex; align-items: center; gap: 8px; font-size: 14px; }
        
        /* Инпуты и форма — исправлено для мобильных */
        input, select, textarea {
            font-family: 'Inter', sans-serif;
            width: 100%;
            padding: 14px 18px;
            border: 1.5px solid #e2edf7;
            border-radius: 28px;
            font-size: 15px;
            background: #ffffff;
            transition: 0.2s;
            outline: none;
        }
        input:focus, select:focus { border-color: #1a5dd0; box-shadow: 0 0 0 3px rgba(26,93,208,0.1); }
        .form-group { display: flex; flex-direction: column; gap: 6px; width: 100%; }
        .error-message { color: #ed2227; font-size: 12px; margin-left: 12px; display: none; align-items: center; gap: 4px; }
        .booking-form { background: #ffffff; border-radius: 32px; padding: 32px 28px; box-shadow: 0 20px 35px rgba(0,0,0,0.05); margin: 40px 0; }
        .form-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 20px; margin-bottom: 24px; }
        
        /* Блог */
        .blog-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 28px; margin: 32px 0; }
        .blog-card { background: white; border-radius: 28px; overflow: hidden; transition: 0.3s; box-shadow: 0 8px 20px rgba(0,0,0,0.04); }
        .blog-img { background: linear-gradient(135deg, #1a5dd0, #0d47a1); height: 140px; display: flex; align-items: center; justify-content: center; font-size: 48px; color: white; overflow: hidden;}
        .blog-content { padding: 24px; }
        .blog-content h3 { font-size: 20px; margin: 8px 0 10px; line-height: 1.3; display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;}
        .blog-excerpt { color: #4a5568; font-size: 14px; line-height: 1.5; margin-bottom: 16px; display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;}
        .review-card { background: white; padding: 24px; border-radius: 28px; box-shadow: 0 5px 15px rgba(0,0,0,0.02); border: 1px solid #edf2f7; }
        .review-card p { margin: 12px 0; line-height: 1.5; }
        .footer { background: #0a0f1c; color: #8e9fc3; padding: 48px 0 28px; border-radius: 32px 32px 0 0; margin-top: 50px; }
        .icon-text { display: inline-flex; align-items: center; gap: 8px; }
        .stars { color: #ffb83b; font-size: 15px; letter-spacing: 2px; }
		
        /* Toast уведомление */
        .toast-notification {
            position: fixed;
            bottom: 30px;
            right: 30px;
            background: #2c3e2f;
            color: white;
            padding: 16px 24px;
            border-radius: 16px;
            box-shadow: 0 10px 30px rgba(0,0,0,0.2);
            z-index: 1100;
            display: none;
            align-items: center;
            gap: 12px;
            font-weight: 500;
            max-width: 350px;
            animation: slideIn 0.3s ease;
        }
        .toast-notification.error { background: #c0392b; }
        .toast-notification.success { background: #27ae60; }
        @keyframes slideIn {
            from { transform: translateX(100%); opacity: 0; }
            to { transform: translateX(0); opacity: 1; }
        }
        
        /* ===== МОБИЛЬНАЯ АДАПТАЦИЯ (полная) ===== */
        @media (max-width: 768px) {
            .logo-main { font-size: 17px; }
            .b-container { padding: 0 16px; }
            .b-header__container { align-items: stretch; gap: 5px; }
            .b-header__container > div:last-child { justify-content: center; }
            .town-selector { justify-content: center; width: fit-content; margin: 0 auto; }
            
            .hero-title h1 { font-size: 30px; }
            .hero-section { padding: 24px 18px; margin: 16px 0 24px; }
            
            .search-card { flex-direction: column; border-radius: 28px; padding: 12px; background: white; }
            .search-card input { padding: 12px 0; width: 100%; }
            .search-card button { width: 100%; justify-content: center; }
            
            .promo-mega, .promo-dual { padding: 24px 20px; flex-direction: column; text-align: center; }
            .promo-mega > div:first-child .icon-text { font-size: 28px !important; flex-wrap: wrap; justify-content: center; }
            .countdown-timer { font-size: 16px; padding: 10px 18px; justify-content: center; }
            
            .free-consult-block { padding: 28px 20px; flex-direction: column; text-align: left; gap: 24px; }
            .consult-title { font-size: 28px; }
            .consult-features { justify-content: center; }
            .consult-cta { font-size: 16px; padding: 12px 24px; justify-content: center; width: 100%; text-align: center; }
            
            .services-grid { grid-template-columns: 1fr; gap: 20px; margin: 30px 0; }
            .service-card { padding: 20px; }
            .current-price { font-size: 26px; }
            
            .booking-form { padding: 24px 18px; }
            .form-row { grid-template-columns: 1fr; gap: 16px; }
            input, select { padding: 12px 16px; font-size: 14px; }
            
            .blog-grid { grid-template-columns: 1fr; gap: 20px; }
            .blog-content { padding: 20px; }
            .blog-content h3 { font-size: 18px; }
            
            .review-card { padding: 20px; }
            
            .discount-calculator { padding: 28px 20px !important; }
            .discount-calculator .calc-result { font-size: 18px !important; width: 100%; text-align: center; }
            .discount-calculator input, .discount-calculator select { padding: 12px 16px; }
            
            .section-divider { margin: 30px 0 20px; }
            .divider-icon { width: 38px; height: 38px; font-size: 16px; }
            
            .footer > .b-container > div:first-child { flex-direction: column; gap: 32px; }
            .b-button { white-space: normal; text-align: center; padding: 0 18px; font-size: 13px; height: 48px; }
            .toast-notification { left: 20px; right: 20px; bottom: 20px; max-width: none; }
        }
        
        @media (max-width: 480px) {
            .hero-title h1 { font-size: 26px; }
            .consult-title { font-size: 24px; }
            .price-block { flex-direction: column; align-items: flex-start; gap: 6px; }
            .service-card .b-button { width: 100% !important; }
            .current-price { font-size: 24px; }
        }
        
        /* Калькулятор */
        .discount-calculator { background: linear-gradient(145deg, #1a2a4f, #0f1a33); border-radius: 32px; padding: 36px 32px; color: white; margin: 40px 0; }
        .calc-row { display: flex; flex-wrap: wrap; gap: 20px; align-items: flex-end; margin-top: 28px; }
        .calc-input { flex: 1; min-width: 160px; }
        .calc-result { font-size: 20px; background: rgba(255,255,255,0.1); padding: 10px 20px; border-radius: 40px; display: inline-flex; align-items: center; gap: 8px; }
        @media (max-width: 700px) {
            .calc-row { flex-direction: column; align-items: stretch; }
            .calc-result { justify-content: center; }
        }