/* ============================================================
   ООО «Гарантия» — вариант 2 (www2)
   Макет и приёмы — по референсу Regalis (reactheme.com, homepage-2),
   цвета — по ТЗ, правило 60/30/10:
   60% фон — слоновая кость #FDF5E6
   30% шапка/подвал/крупные блоки — тёмный шоколад #3E2723 (#4A2C2A)
   10% акценты — золото #C5A059 и navy #1A2A3A (заголовки, CTA-кнопки)
   Заголовки Jost, текст Manrope.
   ============================================================ */
:root {
    --dark:    #3E2723;  /* шоколад — шапка, подвал */
    --dark-2:  #4A2C2A;  /* шоколад светлее */
    --dark-3:  #3a241e;  
    --primary: #1A2A3A;  /* navy — заголовки, CTA */
    --navy-2:  #24405E;
    --gold:    #C5A059;  /* золото — акценты, иконки */
    --text:    #7A6F63;  /* тёплый серо-коричневый текст */
    --light:   #FDF5E6;  /* слоновая кость — основной фон */
    --light-2: #F6EBD5;  /* беж чуть глубже — чередование секций */
    --border:  #E8DCC4;
    --white:   #FFFFFF;
    --white-60:#FFF8EC99;
    --white-20:#FFF8EC33;
    --font-head: 'Jost', Arial, sans-serif;
    --font-body: 'Manrope', Arial, sans-serif;
}

* { margin: 0; padding: 0; box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
    font-family: var(--font-body);
    font-size: 16px;
    line-height: 1.85;
    letter-spacing: -0.16px;
    color: var(--text);
    background: var(--light); /* 60% — слоновая кость */
}

img { max-width: 100%; height: auto; display: block; }
ul  { list-style: none; }
a   { color: var(--primary); }

/* Базовая ширина контента — 1700px, ниже адаптация под стандартные разрешения */
.container {
    max-width: 1700px;
    margin: 0 auto;
    padding: 0 20px;
}
@media (max-width: 1919px) { .container { max-width: 1600px; } }
@media (max-width: 1699px) { .container { max-width: 1440px; } }
@media (max-width: 1535px) { .container { max-width: 1360px; } }
@media (max-width: 1439px) { .container { max-width: 1280px; } }
@media (max-width: 1365px) { .container { max-width: 1200px; } }
@media (max-width: 1279px) { .container { max-width: 100%; } }

.section { padding: 90px 0; }

h1, h2, h3, h4 {
    font-family: var(--font-head);
    font-weight: 600;
    color: var(--primary);
    line-height: 1.2;
    letter-spacing: normal;
}

/* «Надзаголовок» в стиле Regalis */
.eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-family: var(--font-head);
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--gold);
    margin-bottom: 14px;
}
.eyebrow::before {
    content: '';
    width: 28px;
    height: 2px;
    background: var(--gold);
}
.eyebrow--light { color: var(--gold); }

.section-title {
    font-size: 42px;
    max-width: 720px;
    margin-bottom: 24px;
}
.section-title--light { color: var(--white); }
.section-head { margin-bottom: 48px; }
.section-head--center { text-align: center; }
.section-head--center .section-title { margin-left: auto; margin-right: auto; }
.section-head--center .eyebrow::after {
    content: '';
    width: 28px;
    height: 2px;
    background: var(--gold);
}

/* ---------- Кнопки ---------- */
.btn {
    display: inline-block;
    border: none;
    cursor: pointer;
    text-decoration: none;
    text-align: center;
    font-family: var(--font-head);
    font-size: 16px;
    font-weight: 500;
    letter-spacing: .4px;
    text-transform: uppercase;
    border-radius: 2px;
    transition: background .25s, color .25s, box-shadow .25s;
}
/* CTA-кнопки по ТЗ — тёмно-синие */
.btn-cta {
    background: var(--primary);
    color: var(--white);
    padding: 16px 38px;
}
.btn-cta:hover { background: var(--gold); color: var(--dark); }

/* На тёмном hero кнопка «Оставить заявку» — инвертированный ховер:
   по умолчанию золотая (заметна на тёмном фоне), при наведении — navy */
.hero .btn-cta {
    background: var(--gold);
    color: var(--dark);
}
.hero .btn-cta:hover {
    background: var(--primary);
    color: var(--white);
}

.btn-cta2 {
    background: var(--gold);
    color: var(--dark);
    padding: 16px 38px;
}
.btn-cta2:hover { background: var(--primary); color: var(--white); }

.btn-outline {
    background: transparent;
    color: var(--white);
    border: 1px solid var(--white-20);
    padding: 15px 38px;
}
.btn-outline:hover { border-color: var(--gold); color: var(--gold); }
.btn-sm { font-size: 13px; padding: 10px 22px; }
.btn-lg { width: 100%; }

/* ============================================================
   Блок 1: Шапка (тёмная, как в Regalis)
   ============================================================ */
.site-header {
    background: var(--dark);
    position: sticky;
    top: 0;
    z-index: 100;
}

/* Верхняя строка: девиз + адрес + отзывы */
.header-topline {
    border-bottom: 1px solid var(--white-20);
    background: var(--dark-2);
}
.header-topline-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 24px;
    padding-top: 8px;
    padding-bottom: 8px;
    font-size: 14px;
}
.header-motto {
    color: var(--white-60);
    font-family: var(--font-head);
    letter-spacing: .5px;
    text-transform: uppercase;
    font-size: 14px;
}
.topline-right {
    display: flex;
    gap: 28px;
    align-items: center;
}
.header-address { color: var(--white-60); }

