/* ========================================= */
/* 1. ПЕРЕМЕННЫЕ И БАЗОВЫЕ НАСТРОЙКИ */
/* ========================================= */
:root {
    --color-dark: #111111;
    --color-light: #ffffff;
    --color-gray-bg: #EDECED; /* Основной фон */
    --color-text-gray: #555555;
    --container-width: 1280px; /* Уменьшил ширину, чтобы контент был уже и отступы казались больше */
    --container-padding: 60px; /* Увеличил базовый padding */
    --section-spacing: 100px;
    --font-main: 'Montserrat', sans-serif; /* Шрифт Montserrat */
}
* { margin: 0; padding: 0; box-sizing: border-box; }
body {
    font-family: var(--font-main);
    background-color: var(--color-gray-bg);
    color: var(--color-dark);
  
    line-height: 1.4;
    overflow-x: hidden;
}
h1, h2, h3, h4, h5, h6, a, button {
    font-family: var(--font-main);
}
.nav-contact-wrapper {
    display: flex;
    align-items: center;
    gap: 12px;
}
.contact-icon {
    width: 22px;
    height: 22px;
    display: block;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    cursor: pointer;
}
/* Иконка почты */
.contact-icon.mail {
    background-image: url("img/mail.svg");
}
/* Иконка телеграма */
.contact-icon.telegram {
    background-image: url(""https://cdn.jsdelivr.net/gh/simple-icons/simple-icons/icons/telegram.svg);
}
/* Если хочешь hover-эффект */
.contact-icon:hover {
    opacity: 0.7;
}
.lang-switcher {
    display: inline-flex;
    align-items: center;
    margin-left: 20px;
    gap: 5px;
}
.lang-link {
    text-decoration: none;
    color: #fff; /* или твой цвет */
    font-weight: 400;
    font-size: 14px;
    opacity: 0.6;
}
.lang-link.active {
    opacity: 1;
    font-weight: 700;
}
.nav-links{
display:flex;
align-items:center;
gap:28px;
}

/* все пункты меню */

.nav-links a,
.nav-links .nav-item{
display:flex;
align-items:center;
height:40px;
}

/* убираем дефолтные стили списка */

.nav-links li{
list-style:none;
margin:0;
padding:0;
}

/* dropdown */

.dropdown-toggle{
display:flex;
align-items:center;
gap:4px;
}

/* language switcher */

.lang-switcher{
display:flex;
align-items:center;
height:40px;
}
.lang-sep {
    color: #fff;
    opacity: 0.3;
}
.container {
    max-width: var(--container-width);
    margin: 0 auto;
    padding: 0 var(--container-padding);
    position: relative;
}
/* Разделитель между блоками */
.section-divider {
    width: 100%;
    height: 1px; /* Тонкая линия */
    background-color: #000; /* Цвет тонкой линии */
    position: relative;
    margin: 60px 0; /* Отступы сверху и снизу (регулируй по вкусу) */
}

/* =========================
GLOBAL ANIMATION
========================= */

.reveal{
opacity:0;
transform:translateY(40px);
transition:all .9s cubic-bezier(.19,1,.22,1);
}

.reveal-visible{
opacity:1;
transform:none;
}


/* =========================
HERO WOW EFFECT
========================= */

.visa-hero{
padding:200px 0 120px;
text-align:center;
background:linear-gradient(180deg,#f4f4f4,#ffffff);
position:relative;
overflow:hidden;
}

.visa-hero::before{
content:"";
position:absolute;
width:600px;
height:600px;
background:radial-gradient(circle,#fa842b40,transparent 70%);
top:-200px;
left:50%;
transform:translateX(-50%);
filter:blur(80px);
z-index:0;
}

.visa-hero-inner{
position:relative;
z-index:2;
}

.visa-hero-title{
font-size:clamp(2.8rem,4vw,4.3rem);
font-weight:800;
line-height:1.05;
letter-spacing:-1px;
margin-bottom:35px;
}

.visa-hero-subtitle{
font-size:1.25rem;
font-weight:700;
margin-bottom:20px;
}

.visa-hero-desc{
font-size:1rem;
line-height:1.6;
color:#444;

margin:0 auto 40px;
}

/* =========================
BUTTONS
========================= */

.visa-hero-buttons{
display:flex;
justify-content:center;
gap:24px;
flex-wrap:wrap;
margin-top:40px;
}

/* сами кнопки */

.visa-btn{
display:flex;
align-items:center;
justify-content:center;

width:35%;           /* одинаковая ширина */
height:60px;           /* одинаковая высота */

background:#fa842b;
color:#000;

border-radius:16px;

font-weight:700;
font-size:15px;
text-align:center;

text-decoration:none;

padding:0 20px;

transition:.3s;
box-shadow:0 10px 25px rgba(0,0,0,0.15);
}

.visa-btn:hover{
transform:translateY(-3px);
background:#ff8f3b;
box-shadow:0 14px 40px rgba(0,0,0,0.25);
}


/* =========================
AUDIT BLOCK
========================= */

.visa-audit{

text-align:center;
}

.visa-divider{
height:1px;
background:#000;
width:100%;
margin-bottom:70px;
}

.visa-audit-title{
font-size:2.4rem;
font-weight:800;
margin-bottom:12px;
}

.visa-audit-subtitle{
font-size:1.2rem;
font-weight:600;
margin-bottom:60px;
}

.visa-audit-grid{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:30px;
margin-bottom:60px;
}

.visa-audit-col{
display:flex;
flex-direction:column;
gap:18px;
transition:.4s;
}

.visa-audit-col:hover{
transform:translateY(-6px);
}

.visa-audit-text{
padding:24px 26px;
border-radius:30px;
font-size:1.1rem;
font-weight:600;
transition:.3s;
}

.visa-audit-text.light{
background:#fff;
border:1px solid #000;
}

.visa-audit-text.dark{
background:#000;
color:#fff;
}

.visa-audit-img{
border-radius:22px;
overflow:hidden;
}

.visa-audit-img img{
width:100%;
height:120px;
object-fit:cover;
transition:transform .5s;
}

.visa-audit-col:hover img{
transform:scale(1.08);
}


/* =========================
BENEFITS
========================= */

.visa-result{
padding:120px 0 140px;
text-align:center;
}

.visa-result-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:40px;
max-width:1000px;
margin:auto;
}

/* карточка */

.visa-result-card{
background:#fff;
border:1px solid #000;
border-radius:28px;
padding:40px 30px;
display:flex;
flex-direction:column;
align-items:center;
gap:16px;
transition:.35s;
}

/* hover */

.visa-result-card:hover{
transform:translateY(-6px);
box-shadow:0 16px 40px rgba(0,0,0,0.15);
}

/* иконка */

.visa-result-icon{
font-size:36px;
}

/* текст */

.visa-result-card p{
font-size:1rem;
font-weight:600;
line-height:1.4;
max-width:220px;
}

/* адаптив */

@media (max-width:900px){

.visa-result-grid{
grid-template-columns:1fr;
gap:24px;
}

.visa-result-card{
padding:30px 24px;
}

}


/* =========================
FAQ
========================= */

.visa-faq{

}

.visa-faq-title{
font-size:2.3rem;
font-weight:800;
margin-bottom:40px;
text-transform:uppercase;
}

/* список */

.visa-faq-list{
display:flex;
flex-direction:column;
gap:22px;
}

/* карточка */

.visa-faq-item{
border:1px solid #000;
border-radius:40px;
background:#f5f5f5;
overflow:hidden;
transition:all .35s ease;
}

/* hover эффект */

.visa-faq-item:hover{
transform:translateY(-4px);
box-shadow:0 10px 30px rgba(0,0,0,0.12);
}

.visa-audit-button{
display:flex;
justify-content:center;
align-items:center;
margin-top:40px;
width:100%;
}

/* вопрос */

.visa-faq-question{
width:100%;
display:flex;
justify-content:space-between;
align-items:center;
padding:26px 34px;
background:none;
border:none;
font-size:1.05rem;
cursor:pointer;
text-align:left;
}

/* иконка */

.visa-faq-icon{
width:42px;
height:42px;
background:#000;
border-radius:50%;
position:relative;
flex-shrink:0;
}

.visa-faq-icon::before,
.visa-faq-icon::after{
content:"";
position:absolute;
background:#fff;
left:50%;
top:50%;
transform:translate(-50%,-50%);
}

.visa-faq-icon::before{
width:14px;
height:2px;
}

.visa-faq-icon::after{
width:2px;
height:14px;
}

.visa-faq-item.active .visa-faq-icon::after{
display:none;
}

/* ответ */

.visa-faq-answer{
max-height:0;
overflow:hidden;
transition:max-height .45s ease;
padding:0 34px;
font-size:0.95rem;
line-height:1.6;
color:#444;
}

.visa-faq-item.active .visa-faq-answer{
max-height:200px;
padding:20px 34px 30px;
}


/* =========================
PROCESS TABLE
========================= */

.visa-process{
padding:140px 0;
}

.visa-process-title{
text-align:center;
font-size:2.4rem;
font-weight:800;
margin-bottom:70px;
}

/* таблица */

.visa-process-table{
display:flex;
flex-direction:column;
gap:28px;
max-width:1000px;
margin:auto;
}

/* строка */

.visa-process-row{
display:grid;
grid-template-columns:220px 1fr 200px;
gap:30px;
align-items:center;
padding:30px;
border-radius:24px;
background:#f6f6f6;
border:1px solid #000;
transition:.35s;
}

.visa-process-row:hover{
transform:translateY(-4px);
box-shadow:0 12px 35px rgba(0,0,0,0.15);
}

/* шаг */

.visa-step{
display:flex;
flex-direction:column;
gap:6px;
font-weight:600;
}

.visa-step-number{
font-size:13px;
font-weight:700;
letter-spacing:2px;
color:#999;
}

/* основной блок */

.visa-process-main{
background:#000;
color:#fff;
padding:24px;
border-radius:20px;
font-size:14px;
line-height:1.6;
}

/* время */

.visa-process-time{
font-size:14px;
font-weight:600;
}

/* адаптив */

@media (max-width:900px){

.visa-process-row{
grid-template-columns:1fr;
gap:18px;
}

.visa-process-main{
order:2;
}

.visa-process-time{
order:3;
}

}


/* =========================
STATS
========================= */

.visa-stats{
padding:130px 0;
text-align:center;
background:#fafafa;
}

.visa-stats-title{
font-size:2rem;
font-weight:800;
margin-bottom:60px;
}

.visa-stats-grid{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:10px;
}

.visa-stat-card{
padding:50px 30px;
border-radius:30px;
border:1px solid #000;
background:#fff;
transition:.4s;
}

.visa-stat-card:hover{
transform:translateY(-8px);
box-shadow:0 20px 50px rgba(0,0,0,0.15);
}

.visa-stat-card.dark{
background:#000;
color:#fff;
}

.visa-stat-number{
font-size:36px;
font-weight:800;
margin-bottom:10px;
}


/* =========================
MEDIA LOGOS
========================= */

.visa-media{
padding:140px 0;
text-align:center;
overflow:hidden;
}

.visa-media-title{
font-size:2rem;
font-weight:800;
margin-bottom:60px;
}

.visa-media-slider{
overflow:hidden;
position:relative;
}

.visa-media-track{
display:flex;
gap:90px;
align-items:center;
width:max-content;
animation:visa-scroll 40s linear infinite;
}

.visa-media-track img{
height:44px;
opacity:.7;
filter:grayscale(100%);
transition:.3s;
}

.visa-media-track img:hover{
opacity:1;
filter:none;
transform:scale(1.1);
}

@keyframes visa-scroll{

0%{
transform:translateX(0);
}

100%{
transform:translateX(-50%);
}

}


/* =========================
RESPONSIVE
========================= */

@media(max-width:1200px){

.visa-audit-grid{
grid-template-columns:repeat(2,1fr);
}

.visa-stats-grid{
grid-template-columns:repeat(2,1fr);
}

}

@media(max-width:768px){

.visa-btn{
    width: 75%;
}

.visa-hero{
padding:140px 0 90px;
}

.visa-benefits-grid{
grid-template-columns:1fr;
gap:40px;
}

.visa-process-row{
grid-template-columns:1fr;
}

.visa-audit-grid{
grid-template-columns:1fr;
}

.visa-stats-grid{
grid-template-columns:1fr;
}

.visa-media-track{
gap:50px;
}

}

/* ========================================= */
/* 2. ШАПКА И НАВИГАЦИЯ (HEADER) */
/* ========================================= */
.header-nav {
    border-bottom: 1px solid #000;
    padding: 15px 0;
    position: fixed;
    width: 100%;
    top: 0;
    left: 0;
    background: #f2f2f2; /* Фон шапки */
    z-index: 1000;
}
.header-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: var(--container-width);
    margin: 0 auto;
    padding: 0 var(--container-padding);
}
/* Логотип */
.logo-block {
    display: flex;
    align-items: center;
    gap: 12px;
    text-decoration: none;
    color: #000;
}
.logo-icon { width: 40px; height: 40px; }
.logo-text {
    font-weight: 700;
    font-size: 0.9rem;
    line-height: 1.1;
    text-transform: none;
}
.nav-links {
    display: flex;
    gap: 30px;
    list-style: none;
}
/* Родитель */
.dropdown {
    position: relative;
}
/* Выпадающее меню */
.dropdown-menu {
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 220px;
    background: #f2f2f2;
    border-radius: 14px;
    padding: 15px 0;
    box-shadow: 0 15px 30px rgba(0,0,0,0.15);
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: 0.3s ease;
    z-index: 1001;
}
/* Пункты */
.dropdown-menu {
    padding: 12px;
    background: #f2f2f2;
    border-radius: 16px;
}
.dropdown-menu li {
    list-style: none;
}
.dropdown-menu li a {
    display: flex;
    align-items: center;
    padding: 14px 18px;
    border-radius: 10px;
    font-size: 15px;
    font-weight: 500;
    color: #000;
    text-decoration: none;
    transition: background 0.2s ease, color 0.2s ease;
}
.dropdown-menu li a:hover {
    background: rgba(0, 0, 0, 0.06);
}
.dropdown:hover .dropdown-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}
.dropdown-toggle::after {
    content: "▾";
    margin-left: 6px;
    font-size: 0.7em;
}
@media (max-width: 900px) {
    .dropdown-menu {
        display: none;
    }
}
/* Меню (Десктоп) */
.nav-links {
    display: flex;
    gap: 30px;
}
.nav-links a {
    text-decoration: none;
    color: #666;
    font-weight: 500;
    font-size: 0.85rem;
    transition: 0.3s;
}
.nav-links a:hover, .nav-links a.active { color: #000; }
.nav-links a.active {
    border-bottom: 1px solid #000;
    padding-bottom: 5px;
}
.nav-contact {
    text-decoration: none;
    color: #000;
    font-weight: 500;
    font-size: 0.85rem;
}
/* Кнопка Бургер (Скрыта на ПК) */
.menu-toggle {
    display: none;
    flex-direction: column;
    justify-content: space-between;
    width: 30px;
    height: 20px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    z-index: 1002; /* Поверх меню */
}
.bg-video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: -1;
}
.menu-toggle span {
    display: block;
    width: 100%;
    height: 2px;
    background-color: #000;
    border-radius: 2px;
    transition: all 0.3s ease-in-out;
}
/* ========================================= */
/* 3. HERO SECTION (2K OPTIMIZED) */
/* ========================================= */
.hero {
    min-height: 100vh;
    display: flex;
    align-items: center;
    position: relative;
    overflow: hidden;
    /* Фон фиксируем так, чтобы он не растягивался до бесконечности */
    background: url('../img/bg2.png') no-repeat center center;
     background-size: cover;
    animation: bgFloat 12s ease-in-out infinite;
    background-size: cover;
}
.GMhero-avatar, .hero-avatar, .hero-image {
    animation: floatAvatar 6s ease-in-out infinite;
    will-change: transform;
}
@keyframes floatAvatar {
    0% {
        transform: translateY(0) scale(1);
    }
    50% {
        transform: translateY(-8px) scale(1.02);
    }
    100% {
        transform: translateY(0) scale(1);
    }
}
.hero-wrapper {
    display: flex;
    justify-content: center; /* Контент справа */
    width: 100%;
}
.hero-content {
    text-align: center;
    width: 45%; /* Вместо фиксированных px используем % для адаптивности */
    min-width: 600px;
    max-width: 720px; /* Уменьшил max-width для большего "воздуха" */
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-top: 100px;
}
@media (max-width: 900px) {
    .hero-content {
        width: 100%;
        min-width: unset; /* или min-width: 0 */
    }
}
.hero-title {
    font-size: clamp(2.8rem, 4vw, 6rem); /* Уменьшил для менее массивного вида */
    font-weight: 600;
    line-height: 1;
    margin-bottom: 25px;
    text-transform: uppercase;
    letter-spacing: 0px;
}
.hero-subtitle {
    font-size: clamp(1rem, 1.2vw, 1.5rem);
    margin-bottom: 40px;
    max-width: 550px;
}
.hero-buttons {
    display: flex;
    gap: 20px;
    margin-bottom: 40px;
}
.btn-black {
    background: #fa842b;
    color: #000;
    padding: 20px 40px; /* Уменьшил padding кнопки */
    border-radius: 20px;
    text-decoration: none;
    font-weight: 700;
    font-size: 1rem; /* Уменьшил font-size */
    transition: 0.3s ease;
    white-space: nowrap;
}
.btn-black:hover {
    background: #e67724;
    color: #000;
}
.hero-logo-circle {
    width: clamp(120px, 10vw, 200px);
    height: clamp(120px, 10vw, 200px);
    background: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.08);
    overflow: hidden; /* Чтобы ничего не вылетало за границы круга */
    padding: 20px; /* Отступ, чтобы логотип не прилипал к краям круга */
}
.hero-logo-img {
    width: 100%;
    height: 100%;
    object-fit: contain; /* Логотип впишется целиком, не обрезаясь */
}
.hero-avatar { width: 70%; height: auto; }
/* ========================================= */
/* 4. СЕКЦИЯ: КТО МЫ (WHO) */
/* ========================================= */
.section-who {
    padding: var(--section-spacing) 0;
    position: relative;
}
.who-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px 120px; /* Увеличил gap для большего воздуха */
    max-width: 900px; /* Уменьшил max-width */
    margin: 0 auto;
    position: relative;
    z-index: 2;
}
.who-number-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1.5px solid #000;
    padding: 6px 24px;
    border-radius: 12px;
    font-weight: 700;
    font-size: 1.1rem;
    margin-bottom: 25px;
}
.who-item h3 {
    margin-bottom: 15px;
    font-size: 1.5rem; /* Уменьшил размер заголовка */
    line-height: 1.1;
    font-weight: 600;
    text-transform: uppercase;
}
.who-item p { font-weight: 700; font-size: 0.85rem; margin-bottom: 15px; text-transform: uppercase; }
.who-item ul { list-style: none; }
.who-item li { font-size: 1.05rem; color: #000; margin-bottom: 5px; }
/* ========================================= */
/* 5. СЕКЦИЯ: В ЧЕМ РАЗНИЦА (DIFFERENCE) */
/* ========================================= */
.section-difference {
    padding: 100px 0;
    background-color: var(--color-gray-bg);
    text-align: center;
}
.diff-main-title {
    font-size: clamp(3.2rem, 5vw, 5.5rem); /* Уменьшил для менее массивного вида */
    font-weight: 600;
    text-transform: uppercase;
    margin-bottom: 20px;
    letter-spacing: -1px;
}
.diff-grid {
    display: grid;
    grid-template-columns: 1fr 1.2fr 1fr;
    align-items: center;
    gap: 20px;
    max-width: 1200px; /* Уменьшил max-width */
    margin: 0 auto;
}
.diff-col { display: flex; flex-direction: column; gap: 150px; }
.diff-text-item p { font-size: 1.1rem; font-weight: 600; text-transform: uppercase; line-height: 1.3; }
.col-left { text-align: right; }
.col-right { text-align: left; }
.diff-center img { width: 100%; max-width: 800px; height: auto; display: block; margin: 0 auto; } /* Уменьшил изображение */
.diff-footer-note { margin-top: 60px; font-size: 0.9rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; }
/* ========================================= */
/* 6. СЕКЦИЯ: КАК МЫ РАБОТАЕМ (HOW) */
/* ========================================= */
.section-how {
    padding: 80px 0;
    background-color: var(--color-gray-bg);
}
.how-wrapper {
    display: flex;
    align-items: center;
    gap: 120px; /* Увеличил gap */
}
.how-image-box {
    flex: 1.2;
    border-radius: 80px;
    padding: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.how-image-box img { width: 100%; max-width: 500px; height: auto; } /* Уменьшил изображение */
.how-content { flex: 1; }
.how-title {
    font-size: 2.2rem; /* Уменьшил размер заголовка */
    font-weight: 600;
    text-transform: uppercase;
    margin-bottom: 40px;
    letter-spacing: -0.5px;
}
.how-list { list-style: none; margin-bottom: 50px; }
.how-list li { display: flex; align-items: center; gap: 20px; margin-bottom: 25px; }
.how-icon { font-size: 1.5rem; display: flex; align-items: center; justify-content: center; }
.how-text { font-size: 1.1rem; font-weight: 600; }
.btn-process {
    background-color: #fa842b;
    color: #000;
    padding: 20px 40px; /* Уменьшил padding кнопки */
    border-radius: 12px;
    font-weight: 700;
    font-size: 0.95rem; /* Уменьшил font-size */
    text-decoration: none;
}
.btn-process:hover {
    background-color: #e67724;
    color: #000;
}
/* Общий макет для Hero в Услугах */
.services-hero {
    padding: 180px 0 100px;
    min-height: 80vh;
    display: flex;
    align-items: center;
    background-color: var(--color-gray-bg);
}
.hero-flex-layout {
    display: flex;
    justify-content: space-between; /* Текст слева, фото справа */
    align-items: center;
    gap: 50px;
}
.hero-text-block {
    flex: 1;
    max-width: 800px;
}
.hero-image {
    flex: 1;
    display: flex;
    justify-content: flex-end; /* Прижимаем фото к правому краю */
}
.hero-image img {
    max-width: 100%;
    height: auto;
    /* Если фото должно быть очень большим как на 2К: */
    width: clamp(400px, 35vw, 700px);
    object-fit: contain;
}
/* Настройка заголовка специально для страницы услуг */
.services-hero .hero-title {
    margin-bottom: 40px;
    text-align: left;
}
/* Адаптив для мобилок */
@media (max-width: 1024px) {
    .hero-flex-layout {
        flex-direction: column; /* На мобилках фото под текст */
        text-align: center;
    }
  
    .hero-text-block {
        display: flex;
        flex-direction: column;
        align-items: center;
    }
  
    .hero-image {
        justify-content: center;
        order: -1; /* Фото можно поставить ПЕРЕД текстом на мобилках */
        margin-bottom: 40px;
    }
    .services-hero .hero-title {
        text-align: center;
    }
}
/* ========================================= */
/* 7. РЕШЕНИЯ (SOLUTIONS) */
/* ========================================= */
.section-solutions { padding: 100px 0; background-color: #EDECED; }
.solutions-main-title {
    font-size: 4.5rem; /* Уменьшил размер заголовка */
    font-weight: 600;
    text-align: center;
    text-transform: uppercase;
    margin-bottom: 60px;
    letter-spacing: -1px;
}
.solutions-wrapper { display: flex; gap: 20px; align-items: stretch; }
.solutions-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; flex: 2; }
.sol-card {
    padding: 45px;
    border-radius: 40px;
    border: 2px solid #000;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 320px;
    transition: transform 0.3s ease;
}
.sol-card:hover { transform: translateY(-5px); }
.sol-card--light { background-color: #fff; color: #000; }
.sol-card--dark { background-color: #1A1A1A; color: #fff; border-color: #1A1A1A; }
.sol-card h3 { font-size: 1.4rem; /* Уменьшил размер заголовка */
 font-weight: 600; line-height: 1.1; margin-bottom: 20px; text-transform: uppercase; }
.sol-card p { font-size: 1.05rem; line-height: 1.3; font-weight: 500; opacity: 0.9; }
.sol-link { margin-top: 30px; font-weight: 700; font-size: 0.85rem; text-transform: uppercase; display: block; opacity: 0.7; }
.solutions-art {
    flex: 1;
  
    border-radius: 40px;
    overflow: hidden;
    background: #fff;
}
.solutions-art img { width: 100%; height: 100%; object-fit: cover; display: block; }
/* ========================================= */
/* 8. LEVEL UP & CALL TO ACTION */
/* ========================================= */
.section-levelup { padding: 120px 0; background-color: var(--color-gray-bg); }
.levelup-header { max-width: 900px; margin-bottom: 60px; }
.levelup-title { font-size: 4.5rem; /* Уменьшил размер заголовка */
 font-weight: 600; line-height: 0.9; text-transform: uppercase; margin-bottom: 40px; }
.levelup-desc p { font-size: 1.2rem; font-weight: 500; line-height: 1.4; margin-bottom: 10px; }
.levelup-highlight { font-weight: 900 !important; margin-top: 20px; }
.levelup-steps { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; }
.step-card {
    display: flex;
    align-items: center;
    padding: 50px;
    border-radius: 40px;
    border: 2px solid #000;
    text-decoration: none;
    color: inherit;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}
.step-card--light { background-color: #fff; }
.step-card--dark { background-color: #000; color: #fff; border-color: #000; }
.step-card:hover { transform: scale(1.02); box-shadow: 0 20px 40px rgba(0,0,0,0.1); }
.step-num { font-size: 6rem; font-weight: 600; margin-right: 40px; line-height: 1; }
.step-text { font-size: 1.8rem; font-weight: 600; line-height: 1.1; text-transform: uppercase; }
/* FINAL CALL */
.section-call { padding: 100px 0 140px; background-color: var(--color-gray-bg); }
.call-title { font-size: 5rem; /* Уменьшил размер заголовка */
 font-weight: 600; text-transform: uppercase; margin-bottom: 80px; letter-spacing: -2px; }
.call-grid { display: grid; grid-template-columns: 1fr 1.2fr; gap: 40px 100px; margin-bottom: 100px; }
.call-column p { font-size: 1.2rem; font-weight: 500; line-height: 1.4; margin-bottom: 25px; letter-spacing: -0.5px; }
.call-buttons { display: flex; gap: 30px; }
.btn-call {
    flex: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 30px; /* Уменьшил padding кнопки */
    background-color: #fa842b;
    color: #000;
    text-decoration: none;
    font-size: 1.2rem; /* Уменьшил font-size */
    font-weight: 700;
    border-radius: 20px;
    transition: transform 0.3s ease, background-color 0.3s ease;
}
.btn-call:hover {
    background-color: #e67724;
    color: #000;
    transform: translateY(-5px);
}
/* ========================================= */
/* 9. УСЛУГИ (SERVICES PAGE) */
/* ========================================= */
.services-hero { padding: 160px 0 100px; background-color: #ededed; background: url('../img/bg1.png') no-repeat center center;
    background-size: cover; }
.services-grid-container { padding: 60px 0 100px; }
.services-main-intro { font-size: 2rem; /* Уменьшил размер заголовка */
 font-weight: 600; text-transform: uppercase; line-height: 1.1; margin-bottom: 80px; max-width: 1100px; }
.services-grid-8 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 60px 40px; }
.service-card {background-color: #1a1a1a;
    border-radius: 20px;
    padding: 40px;
    color: #fff; display: flex; flex-direction: column; margin-bottom: 70px; }
.service-card h3 { font-size: 1.8rem; /* Уменьшил размер заголовка */
 font-weight: 600; text-transform: uppercase; margin-bottom: 20px; line-height: 1; }
.service-card .desc { font-size: 0.95rem; color: #fff; margin-bottom: 25px; line-height: 1.4; }
.service-card .subtitle { font-weight: 600; text-transform: uppercase; font-size: 0.9rem; margin-bottom: 10px; }
.service-card .features { font-size: 0.9rem; color: #fff; margin-bottom: 25px; line-height: 1.6; }
.service-card .result-label { font-weight: 600; text-transform: uppercase; font-size: 0.9rem; margin-bottom: 5px; }
.service-card .result-text { font-size: 0.9rem; margin-bottom: 30px; }
.btn-card {
    align-self: flex-start;
    background: #fa842b;
    color: #000;
    padding: 10px 25px; /* Уменьшил padding кнопки */
    border-radius: 8px;
    text-decoration: none;
    font-weight: 700;
    font-size: 0.8rem; /* Уменьшил font-size */
    transition: 0.3s;
}
.btn-card:hover {
    background: #e67724;
    color: #000;
    transform: translateY(-2px);
}
.services-hero { padding: 160px 0 100px; background-color: #ededed; background: url('../img/bg1.mp4') no-repeat center center;
    background-size: cover; }
/* ========================================= */
/* 10. ТАРИФЫ И КЕЙСЫ (PRICING & CASES) */
/* ========================================= */
.section-formats { padding: 100px 0; text-align: center; background-color: var(--color-gray-bg); }
.formats-title { font-size: 2.8rem; /* Уменьшил размер заголовка */
 font-weight: 900; text-transform: uppercase; margin-bottom: 60px; letter-spacing: -1px; }
.formats-grid { display: flex; justify-content: center; gap: 20px; margin-bottom: 40px; }
.format-card {
    flex: 1;
    max-width: 380px;
    height: 120px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.6rem; /* Уменьшил font-size */
    font-weight: 900;
    text-transform: uppercase;
    border: 2px solid #000;
    cursor: pointer;
    transition: all 0.3s ease;
    clip-path: polygon(0% 0%, 85% 0%, 85% 15%, 100% 15%, 100% 100%, 0% 100%);
    position: relative;
}
.format-card--light { background-color: transparent; color: #000; }
.format-card--dark { background-color: #000; color: #fff; border-color: #000; }
.format-card:hover { transform: translateY(-5px); }
.formats-note { font-size: 1.2rem; font-weight: 500; margin-bottom: 40px; color: #333; }
.btn-zoom-large {
    display: inline-block;
    background-color: #fa842b;
    color: #000;
    padding: 20px 70px; /* Уменьшил padding кнопки */
    border-radius: 25px;
    text-decoration: none;
    font-size: 1rem; /* Уменьшил font-size */
    font-weight: 700;
    transition: 0.3s;
}
.btn-zoom-large:hover {
    background-color: #e67724;
    color: #000;
    box-shadow: 0 10px 25px rgba(0,0,0,0.2);
}
/* Tiers (Тарифные планы) */
.section-tiers { padding: 80px 0 120px; background-color: var(--color-gray-bg); }
.tiers-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 40px; }
.tier-card { display: flex; flex-direction: column; background-color: #1a1a1a;
    border-radius: 20px;
    padding: 40px;
    color: #fff;}
.tier-title { font-size: 1.2rem; color: #e67724; /* Уменьшил размер заголовка */
 font-weight: 900; text-transform: uppercase; margin-bottom: 15px; line-height: 1; }
.tier-subtitle { font-size: 0.95rem; color: #fff; margin-bottom: 30px; min-height: 40px; }
.tier-price-block { margin-bottom: 35px; }
.tier-label { font-weight: 900; font-size: 1.1rem; margin-bottom: 5px; display: block; }
.tier-price-value { font-size: 1.6rem; font-weight: 700; line-height: 1.2; }
.tier-price-note { font-size: 1.4rem; font-weight: 500; color: #fff; }
.tier-section-title { font-weight: 900; font-size: 1.2rem; margin-bottom: 15px; margin-top: 10px; }
.tier-desc-text { font-size: 1rem; margin-bottom: 15px; }
.tier-list { list-style: none; padding: 0; margin-bottom: 35px; }
.tier-list li { position: relative; padding-left: 15px; margin-bottom: 8px; font-size: 1rem; line-height: 1.4; color: #fff; }
.tier-list li::before { content: "•"; position: absolute; left: 0; color: #fff; }
.btn-tier { margin-top: auto; display: block; background-color: #fa842b; color: #000; text-align: center; padding: 16px 18px; /* Уменьшил padding кнопки */
 border-radius: 8px; text-decoration: none; font-weight: 600; font-size: 0.9rem; /* Уменьшил font-size */
 transition: 0.3s; }
.btn-tier:hover { background-color: #e67724; color: #000; }
.section-how-we-work{display: block; justify-content: center; text-align: center;}
/* Личный бренд */
.section-personal-brand { padding: 80px 0 140px; background-color: var(--color-gray-bg); text-align: center; }
.personal-brand-title { font-size: 3rem; /* Уменьшил размер заголовка */
 font-weight: 500; text-transform: uppercase; margin-bottom: 10px; letter-spacing: -1px; }
.personal-brand-subtitle { font-size: 1.8rem; font-weight: 400; color: #333; margin-bottom: 60px; }
.personal-brand-packages { display: flex; justify-content: center; gap: 100px; margin-bottom: 60px; }
.pb-package-name { font-size: 2.5rem; font-weight: 900; color: #000; }
.btn-personal { display: inline-block; background-color: #fa842b; color: #000; padding: 16px 40px; /* Уменьшил padding кнопки */
 border-radius: 12px; text-decoration: none; font-weight: 700; font-size: 0.9rem; /* Уменьшил font-size */
 transition: 0.3s; }
.btn-personal:hover {
    background-color: #e67724;
    color: #000;
}
/* ====================== КРАСИВЫЕ ПЛАШКИ (без смайликов) ====================== */
.participation-cards-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(360px, 1fr));
    gap: 45px;
    margin-top: 80px;
}

.participation-card {
    background: #ffffff;
    border: 2px solid #111111;
    border-radius: 40px;
    padding: 52px 48px 48px;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    position: relative;
    overflow: hidden;
}

.participation-card:hover {
    transform: translateY(-15px);
    box-shadow: 0 30px 60px rgba(0, 0, 0, 0.09);
}

/* Акцентная полоса сверху */
.card-yes {
    border-top: 7px solid #fa842b;   /* оранжевая — положительные моменты */
}

.card-no {
    border-top: 7px solid #111111;   /* чёрная — «нет» */
}

/* Типографика внутри карточек */
.participation-card .comparison-title {
    font-size: 1.8rem;
    font-weight: 800;
    margin-bottom: 32px;
    line-height: 1.15;
}

.participation-card .role-highlight {
    margin-top: 42px;
    font-size: 1.68rem;
    line-height: 1.25;
    font-weight: 700;
}

/* Адаптив */
@media (max-width: 1024px) {
    .participation-cards-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 35px;
    }
}

@media (max-width: 768px) {
    .participation-cards-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }
    
    .participation-card {
        padding: 42px 35px;
    }
}
.approach-intro{
    font-size: 1.1rem; font-weight: 700;
}
.approach-title-secondary{font-size: 1.5rem; font-weight: 700}
/* ====================== УНИВЕРСАЛЬНЫЕ ФИЧИ — ПЛАШКИ ====================== */
.universal-header {
    text-align: center;
    margin-bottom: 60px;
}

.features-line {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 20px;
    font-size: 1.25rem;
    font-weight: 600;
    color: #111;
    margin-bottom: 90px;
    text-align: center;
}

/* Плашки подходим / не подходим */
.qualification-cards-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(380px, 1fr));
    gap: 45px;
}

.qualification-card {
    background: #ffffff;
    border: 2px solid #111111;
    border-radius: 40px;
    padding: 52px 48px 48px;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.qualification-card:hover {
    transform: translateY(-15px);
    box-shadow: 0 30px 60px rgba(0, 0, 0, 0.09);
}

/* Цветные полоски сверху */
.qualification-card.card-yes {
    border-top: 7px solid #fa842b;
}

.qualification-card.card-no {
    border-top: 7px solid #111111;
}

/* Типографика внутри плашек */
.qualification-card .comparison-title {
    font-size: 1.8rem;
    font-weight: 800;
    margin-bottom: 32px;
    line-height: 1.15;
}

/* Адаптив */
@media (max-width: 1024px) {
    .qualification-cards-grid {
        grid-template-columns: 1fr;
        gap: 35px;
    }
}

@media (max-width: 768px) {
    .features-line {
        flex-direction: column;
        gap: 12px;
    }
    .feature-divider {
        display: none;
    }
}
/* Что включено во все форматы */
.section-universal-features { padding-top: 5%; background-color: var(--color-gray-bg); text-align: center; }
.universal-title { font-size: 3rem; /* Уменьшил размер заголовка */
 font-weight: 600; text-transform: uppercase; margin-bottom: 10px; }
.universal-subtitle { font-size: 1.5rem; margin-bottom: 50px; }
.features-line { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 15px; font-size: 1.4rem; font-weight: 500; margin-bottom: 80px; max-width: 1000px; margin-left: auto; margin-right: auto; }
.feature-divider { font-weight: 300; color: #ccc; font-size: 2rem; }
.qualification-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 100px; text-align: left; max-width: 900px; margin: 0 auto; }
.qual-col h3 { font-size: 2.1rem; font-weight: 600; margin-bottom: 25px; }
.qual-list { list-style: none; padding: 0; }
.qual-list li { position: relative; padding-left: 20px; margin-bottom: 15px; font-size: 1.2rem; font-weight: 500; }
.qual-list li::before { content: "•"; position: absolute; left: 0; }
/* Footer CTA */
.section-footer-cta { background-color: var(--color-gray-bg); text-align: center; padding: 100px 0 140px; }
.footer-cta-text { max-width: 800px; margin: 0 auto 60px; }
.footer-cta-text h2 { font-size: 2rem; /* Уменьшил размер заголовка */
 font-weight: 500; line-height: 1.3; margin-bottom: 10px; letter-spacing: -0.5px; }
.footer-cta-text p { font-size: 2rem; /* Уменьшил размер */
 font-weight: 500; line-height: 1.3; letter-spacing: -0.5px; }
.footer-cta-buttons { display: flex; justify-content: center; gap: 30px; }
.btn-footer-black { display: inline-flex; align-items: center; justify-content: center; background-color: #fa842b; color: #000; padding: 25px 50px; /* Уменьшил padding кнопки */
 border-radius: 25px; text-decoration: none; font-size: 1.4rem; /* Уменьшил font-size */
 font-weight: 700; min-width: 400px; transition: transform 0.3s ease, background-color 0.3s ease; }
.btn-footer-black:hover {
    background-color: #e67724;
    color: #000;
    transform: translateY(-5px);
}
.pricing-divider { height: 2px; background-color: #000; width: 100%; margin: 40px 0; }
.section-final-cta { padding: 80px 0 120px; background-color: var(--color-gray-bg); text-align: center; }
.final-cta-title { font-size: 2.2rem; /* Уменьшил размер заголовка */
 font-weight: 900; text-transform: uppercase; margin-bottom: 25px; line-height: 1.2; }
.final-cta-desc { font-size: 1.4rem; line-height: 1.4; margin-bottom: 60px; font-weight: 400; }
.cta-buttons-group { display: flex; justify-content: center; gap: 30px; }
/* Детальные форматы */
.section-formats-detailed { padding: 100px 0; background-color: var(--color-gray-bg); }
.formats-detailed-header { text-align: center; margin-bottom: 80px; }
.formats-detailed-title { font-size: 3.2rem; /* Уменьшил размер заголовка */
 font-weight: 600; text-transform: uppercase; margin-bottom: 20px; letter-spacing: -1px; }
.formats-detailed-subtitle { font-size: 1.3rem; font-weight: 400; color: #111; max-width: 900px; margin: 0 auto; }
.formats-detailed-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 50px; margin-bottom: 80px; align-items: stretch; }
.format-col h3 { font-size: 2.2rem; /* Уменьшил размер заголовка */
 font-weight: 600; text-transform: uppercase; margin-bottom: 25px; line-height: 1; }
.format-desc { font-size: 1rem; line-height: 1.5; margin-bottom: 30px; min-height: 80px; }
.format-subhead { font-size: 1.2rem; font-weight: 600; margin-bottom: 20px; }
.format-list { list-style: none; padding: 0; margin-bottom: 40px; }
.format-list li { position: relative; padding-left: 20px; margin-bottom: 15px; font-size: 1rem; line-height: 1.4; color: #fff; }
.format-list li::before { content: "•"; position: absolute; left: 0; top: 0px; color: #fff; font-weight: bold; }
.format-note { font-size: 0.95rem; line-height: 1.5; color: #fff; }
.formats-bottom-actions { display: flex; justify-content: center; gap: 30px; }
.format-col{
        background-color: #1a1a1a;
    border-radius: 20px;
    padding: 40px;
    color: #fff;
}
/* Cases Hero */
.cases-hero {display: grid; justify-content: center; padding: 160px 0 100px; background-color: var(--color-gray-bg); background: url('../img/bg1.mp4') no-repeat center center;
    background-size: cover; }
.cases-title { font-size: 4.5rem; /* Уменьшил размер заголовка */
 font-weight: 600; line-height: 0.85; margin-bottom: 60px; letter-spacing: -4px; text-transform: uppercase; }
.cases-content-wrapper { max-width: 700px; }
.cases-subtitle { font-size: 1.4rem; font-weight: 600; margin-bottom: 55px; text-transform: none; }
.cases-desc { font-size: 1.1rem; line-height: 1.5; color: #333; margin-bottom: 40px; }
.cases-note { font-size: 1rem; line-height: 1.4; font-weight: 500; margin-top: 40px; opacity: 0.8; }
/* ========================================= */
/* 11. АДАПТИВ (MOBILE & TABLET FIXES) */
/* ========================================= */
@media (max-width: 1024px) {
    .diff-main-title { font-size: 2.5rem; text-align: center;}
    .diff-grid { grid-template-columns: 1fr; gap: 40px; }
    .diff-col { gap: 40px; text-align: center; }
    .diff-center { order: -1; }
    .services-grid-8 { grid-template-columns: 1fr 1fr; }
    .solutions-wrapper { flex-direction: column; }
    .solutions-grid { grid-template-columns: 1fr; }
    .solutions-art { height: 400px; order: -1; }
    .solutions-main-title { font-size: 3rem; }
}
@media (max-width: 900px) {
    /* Логика меню на мобильном */
    .menu-toggle { display: flex; }
    .nav-contact { display: none; }
  
    .nav-links {
        position: absolute;
        top: 100%;
        left: 0;
        width: 100%;
        background-color: #f2f2f2;
        border-bottom: 1px solid #000;
        flex-direction: column;
        align-items: center;
        padding: 40px 0;
        gap: 25px;
        opacity: 0;
        visibility: hidden;
        transform: translateY(-20px);
        transition: all 0.3s ease;
        box-shadow: 0 10px 20px rgba(0,0,0,0.1);
    }
  
    .nav-links.active { opacity: 1; visibility: visible; transform: translateY(0); }
    .nav-links a { font-size: 1.2rem; font-weight: 700; }
    .header-container { padding: 0 20px; }
    /* Анимация крестика */
    .menu-toggle.is-active span:nth-child(1) { transform: translateY(9px) rotate(45deg); }
    .menu-toggle.is-active span:nth-child(2) { opacity: 0; }
    .menu-toggle.is-active span:nth-child(3) { transform: translateY(-9px) rotate(-45deg); }
    /* ГЛОБАЛЬНЫЕ ФИКСЫ ДЛЯ HERO */
    .hero { padding: 120px 0 60px; min-height: auto; display: block; }
    .hero-wrapper { justify-content: center; margin-top: 0; }
    .hero-content { max-width: 100%; text-align: center; display: flex; flex-direction: column; align-items: center; }
    .hero-title { font-size: 2.8rem; line-height: 1.1; letter-spacing: -1px; }
    .hero-buttons { flex-direction: column; gap: 15px; }
    .btn-black { margin-right: 0; width: 100%; }
    .side-title { display: none; }
    /* Section HOW */
    .section-how { padding: 60px 0; }
    .how-wrapper { flex-direction: column; gap: 40px; }
    .how-image-box { padding: 20px; border-radius: 40px; order: -1; }
    .how-title { font-size: 2.2rem; text-align: center; margin-bottom: 30px; }
    .how-list li { font-size: 1.1rem; }
    .how-text { font-size: 1.2rem; }
    .how-content { display: flex; flex-direction: column; align-items: center; }
    /* Other Fixes */
    .formats-grid { flex-direction: column; align-items: center; }
    .format-card { width: 100%; height: 100px; }
    .tiers-grid { grid-template-columns: 1fr; gap: 60px; }
    .tier-subtitle { min-height: auto; }
    .formats-detailed-grid { grid-template-columns: 1fr; gap: 60px; }
    .format-desc { min-height: auto; }
    .formats-detailed-title { font-size: 2.5rem; }
    .cases-title { font-size: 3rem; letter-spacing: -2px; }
    .levelup-title { font-size: 2.2rem; }
    .levelup-steps { grid-template-columns: 1fr; }
    .step-card { padding: 30px; }
    .step-num { font-size: 4rem; margin-right: 20px; }
    .step-text { font-size: 1.3rem; }
    .call-title { font-size: 2.2rem; margin-bottom: 40px; }
    .call-grid { grid-template-columns: 1fr; gap: 20px; margin-bottom: 60px; }
    .call-buttons { flex-direction: column; }
    .btn-call { padding: 25px; font-size: 1.1rem; }
    .footer-cta-text h2, .footer-cta-text p { font-size: 1.5rem; }
    .footer-cta-buttons { flex-direction: column; align-items: center; }
    .btn-footer-black { min-width: 100%; width: 100%; padding: 20px; font-size: 1.2rem; }
}
@media (max-width: 768px) {
    .services-grid-8 { grid-template-columns: 1fr; }
    .services-main-intro { font-size: 1.5rem; }
    .personal-brand-packages { flex-direction: column; gap: 20px; }
    .personal-brand-title { font-size: 2.5rem; }
    .pb-package-name { font-size: 2rem; }
    .qualification-grid { grid-template-columns: 1fr; gap: 50px; }
    .universal-title { font-size: 2.2rem; }
    .features-line { font-size: 1.1rem; }
    .how-work-title, .final-cta-title { font-size: 1.8rem; }
    .how-work-text, .final-cta-desc { font-size: 1.1rem; }
    .cta-buttons-group { flex-direction: column; align-items: center; }
    .formats-bottom-actions { flex-direction: column; }
}
@media (max-width: 768px) {
    .nav-contact-wrapper {
        display: none; /* на мобилке скрываем в шапке */
    }
    #nav-list.active .nav-contact-wrapper {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 16px;
        margin-top: 24px;
    }
}
@media (max-width: 480px) {
  
    .hero-title { font-size: 2.4rem; }
    .hero-logo-circle { width: 90px; height: 90px; }
    .format-card { font-size: 1.4rem; padding: 10px; }
    .btn-zoom-large { padding: 20px 40px; font-size: 1.2rem; width: 100%; text-align: center; }
}
/* Специфические стили для страницы Approach */
.approach-hero {
    padding: 160px 0 80px;
    background-color: var(--color-gray-bg);
}
.approach-subtitle-large {
    font-size: clamp(1.5rem, 2.5vw, 2.2rem);
    font-weight: 600;
    margin-bottom: 40px;
    text-transform: none; /* Как на скриншоте */
}
.approach-content p {
    font-size: 1.1rem;
    line-height: 1.5;
    margin-bottom: 25px;
    font-weight: 500;
}
.approach-list {
    list-style: none;
    margin-bottom: 35px;
}
.approach-list li {
    font-size: 1.1rem;
    font-weight: 500;
    margin-bottom: 12px;
    position: relative;
    padding-left: 20px;
}
.approach-list li::before {
    content: "•";
    position: absolute;
    left: 0;
    font-weight: 900;
}
.approach-footer-text {
    opacity: 0.9;
    max-width: 90%;
}
/* Фикс для картинки на больших экранах, чтобы монстр не улетал слишком далеко */
.approach-hero .hero-image img {
    width: clamp(450px, 40vw, 850px);
}
/* Адаптив для мобилок (текст сверху, монстр снизу) */
@media (max-width: 1024px) {
    .approach-hero .hero-flex-layout {
        flex-direction: column;
        text-align: left;
    }
    .approach-hero .hero-image {
        order: 2; /* Монстр уходит вниз */
        margin-top: 40px;
        justify-content: center;
    }
}
/* Стили модального окна */
.modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.7);
    display: none; /* Скрыто по умолчанию */
    justify-content: center;
    align-items: center;
    z-index: 2000;
    backdrop-filter: blur(5px);
}
.modal-content {
    background: var(--color-gray-bg);
    padding: 40px;
    border-radius: 30px;
    width: 100%;
    max-width: 450px;
    position: relative;
    text-align: center;
    box-shadow: 0 20px 40px rgba(0,0,0,0.2);
}
.modal-close {
    position: absolute;
    top: 20px;
    right: 20px;
    background: none;
    border: none;
    font-size: 30px;
    cursor: pointer;
    line-height: 1;
}
.callback-form {
    margin-top: 25px;
    display: flex;
    flex-direction: column;
    gap: 15px;
}
.form-group input, .form-group textarea {
    width: 100%;
    padding: 15px 20px;
    border-radius: 15px;
    border: 1px solid rgba(0,0,0,0.1);
    font-family: var(--font-main);
    font-size: 1rem;
    outline: none;
}
.form-group input:focus {
    border-color: #000;
}
.form-group textarea {
    height: 100px;
    resize: none;
}
.form-note {
    font-size: 0.8rem;
    color: #777;
    margin-top: 20px;
}
/* Адаптив для мобилок */
@media (max-width: 768px) {
    .modal-content {
        width: 90%;
        padding: 30px 20px;
    }
}
/* Блок Системного подхода */
.approach-system {
    padding: 100px 0;
    background-color: var(--color-gray-bg);
}
.approach-columns {
    display: flex;
    gap: 100px; /* Большой отступ между колонками */
    margin-top: 60px;
}
.approach-col {
    flex: 1;
}
.approach-col-title {
    font-size: 1.8rem; /* Уменьшил размер заголовка */
    font-weight: 800;
    margin-bottom: 30px;
}
.approach-col-intro {
    font-size: 1.1rem;
    font-weight: 500;
    margin-bottom: 15px;
}
.approach-footer-wide {
    font-size: 1.8rem;
    font-weight: 700;
    margin-top: 80px;
    line-height: 1.3;
    max-width: 1000px;
}
/* Адаптив для 2К и мобилок */
@media (max-width: 1024px) {
    .approach-columns {
        flex-direction: column;
        gap: 50px;
    }
    .approach-footer-wide {
        font-size: 1.4rem;
    }
}
@media (min-width: 2000px) {
    .approach-columns {
        gap: 200px; /* Еще больше воздуха на 2К мониторах */
    }
}
/* Сетка этапов */
.approach-stages {
    padding: 100px 0;
}
.stages-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* 3 колонки */
    gap: 60px; /* Расстояние между этапами */
    align-items: start;
}
.stage-item {
    background-color: #1a1a1a;
    border-radius: 20px;
    padding: 40px;
    color: #fff;
}
.stages-grid {
    justify-content: center;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
}
.stage-item {
    display: flex;
    flex-direction: column;
    height: 100%;
}
.stages-grid1 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}
.stages-grid2 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
}
.stage-number {
    font-size: 1.6rem; /* Уменьшил размер */
    font-weight: 900;
    line-height: 1.1;
    margin-bottom: 25px;
    text-transform: uppercase;
}
.stage-intro {
    font-size: 1rem;
    margin-bottom: 35px;
    font-weight: 500;
    opacity: 0.8;
}
.stage-sub-block {
    margin-bottom: 30px;
}
.stage-sub-title {
    font-size: 1.8rem; /* Уменьшил размер заголовка */
    font-weight: 800;
    margin-bottom: 15px;
}
.stage-result {
    margin-top: auto; /* Прижимает результат к низу, если контента мало */
    padding-top: 20px;
}
.stage-result p {
    font-weight: 500;
    line-height: 1.4;
}
/* Адаптив: на планшетах и мобилках в одну колонку */
@media (max-width: 1100px) {
    .stages-grid{
        grid-template-columns: 1fr;
        gap: 80px;
    }
.stages-grid1{
        grid-template-columns: 1fr;
        gap: 80px;
    }
    .stages-grid2{
        grid-template-columns: 1fr;
        gap: 80px;
    }
    .stage-number {
        font-size: 1.5rem;
    }
}
/* Настройка для 2К мониторов: увеличим отступы, чтобы текст не слипался */
@media (min-width: 2000px) {
  
}
/* Блок таймлайна 30/60/90 */
.approach-timeline {
    padding: 100px 0;
    background-color: var(--color-gray-bg);
}
.timeline-header {
    text-align: center;
    margin-bottom: 80px;
}
.timeline-title {
    font-size: clamp(1.8rem, 3vw, 3rem); /* Уменьшил размер заголовка */
    font-weight: 600;
    margin-bottom: 20px;
}
.timeline-subtitle {
    font-size: 1.2rem;
    font-weight: 500;
    opacity: 0.8;
}
/* Стили для блока "Вы чувствуете" */
.stage-feeling {
    margin-top: 40px;
    padding-top: 20px;
    border-top: 1px solid rgba(0,0,0,0.1);
}
.feeling-label {
    font-weight: 400;
    font-size: 1.1rem;
    margin-bottom: 10px;
}
.feeling-text {
    font-style: italic;
    font-weight: 500;
    line-height: 1.4;
    max-width: 250px;
}
/* Тонкая настройка сетки для этого блока */
.approach-timeline .stages-grid {
    gap: 100px;
}
@media (max-width: 1024px) {
    .approach-timeline .stages-grid .stages-grid1{
        gap: 60px;
        text-align: center;
    }
    .feeling-text {
        margin: 0 auto;
    }
}
/* Блок участия и фильтрации */
.approach-participation {
    padding: 100px 0;
    background-color: var(--color-gray-bg);
}
.participation-header {
    text-align: center;
    margin-bottom: 80px;
}
.participation-title {
    font-size: clamp(2rem, 3.5vw, 3.5rem); /* Уменьшил размер заголовка */
    font-weight: 900;
    margin-bottom: 15px;
}
.participation-subtitle {
    font-size: 1.3rem;
    font-weight: 500;
}
/* Сравнение в две колонки */
.participation-comparison {
    display: flex;
    justify-content: center;
    gap: 150px; /* Большой отступ между колонками */
    margin-bottom: 80px;
    margin-top: 80px;
}
.comparison-col {
    width: 350px;
}
.comparison-title {
    font-size: 1.6rem; /* Уменьшил размер заголовка */
    font-weight: 800;
    margin-bottom: 25px;
}
/* Выделение ролей (Бизнес / Рост) */
.role-highlight {
    margin-top: 40px;
    font-size: 1.6rem;
    font-weight: 700;
}
/* Отступ для второй части блока */
.filter-section {
    margin-top: 100px;
    border-top: 1px solid rgba(0,0,0,0.05);
    padding-top: 80px;
    margin-bottom: 0;
}
/* Адаптив */
@media (max-width: 1024px) {
    .participation-comparison {
        flex-direction: column;
        align-items: center;
        gap: 60px;
        text-align: center;
    }
  
    .filter-section {
        margin-top: 60px;
    }
}
/* Настройка для 2К мониторов */
@media (min-width: 2000px) {
    .participation-comparison {
        gap: 250px;
    }
}
.footer {
  background: #0f0f0f;
  color: #fff;
  padding: 40px var(--container-padding) 20px; /* Исправил padding, чтобы боковые отступы были как в контенте */
}
.footer__container {
  max-width: var(--container-width); /* Синхронизировал с --container-width */
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  flex-wrap: wrap;
}
.footer__logo {
  width: 10%;
}
.footer__nav {
  display: flex;
  gap: 25px;
  flex-wrap: wrap;
}
.footer__nav a {
  color: #fff;
  text-decoration: none;
  font-size: 15px;
  opacity: 0.8;
  transition: opacity 0.2s;
}
.footer__nav a:hover {
  opacity: 1;
}
.footer__socials {
  display: flex;
  gap: 15px;
}
.footer__socials img {
  width: 24px;
  height: 24px;
  filter: invert(1);
}
.footer__bottom {
  margin-top: 30px;
  text-align: center;
  font-size: 13px;
  opacity: 0.6;
}
/* 📱 Мобилка */
@media (max-width: 768px) {
  .footer__container {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
  .footer__nav {
    justify-content: center;
  }
  .footer {
    padding: 40px 24px 20px; /* Чуть увеличил для мобильных */
  }
}
/* Более комфортные боковые отступы на MacBook 14/16 */
@media (min-width: 1200px) and (max-width: 1800px) {
    :root {
        --container-padding: 8vw; /* Увеличил % для большего отступа */
    }
}
@media (min-width: 1400px) {
    :root {
        --container-padding: 112px; /* Увеличил фиксированный padding */
    }
}
@media (min-width: 1800px) {
    :root {
        --container-padding: 144px; /* Ещё больше для больших экранов */
    }
}
@media (min-width: 1400px) and (max-width: 1800px) {
    .who-grid {
        max-width: 1000px;
        gap: 100px 160px; /* Увеличил gap */
    }
}
@media (max-width: 1600px) {
    .hero-content {
        width: 50%;
        min-width: 540px;
    }
    .diff-main-title { font-size: 4rem; }
}
@media (max-width: 1400px) {
    .hero-content {
        width: 55%;
        min-width: 480px;
    }
}
@media (max-width: 1024px) {
    .hero {
        padding-top: 100px;
        min-height: auto;
    }
    .hero-wrapper { justify-content: center; }
    .hero-content {
        width: 100%;
        min-width: unset;
        max-width: 780px;
        text-align: center;
        align-items: center;
        padding-top: 60px;
    }
}
@media (min-width: 1400px) {
    .solutions-wrapper {
        gap: 48px;
    }
}
/* ========================================= */
/* Медиа-запросы — общая часть */
/* ========================================= */
/* Планшеты и маленькие ноутбуки */
@media (max-width: 1200px) {
    :root {
        --container-padding: 48px; /* Увеличил */
    }
    .hero-title { font-size: clamp(2.8rem, 5.5vw, 5rem); }
}
/* MacBook 14/16 и подобные — основной фокус */
@media (min-width: 1201px) and (max-width: 1800px) {
    .container {
        padding: 0 9vw; /* Увеличил */
    }
    .hero-content {
        padding-right: 6vw; /* Увеличил */
    }
    .section-who .who-grid {
        max-width: 1000px;
    }
    .diff-grid {
        max-width: 1200px;
    }
}
/* Очень большие экраны (> 1800) */
@media (min-width: 1801px) {
    :root {
        --container-width: 1480px; /* Уменьшил для большего отступа */
        --container-padding: 144px;
    }
}
/* Мобильные и маленькие планшеты — оставляем почти как было */
@media (max-width: 900px) {
    :root {
        --container-padding: 28px; /* Чуть увеличил */
    }
    .menu-toggle { display: flex; }
    .nav-links {
        /* … твой мобильный бургер … */
    }
    .hero-content { padding-top: 80px; }
    .who-grid { grid-template-columns: 1fr; gap: 60px; }
}


/* Дополнительный адаптив для уменьшения элементов на средних экранах */
@media (max-width: 1600px) {
    .hero-title {
        font-size: clamp(2.5rem, 4vw, 5.5rem);
    }
    .btn-black {
        padding: 18px 35px;
        font-size: 0.95rem;
    }
    .btn-process {
        padding: 18px 35px;
        font-size: 0.95rem;
    }
    .diff-main-title {
        font-size: clamp(3rem, 5vw, 5rem);
    }
    .how-title {
        font-size: 2rem;
    }
    .solutions-main-title {
        font-size: 4rem;
    }
    .levelup-title {
        font-size: 4rem;
    }
    .call-title {
        font-size: 4.5rem;
    }
    .services-main-intro {
        font-size: 1.8rem;
    }
    .formats-title {
        font-size: 2.5rem;
    }
    .personal-brand-title {
        font-size: 2.8rem;
    }
    .universal-title {
        font-size: 3rem;
    }
    .footer-cta-text h2, .footer-cta-text p {
        font-size: 1.8rem;
    }
    .final-cta-title {
        font-size: 2rem;
    }
    .formats-detailed-title {
        font-size: 3rem;
    }
    .cases-title {
        font-size: 4rem;
    }
    .approach-col-title {
        font-size: 1.8rem;
    }
    
    .stage-sub-title {
        font-size: 1.8rem;
    }
    .timeline-title {
        font-size: clamp(1.8rem, 3vw, 3rem);
    }
    .participation-title {
        font-size: clamp(2rem, 3.5vw, 3.5rem);
    }
    .comparison-title {
        font-size: 1.6rem;
    }
}

/* overlay */

.visa-modal{
position:fixed;
inset:0;
display:none;
align-items:center;
justify-content:center;
z-index:1000;
}

.visa-modal.active{
display:flex;
}

.visa-modal-overlay{
position:absolute;
inset:0;
background:rgba(0,0,0,0.55);
backdrop-filter:blur(4px);
}

/* окно */

.visa-modal-box{
position:relative;
background:#fff;
border-radius:24px;
padding:40px;
max-width:1100px;
width:90%;
max-height:90vh;
overflow:auto;
box-shadow:0 30px 80px rgba(0,0,0,0.4);
animation:modalFade .35s ease;
}

/* заголовок */

.visa-modal-title{
text-align:center;
font-size:28px;
font-weight:700;
margin-bottom:30px;
}

/* таблица */

.visa-modal-table{
display:flex;
flex-direction:column;
gap:14px;
}

/* header */

.visa-modal-head{
display:grid;
grid-template-columns:120px 1fr 1fr 1fr 120px;
font-weight:700;
font-size:14px;
padding-bottom:10px;
border-bottom:2px solid #000;
}

/* строки */

.visa-modal-row{
display:grid;
grid-template-columns:120px 1fr 1fr 1fr 120px;
gap:16px;
padding:20px;
border-radius:16px;
background:#f7f7f7;
font-size:14px;
line-height:1.5;
transition:.25s;
}

.visa-modal-row:hover{
transform:translateY(-3px);
box-shadow:0 10px 25px rgba(0,0,0,0.1);
}

/* уровень */

.plan{
font-weight:700;
}

/* цена */

.price{
font-weight:700;
}

/* заметка */

.visa-modal-note{
margin-top:25px;
font-size:14px;
text-align:center;
color:#555;
}

/* крестик */

.visa-modal-close{
position:absolute;
top:18px;
right:20px;
font-size:28px;
border:none;
background:none;
cursor:pointer;
}

/* анимация */

@keyframes modalFade{

from{
opacity:0;
transform:translateY(20px) scale(.95);
}

to{
opacity:1;
transform:translateY(0) scale(1);
}

}

/* адаптив */

@media (max-width:900px){

.visa-modal-head{
display:none;
}

.visa-modal-row{
grid-template-columns:1fr;
gap:10px;
}

.visa-modal-box{
padding:30px 20px;
}

}

/* trust proof section */

.visa-proof{
padding:120px 0;
}

.visa-proof-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:28px;
max-width:1000px;
margin:auto;
}

/* карточка */

.visa-proof-item{
padding:45px 40px;
border-radius:28px;
border:1px solid #000;
background:#fff;

display:flex;
flex-direction:column;
gap:12px;

transition:.35s;
}

.visa-proof-item:hover{
transform:translateY(-6px);
box-shadow:0 18px 45px rgba(0,0,0,0.15);
}

/* центральная карточка */

.visa-proof-item.dark{
background:#000;
color:#fff;
border:none;
}

/* цифра */

.visa-proof-number{
font-size:42px;
font-weight:700;
line-height:1;
}

/* текст */

.visa-proof-text{
font-size:14px;
line-height:1.6;
max-width:260px;
}

/* адаптив */

@media (max-width:900px){

.visa-proof-grid{
grid-template-columns:1fr;
gap:20px;
}

.visa-proof-item{
padding:30px 26px;
}

}