        :root {
            --primary-color: #6366f1; /* Индиго */
            --primary-dark: #4f46e5;
            --accent-color: #a3e635;  /* Лайм (Энергия) */
            --text-dark: #0f172a;
            --text-gray: #64748b;
            --bg-body: #f8fafc;
            --card-radius: 24px;      /* Сильные скругления */
        }

        body {
            font-family: 'Inter', sans-serif;
            color: var(--text-dark);
            background-color: var(--bg-body);
            overflow-x: hidden;
        }

        /* Заголовки новым шрифтом */
        h1, h2, h3, h4, h5, .logo-font {
            font-family: 'Unbounded', sans-serif;
            letter-spacing: -0.02em;
        }

        /* --- ШАПКА (Стекло) --- */
        .navbar-glass {
            background: rgba(255, 255, 255, 0.9);
            backdrop-filter: blur(10px);
            -webkit-backdrop-filter: blur(10px);
            border-bottom: 1px solid rgba(0,0,0,0.05);
            transition: all 0.3s ease;
        }

        .nav-link {
            font-weight: 500;
            color: var(--text-dark) !important;
            font-size: 0.9rem;
            transition: color 0.3s;
        }

        .nav-link:hover, .nav-link.active {
            color: var(--primary-color) !important;
        }

        /* Маркер активного пункта */
        .nav-link.active {
            position: relative;
        }
        .nav-link.active::after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 50%;
            transform: translateX(-50%);
            width: 4px;
            height: 4px;
            background: var(--primary-color);
            border-radius: 50%;
        }

        /* --- HERO СЕКЦИЯ --- */
        .hero-section {
            background: radial-gradient(circle at top right, #e0e7ff, transparent 40%),
                        radial-gradient(circle at bottom left, #f0fdf4, transparent 40%);
            padding-top: 5rem;
            padding-bottom: 5rem;
        }

        /* --- КАРТОЧКИ (Новый стиль) --- */
        .custom-card {
            border: 1px solid rgba(255,255,255,0.6);
            border-radius: var(--card-radius);
            background: white;
            box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.02);
            transition: transform 0.3s ease, box-shadow 0.3s ease;
            overflow: hidden;
            display: flex;
            flex-direction: column;
        }

        .custom-card:hover {
            transform: translateY(-5px);
            box-shadow: 0 20px 25px -5px rgba(99, 102, 241, 0.15);
            border-color: rgba(99, 102, 241, 0.2);
        }

        /* --- КНОПКИ --- */
        .btn-primary-custom {
            background: var(--primary-color);
            border: none;
            color: white;
            padding: 0.6rem 1.5rem;
            border-radius: 50px;
            font-weight: 600;
            transition: all 0.3s ease;
            box-shadow: 0 4px 12px rgba(99, 102, 241, 0.25);
        }

        .btn-primary-custom:hover {
            background: var(--primary-dark);
            transform: translateY(-2px);
            box-shadow: 0 8px 20px rgba(99, 102, 241, 0.35);
            color: white;
        }

        .btn-outline-custom {
            background: transparent;
            border: 2px solid #cbd5e1;
            color: var(--text-dark);
            padding: 0.6rem 1.5rem;
            border-radius: 50px;
            font-weight: 600;
            transition: all 0.3s ease;
        }

        .btn-outline-custom:hover {
            border-color: var(--text-dark);
            background: var(--text-dark);
            color: white;
        }

        /* --- ЭЛЕМЕНТЫ --- */
        .hero-step-badge {
            width: 28px;
            height: 28px;
            background: var(--primary-color);
            color: white;
            border-radius: 50%;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            font-weight: bold;
            font-size: 0.8rem;
            flex-shrink: 0;
        }

        .icon-circle {
            width: 56px;
            height: 56px;
            background: #f1f5f9;
            border-radius: 18px;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 1.6rem;
            color: var(--primary-color);
        }

        /* --- ЦВЕТА ФОНОВ --- */
        .bg-soft-primary { background-color: #e0e7ff; color: #3730a3; }
        .bg-soft-muted { background-color: #f1f5f9; color: #475569; }
        .bg-soft-lime { background-color: #ecfccb; color: #365314; }

        /* --- ФУТЕР --- */
        .footer-grad {
            background: #1e1b4b; /* Темный индиго */
            color: #cbd5e1;
            border-top-left-radius: 40px;
            border-top-right-radius: 40px;
        }
        .footer-social-link {
            color: white;
            opacity: 0.6;
            text-decoration: none;
            transition: 0.3s;
        }
        .footer-social-link:hover { opacity: 1; color: var(--accent-color); }
        .logo-mark {
            width: 40px;
            height: 40px;
            background: linear-gradient(135deg, var(--primary-color), var(--accent-color));
            border-radius: 12px;
            color: white;
            font-weight: 700;
            font-family: 'Unbounded', sans-serif;
        }
        .logo-mark-footer {
            background: rgba(255,255,255,0.1);
        }


            :root {
        --primary-color: #6366f1;
        --primary-dark: #4f46e5;
        --card-radius: 24px;
    }

    .form-hero {
        background: radial-gradient(circle at top right, #e0e7ff, transparent 70%);
        padding: 4rem 0;
        margin-bottom: 3rem;
    }

    .form-card {
        border: 1px solid rgba(255,255,255,0.6);
        border-radius: var(--card-radius);
        background: white;
        box-shadow: 0 10px 30px -5px rgba(99, 102, 241, 0.1);
    }

    /* Красивые поля ввода */
    .form-control, .form-select {
        border-radius: 12px;
        padding: 0.8rem 1rem;
        border: 2px solid #e2e8f0;
        background-color: #f8fafc;
        font-size: 0.95rem;
        transition: all 0.2s;
    }

    .form-control:focus, .form-select:focus {
        background-color: #fff;
        border-color: var(--primary-color);
        box-shadow: 0 0 0 4px rgba(99, 102, 241, 0.1);
        outline: none;
    }

    .form-label {
        font-weight: 600;
        font-size: 0.9rem;
        margin-bottom: 0.5rem;
        color: #0f172a;
    }

    .form-section-title {
        color: var(--primary-color);
        font-family: 'Unbounded', sans-serif; /* Если шрифт подключен в хедере */
        font-weight: 700;
        margin-bottom: 1.5rem;
        display: flex;
        align-items: center;
        gap: 10px;
    }

    .btn-submit {
        background: var(--primary-color);
        color: white;
        padding: 1rem 3rem;
        border-radius: 50px;
        font-weight: 600;
        font-size: 1.1rem;
        border: none;
        transition: 0.3s;
        box-shadow: 0 4px 15px rgba(99, 102, 241, 0.3);
    }

    .btn-submit:hover {
        background: var(--primary-dark);
        transform: translateY(-2px);
        box-shadow: 0 8px 25px rgba(99, 102, 241, 0.4);
        color: white;
    }


        .projects-hero {
        background: radial-gradient(circle at top left, #f5f3ff, transparent 40%),
                    radial-gradient(circle at bottom right, #f0fdf4, transparent 40%);
        padding: 4rem 0 3rem;
    }

    /* Фильтры (категории) */
    .filter-btn {
        border: 2px solid #e2e8f0;
        background: transparent;
        color: #64748b;
        border-radius: 50px;
        padding: 0.5rem 1.5rem;
        font-weight: 600;
        transition: all 0.3s;
        margin-right: 0.5rem;
        margin-bottom: 0.5rem;
    }
    .filter-btn:hover, .filter-btn.active {
        border-color: var(--text-dark);
        background: var(--text-dark);
        color: white;
    }

    /* Карточка проекта */
    .project-card {
        border: 1px solid rgba(0,0,0,0.05);
        border-radius: var(--card-radius);
        background: white;
        transition: transform 0.3s ease, box-shadow 0.3s ease;
        overflow: hidden;
        height: 100%;
        display: flex;
        flex-direction: column;
        text-decoration: none;
        color: var(--text-dark);
    }

    .project-card:hover {
        transform: translateY(-8px);
        box-shadow: 0 20px 40px -10px rgba(99, 102, 241, 0.15);
        color: var(--text-dark); /* Чтобы ссылка не меняла цвет текста */
    }

    /* Обложка карточки (заглушка вместо фото) */
    .project-thumb {
        height: 220px;
        background-color: #e0e7ff;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 3rem;
        position: relative;
    }

    .project-thumb.theme-1 { background: linear-gradient(135deg, #6366f1 0%, #a5b4fc 100%); color: white; }
    .project-thumb.theme-2 { background: linear-gradient(135deg, #84cc16 0%, #ecfccb 100%); color: #365314; }
    .project-thumb.theme-3 { background: linear-gradient(135deg, #cbd5e1 0%, #f1f5f9 100%); color: #64748b; }

    .project-badge {
        position: absolute;
        top: 20px;
        left: 20px;
        padding: 6px 14px;
        border-radius: 30px;
        background: rgba(255,255,255,0.9);
        backdrop-filter: blur(4px);
        font-size: 0.75rem;
        font-weight: 700;
        text-transform: uppercase;
        color: var(--text-dark);
        box-shadow: 0 2px 10px rgba(0,0,0,0.05);
    }

    .card-body {
        padding: 1.5rem;
        flex-grow: 1;
        display: flex;
        flex-direction: column;
    }

    .project-title {
        font-family: 'Unbounded', sans-serif;
        font-weight: 700;
        font-size: 1.25rem;
        margin-bottom: 0.75rem;
        line-height: 1.3;
    }

    .project-desc {
        font-size: 0.95rem;
        color: #64748b;
        margin-bottom: 1.5rem;
        display: -webkit-box;
        -webkit-line-clamp: 4; /* Ограничение кол-ва строк */
        -webkit-box-orient: vertical;
        overflow: hidden;
    }

    .project-meta {
        margin-top: auto;
        padding-top: 1rem;
        border-top: 1px solid #f1f5f9;
        display: flex;
        justify-content: space-between;
        align-items: center;
        font-size: 0.85rem;
        color: #94a3b8;
    }

    /* CTA Блок внизу */
    .cta-block {
        background: linear-gradient(120deg, var(--primary-color), var(--primary-dark));
        border-radius: 30px;
        color: white;
        position: relative;
        overflow: hidden;
    }


        .news-hero {
        padding: 4rem 0 3rem;
        background: radial-gradient(circle at 50% 0%, #e0e7ff 0%, transparent 60%);
    }

    /* Карточка новости */
    .news-card {
        background: #fff;
        border: 1px solid rgba(0,0,0,0.05);
        border-radius: var(--card-radius);
        overflow: hidden;
        height: 100%;
        display: flex;
        flex-direction: column;
        transition: transform 0.3s ease, box-shadow 0.3s ease;
        text-decoration: none;
        color: var(--text-dark);
    }

    .news-card:hover {
        transform: translateY(-5px);
        box-shadow: 0 15px 30px -5px rgba(99, 102, 241, 0.15);
        border-color: rgba(99, 102, 241, 0.3);
        color: var(--text-dark);
    }

    /* Изображение новости (заглушка) */
    .news-thumb {
        height: 200px;
        background-color: #f1f5f9;
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 2.5rem;
        overflow: hidden;
    }

    /* Градиентные фоны для заглушек */
    .bg-grad-1 { background: linear-gradient(135deg, #fbcfe8 0%, #f472b6 100%); color: white; } /* Розовый */
    .bg-grad-2 { background: linear-gradient(135deg, #c7d2fe 0%, #6366f1 100%); color: white; } /* Индиго */
    .bg-grad-3 { background: linear-gradient(135deg, #d9f99d 0%, #84cc16 100%); color: #365314; } /* Лайм */
    .bg-grad-4 { background: linear-gradient(135deg, #e2e8f0 0%, #94a3b8 100%); color: white; } /* Серый */

    /* Дата поверх картинки */
    .news-date-badge {
        position: absolute;
        top: 15px;
        left: 15px;
        background: rgba(255, 255, 255, 0.95);
        backdrop-filter: blur(4px);
        padding: 6px 12px;
        border-radius: 12px;
        font-size: 0.75rem;
        font-weight: 700;
        color: var(--text-dark);
        box-shadow: 0 4px 10px rgba(0,0,0,0.05);
        display: flex;
        flex-direction: column;
        align-items: center;
        line-height: 1;
        min-width: 50px;
    }
    .news-date-day { font-size: 1.1rem; margin-bottom: 2px; }
    .news-date-month { font-size: 0.65rem; text-transform: uppercase; color: #64748b; }

    .news-body {
        padding: 1.5rem;
        display: flex;
        flex-direction: column;
        flex-grow: 1;
    }

    .news-tag {
        font-size: 0.75rem;
        text-transform: uppercase;
        font-weight: 700;
        letter-spacing: 0.05em;
        color: var(--primary-color);
        margin-bottom: 0.5rem;
    }

    .news-title {
        font-family: 'Unbounded', sans-serif;
        font-weight: 600;
        font-size: 1.1rem;
        margin-bottom: 0.75rem;
        line-height: 1.4;
    }

    .news-excerpt {
        font-size: 0.9rem;
        color: #64748b;
        margin-bottom: 1rem;
        display: -webkit-box;
        -webkit-line-clamp: 3;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }

    .news-link {
        margin-top: auto;
        font-size: 0.85rem;
        font-weight: 600;
        color: var(--primary-color);
        display: flex;
        align-items: center;
        gap: 5px;
    }

    /* Пагинация */
    .pagination-custom .page-link {
        border: none;
        color: var(--text-dark);
        border-radius: 12px;
        margin: 0 3px;
        width: 40px;
        height: 40px;
        display: flex;
        align-items: center;
        justify-content: center;
        font-weight: 600;
        transition: 0.2s;
    }
    .pagination-custom .page-link:hover {
        background-color: #f1f5f9;
        color: var(--primary-color);
    }
    .pagination-custom .page-item.active .page-link {
        background-color: var(--primary-color);
        color: white;
        box-shadow: 0 4px 10px rgba(99, 102, 241, 0.3);
    }

    /* Блок подписки на ТГ */
    .tg-banner {
        background: linear-gradient(100deg, #229ED9, #1c87b9); /* Цвет Telegram */
        border-radius: var(--card-radius);
        color: white;
        position: relative;
        overflow: hidden;
    }