/* Отзывы — тонкие полупрозрачные пилюли (как кнопки мессенджеров, но компактнее) */
.header-reviews {
    display: flex;
    align-items: center;
    gap: 7px;
}
.header-reviews-label { color: var(--white-60); font-size: 13px; }
.review-btn {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 3px 11px;
    font-family: var(--font-head);
    font-size: 12px;
    font-weight: 500;
    line-height: 1;
    color: var(--white);
    background: rgba(255,255,255,.06);
    border: 1px solid var(--white-20);
    border-radius: 40px;
    text-decoration: none;
    transition: background .2s, border-color .2s, transform .2s;
}
.review-btn:hover {
    background: rgba(255,255,255,.14);
    border-color: var(--gold);
    transform: translateY(-1px);
}
.review-btn .rb-ic { flex-shrink: 0; }
.rb-ya   { color: #FC3F1D; } /* Яндекс */
.rb-gg   { color: #4285F4; } /* Google */
.rb-2gis { color: #2FA84F; } /* 2ГИС */

/* Контакты+отзывы внизу мобильного меню (по умолчанию скрыты — только для бургера) */
.nav-extra { display: none; }

/* Основная строка: логотип + меню + телефон */
.header-main {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
    background: var(--dark);
}
.header-logo {
    display: flex;
    align-items: center;
    gap: 12px;
    text-decoration: none;
    padding: 14px 0;
}
.logo-text {
    font-family: var(--font-head);
    font-size: 26px;
    font-weight: 700;
    letter-spacing: .08em;
    color: var(--white);
}

.nav-list {
    display: flex;
    gap: 4px;
}
.nav-item { position: relative; }
.nav-link {
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 30px 14px;
    background: none;
    border: none;
    cursor: pointer;
    font-family: var(--font-head);
    font-size: 22px;
    font-weight: 500;
    color: var(--white);
    text-decoration: none;
    transition: color .25s;
}
.nav-link svg { opacity: .6; transition: transform .25s; }
.nav-item:hover > .nav-link,
.nav-item.is-active > .nav-link { color: var(--gold); }
.nav-item:hover > .nav-link svg { transform: rotate(180deg); }

/* Выпадающие окна: белые, плавное появление (hover) */
.dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 320px;
    background: var(--white);
    box-shadow: 0 18px 44px rgba(62,39,35,.18);
    border-top: 2px solid var(--gold);
    opacity: 0;
    visibility: hidden;
    transform: translateY(14px);
    transition: opacity .3s ease, transform .3s ease, visibility .3s;
    z-index: 50;
    padding: 8px 0;
}
.has-dropdown:hover .dropdown,
.has-dropdown.is-open .dropdown {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}
.dropdown a {
    display: block;
    padding: 9px 24px;
    color: var(--primary);
    font-size: 16px;
    text-decoration: none;
    transition: background .2s, color .2s, padding-left .2s;
}
.dropdown a:hover {
    background: var(--light);
    color: var(--dark);
    padding-left: 30px;
}

/* Мега-меню: заголовок + услуги в два столбика (по файлу заказчика) */
.dropdown--mega {
    width: 880px;
    left: 50%;
    transform: translate(-50%, 14px);
    padding: 22px 28px 24px;
}

.dropdown--mega.long {
    width: 1000px;
    left: 100%;
    transform: translate(-50%, 14px);
    padding: 22px 28px 24px;
}

.has-dropdown:hover .dropdown--mega,
.has-dropdown.is-open .dropdown--mega {
    transform: translate(-50%, 0);
}
.dropdown-heading {
    font-family: var(--font-head);
    font-size: 22px;
    font-weight: 600;
    color: var(--primary);
    padding-bottom: 12px;
    margin-bottom: 10px;
    border-bottom: 2px solid var(--gold);
}
.dropdown-cols {
    display: flex;
    gap: 0 32px;
}
.dropdown-col { flex: 1; min-width: 0; }
.dropdown--mega .dropdown-cols a {
    padding: 8px 4px;
    border-bottom: 1px solid var(--border);
    line-height: 1.4;
}
.dropdown--mega .dropdown-col li:last-child a { border-bottom: none; }
.dropdown--mega .dropdown-cols a:hover {
    background: var(--light);
    padding-left: 12px;
}

/* Телефон-«icon box» справа */
.header-callbox {
    display: flex;
    align-items: center;
    gap: 14px;
    text-decoration: none;
}
.callbox-icon {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: var(--gold);
    color: var(--dark);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.callbox-text small {
    display: block;
    font-size: 12px;
    color: var(--white-60);
    line-height: 1.3;
}
.callbox-text strong {
    font-family: var(--font-head);
    font-size: 19px;
    font-weight: 600;
    color: var(--white);
    white-space: nowrap;
    transition: color .25s;
}
.header-callbox:hover .callbox-text strong { color: var(--gold); }

/* Бургер */
.nav-toggle {
    display: none;
    flex-direction: column;
    gap: 5px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 6px;
}
.nav-toggle span {
    width: 26px;
    height: 2px;
    background: var(--white);
}

/* ============================================================
   Блок 2: Текстовый триггер
   ============================================================ */
.trigger-block {
    background: var(--light);
    padding: 34px 0;
}
.trigger-text {
    font-family: var(--font-head);
    font-size: 24px;
    font-weight: 500;
    line-height: 1.5;
    text-align: center;
    color: var(--primary);
    max-width: 1100px;
    margin: 0 auto;
}
.trigger-text strong { color: var(--gold); font-weight: 600; }

/* ============================================================
   Блок 3: Первый экран (тёмный hero, картинка на всю ширину)
   ============================================================ */
.hero {
    position: relative;
    background: #0b2737;
    overflow: hidden;
}
.hero-img {
    width: 100%;
    max-height: 100vh;
    object-fit: contain;
   /*  opacity: .55;
    Параллакс: JS двигает картинку медленнее скролла; запас по масштабу — чтобы не было зазоров */
    transform: scale(1.15);
    will-change: transform;
}
/* Баннер аутсорсинга: заполняем по ширине и прижимаем к правому краю —
   правая часть кадра всегда видна, обрезается слева (без параллакса) */
.hero-img--right {
    object-fit: cover;
    object-position: right center;
    max-height: 82vh;
    transform: none;
    will-change: auto;
}
.hero-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
   /* background: linear-gradient(90deg, rgba(62,39,35,.85) 0%, rgba(62,39,35,.35) 55%, transparent 100%);*/
}
.hero-overlay .container { width: 100%; }
.hero-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-family: var(--font-head);
    font-size: 14px;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    color: var(--gold);
    margin-bottom: 20px;
}
.hero-eyebrow::before { content: ''; width: 34px; height: 2px; background: var(--gold); }
.hero-title {
    max-width: 720px;
    font-size: clamp(30px, 3.4vw, 62px);
    font-weight: 600;
    color: var(--white);
    margin-bottom: 30px;
}
.hero-title em { color: var(--gold); font-style: normal; }
.hero-actions { display: flex; gap: 16px; flex-wrap: wrap; }

/* ============================================================
   Блок 4: Текстовый бенефит + счётчики (Regalis counters)
   ============================================================ */
.benefit-block { padding: 50px 0 0; }
.benefit-text {
    font-family: var(--font-head);
    font-size: 30px;
    font-weight: 500;
    line-height: 1.45;
    text-align: center;
    color: var(--primary);
    max-width: 980px;
    margin: 0 auto 64px;
}
.benefit-text em { color: var(--gold); font-style: normal; font-weight: 600; }

.counters {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    text-align: center;
}
.counter-num {
    font-family: var(--font-head);
    font-size: 56px;
    font-weight: 600;
    color: var(--primary);
    line-height: 1.1;
}
.counter-num em { color: var(--gold); font-style: normal; }
.counter-label {
    font-size: 15px;
    color: var(--text);
    margin-top: 6px;
}

/* ============================================================
   Блок 5: Информационные вкладки услуг
   ============================================================ */
.section--light { background: var(--light-2); }

.services-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 32px;
}
.service-card {
    background: var(--white);
    border: 1px solid var(--border);
    padding: 40px 44px;
    transition: box-shadow .3s, transform .3s;
}
.service-card:hover {
    box-shadow: 0 22px 54px rgba(62,39,35,.12);
    transform: translateY(-4px);
}
.service-card h3 {
    font-size: 26px;
    margin-bottom: 22px;
    padding-bottom: 16px;
    border-bottom: 2px solid var(--gold);
}
/* Списки услуг в карточках — в два столбика, как в меню */
.service-card ul {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 28px;
    align-items: start;
}
.service-card a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 11px 2px;
    color: var(--primary);
    font-weight: 600;
    font-size: 15px;
    text-decoration: none;
    border-bottom: 1px solid var(--border);
    transition: color .2s, padding-left .2s;
}
.service-card li:last-child a { border-bottom: none; }
.service-card a::after {
    content: '→';
    color: var(--gold);
    font-size: 18px;
    transition: transform .2s;
}
.service-card a:hover { color: var(--gold); padding-left: 8px; }
.service-card a:hover::after { transform: translateX(4px); }

/* ============================================================
   Блок 6: Форма (тёмно-синяя секция)
   ============================================================ */
/* Параллакс-фон: фиксированная картинка под navy-подложкой */
.section-form {
    background: linear-gradient(rgba(26,42,58,.94), rgba(26,42,58,.94)),
                url('../img/home_01.jpg') center / cover fixed no-repeat;
}
.form-wrap {
    display: grid;
    grid-template-columns: 1.1fr 1fr;
    gap: 64px;
    align-items: center;
}
.form-offer-title {
    color: var(--white);
    font-size: 44px;
    line-height: 1.1;
    margin-bottom: 18px;
}
/* Цена — золотой «маркер», как в скриншоте */
.offer-price {
    display: inline-block;
    background: var(--gold);
    color: var(--dark);
    font-family: var(--font-head);
    font-size: 28px;
    font-weight: 600;
    padding: 8px 22px;
    margin-bottom: 26px;
}
.offer-list li {
    position: relative;
    padding: 10px 0 9px 38px;
    color: var(--white-60);
    font-size: 18px;
}

.offer-list li::before {
    content: '✓';
    position: absolute;
    left: 0;
    top: 14px;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: var(--gold);
    color: var(--dark);
    font-size: 14px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
}

.offer-cheese {padding: 30px 0 9px 38px;
    color: var(--white-60);
    font-size: 18px; color:#f6007b}

/* Инфо-бокс под списком — тёмная плашка с иконкой весов (по скриншоту) */
.offer-note {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    margin-top: 28px;
    padding: 22px 24px;
    background: rgba(0,0,0,.22);
    border: 1px solid var(--white-20);
    border-radius: 4px;
}
.offer-note-icon { color: var(--gold); flex-shrink: 0; margin-top: 2px; }
.offer-note p { color: var(--white); font-size: 18px; line-height: 1.5; }

.lead-form {
    background: var(--white);
    padding: 44px;
    box-shadow: 0 24px 60px rgba(62,39,35,.35);
}
.lead-form-title {
    text-align: center;
    font-size: 34px;
    margin-bottom: 6px;
}
.lead-form-sub {
    text-align: center;
    color: var(--text);
    font-size: 15px;
    margin-bottom: 26px;
}
.form-field { display: block; margin-bottom: 18px; }
.form-field span {
    display: block;
    font-family: var(--font-head);
    font-size: 14px;
    font-weight: 500;
    margin-bottom: 7px;
    color: var(--primary);
}
.form-field input {
    width: 100%;
    padding: 14px 16px;
    font-size: 15px;
    font-family: var(--font-body);
    border: 1px solid var(--border);
    border-radius: 2px;
    background: var(--white);
    color: var(--primary);
}
.form-field input:focus {
    outline: none;
    border-color: var(--gold);
    box-shadow: 0 0 0 3px rgba(234,166,56,.2);
}
.form-check {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    font-size: 13px;
    line-height: 1.5;
    margin: 16px 0 22px;
    cursor: pointer;
}
.form-check input { margin-top: 3px; accent-color: var(--gold); }
.form-errors {
    background: #fdecea;
    border: 1px solid #d84315;
    color: #bf360c;
    padding: 12px 16px;
    margin-bottom: 16px;
    font-size: 14px;
}
.hp-field {
    position: absolute !important;
    left: -9999px !important;
    width: 1px; height: 1px;
    opacity: 0;
}
/* Соцсети под кнопкой */
.lead-form-social {
    display: flex;
    justify-content: center;
    gap: 14px;
    margin-top: 24px;
}
.lead-form-social a {
    width: 44px;
    height: 44px;
    display: flex;
    align-items: baseline;
    justify-content: center;
    color: var(--primary);
    transition: background .25s, color .25s, border-color .25s;
}
.lead-form-social a:hover {
   
}
.lead-form-social-label {
    text-align: center;
    color: var(--text);
    font-size: 13px;
    margin-top: 10px;
}

/* ============================================================
   Блок 7: Отзывы
   ============================================================ */
.reviews-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
}
.review-card {
    background: var(--white);
    border: 1px solid var(--border);
    padding: 36px 32px;
    position: relative;
    transition: box-shadow .3s, transform .3s;
}
.review-card:hover {
    box-shadow: 0 22px 54px rgba(62,39,35,.12);
    transform: translateY(-4px);
}
.review-card::before {
    content: '“';
    font-family: Georgia, serif;
    font-size: 84px;
    line-height: 1;
    color: var(--gold);
    display: block;
    height: 44px;
}
.review-card blockquote {
    color: var(--text);
    margin-bottom: 22px;
}
.review-stars { color: var(--gold); letter-spacing: 3px; margin-bottom: 10px; }
.review-author {
    font-family: var(--font-head);
    font-weight: 600;
    color: var(--primary);
    font-size: 17px;
}
.review-meta { font-size: 13px; }
.reviews-platforms { margin-top: 40px; text-align: center; font-size: 16px; }
.reviews-platforms a { font-weight: 700; color: var(--primary); text-decoration-color: var(--gold); }
.reviews-platforms a:hover { color: var(--gold); }

/* ============================================================
   Блок «Наша практика» (перенос с garantia-dela.ru)
   ============================================================ */
/* Отдельный фон-полоса, чтобы отделить «Нашу практику» от блока «За 10 минут…» */
.practice-section { background: var(--light-2); }
.practice-panel {
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: 22px;
    padding: 48px;
    box-shadow: 0 14px 40px rgba(62,39,35,.08);
}
.practice-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 28px;
}
.practice-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 22px;
}
/* Скан документа: показываем «шапку» листа, обрезая низ */
.practice-doc {
    width: 100%;
    aspect-ratio: 3 / 4;
    background: var(--white);
    border: 1px solid var(--border);
    box-shadow: 0 10px 30px rgba(62,39,35,.10);
    overflow: hidden;
}
.practice-doc img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top center;
    transition: transform .4s ease;
}
.practice-card:hover .practice-doc img { transform: scale(1.04); }
/* Пилюля-категория под сканом */
.practice-pill {
    display: block;
    width: 100%;
    text-align: center;
    background: var(--primary);
    color: var(--white);
    font-family: var(--font-head);
    font-size: 17px;
    font-weight: 500;
    padding: 14px 18px;
    border-radius: 40px;
    text-decoration: none;
    transition: background .25s, color .25s;
}
.practice-pill:hover { background: var(--gold); color: var(--dark); }

.practice-more { text-align: center; margin-top: 44px; }
.practice-more-link {
    font-family: var(--font-head);
    font-size: 18px;
    font-weight: 600;
    color: var(--primary);
    text-decoration: none;
    border-bottom: 2px solid var(--gold);
    padding-bottom: 4px;
    transition: color .25s;
}
.practice-more-link:hover { color: var(--gold); }

/* ============================================================
   Перечень судебных дел (dela.php) + лайтбокс
   ============================================================ */
/* Вкладки категорий — подчёркивание активной (как в оригинале) */
.cases-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 40px;
    border-bottom: 1px solid var(--border);
    margin-bottom: 44px;
}
.cases-tab {
    background: none;
    border: none;
    cursor: pointer;
    font-family: var(--font-head);
    font-size: 18px;
    font-weight: 500;
    color: var(--text);
    padding: 4px 2px 18px;
    position: relative;
    transition: color .25s;
}
.cases-tab:hover { color: var(--primary); }
.cases-tab.is-active { color: var(--primary); }
.cases-tab.is-active::after {
    content: '';
    position: absolute;
    left: 0; right: 0; bottom: -1px;
    height: 2px;
    background: var(--gold);
}

/* Панели категорий */
.cases-panel { display: none; }
.cases-panel.is-active { display: block; }

/* Сетка дел */
.cases-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px 32px;
}
.case-card { margin: 0; }
/* Кнопка-обложка дела */
.case-thumb {
    display: block;
    width: 100%;
    padding: 0;
    border: none;
    background: none;
    cursor: pointer;
    text-align: left;
}
.case-doc {
    position: relative;
    display: block;
    border: 1px solid var(--border);
    background: var(--white);
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(62,39,35,.08);
    transition: box-shadow .3s, transform .3s;
}
.case-thumb:hover .case-doc { box-shadow: 0 18px 44px rgba(62,39,35,.16); transform: translateY(-4px); }
.case-doc img {
    width: 100%;
    aspect-ratio: 3 / 4;
    object-fit: cover;
    object-position: top center;
    transition: transform .4s ease;
}
.case-thumb:hover .case-doc img { transform: scale(1.04); }
/* Бейдж «N стр.» */
.case-pages {
    position: absolute;
    top: 12px; right: 12px;
    background: var(--primary);
    color: var(--white);
    font-family: var(--font-head);
    font-size: 13px;
    font-weight: 500;
    padding: 5px 12px;
    border-radius: 40px;
}
/* Лупа при наведении */
.case-zoom {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--white);
    background: rgba(26,42,58,.45);
    opacity: 0;
    transition: opacity .3s;
}
.case-zoom svg {
    background: var(--gold);
    color: var(--dark);
    border-radius: 50%;
    padding: 10px;
    width: 48px;
    height: 48px;
}
.case-thumb:hover .case-zoom { opacity: 1; }
/* Название дела под обложкой */
/* Подпись-подкатегория над названием дела */
.case-subcat {
    margin-top: 18px;
    display: inline-block;
    font-family: var(--font-head);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: var(--gold);
    background: var(--light-2);
    padding: 4px 12px;
    border-radius: 40px;
}
.case-title {
    margin-top: 18px;
    font-family: var(--font-head);
    font-size: 19px;
    font-weight: 500;
    color: var(--primary);
    line-height: 1.3;
}
.case-subcat + .case-title { margin-top: 8px; }

/* ---------- Лайтбокс ---------- */
.lightbox {
    position: fixed;
    inset: 0;
    z-index: 300;
    background: rgba(16,10,8,.92);
    display: none;
    align-items: center;
    justify-content: center;
    padding: 40px 72px;
}
.lightbox.is-open { display: flex; }
.lb-stage {
    margin: 0;
    max-width: 100%;
    max-height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
}
.lb-image {
    max-width: 100%;
    max-height: 80vh;
    object-fit: contain;
    box-shadow: 0 24px 70px rgba(0,0,0,.6);
    cursor: zoom-in;
    transition: transform .3s ease;
}
.lb-image.is-zoomed { cursor: zoom-out; transform: scale(1.8); }
.lb-caption {
    color: var(--white);
    font-family: var(--font-head);
    font-size: 16px;
    letter-spacing: .5px;
}
.lb-counter {
    position: absolute;
    bottom: 22px;
    left: 50%;
    transform: translateX(-50%);
    color: var(--white-60);
    font-size: 14px;
    letter-spacing: 1px;
}
.lb-close, .lb-nav {
    position: absolute;
    background: rgba(255,255,255,.08);
    border: 1px solid var(--white-20);
    color: var(--white);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background .25s, border-color .25s, color .25s;
}
.lb-close:hover, .lb-nav:hover {
    background: var(--gold);
    border-color: var(--gold);
    color: var(--dark);
}
.lb-close {
    top: 24px; right: 28px;
    width: 46px; height: 46px;
    border-radius: 50%;
    font-size: 30px;
    line-height: 1;
}
.lb-nav {
    top: 50%;
    transform: translateY(-50%);
    width: 54px; height: 54px;
    border-radius: 50%;
    font-size: 34px;
    line-height: 1;
}
.lb-prev { left: 24px; }
.lb-next { right: 24px; }

/* ============================================================
   Блок «Вопросы и ответы» (макет FAQ из Regalis)
   ============================================================ */
/* Заголовок FAQ — в стиле «нам доверяют» (центрированный section-head).
   Тело блока — по центру, ограничено по ширине. */
.faq-body {
    max-width: 980px;
    margin: 0 auto;
}

/* Табы категорий: активный — залит тёмным */
.faq-tabs {
    display: flex;
    justify-content: center;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 10px;
}
.faq-tab {
    background: none;
    border: none;
    cursor: pointer;
    font-family: var(--font-body);
    font-size: 17px;
    font-weight: 500;
    color: var(--text);
    padding: 14px 26px;
    border-radius: 2px;
    transition: background .25s, color .25s;
}
.faq-tab:hover { color: var(--primary); }
.faq-tab.is-active {
    background: var(--primary);
    color: var(--white);
}

/* Панели табов */
.faq-panel { display: none; border-top: 1px solid var(--border); }
.faq-panel.is-active { display: block; }

/* Аккордеон */
.faq-item { border-bottom: 1px solid var(--border); }
.faq-q {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    background: none;
    border: none;
    cursor: pointer;
    text-align: left;
    font-family: var(--font-body);
    font-size: 17px;
    font-weight: 700;
    color: var(--primary);
    padding: 24px 4px;
    transition: color .25s;
}
.faq-q:hover { color: var(--gold); }
.faq-q svg {
    flex-shrink: 0;
    color: var(--primary);
    transition: transform .3s;
}
.faq-item.is-open .faq-q svg { transform: rotate(180deg); }
.faq-a {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows .35s ease;
}
.faq-a-inner { overflow: hidden; }
.faq-item.is-open .faq-a { grid-template-rows: 1fr; }
.faq-a-inner p, .faq-a-inner ul { margin: 0 0 14px; max-width: 900px; }
.faq-a-inner ul { padding-left: 22px; list-style: disc; }
.faq-a-inner > .faq-a-pad, .faq-a-inner > :last-child { margin-bottom: 26px; }

/* ============================================================
   Страницы юристов: тёмная лента заголовка + 4 квадранта
   ============================================================ */
.page-hero {
    background: linear-gradient(90deg, var(--dark) 0%, var(--primary) 100%);
    padding: 72px 0;
}
.page-hero h1 {
    color: var(--white);
    font-size: clamp(28px, 3vw, 48px);
    max-width: 980px;
}
.page-hero .eyebrow { margin-bottom: 10px; }

.lawyer-grid {
    display: grid;
    grid-template-columns: 1fr 1.618fr;
    gap: 32px;
    align-items: start;
}
.quadrant {
    background: var(--white);
    border: 1px solid var(--border);
    padding: 40px;
}
.quadrant h2 {
    font-size: 24px;
    margin-bottom: 18px;
    padding-bottom: 12px;
    border-bottom: 2px solid var(--gold);
}
.quadrant p { margin-bottom: 12px; }
.quadrant-photo { padding: 0; overflow: hidden; border: none; }
.quadrant-photo img { width: 100%; }
.lawyer-rating {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 14px;
    padding: 10px 20px;
    background: var(--light);
    border: 1px solid var(--gold);
    text-decoration: none;
    font-family: var(--font-head);
    font-weight: 500;
    color: var(--primary);
    transition: background .25s, color .25s;
}
.lawyer-rating:hover { background: var(--gold); color: var(--dark); }
.diploma-list li {
    padding: 12px 0 12px 36px;
    position: relative;
    border-bottom: 1px dashed var(--border);
}
.diploma-list li::before {
    content: '⚖';
    position: absolute;
    left: 0;
    color: var(--gold);
}
.uslugi-list li { padding: 7px 0 7px 24px; position: relative; color: var(--primary); font-weight: 600; font-size: 15px; }
.uslugi-list li::before {
    content: '';
    position: absolute;
    left: 0; top: 16px;
    width: 8px; height: 8px;
    background: var(--gold);
}
.review-card--inline {
    box-shadow: none;
    margin-bottom: 16px;
    padding: 24px;
}
.review-card--inline::before { font-size: 60px; height: 32px; }

/* Заголовок «Образование» с кнопкой-иконкой диплома */
.edu-title {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
}
.diploma-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    background: var(--light-2);
    border: 1px solid var(--gold);
    color: var(--primary);
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 600;
    padding: 8px 16px;
    border-radius: 40px;
    transition: background .25s, color .25s;
}
.diploma-btn svg { color: var(--gold); transition: color .25s; }
.diploma-btn:hover { background: var(--gold); color: var(--dark); }
.diploma-btn:hover svg { color: var(--dark); }

/* «Я смогу вам помочь, если у вас:» — услуги юриста в два столбика */
.lawyer-services-cols {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 48px;
    max-width: 1300px;
    margin: 0 auto;
}
.dropdown-heading span{
    float: right;
 color: blue;
 font-size: 18px;
 }
/* Вариант на всю ширину контента (Повышение квалификации) */
.lawyer-services-cols--full { max-width: none; }
.lawyer-services-cols li {
    position: relative;
    padding: 15px 4px 15px 34px;
    border-bottom: 1px solid var(--border);
    color: var(--primary);
    font-family: var(--font-head);
    font-weight: 500;
    font-size: 18px;
    line-height: 1.4;
}
.lawyer-services-cols.fs20 li {

    font-size: 22px;

}

.lawyer-services-cols li::before {
    content: '→';
    position: absolute;
    left: 6px;
    top: 15px;
    color: var(--gold);
    font-weight: 700;
}

/* ============================================================
   Страница «Аутсорсинг»
   ============================================================ */
.utp-screen {
    /* Параллакс-фон: фиксированная картинка под шоколадно-синей подложкой */
    background: linear-gradient(100deg, rgba(62,39,35,.93) 0%, rgba(26,42,58,.9) 100%),
                url('../img/home_01.jpg') center / cover fixed no-repeat;
    color: var(--white);
    padding: 110px 0;
    text-align: center;
}
.utp-screen .hero-eyebrow { justify-content: center; }
.utp-screen h1 {
    color: var(--white);
    font-size: clamp(30px, 4vw, 56px);
    max-width: 980px;
    margin: 0 auto 22px;
}
.utp-screen h1 em { color: var(--gold); font-style: normal; }
.utp-sub {
    font-size: 19px;
    max-width: 760px;
    margin: 0 auto 38px;
    color: var(--white-60);
}

/* Этапы работы (как «Proven Approach» в Regalis) */
.steps-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 28px;
}
.step-card {
    background: var(--white);
    border: 1px solid var(--border);
    padding: 40px 36px;
    position: relative;
    transition: box-shadow .3s, transform .3s;
}
.step-card:hover {
    box-shadow: 0 18px 44px rgba(62,39,35,.14);
    transform: translateY(-6px);
}
.step-num {
    font-family: var(--font-head);
    font-size: 54px;
    font-weight: 700;
    color: var(--light);
    -webkit-text-stroke: 1px var(--gold);
    line-height: 1;
    margin-bottom: 16px;
}
.step-card h3 { font-size: 22px; margin-bottom: 10px; }

/* --- Подзаголовок в hero (под заголовком аутсорсинга) --- */
.hero-sub {
    max-width: 720px;
    font-size: 20px;
    font-style: italic;
    color: var(--gold);
    margin: -12px 0 30px;
}
.hero-title em { color: var(--gold); font-style: normal; }

/* --- «Зачем нужно»: проблема → решение --- */
.ps-grid { display: grid; gap: 28px; }
.ps-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; align-items: stretch; }
.ps-card {
    padding: 30px 32px;
    border-radius: 4px;
    border: 1px solid var(--border);
    position: relative;
}
.ps-problem { background: var(--white); }
.ps-solution { background: var(--primary); border-color: var(--primary); }
.ps-solution p { color: var(--white); }
.ps-tag {
    display: inline-block;
    font-family: var(--font-head);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 1px;
    text-transform: uppercase;
    padding: 5px 14px;
    border-radius: 40px;
    margin-bottom: 14px;
}
.ps-problem .ps-tag { background: var(--light-2); color: var(--dark); }
.ps-solution .ps-tag { background: var(--gold); color: var(--dark); }
.ps-card p { font-size: 17px; }

/* --- «Что входит»: 3D-флип-карточки с раскрытием --- */
.flip-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}
.flip-card {
    position: relative;
    min-height: 320px;
    border: none;
    background: none;
    padding: 0;
    cursor: pointer;
    perspective: 1200px;
    font-family: inherit;
}
.flip-card .flip-face {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    padding: 30px 28px;
    border: 1px solid var(--border);
    border-radius: 6px;
    backface-visibility: hidden;
    transition: transform .6s cubic-bezier(.4,.2,.2,1);
    text-align: left;
}
.flip-front {
    background: var(--white);
    box-shadow: 0 10px 30px rgba(62,39,35,.10);
    justify-content: space-between;
}
.flip-back {
    background: var(--primary);
    color: var(--white);
    transform: rotateY(180deg);
    overflow: auto;
    justify-content: center;
}
.flip-card:hover .flip-front,
.flip-card.is-flipped .flip-front { transform: rotateY(180deg); }
.flip-card:hover .flip-back,
.flip-card.is-flipped .flip-back { transform: rotateY(360deg); }
.flip-num {
    font-family: var(--font-head);
    font-size: 40px;
    font-weight: 700;
    color: var(--light-2);
    -webkit-text-stroke: 1px var(--gold);
    line-height: 1;
}
.flip-title {
    font-family: var(--font-head);
    font-size: 20px;
    font-weight: 600;
    color: var(--primary);
    line-height: 1.25;
    margin-top: 14px;
}
.flip-hint { font-size: 13px; color: var(--gold); font-weight: 600; margin-top: 14px; }
.flip-back-title {
    font-family: var(--font-head);
    font-size: 18px;
    font-weight: 600;
    color: var(--gold);
    margin-bottom: 10px;
}
.flip-back-text { font-size: 14.5px; line-height: 1.5; color: var(--white-60); }

/* Карточка «Бонус» — выделяем: золотая рамка/фон + бейдж */
.flip-card--bonus .flip-front {
    background: linear-gradient(160deg, #fff 0%, var(--light-2) 100%);
    border: 2px solid var(--gold);
    box-shadow: 0 14px 40px rgba(197,160,89,.28);
}
.flip-card--bonus .flip-num { color: var(--gold); -webkit-text-stroke: 0; }
.flip-card--bonus .flip-back { background: linear-gradient(160deg, var(--dark) 0%, var(--primary) 100%); }
.flip-badge {
    position: absolute;
    top: 0; right: 0;
    background: var(--gold);
    color: var(--dark);
    font-family: var(--font-head);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    padding: 6px 16px;
    border-radius: 0 4px 0 12px;
}

/* --- Аргументы --- */
.args-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; margin-bottom: 56px; }
.arg-card {
    background: var(--white);
    border: 1px solid var(--border);
    border-left: 3px solid var(--gold);
    padding: 32px 34px;
    display: flex;
    gap: 20px;
    align-items: flex-start;
    transition: box-shadow .3s, transform .3s;
}
.arg-card:hover {
    box-shadow: 0 18px 44px rgba(62,39,35,.14);
    transform: translateY(-6px);
}
.arg-card svg { color: var(--gold); flex-shrink: 0; }
.arg-card p { font-size: 17px; }
.steps-lead {
    text-align: center;
    font-family: var(--font-head);
    font-size: 22px;
    color: var(--primary);
    max-width: 780px;
    margin: 0 auto 40px;
}
.steps-lead strong { color: var(--gold); }
.steps-cta { text-align: center; margin-top: 40px; }

/* --- Цитата Дж. П. Моргана --- */
.morgan {
    background: linear-gradient(100deg, var(--dark) 0%, var(--primary) 100%);
    color: var(--white);
    padding: 80px 0;
}
.morgan-inner { display: grid; grid-template-columns: 280px 1fr; gap: 56px; align-items: center; }
.morgan-photo {
    border: 3px solid var(--gold);
    border-radius: 6px;
    overflow: hidden;
    aspect-ratio: 3 / 4;
}
.morgan-photo img { width: 100%; height: 100%; object-fit: cover; }
.morgan-photo.is-empty {
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255,255,255,.05);
}
.morgan-photo.is-empty::after {
    content: 'J.P. Morgan';
    font-family: var(--font-head);
    font-size: 22px;
    color: var(--gold);
}
.morgan-quote p {
    font-family: var(--font-head);
    font-size: clamp(22px, 2.6vw, 34px);
    font-style: italic;
    line-height: 1.4;
    color: var(--white);
}
.morgan-quote footer {
    margin-top: 22px;
    font-size: 16px;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: var(--gold);
}

/* --- Модальное окно с формой --- */
.modal {
    position: fixed;
    inset: 0;
    z-index: 300;
    background: rgba(16,10,8,.82);
    display: none;
    align-items: center;
    justify-content: center;
    padding: 24px;
}
.modal.is-open { display: flex; }
.modal-box {
    position: relative;
    background: var(--white);
    border-radius: 6px;
    padding: 44px 40px 40px;
    max-width: 480px;
    width: 100%;
    box-shadow: 0 30px 80px rgba(0,0,0,.5);
}
.modal-close {
    position: absolute;
    top: 14px; right: 16px;
    width: 40px; height: 40px;
    border: none;
    background: none;
    font-size: 30px;
    line-height: 1;
    color: var(--text);
    cursor: pointer;
    transition: color .2s;
}
.modal-close:hover { color: var(--gold); }
.modal-title { font-size: 26px; margin-bottom: 6px; }
.modal-sub { color: var(--text); font-size: 15px; margin-bottom: 24px; }
.lead-form--modal { background: none; padding: 0; box-shadow: none; }

/* ============================================================
   Блок 8: Подвал (тёмный)
   ============================================================ */
.site-footer {
    background: var(--dark);
    color: var(--white-60);
}
.footer-grid {
    display: grid;
    grid-template-columns: 1.3fr 1fr 1fr 1.3fr;
    gap: 48px;
    padding-top: 72px;
    padding-bottom: 56px;
}
.footer-logo {
    display: flex;
    align-items: center;
    gap: 12px;
    text-decoration: none;
    margin-bottom: 18px;
    font-family: var(--font-head);
    font-size: 22px;
    font-weight: 700;
    letter-spacing: .08em;
    color: var(--white);
}
.footer-about { font-size: 14px; margin-bottom: 22px; }
.footer-title {
    color: var(--white);
    font-size: 19px;
    font-weight: 600;
    margin-bottom: 20px;
    padding-bottom: 12px;
    position: relative;
}
.footer-title::after {
    content: '';
    position: absolute;
    left: 0; bottom: 0;
    width: 34px; height: 2px;
    background: var(--gold);
}
.footer-phone, .footer-mail {
    display: block;
    color: var(--white);
    text-decoration: none;
    margin-bottom: 10px;
    font-family: var(--font-head);
    font-weight: 500;
    font-size: 17px;
}
.footer-phone:hover, .footer-mail:hover { color: var(--gold); }
.footer-address { font-size: 14px; margin-top: 4px; }

/* Контакты-мессенджеры — полупрозрачные кнопки-строки */
.footer-contacts {
    display: flex;
    flex-direction: row;
    gap: 10px;
    margin-top: 20px
}
.footer-contact-btn {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 11px 16px;
    background: rgba(255,255,255,.05);
    border: 1px solid var(--white-20);
    border-radius: 10px;
    color: var(--white);
    text-decoration: none;
    font-family: var(--font-head);
    font-size: 15px;
    font-weight: 500;
    transition: background .25s, border-color .25s, transform .2s;
}
.footer-contact-btn:hover {
    background: rgba(255,255,255,.12);
    border-color: var(--gold);
    transform: translateX(4px);
}
.footer-contact-btn .fcb-icon {
    display: flex;
    flex-shrink: 0;
}
.fcb-wa    { color: #25D366; }
.fcb-tg    { color: #29A9EB; }
.fcb-vk    { color: #4C82C3; }
.fcb-max,
.fcb-phone,
.fcb-mail  { color: var(--gold); }
.footer-links li { margin-bottom: 9px; }
.footer-links a {
    color: var(--white-60);
    text-decoration: none;
    font-size: 14px;
    transition: color .2s, padding-left .2s;
}
.footer-links a:hover { color: var(--gold); padding-left: 6px; }
.footer-map iframe { border: 1px solid var(--white-20); filter: grayscale(35%); }

.footer-bottom { border-top: 1px solid var(--white-20); }
.footer-bottom-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
    padding-top: 22px;
    padding-bottom: 22px;
    font-size: 13px;
}
.footer-policies { display: flex; gap: 24px; flex-wrap: wrap; }
.footer-policies a,.footer-bottom-inner a { color: var(--white-60); font-size: 13px; }
.footer-policies a:hover, .footer-bottom-inner a:hover { color: var(--gold); }

/* ---------- Cookie-баннер ---------- */
.cookie-banner {
    position: fixed;
    left: 20px; right: 20px; bottom: 20px;
    max-width: 680px;
    margin: 0 auto;
    background: var(--dark);
    color: var(--white-60);
    border: 1px solid var(--white-20);
    padding: 18px 24px;
    display: flex;
    align-items: center;
    gap: 18px;
    font-size: 14px;
    z-index: 200;
    box-shadow: 0 14px 44px rgba(0,0,0,.45);
}
.cookie-banner a { color: var(--gold); }
.cookie-banner .btn { flex-shrink: 0; }
/* display:flex не должен перебивать атрибут hidden — иначе баннер не закрыть */
.cookie-banner[hidden] { display: none !important; }

/* ---------- Системные страницы ---------- */
.system-page { padding: 90px 0; min-height: 50vh; }
.system-page h1 { font-size: 42px; margin-bottom: 26px; }
.system-page h2 { font-size: 24px; margin: 28px 0 12px; }
.system-page p, .system-page li { margin-bottom: 12px; max-width: 900px; }
.system-page ol, .system-page ul { padding-left: 24px; margin-bottom: 20px; }
.system-page ul { list-style: disc; }
.error-code {
    font-family: var(--font-head);
    font-size: 140px;
    font-weight: 700;
    color: var(--gold);
    line-height: 1;
}

/* ---------- Анимация появления ---------- */
.fade-in {
    opacity: 0;
    transform: translateY(28px);
    transition: opacity .7s ease, transform .7s ease;
}
.fade-in.is-visible { opacity: 1; transform: none; }

/* ============================================================
   Адаптивность
   ============================================================ */
.txt-small { display: none; }
   
   @media (max-width: 1280px) {
     .txt-large { display: none; }
     .txt-small { display: flex; }
   }
   
@media (max-width: 1279px) {
    .nav-link { padding: 30px 12px; }
    .header-callbox .callbox-text small { display: none; }
    .callbox-text {display: none}
}

@media (max-width: 1024px) {
    .header-topline { display: none; }
    .services-grid, .form-wrap, .lawyer-grid { grid-template-columns: 1fr; }
    .faq-tabs { justify-content: flex-start; }
    .reviews-grid, .steps-grid { grid-template-columns: 1fr 1fr; }
    .practice-grid { grid-template-columns: 1fr 1fr; }
    .practice-panel { padding: 32px; }
    .cases-grid { grid-template-columns: repeat(2, 1fr); }
    .flip-grid { grid-template-columns: repeat(2, 1fr); }
    .footer-grid { grid-template-columns: 1fr 1fr; }
    .counters { grid-template-columns: repeat(2, 1fr); gap: 40px; }
}

@media (max-width: 768px) {
   .hero-actions {

       margin-top: 60px;
   }
   .footer-contacts {flex-direction: column }
    .footer-policies {gap: 0px;}
    .footer-links li {margin-bottom: 0;}
     .hero-img {object-fit: cover;}
    .section { padding: 56px 0; }
    .section-title { font-size: 30px; }
    .trigger-text { font-size: 22px; line-height: 28px;}
    .benefit-text { font-size: 22px; margin-bottom: 44px; }
    .counter-num { font-size: 42px; }
    .form-offer-title { font-size: 30px; }
    .flip-title {font-size: 30px}
.flip-num {font-size: 72px}
.step-card h3 {font-size: 28px}
.arg-card {display: block;}
    .header-callbox { display: none; }
    .nav-toggle { display: flex; }
    .main-nav { display: none; }
    .main-nav.is-open {
        display: block;
        position: absolute;
        top: 100%;
        left: 0; right: 0;
        background: var(--dark);
        border-top: 1px solid var(--white-20);
        /* Меню длиннее экрана — скроллим внутри него, а не всю страницу */
        max-height: calc(100vh - 84px);
        max-height: calc(100dvh - 84px);
        overflow-y: auto;
        overscroll-behavior: contain;
        -webkit-overflow-scrolling: touch;
    }
    .nav-list { flex-direction: column; gap: 0; }
    .nav-link { width: 100%; padding: 14px 20px; }
    .dropdown {
        position: static;
        transform: none;
        opacity: 1;
        visibility: visible;
        display: none;
        box-shadow: none;
        padding: 0;
    }
    .dropdown-heading span {font-size: 14px;display: block;float:none}
        .steps-lead {font-size: 26px; line-height: 34px}
         
    .has-dropdown.is-open .dropdown { display: block; }
    .dropdown--mega,
    .has-dropdown.is-open .dropdown--mega {
        width: auto;
        transform: none;
        padding: 12px 20px 16px;
    }
    /* Мобильный: правая колонка встаёт ПОД левой (а не вперемешку) */
    .dropdown-cols { flex-direction: column; gap: 0; }
    .dropdown--mega .dropdown-col li:last-child a { border-bottom: 1px solid var(--border); }
    .dropdown--mega .dropdown-col:last-child li:last-child a { border-bottom: none; }

    /* Контакты + отзывы внизу мобильного меню */
    .nav-extra {
        display: block;
        padding: 20px;
        border-top: 1px solid var(--white-20);
    }
    .nav-extra-title {
        color: var(--gold);
        font-size: 15px;
        letter-spacing: 1px;
        text-transform: uppercase;
        margin-bottom: 12px;
    }
    .nav-extra-phone,
    .nav-extra-mail {
        display: block;
        color: var(--white);
        text-decoration: none;
        font-family: var(--font-head);
        font-weight: 500;
        font-size: 18px;
        margin-bottom: 8px;
    }
    .nav-extra-mail { font-size: 16px; }
    .nav-extra-addr { color: var(--white-60); font-size: 14px; margin: 6px 0 16px; }
    .nav-extra-reviews {
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        gap: 8px;
        margin-bottom: 18px
    }
    .nav-extra-messengers {
        display: flex;
        flex-direction: column;
        gap: 10px;
        margin-top: 16px;
    }

    .hero-img { min-height: 420px; opacity: .55; transform: none; }
    /* background-attachment: fixed плохо работает на мобильных — отключаем */
    .section-form, .utp-screen { background-attachment: scroll; }
    .hero-overlay { background: none; }
    .hero-title { font-size: 30px; }

    .reviews-grid, .steps-grid { grid-template-columns: 1fr; }
    .practice-grid { grid-template-columns: 1fr; gap: 18px; }
    .practice-panel { padding: 22px; }
    .cases-grid { grid-template-columns: 1fr; gap: 28px; }
    .flip-grid { grid-template-columns: 1fr; }
    .ps-pair, .args-grid { grid-template-columns: 1fr; }
    .morgan-inner { grid-template-columns: 1fr; gap: 32px; }
    .morgan-photo { max-width: 240px; margin: 0 auto; }
    .service-card ul { grid-template-columns: 1fr; }
    .lawyer-services-cols { grid-template-columns: 1fr; }
    .footer-grid { grid-template-columns: 1fr; gap: 36px; }
    .counters { grid-template-columns: 1fr 1fr; }
    .lead-form { padding: 28px 22px; }
    .cookie-banner { flex-direction: column; text-align: center; }
    .footer-bottom-inner { justify-content: center; text-align: center; }
    /* Лайтбокс на мобильных: стрелки внизу, меньше отступы */
    .lightbox { padding: 20px 12px; }
    .lb-nav { top: auto; bottom: 20px; transform: none; width: 46px; height: 46px; }
    .lb-prev { left: 30%; }
    .lb-next { right: 30%; }
    .lb-counter { bottom: 78px; }
    .lb-image.is-zoomed { transform: scale(1.4); }
}
