/* ===== ПЕРЕМЕННЫЕ ===== */
:root {
    --gold: #d4af37;
    --gold2: #f3c74c;
    --dark: #050505;
    --text: #f4f4f4;
    --muted: #c9c9c9;
    --line: rgba(212, 175, 55, 0.35);
    --panel: rgba(6, 7, 8, 0.56);
    --panel2: rgba(8, 9, 10, 0.70);
}

/* ===== БАЗОВЫЕ СБРОСЫ ===== */
* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    background: var(--dark);
    color: var(--text);
    font-family: 'Montserrat', Arial, sans-serif;
    overflow-x: hidden;
}

/* ===== ФОН САЙТА ===== */
.site-bg {
    position: fixed;
    inset: 0;
    background-image: linear-gradient(90deg, rgba(0,0,0,0.76), rgba(0,0,0,0.24) 46%, rgba(0,0,0,0.48)), url('../img/embedded/image_00.webp');
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
    z-index: -3;
}

.site-bg:after {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 18% 34%, rgba(255,198,74,0.20), transparent 32%),
                linear-gradient(180deg, rgba(0,0,0,0.18), rgba(0,0,0,0.70));
    z-index: -2;
}

/* ===== ВЕРХНЯЯ ПАНЕЛЬ (ТОПБАР) ===== */
.topbar {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 20;
    display: flex;
    align-items: center;
    gap: 26px;
    padding: 14px 5vw;
    background: linear-gradient(180deg, rgba(0,0,0,0.78), rgba(0,0,0,0.15));
    backdrop-filter: blur(12px);
}

.brand {
    display: flex;
    align-items: center;
    text-decoration: none;
    color: #fff;
    gap: 14px;
    margin-right: auto;
}

.brand img {
    width: 96px;
    height: 96px;
    object-fit: cover;
    border-radius: 50%;
    filter: drop-shadow(0 0 10px rgba(255, 215, 95, 0.24));
    box-shadow: 0 0 0 1px rgba(246, 198, 73, 0.35), 0 0 34px rgba(212, 175, 55, 0.32);
}

.brand b {
    font-weight: 800;
    letter-spacing: 0.04em;
}

.brand small {
    display: block;
    color: #d8d8d8;
    font-size: 12px;
}

/* ===== НАВИГАЦИЯ ===== */
.nav {
    display: flex;
    gap: 34px;
}

.nav a {
    color: #eee;
    text-decoration: none;
    font-weight: 700;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

/* ===== КНОПКИ ===== */
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    padding: 0 28px;
    border-radius: 8px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    text-decoration: none;
    border: 1px solid var(--line);
    color: #fff;
}

.btn.gold {
    background: linear-gradient(135deg, var(--gold), #9c7119);
    color: #090909;
    border: 0;
}

.btn.outline {
    background: rgba(0,0,0,0.35);
    color: var(--gold2);
}

/* ===== БУРГЕР-МЕНЮ ===== */
.burger {
    display: none;
    background: transparent;
    border: 0;
}

.burger span {
    display: block;
    width: 30px;
    height: 2px;
    background: #fff;
    margin: 6px;
}

/* ===== СЕКЦИИ И КОНТЕЙНЕРЫ ===== */
.section {
    width: min(1420px, 90vw);
    margin: 0 auto;
    padding: 100px 0;
}

.section-clean {
    width: min(1420px, 94vw);
}

.panel {
    margin-top: 40px;
    margin-bottom: 40px;
    padding: 76px clamp(22px, 4vw, 72px);
    border: 1px solid rgba(212, 175, 55, 0.24);
    border-radius: 26px;
    background: linear-gradient(135deg, var(--panel), rgba(8, 9, 10, 0.46));
    box-shadow: 0 30px 90px rgba(0,0,0,0.42);
    backdrop-filter: blur(10px);
}

/* ===== ЭЛЕМЕНТЫ ТЕКСТА ===== */
.eyebrow {
    margin: 0 0 18px;
    color: var(--gold2);
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.18em;
}

.lead,
.section-text,
.about p {
    font-size: clamp(16px, 1.18vw, 21px);
    line-height: 1.75;
    color: #f0f0f0;
    font-weight: 500;
    text-shadow: 0 2px 14px rgba(0,0,0,0.55);
}

/* ===== ЗАГОЛОВКИ ===== */
.hero h1,
h2 {
    font-family: 'Bebas Neue', 'Montserrat', Arial, sans-serif;
    text-transform: uppercase;
    line-height: 0.92;
    margin: 0 0 26px;
}

.hero h1 {
    font-size: clamp(48px, 6.2vw, 102px);
    letter-spacing: 0.025em;
    text-shadow: 0 4px 24px rgba(0,0,0,0.62);
}

h2 {
    font-size: clamp(36px, 4.1vw, 70px);
    letter-spacing: 0.025em;
    text-shadow: 0 3px 18px rgba(0,0,0,0.55);
}

/* ===== ГЕРОЙ-БЛОК ===== */
.hero {
    min-height: 100vh;
    display: flex;
    align-items: center;
    padding-top: 140px;
}

.hero-content {
    max-width: 820px;
}

.actions {
    display: flex;
    gap: 18px;
    flex-wrap: wrap;
    margin: 34px 0;
}

/* ===== КОНТАКТЫ В ГЕРОЕ ===== */
.hero-contacts {
    width: min(760px, 100%);
    margin: 34px 0 0;
    padding: 18px;
    border: 1px solid rgba(255,255,255,0.16);
    border-radius: 22px;
    background: linear-gradient(135deg, rgba(5,5,5,0.78), rgba(20,16,9,0.58));
    box-shadow: 0 22px 60px rgba(0,0,0,0.34), inset 0 1px 0 rgba(255,255,255,0.08);
    backdrop-filter: blur(10px);
}

.contacts-head {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    align-items: flex-end;
    padding: 2px 4px 14px;
    border-bottom: 1px solid rgba(255,255,255,0.10);
}

.contacts-head span {
    color: var(--gold2);
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    font-size: 13px;
}

.contacts-head small {
    color: rgba(255,255,255,0.72);
    font-size: 13px;
    text-align: right;
}

.contact-grid {
    display: grid;
    grid-template-columns: minmax(260px, 0.92fr) minmax(260px, 1fr);
    gap: 14px;
    padding-top: 14px;
    align-items: stretch;
}

.phones,
.socials {
    display: grid;
    gap: 10px;
}

.phones a,
.socials a {
    min-height: 52px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 12px 18px;
    border: 1px solid rgba(255,255,255,0.15);
    border-radius: 14px;
    background: rgba(0,0,0,0.46);
    color: #fff;
    text-decoration: none;
    font-size: 17px;
    font-weight: 800;
    line-height: 1.2;
    white-space: nowrap;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.06);
    transition: 0.22s ease;
}

.phones a { justify-content: flex-start; }

.phones a span,
.socials a span {
    color: var(--gold2);
    font-weight: 900;
}

.socials {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.socials .mail-link {
    grid-column: 1 / -1;
    justify-content: flex-start;
}

.phones a:hover,
.socials a:hover {
    border-color: rgba(243,199,76,0.72);
    background: rgba(212,175,55,0.16);
    transform: translateY(-2px);
}

/* ===== СТАТИСТИКА ===== */
.hero-stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    margin-top: 46px;
}

.hero-stats div,
.about-stats div {
    padding: 22px;
    border: 1px solid rgba(255,255,255,0.13);
    border-radius: 14px;
    background: rgba(10,10,10,0.48);
    backdrop-filter: blur(6px);
}

.hero-stats b,
.about-stats b {
    display: block;
    color: var(--gold2);
    font-size: clamp(32px, 3vw, 56px);
    font-weight: 900;
}

.hero-stats span,
.about-stats span {
    text-transform: uppercase;
    color: #ddd;
}

/* ===== СЕТКИ (GRID) ===== */
.why-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}

.why-grid div {
    padding: 26px;
    border: 1px solid var(--line);
    border-radius: 16px;
    background: rgba(255,255,255,0.045);
    font-size: 18px;
    font-weight: 800;
}

.services-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.object-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 22px;
}

.specialists {
    display: grid;
    grid-template-columns: 0.95fr 1.15fr;
    gap: 56px;
    align-items: center;
}

.about {
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap: 50px;
}

.docs-list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    margin-top: 34px;
}

/* ===== КАРТОЧКИ УСЛУГ ===== */
.service-card {
    position: relative;
    overflow: hidden;
    min-height: 430px;
    padding: 18px 22px 28px;
    border: 1px solid rgba(212, 175, 55, 0.24);
    border-radius: 18px;
    background: rgba(10,10,10,0.62);
}

.service-img,
.object-img {
    height: 200px;
    border-radius: 14px;
    background-image: linear-gradient(180deg, rgba(0,0,0,0.08), rgba(0,0,0,0.45)), url('../img/embedded/image_01.webp');
    background-size: cover;
    background-position: center;
    margin-bottom: 20px;
    filter: saturate(1.05) contrast(1.05);
}

.s2 .service-img { background-position: 56% 60%; }
.s3 .service-img { background-position: 70% 45%; }
.s4 .service-img { background-position: 30% 70%; }
.s5 .service-img { background-image: linear-gradient(135deg, rgba(212,175,55,0.3), rgba(0,0,0,0.6)), url('../img/embedded/image_02.webp'); }
.s6 .service-img { background-position: 20% 55%; }
.s7 .service-img { background-position: 60% 45%; }
.s8 .service-img { background-position: 72% 48%; }
.s9 .service-img { background-position: 42% 42%; }
.service-card.s7 .service-img::after { content: "ЗАПЧАСТИ"; }
.service-card.s8 .service-img::after { content: "РЕКЛАМА"; }
.service-card.s9 .service-img::after { content: "КРАНОВЩИКИ"; }
.service-card.s5 .service-img::after { content: "ПРОЕКТ"; }
.service-card.s7 .service-img::after,
.service-card.s8 .service-img::after,
.service-card.s9 .service-img::after,
.service-card.s5 .service-img::after {
    position: absolute;
    left: 18px;
    bottom: 16px;
    padding: 8px 12px;
    border: 1px solid rgba(212,175,55,0.38);
    border-radius: 999px;
    background: rgba(0,0,0,0.58);
    color: var(--gold2);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.12em;
}
.service-img { position: relative; }


.service-card h3,
.object-grid h3 {
    font-size: 18px;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    margin: 0 0 14px;
}

.service-card p,
.object-grid p,
.object-grid small {
    color: #e4e4e4;
    font-size: 16px;
    line-height: 1.6;
}

.overlay {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 28px;
    background: linear-gradient(180deg, transparent, rgba(0,0,0,0.94) 56%);
    opacity: 0;
    transform: translateY(18px);
    transition: 0.35s;
    font-size: 18px;
    line-height: 1.55;
}

.service-card:hover .overlay {
    opacity: 1;
    transform: none;
}

/* ===== БЛОК С БРЕНДАМИ ===== */
.brands-panel {
    overflow: hidden;
    text-align: center;
    padding-top: 64px;
    padding-bottom: 70px;
    background: radial-gradient(circle at 50% 42%, rgba(212,175,55,0.13), transparent 42%), linear-gradient(135deg, rgba(8,8,8,0.78), rgba(25,18,7,0.62));
}

.brands-panel .eyebrow {
    margin-bottom: 10px;
}

.brands-panel:after { content: none; display: none; }

.brands-slider {
    width: 100%;
    overflow: hidden;
    position: relative;
    margin-top: 22px;
    padding: 8px 0;
}

.brands-slider:first-of-type {
    margin-top: 38px;
}

.brands-slider:before,
.brands-slider:after {
    content: "";
    position: absolute;
    top: 0;
    width: 150px;
    height: 100%;
    z-index: 2;
    pointer-events: none;
}

.brands-slider:before {
    left: 0;
    background: linear-gradient(90deg, rgba(9,9,9,0.98), transparent);
}

.brands-slider:after {
    right: 0;
    background: linear-gradient(-90deg, rgba(9,9,9,0.98), transparent);
}

.brands-track {
    display: flex;
    align-items: center;
    gap: 26px;
    width: max-content;
}

.brands-track img {
    width: 220px;
    height: 96px;
    padding: 0 18px;
    object-fit: contain;
    flex-shrink: 0;
    border: none;
    border-radius: 0;
    background: transparent !important;
    box-shadow: none;
    opacity: 1;
    filter: drop-shadow(0 1px 1px rgba(0,0,0,0.85)) drop-shadow(0 0 7px rgba(255,255,255,0.48)) drop-shadow(0 0 18px rgba(212,175,55,0.14));
    transition: 0.25s ease;
}

.brands-track img:hover {
    opacity: 1;
    transform: translateY(-3px) scale(1.04);
    filter: drop-shadow(0 2px 2px rgba(0,0,0,0.95)) drop-shadow(0 0 10px rgba(255,255,255,0.62)) drop-shadow(0 0 24px rgba(212,175,55,0.22));
}

.left-to-right { animation: scrollLeft 38s linear infinite; }
.right-to-left { animation: scrollRight 38s linear infinite; }
.brands-slider:hover .brands-track { animation-play-state: paused; }

@keyframes scrollLeft {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
}

@keyframes scrollRight {
    from { transform: translateX(-50%); }
    to { transform: translateX(0); }
}

/* ===== СПЕЦИАЛИСТЫ (ФОТО) ===== */
.specialists.specialists-photo {
    position: relative;
    min-height: 660px;
    display: flex;
    align-items: center;
    overflow: hidden;
    background: transparent;
}

.specialists.specialists-photo:before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: url('../img/embedded/image_03.webp');
    background-size: cover;
    background-position: center right;
    transform: scale(1.02);
    z-index: 0;
}

.specialists.specialists-photo:after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(0,0,0,.94) 0%, rgba(0,0,0,.78) 34%, rgba(0,0,0,.38) 58%, rgba(0,0,0,.12) 100%),
                linear-gradient(180deg, rgba(0,0,0,.14), rgba(0,0,0,.58));
    z-index: 1;
}

.specialists-content {
    position: relative;
    z-index: 2;
    max-width: 760px;
}

.specialists.specialists-photo h2 {
    max-width: 760px;
}

.specialists.specialists-photo .section-text {
    max-width: 760px;
}

.specialists.specialists-photo .feature-list {
    max-width: 760px;
}

.specialists.specialists-photo img {
    display: none;
}

/* ===== WORKFLOW / ВЫПОЛНЕНИЕ РАБОТ ===== */
.workflow-section {
    overflow: hidden;
}

.workflow-list {
    display: flex;
    flex-direction: column;
    gap: 120px;
    margin-top: 70px;
}

.workflow-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 70px;
    position: relative;
    opacity: 0;
    transform: translateY(60px);
    animation: workflowFade 0.8s forwards;
}

.workflow-item.reverse {
    flex-direction: row-reverse;
}

.workflow-item:nth-child(2) { animation-delay: 0.2s; }
.workflow-item:nth-child(3) { animation-delay: 0.4s; }
.workflow-item:nth-child(4) { animation-delay: 0.6s; }
.workflow-item:nth-child(5) { animation-delay: 0.8s; }
.workflow-item:nth-child(6) { animation-delay: 1s; }

@keyframes workflowFade {
    to {
        opacity: 1;
        transform: none;
    }
}

.workflow-text {
    flex: 1;
    position: relative;
    z-index: 2;
}

.work-num {
    display: inline-block;
    font-size: 92px;
    font-weight: 900;
    line-height: 1;
    margin-bottom: 18px;
    color: rgba(212, 175, 55, 0.16);
    text-shadow: 0 0 24px rgba(212, 175, 55, 0.08);
}

.workflow-text h3 {
    margin: 0 0 22px;
    font-size: 38px;
    line-height: 1.1;
    text-transform: uppercase;
    font-weight: 900;
    color: #fff;
}

.workflow-text p {
    margin: 0;
    font-size: 18px;
    line-height: 1.9;
    color: #e4e4e4;
    max-width: 650px;
}

.workflow-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 34px;
}

.workflow-tags span {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 12px 18px;
    border-radius: 999px;
    background: rgba(212, 175, 55, 0.10);
    border: 1px solid rgba(212, 175, 55, 0.24);
    color: var(--gold2);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    backdrop-filter: blur(8px);
}

.workflow-slider {
    position: relative;
    width: 52%;
    min-width: 52%;
    overflow: hidden;
    border-radius: 30px;
    border: 1px solid rgba(212, 175, 55, 0.18);
    background: #0c0c0c;
    box-shadow: 0 25px 80px rgba(0,0,0,0.45), 0 0 0 1px rgba(255,255,255,0.03) inset;
}

.workflow-slider:before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(255,255,255,0.03), rgba(0,0,0,0.25));
    z-index: 2;
    pointer-events: none;
}

.workflow-track {
    display: flex;
    transition: transform 0.8s cubic-bezier(0.77, 0, 0.18, 1);
}

.workflow-track img {
    width: 100%;
    min-width: 100%;
    height: 560px;
    object-fit: cover;
    object-position: center;
    filter: contrast(1.03) saturate(1.04);
}

.slider-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    width: 58px;
    height: 58px;
    border-radius: 50%;
    border: 1px solid rgba(255,255,255,0.18);
    background: rgba(0,0,0,0.42);
    backdrop-filter: blur(12px);
    color: #fff;
    font-size: 34px;
    cursor: pointer;
    transition: 0.3s;
}

.slider-btn:hover {
    transform: translateY(-50%) scale(1.08);
    background: rgba(212, 175, 55, 0.92);
    color: #111;
}

.slider-btn.prev {
    left: 18px;
}

.slider-btn.next {
    right: 18px;
}

/* ===== ДОКУМЕНТЫ ===== */
.docs-list span {
    min-height: 82px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    border: 1px solid rgba(212, 175, 55, 0.26);
    border-radius: 14px;
    background: rgba(255,255,255,0.045);
    padding: 14px;
    font-weight: 800;
}

/* ===== СТАТИСТИКА В БЛОКЕ "О НАС" ===== */
.about-stats {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

/* ===== ФИНАЛЬНЫЙ ПРИЗЫВ ===== */
.final-cta {
    text-align: center;
}

.final-cta h2 {
    max-width: 960px;
    margin-left: auto;
    margin-right: auto;
}

.centered {
    justify-content: center;
}

/* ===== ПЛАВАЮЩИЕ КНОПКИ ===== */
.float {
    position: fixed;
    right: 24px;
    bottom: 28px;
    z-index: 30;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.float a {
    width: 64px;
    height: 64px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--line);
    border-radius: 16px;
    background: rgba(5,5,5,0.64);
    backdrop-filter: blur(8px);
    color: var(--gold2);
    font-weight: 900;
    text-decoration: none;
}

/* ===== ОБЩИЕ АДАПТИВНЫЕ СТИЛИ ===== */
@media (max-width: 1200px) {
    .workflow-item,
    .workflow-item.reverse {
        flex-direction: column;
        gap: 34px;
    }
    
    .workflow-slider {
        width: 100%;
        min-width: 100%;
    }
    
    .workflow-text {
        width: 100%;
    }
    
    .workflow-track img {
        height: 440px;
    }
    
    .workflow-text h3 {
        font-size: 32px;
    }
}

@media (max-width: 1000px) {
    .nav { display: none; }
    .burger { display: block; }
    .topbar { padding: 12px 18px; }
    .brand img { width: 56px; height: 56px; }
    .topbar > .btn { display: none; }
    
    .hero { padding-top: 120px; }
    
    .hero-stats,
    .why-grid,
    .services-grid,
    .object-grid,
    .specialists,
    .about {
        grid-template-columns: 1fr;
    }
    
    .docs-list { grid-template-columns: repeat(2, 1fr); }
    
    .float { right: 12px; bottom: 12px; }
    .float a { width: 52px; height: 52px; }
    
    .panel { width: 94vw; padding: 48px 20px; }
    .brand span { display: none; }
    
    .specialists.specialists-photo {
        min-height: auto;
        padding-top: 58px;
        padding-bottom: 420px;
    }
    
    .specialists.specialists-photo:before {
        background-position: 72% bottom;
    }
    
    .specialists.specialists-photo:after {
        background: linear-gradient(180deg, rgba(0,0,0,.92) 0%, rgba(0,0,0,.76) 45%, rgba(0,0,0,.22) 100%);
    }
}

@media (max-width: 768px) {
    .contact-line {
        flex-direction: column;
        gap: 30px;
        align-items: flex-start;
    }
    
    .phones a {
        font-size: 16px;
        padding: 8px 14px;
        white-space: nowrap;
    }
    
    .brands-panel {
        padding-bottom: 40px;
        padding-top: 40px;
    }
    
    .brands-track {
        gap: 40px;
    }
    
    .brands-track img {
        height: 65px;
    }
    
    .brands-slider:before,
    .brands-slider:after {
        width: 70px;
    }
    
    .workflow-list {
        gap: 70px;
    }
    
    .workflow-track img {
        height: 300px;
    }
    
    .workflow-text h3 {
        font-size: 26px;
    }
    
    .workflow-text p {
        font-size: 16px;
        line-height: 1.7;
    }
    
    .work-num {
        font-size: 58px;
    }
    
    .slider-btn {
        width: 46px;
        height: 46px;
        font-size: 28px;
    }
}

@media (max-width: 560px) {
    .site-bg { background-position: 62% center; }
    
    .hero h1 { font-size: 43px; }
    .hero-stats { grid-template-columns: 1fr 1fr; }
    
    .actions .btn { width: 100%; }
    
    .section { width: 94vw; padding: 58px 0; }
    
    h2 { font-size: 36px; }
    
    .docs-list { grid-template-columns: 1fr; }
    .service-card { min-height: auto; }
    
    .float { display: none; }
    
    .brand span { display: block; }
    .brand b { font-size: 12px; }
    .brand small { font-size: 10px; }
    
    .brands-panel {
        padding-bottom: 30px;
        padding-top: 30px;
    }
    
    .brands-track {
        gap: 28px;
    }
    
    .brands-track img {
        height: 50px;
    }
    
    .brands-slider:before,
    .brands-slider:after {
        width: 50px;
    }
    
    .specialists.specialists-photo {
        padding-bottom: 300px;
    }
    
    .specialists.specialists-photo:before {
        background-position: 68% bottom;
    }
    
    .phones a {
        font-size: 14px;
        white-space: normal;
    }
}

@media (max-width: 480px) {
    .brands-track {
        gap: 20px;
    }
    
    .brands-track img {
        height: 40px;
    }
}

/* ===== ДОПОЛНИТЕЛЬНАЯ АДАПТАЦИЯ КОНТАКТОВ И БРЕНДОВ ===== */
@media (max-width: 900px) {
    .contact-grid { grid-template-columns: 1fr; }
    .contacts-head { align-items: flex-start; flex-direction: column; }
    .contacts-head small { text-align: left; }
    .brands-track img { width: 180px; height: 82px; padding: 16px 22px; }
}

@media (max-width: 560px) {
    .hero-contacts { padding: 14px; border-radius: 18px; }
    .socials { grid-template-columns: 1fr; }
    .socials .mail-link { grid-column: auto; }
    .phones a, .socials a { width: 100%; font-size: 15px; padding: 12px 14px; white-space: normal; }
    .brands-slider:before, .brands-slider:after { width: 60px; }
    .brands-track { gap: 16px; }
    .brands-track img { width: 150px; height: 74px; padding: 14px 18px; border-radius: 14px; }
}



/* ===== ОБНОВЛЁННЫЙ НИЖНИЙ БЛОК КОНТАКТОВ ===== */
.final-contacts {
    padding: 64px 48px;
    overflow: hidden;
}

.final-contacts-inner {
    max-width: 1180px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 0.9fr 1.1fr;
    gap: 34px;
    align-items: center;
}

.final-contacts-title {
    text-align: left;
}

.final-contacts-title span {
    display: inline-block;
    margin-bottom: 18px;
    color: var(--gold2);
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.18em;
}

.final-contacts-title h2 {
    margin: 0 0 18px;
    font-size: clamp(42px, 5vw, 82px);
    line-height: 0.94;
    text-align: left;
}

.final-contacts-title p {
    max-width: 560px;
    margin: 0;
    color: rgba(255,255,255,0.78);
    font-size: 18px;
    line-height: 1.6;
}

.final-contact-card {
    padding: 22px;
    border: 1px solid rgba(255,255,255,0.14);
    border-radius: 28px;
    background: linear-gradient(135deg, rgba(0,0,0,0.62), rgba(24,18,10,0.68));
    box-shadow: 0 26px 70px rgba(0,0,0,0.38), inset 0 1px 0 rgba(255,255,255,0.06);
    backdrop-filter: blur(12px);
}

.final-phone-list,
.final-channel-list {
    display: grid;
    gap: 12px;
}

.final-phone-list {
    margin-bottom: 14px;
}

.final-channel-list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.final-phone-list a,
.final-channel-list a {
    min-height: 64px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 14px 18px;
    border: 1px solid rgba(255,255,255,0.14);
    border-radius: 18px;
    background: rgba(0,0,0,0.48);
    color: #fff;
    text-decoration: none;
    transition: 0.22s ease;
}

.final-phone-list a {
    justify-content: flex-start;
    font-size: 20px;
}

.final-phone-list span {
    color: var(--gold2);
    font-size: 22px;
}

.final-channel-list a {
    flex-direction: column;
    gap: 4px;
}

.final-channel-list b {
    color: var(--gold2);
    font-size: 20px;
    line-height: 1;
}

.final-channel-list small {
    color: rgba(255,255,255,0.64);
    font-size: 12px;
}

.final-channel-list .final-mail {
    grid-column: 1 / -1;
    flex-direction: row;
    justify-content: flex-start;
}

.final-channel-list .final-mail b {
    color: #fff;
}

.final-phone-list a:hover,
.final-channel-list a:hover {
    border-color: rgba(243,199,76,0.72);
    background: rgba(212,175,55,0.16);
    transform: translateY(-2px);
}

.final-request {
    width: fit-content;
    margin-top: 4px;
    grid-column: 1 / -1;
    justify-self: center;
}

@media (max-width: 900px) {
    .final-contacts { padding: 42px 18px; }
    .final-contacts-inner { grid-template-columns: 1fr; }
    .final-contacts-title, .final-contacts-title h2 { text-align: center; }
    .final-contacts-title p { margin: 0 auto; }
    .final-channel-list { grid-template-columns: 1fr; }
    .socials { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
    .float { right: 12px; bottom: 14px; gap: 8px; }
    .float a { width: 52px; height: 52px; border-radius: 14px; font-size: 13px; }
}



/* ==========================================================
   ПОЛНАЯ АДАПТАЦИЯ ПОД ПК / ПЛАНШЕТЫ / ТЕЛЕФОНЫ
   Добавлено: исправление переносов, сеток, логотипа, контактов,
   услуг, брендов, галерей и плавающих кнопок.
========================================================== */
img, video, svg { max-width: 100%; height: auto; }
body { min-width: 320px; }
.section, .panel, .hero-content, .final-contacts-inner { max-width: 1180px; }

/* контакты в герое — безопасные переносы */
.hero-contacts, .final-contact-card { overflow: hidden; }
.phones a, .socials a, .final-phone-list a, .final-channel-list a {
    min-width: 0;
    overflow-wrap: anywhere;
    word-break: normal;
    line-height: 1.25;
}
.socials { min-width: 0; }

/* бренды — один визуальный размер и без белых карточек */
.brands-track img {
    object-fit: contain !important;
    object-position: center !important;
    background: transparent !important;
    box-shadow: none !important;
    border: 0 !important;
    filter: drop-shadow(0 8px 16px rgba(0,0,0,.45));
}

/* ===== ноутбуки и планшеты горизонтально ===== */
@media (max-width: 1180px) {
    .topbar { padding: 12px 24px; gap: 18px; }
    .nav { gap: 18px; }
    .nav a { font-size: 12px; }
    .section { width: min(94vw, 1080px); }
    .services-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .service-card { min-height: 390px; }
    .hero-content { max-width: 760px; }
    .hero-contacts { width: min(720px, 100%); }
}

/* ===== планшеты ===== */
@media (max-width: 900px) {
    body { overflow-x: hidden; }
    .topbar {
        min-height: 76px;
        padding: 10px 18px;
        align-items: center;
    }
    .brand { gap: 10px; }
    .brand img { width: 62px !important; height: 62px !important; }
    .brand b { font-size: 14px; }
    .brand small { font-size: 10px; }
    .nav, .topbar > .btn { display: none !important; }
    .burger { display: block !important; }

    .hero {
        min-height: auto;
        padding-top: 120px;
        padding-bottom: 60px;
        align-items: flex-start;
    }
    .hero-content { width: 100%; max-width: none; }
    .hero h1 { max-width: 760px; }
    .hero p { max-width: 720px; }
    .actions { gap: 12px; margin: 26px 0; }
    .actions .btn { min-height: 50px; padding: 0 20px; }

    .hero-contacts { width: 100%; margin-top: 24px; }
    .contacts-head { flex-direction: column; align-items: flex-start; gap: 8px; }
    .contacts-head small { text-align: left; }
    .contact-grid { grid-template-columns: 1fr !important; gap: 12px; }
    .phones, .socials { width: 100%; }
    .socials { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .socials .mail-link { grid-column: 1 / -1; }

    .why-grid, .services-grid, .object-grid, .specialists, .about, .final-contacts-inner {
        grid-template-columns: 1fr !important;
    }
    .why-grid { gap: 14px; }
    .services-grid { gap: 18px; }
    .service-card { min-height: auto; padding: 16px; }
    .service-img, .object-img { height: 180px; }

    .brands-panel { padding: 44px 0; }
    .brands-track { gap: 24px !important; }
    .brands-track img {
        width: 170px !important;
        height: 78px !important;
        padding: 8px 12px !important;
    }
    .brands-slider:before, .brands-slider:after { width: 56px !important; }

    .workflow-list { gap: 70px; margin-top: 46px; }
    .workflow-item, .workflow-item.reverse { flex-direction: column !important; gap: 26px; }
    .workflow-slider { width: 100% !important; min-width: 100% !important; border-radius: 22px; }
    .workflow-track img { height: 340px !important; }

    .docs-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .about-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }

    .final-contacts { padding: 48px 22px !important; }
    .final-contacts-title, .final-contacts-title h2 { text-align: center; }
    .final-contacts-title p { margin-left: auto; margin-right: auto; }
    .final-channel-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .final-channel-list .final-mail { grid-column: 1 / -1; }

    .float { right: 14px; bottom: 14px; gap: 8px; }
    .float a { width: 52px; height: 52px; border-radius: 14px; font-size: 13px; }
}

/* ===== телефоны ===== */
@media (max-width: 640px) {
    .topbar {
        padding: 8px 12px;
        min-height: 70px;
        background: linear-gradient(180deg, rgba(0,0,0,.90), rgba(0,0,0,.40));
    }
    .brand img { width: 54px !important; height: 54px !important; }
    .brand span { display: block !important; max-width: 190px; }
    .brand b { display: block; font-size: 12px; line-height: 1.1; }
    .brand small { display: block; font-size: 9px; line-height: 1.2; }

    .hero { padding-top: 96px; padding-bottom: 42px; }
    .section { width: 92vw !important; padding: 48px 0 !important; }
    .panel { width: 94vw !important; padding: 36px 16px !important; border-radius: 22px; }
    h1, .hero h1 { font-size: clamp(38px, 13vw, 58px) !important; line-height: .92; }
    h2 { font-size: clamp(32px, 10vw, 44px) !important; line-height: .98; }
    p { font-size: 15px; }

    .actions { flex-direction: column; width: 100%; }
    .actions .btn, .btn { width: 100%; min-height: 50px; padding: 0 16px; text-align: center; }

    .hero-stats, .about-stats { grid-template-columns: 1fr 1fr !important; gap: 10px; }
    .hero-stats div, .about-stats div { padding: 12px 10px; }
    .hero-stats strong, .about-stats strong { font-size: 30px; }

    .hero-contacts { padding: 14px !important; border-radius: 18px !important; }
    .contacts-head span { font-size: 12px; }
    .contacts-head small { font-size: 12px; }
    .phones a, .socials a {
        min-height: 52px;
        font-size: 14px !important;
        padding: 11px 12px !important;
        border-radius: 14px;
    }
    .socials { grid-template-columns: 1fr !important; }

    .why-grid div { padding: 18px; font-size: 15px; }
    .services-grid { grid-template-columns: 1fr !important; }
    .service-card h3 { font-size: 22px; }
    .service-card p { font-size: 14px; line-height: 1.65; }
    .service-img, .object-img { height: 160px !important; }

    .brands-panel { padding: 34px 0 !important; }
    .brands-track { gap: 16px !important; }
    .brands-track img {
        width: 138px !important;
        height: 62px !important;
        padding: 6px 8px !important;
    }
    .brands-slider:before, .brands-slider:after { width: 34px !important; }

    .workflow-list { gap: 52px; }
    .work-num { font-size: 52px !important; }
    .workflow-text h3 { font-size: 24px !important; }
    .workflow-text p { font-size: 15px !important; line-height: 1.65 !important; }
    .workflow-tags { gap: 8px; margin-top: 20px; }
    .workflow-tags span { font-size: 11px; padding: 9px 12px; }
    .workflow-track img { height: 245px !important; }
    .slider-btn { width: 40px !important; height: 40px !important; font-size: 24px !important; }

    .docs-list { grid-template-columns: 1fr !important; }
    .specialists.specialists-photo { padding-bottom: 260px !important; }

    .final-contacts { padding: 36px 12px !important; }
    .final-contact-card { padding: 14px !important; border-radius: 20px; }
    .final-phone-list a, .final-channel-list a {
        min-height: 54px;
        padding: 12px;
        border-radius: 14px;
        font-size: 14px;
    }
    .final-phone-list a { font-size: 16px !important; }
    .final-channel-list { grid-template-columns: 1fr !important; }
    .final-channel-list .final-mail { flex-direction: column; align-items: center; justify-content: center; text-align: center; }
    .final-request { width: 100%; }

    .float {
        left: 0;
        right: 0;
        bottom: 0;
        flex-direction: row !important;
        justify-content: center;
        gap: 6px;
        padding: 8px 8px calc(8px + env(safe-area-inset-bottom));
        background: linear-gradient(180deg, rgba(0,0,0,0), rgba(0,0,0,.88) 22%);
        pointer-events: none;
    }
    .float a {
        width: 48px !important;
        height: 48px !important;
        border-radius: 14px !important;
        font-size: 12px !important;
        pointer-events: auto;
    }
    body { padding-bottom: 64px; }
}

/* ===== маленькие телефоны 320-380px ===== */
@media (max-width: 380px) {
    .brand span { max-width: 150px; }
    .brand img { width: 48px !important; height: 48px !important; }
    .hero { padding-top: 90px; }
    h1, .hero h1 { font-size: 36px !important; }
    h2 { font-size: 30px !important; }
    .hero-stats, .about-stats { grid-template-columns: 1fr !important; }
    .brands-track img { width: 124px !important; height: 56px !important; }
    .workflow-track img { height: 210px !important; }
    .float a { width: 44px !important; height: 44px !important; font-size: 11px !important; }
}

/* =======================================================
   FINAL RESPONSIVE STRUCTURE PATCH — ИП Плюснин
   Цель: без горизонтальной прокрутки, нормальное меню,
   адаптивные заголовки, фон, услуги, бренды и контакты.
======================================================= */
html, body {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden !important;
}

*, *::before, *::after { box-sizing: border-box; }
img, svg, video, iframe { max-width: 100%; height: auto; }

body.menu-open { overflow: hidden; }

.site-bg {
  overflow: hidden;
  background-position: center center !important;
  background-size: cover !important;
}

section, .section, .container, .hero, .hero-content {
  max-width: 100%;
}

h1, h2, h3, .section-title, .hero-title {
  overflow-wrap: anywhere;
  word-break: normal;
  hyphens: auto;
}

.topbar {
  width: min(1180px, calc(100% - 32px));
  left: 50%;
  transform: translateX(-50%);
  right: auto;
  max-width: calc(100% - 32px);
}

.brand { min-width: 0; }
.brand span { min-width: 0; }
.brand b, .brand small {
  display: block;
  white-space: normal;
  line-height: 1.15;
}

.nav a { white-space: nowrap; }

.hero-contacts, .contact-card, .contacts-card, .contact-panel, .request-card {
  max-width: 100%;
}

.hero-contact-grid, .contacts-grid, .footer-contact-grid {
  min-width: 0;
}

.services-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.brands-grid, .brand-grid, .brands-list {
  max-width: 100%;
}

.floating, .float-actions, .floating-actions, .side-actions {
  z-index: 50;
}

@media (max-width: 1180px) {
  .topbar {
    width: calc(100% - 28px);
    max-width: calc(100% - 28px);
    padding-left: 14px;
    padding-right: 14px;
    gap: 14px;
  }

  .nav { gap: 12px; }
  .nav a { font-size: 13px; }
}

@media (max-width: 1024px) {
  .site-bg {
    position: fixed;
    background-attachment: scroll !important;
    background-position: center top !important;
  }

  .topbar {
    top: 10px;
    min-height: 76px;
  }

  .brand img {
    width: 68px !important;
    height: 68px !important;
    flex: 0 0 68px;
  }

  .brand b { font-size: 15px; }
  .brand small { font-size: 11px; }

  .topbar > .btn.gold { display: none; }

  .burger {
    display: inline-flex !important;
    width: 48px;
    height: 48px;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    border: 1px solid rgba(212,175,55,.45) !important;
    border-radius: 14px;
    background: rgba(0,0,0,.32) !important;
    cursor: pointer;
    flex: 0 0 48px;
    z-index: 1002;
  }

  .burger span {
    width: 24px !important;
    height: 2px !important;
    margin: 3px 0 !important;
    background: #fff !important;
    transition: .25s ease;
  }

  body.menu-open .burger span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
  body.menu-open .burger span:nth-child(2) { opacity: 0; }
  body.menu-open .burger span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }

  .nav {
    position: fixed !important;
    top: 92px;
    left: 14px;
    right: 14px;
    width: auto;
    max-height: calc(100vh - 112px);
    overflow-y: auto;
    display: flex !important;
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    padding: 16px;
    border: 1px solid rgba(212,175,55,.35);
    border-radius: 22px;
    background: rgba(5,5,5,.94);
    backdrop-filter: blur(18px);
    box-shadow: 0 22px 60px rgba(0,0,0,.45);
    opacity: 0;
    pointer-events: none;
    transform: translateY(-12px);
    transition: .25s ease;
    z-index: 1001;
  }

  body.menu-open .nav {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
  }

  .nav a {
    display: block;
    width: 100%;
    padding: 14px 16px;
    border-radius: 14px;
    background: rgba(255,255,255,.06);
    font-size: 15px;
    text-align: left;
  }

  h1, .hero-title {
    font-size: clamp(34px, 7vw, 54px) !important;
    line-height: 1.05 !important;
  }

  h2, .section-title {
    font-size: clamp(28px, 5.5vw, 42px) !important;
    line-height: 1.12 !important;
  }

  .services-grid, .object-grid, .specialists-grid, .why-grid, .steps-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .hero-contacts, .contacts-card, .contact-card, .request-card {
    width: 100% !important;
  }
}

@media (max-width: 768px) {
  body { font-size: 15px; }

  .site-bg {
    background-position: center top !important;
    background-size: cover !important;
  }

  .topbar {
    width: calc(100% - 20px);
    max-width: calc(100% - 20px);
    min-height: 68px;
    padding: 8px 10px;
    border-radius: 18px;
  }

  .brand { gap: 10px; }
  .brand img {
    width: 56px !important;
    height: 56px !important;
    flex-basis: 56px;
    border-radius: 16px;
  }
  .brand b { font-size: 13px; letter-spacing: .4px; }
  .brand small { font-size: 10px; max-width: 190px; }

  .nav { top: 82px; left: 10px; right: 10px; }

  .hero, .section, section {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .hero {
    padding-top: 110px !important;
    min-height: auto !important;
  }

  h1, .hero-title {
    font-size: clamp(30px, 10vw, 42px) !important;
    line-height: 1.04 !important;
    max-width: 100%;
  }

  h2, .section-title {
    font-size: clamp(24px, 8vw, 34px) !important;
    line-height: 1.12 !important;
    max-width: 100%;
  }

  h3 { font-size: clamp(19px, 5vw, 24px) !important; }

  .hero-contacts,
  .contacts-card,
  .contact-card,
  .request-card,
  .panel,
  .card,
  .service-card {
    border-radius: 18px !important;
  }

  .hero-contacts,
  .contacts-card,
  .contact-card,
  .request-card {
    padding: 16px !important;
  }

  .hero-contacts * { max-width: 100%; }

  .hero-actions, .actions, .cta-row {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
    width: 100%;
  }

  .hero-actions .btn, .actions .btn, .cta-row .btn, .btn {
    max-width: 100%;
  }

  .services-grid, .object-grid, .specialists-grid, .why-grid, .steps-grid, .contacts-grid, .footer-contact-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  .brands-grid, .brand-grid, .brands-list {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }

  .brands-grid img, .brand-grid img, .brands-list img,
  .brand-logo img, .brand-card img {
    max-width: 100% !important;
    max-height: 54px !important;
    object-fit: contain !important;
  }

  .brand-card, .brand-logo {
    min-width: 0 !important;
    padding: 10px !important;
  }

  .workflow-row, .work-row, .about-grid, .specialists-wrap {
    grid-template-columns: 1fr !important;
  }

  .floating, .float-actions, .floating-actions, .side-actions {
    right: 10px !important;
    bottom: 12px !important;
    gap: 8px !important;
  }

  .floating a, .float-actions a, .floating-actions a, .side-actions a {
    width: 46px !important;
    height: 46px !important;
    min-width: 46px !important;
    min-height: 46px !important;
  }
}

@media (max-width: 420px) {
  .brand small { display: none; }
  .brand b { font-size: 12px; }

  .hero, .section, section {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  h1, .hero-title { font-size: 30px !important; }
  h2, .section-title { font-size: 24px !important; }

  .brands-grid, .brand-grid, .brands-list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}


/* =======================================================
   FINAL PROFESSIONAL ADAPTIVE PATCH
   - clean headings on mobile
   - collapsible hero contacts on mobile
   - list layout for reliability/service and docs blocks
   - no horizontal scrolling
======================================================= */
html, body {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden !important;
}
body { min-width: 0; }
*, *::before, *::after { min-width: 0; }
img, video, iframe { max-width: 100%; height: auto; }

/* desktop: service reliability block as readable list */
.why-grid.why-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px 22px;
  max-width: 1040px;
}
.why-grid.why-list div {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 14px;
  min-height: 64px;
  padding: 18px 20px 18px 56px;
  border-radius: 16px;
  border: 1px solid rgba(212, 175, 55, 0.24);
  background: linear-gradient(135deg, rgba(255,255,255,0.055), rgba(255,255,255,0.025));
  font-size: clamp(16px, 1.1vw, 19px);
  line-height: 1.45;
  font-weight: 750;
}
.why-grid.why-list div::before {
  content: "✓";
  position: absolute;
  left: 18px;
  top: 17px;
  width: 26px;
  height: 26px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--gold2), var(--gold));
  color: #090909;
  font-weight: 900;
  box-shadow: 0 8px 20px rgba(212,175,55,.22);
}

/* documentation block as clean list */
.docs-clean-list,
.docs-list.docs-clean-list {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 18px;
  margin-top: 26px;
}
.docs-clean-list span,
.docs-list.docs-clean-list span {
  position: relative;
  display: block;
  padding: 15px 18px 15px 48px;
  min-height: 54px;
  border-radius: 15px;
  border: 1px solid rgba(212,175,55,.22);
  background: rgba(255,255,255,.045);
  font-weight: 750;
  line-height: 1.35;
}
.docs-clean-list span::before,
.docs-list.docs-clean-list span::before {
  content: "•";
  position: absolute;
  left: 20px;
  top: 13px;
  color: var(--gold2);
  font-size: 28px;
  line-height: 1;
}

.contacts-title-text { display: flex; flex-direction: column; gap: 4px; }
.contacts-toggle {
  display: none;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 42px;
  padding: 0 14px;
  border: 1px solid rgba(212,175,55,.38);
  border-radius: 999px;
  background: rgba(0,0,0,.28);
  color: var(--gold2);
  font: inherit;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
  cursor: pointer;
}
.toggle-arrow { font-size: 20px; line-height: 1; transition: transform .25s ease; }
.hero-contacts.contacts-open .toggle-arrow { transform: rotate(180deg); }

@media (max-width: 900px) {
  .site-bg {
    background-attachment: scroll !important;
    background-position: center top !important;
    background-size: cover !important;
  }

  .section,
  .section-clean,
  .panel,
  .hero,
  .hero-content {
    width: 100% !important;
    max-width: 100% !important;
  }

  .panel {
    padding: 42px 18px !important;
    margin-top: 24px !important;
    margin-bottom: 24px !important;
  }

  .eyebrow {
    text-align: center;
    font-size: 11px !important;
    line-height: 1.45 !important;
    letter-spacing: .12em !important;
    max-width: 100%;
  }

  .hero h1,
  h1,
  h2,
  .section-title {
    text-align: center !important;
    overflow-wrap: anywhere;
    word-break: normal;
    hyphens: auto;
  }

  .hero h1,
  h1 {
    font-size: clamp(29px, 8.5vw, 42px) !important;
    line-height: 1.08 !important;
    letter-spacing: .015em !important;
  }

  h2,
  .section-title {
    font-size: clamp(23px, 6.6vw, 32px) !important;
    line-height: 1.18 !important;
    letter-spacing: .012em !important;
    margin-bottom: 18px !important;
  }

  .lead,
  .section-text,
  .about p {
    text-align: center;
    font-size: 15px !important;
    line-height: 1.65 !important;
  }

  .contacts-head {
    align-items: center !important;
    text-align: center;
    gap: 12px !important;
    padding-bottom: 0 !important;
    border-bottom: 0 !important;
  }
  .contacts-head small { text-align: center !important; }
  .contacts-toggle { display: inline-flex; }

  /* mobile: first contact block is collapsed by default */
  .hero-contacts .contact-grid {
    display: grid !important;
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    margin-top: 0 !important;
    padding-top: 0 !important;
    transition: max-height .35s ease, opacity .25s ease, margin-top .25s ease, padding-top .25s ease;
  }
  .hero-contacts.contacts-open .contact-grid {
    max-height: 760px;
    opacity: 1;
    margin-top: 14px !important;
    padding-top: 14px !important;
    border-top: 1px solid rgba(255,255,255,.1);
  }

  .why-grid.why-list,
  .docs-clean-list,
  .docs-list.docs-clean-list {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    width: 100%;
  }
  .why-grid.why-list div,
  .docs-clean-list span,
  .docs-list.docs-clean-list span {
    min-height: auto;
    padding: 14px 15px 14px 46px !important;
    border-radius: 14px !important;
    font-size: 15px !important;
    line-height: 1.42 !important;
    text-align: left !important;
  }
  .why-grid.why-list div::before {
    left: 14px;
    top: 13px;
    width: 23px;
    height: 23px;
    font-size: 14px;
  }
  .docs-clean-list span::before,
  .docs-list.docs-clean-list span::before {
    left: 18px;
    top: 11px;
  }
}

@media (max-width: 480px) {
  .panel { padding: 34px 14px !important; border-radius: 20px !important; }
  .hero h1, h1 { font-size: clamp(27px, 8.4vw, 34px) !important; }
  h2, .section-title { font-size: clamp(21px, 6.5vw, 27px) !important; }
  h3 { font-size: 18px !important; line-height: 1.25 !important; }
  .contacts-toggle { width: 100%; }
  .brand img { border-radius: 50% !important; }
}


/* =======================================================
   2026-06-05 PROFESSIONAL MOBILE + LISTS + WORK PANELS
   - заголовки без разрыва слов
   - простые списки без маленьких карточек
   - блок выполнения работ в стиле горизонтальных панелей
======================================================= */
html, body { overflow-x: hidden !important; }

/* Заголовки: не режем слова по буквам */
h1, h2, h3, .section-title, .hero-title,
.hero h1, .workflow-text h3, .work-panel-content h3 {
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
  text-wrap: balance;
}

/* Простые списки без маленьких блочков */
.why-list-simple,
.docs-clean-simple {
  list-style: none;
  margin: 28px 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px 42px;
  max-width: 1080px;
}
.why-list-simple li,
.docs-clean-simple li {
  position: relative;
  padding: 0 0 0 34px;
  min-height: 0;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #f2f2f2;
  font-size: clamp(16px, 1.14vw, 20px);
  font-weight: 700;
  line-height: 1.55;
  text-align: left;
}
.why-list-simple li::before,
.docs-clean-simple li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0.05em;
  color: var(--gold2);
  font-weight: 900;
  font-size: 20px;
  line-height: 1;
  text-shadow: 0 0 14px rgba(243,199,76,.35);
}
.docs-clean-simple li::before { content: "•"; font-size: 30px; top: -0.08em; }

/* Прячем старые карточные стили, если где-то остались */
.why-grid.why-list, .docs-list.docs-clean-list { display: none !important; }

/* Новый блок выполнения работ */
.work-accordion-section { overflow: hidden; }
.work-panels {
  margin-top: 46px;
  display: flex;
  gap: 14px;
  width: 100%;
  min-height: 560px;
}
.work-panel {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  flex: 0 0 92px;
  min-width: 92px;
  border: 1px solid rgba(212,175,55,.24);
  border-radius: 24px;
  background-image: linear-gradient(90deg, rgba(0,0,0,.86), rgba(0,0,0,.40)), var(--bg);
  background-size: cover;
  background-position: center;
  box-shadow: 0 24px 70px rgba(0,0,0,.38);
  transition: flex-basis .55s ease, min-width .55s ease, transform .25s ease, border-color .25s ease;
}
.work-panel::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: radial-gradient(circle at 32% 34%, rgba(243,199,76,.20), transparent 34%),
              linear-gradient(90deg, rgba(0,0,0,.92), rgba(0,0,0,.32) 52%, rgba(0,0,0,.72));
  opacity: .96;
}
.work-panel.active {
  flex-basis: min(720px, 58vw);
  min-width: 420px;
  border-color: rgba(243,199,76,.46);
}
.work-panel-toggle {
  position: absolute;
  inset: 0;
  z-index: 3;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  padding: 24px 12px;
  border: 0;
  background: linear-gradient(180deg, rgba(0,0,0,.18), rgba(0,0,0,.64));
  color: #fff;
  cursor: pointer;
}
.work-panel.active .work-panel-toggle {
  width: 92px;
  right: auto;
  background: linear-gradient(180deg, rgba(0,0,0,.35), rgba(0,0,0,.82));
}
.work-panel-num {
  color: #fff;
  font-weight: 900;
  font-size: 26px;
  text-shadow: 0 2px 14px rgba(0,0,0,.65);
}
.work-panel-vertical {
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  color: #fff;
  font-size: 15px;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
  text-align: left;
  white-space: nowrap;
  text-shadow: 0 2px 14px rgba(0,0,0,.82);
}
.work-panel-content {
  position: relative;
  z-index: 2;
  max-width: 600px;
  height: 100%;
  margin-left: 92px;
  padding: 72px 52px 54px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  opacity: 0;
  transform: translateX(18px);
  transition: opacity .32s ease .18s, transform .32s ease .18s;
  pointer-events: none;
}
.work-panel.active .work-panel-content {
  opacity: 1;
  transform: translateX(0);
  pointer-events: auto;
}
.work-panel-content .work-num {
  margin-bottom: 18px;
  color: rgba(243,199,76,.22);
  font-size: clamp(58px, 6vw, 94px);
}
.work-panel-content h3 {
  margin: 0 0 18px;
  color: #fff;
  font-size: clamp(28px, 2.7vw, 44px) !important;
  line-height: 1.08 !important;
  text-transform: uppercase;
  font-weight: 900;
}
.work-panel-content p {
  margin: 0;
  max-width: 560px;
  color: rgba(255,255,255,.88);
  font-size: 18px;
  line-height: 1.75;
  font-weight: 550;
}
.work-panel-content .workflow-tags { margin-top: 26px; }

@media (hover:hover) and (min-width:901px) {
  .work-panel:not(.active):hover { transform: translateY(-4px); border-color: rgba(243,199,76,.44); }
}

@media (max-width: 1100px) {
  .work-panels { min-height: 500px; gap: 10px; }
  .work-panel { flex-basis: 78px; min-width: 78px; }
  .work-panel.active { min-width: 360px; flex-basis: 54vw; }
  .work-panel.active .work-panel-toggle { width: 78px; }
  .work-panel-content { margin-left: 78px; padding: 52px 30px 42px; }
  .work-panel-vertical { font-size: 13px; }
}

@media (max-width: 900px) {
  h1, h2, h3, .section-title, .hero-title, .hero h1 {
    text-align: center !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
  }
  h2, .section-title {
    font-size: clamp(23px, 6vw, 32px) !important;
    line-height: 1.22 !important;
    letter-spacing: .01em !important;
  }
  .eyebrow { text-align: center; }

  .why-list-simple, .docs-clean-simple {
    grid-template-columns: 1fr;
    gap: 11px;
    margin-top: 22px;
  }
  .why-list-simple li, .docs-clean-simple li {
    padding-left: 30px;
    font-size: 15.5px;
    line-height: 1.5;
  }

  .work-panels {
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
    min-height: 0;
    margin-top: 28px;
  }
  .work-panel,
  .work-panel.active {
    min-width: 0;
    flex: none;
    min-height: 92px;
    border-radius: 20px;
    transition: min-height .35s ease, border-color .25s ease;
  }
  .work-panel.active { min-height: 430px; }
  .work-panel-toggle,
  .work-panel.active .work-panel-toggle {
    position: relative;
    inset: auto;
    width: 100%;
    height: 92px;
    min-height: 92px;
    flex-direction: row;
    justify-content: flex-start;
    gap: 16px;
    padding: 18px 20px;
    background: linear-gradient(90deg, rgba(0,0,0,.72), rgba(0,0,0,.38));
  }
  .work-panel-vertical {
    writing-mode: horizontal-tb;
    transform: none;
    white-space: normal;
    line-height: 1.25;
    text-align: left;
    font-size: 15px;
  }
  .work-panel-num { flex: 0 0 auto; font-size: 24px; color: var(--gold2); }
  .work-panel-content {
    height: auto;
    max-width: none;
    margin-left: 0;
    padding: 0 20px 28px;
    opacity: 0;
    max-height: 0;
    overflow: hidden;
    transform: none;
    transition: max-height .35s ease, opacity .25s ease, padding .25s ease;
  }
  .work-panel.active .work-panel-content {
    opacity: 1;
    max-height: 520px;
    padding: 14px 20px 28px;
  }
  .work-panel-content .work-num { display: none; }
  .work-panel-content h3 {
    text-align: left !important;
    font-size: 23px !important;
    line-height: 1.18 !important;
  }
  .work-panel-content p {
    font-size: 15px;
    line-height: 1.65;
  }
}

@media (max-width: 480px) {
  h2, .section-title { font-size: clamp(21px, 5.8vw, 27px) !important; }
  .work-panel.active { min-height: 450px; }
  .work-panel-toggle,
  .work-panel.active .work-panel-toggle { min-height: 86px; height: 86px; padding: 16px; }
  .work-panel-content { padding-left: 16px; padding-right: 16px; }
  .work-panel.active .work-panel-content { padding: 12px 16px 24px; }
  .workflow-tags span { font-size: 10px !important; padding: 8px 10px !important; }
}

/* =======================================================
   FINAL FIX: нормальный блок "Как мы выполняем работы"
   + заголовки без разрыва слов
   + два списка без маленьких карточек
======================================================= */
* { box-sizing: border-box; }
html, body { max-width: 100%; overflow-x: hidden !important; }

h1, h2, h3, .eyebrow, .section-text, .nav a, .btn {
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}
h1, h2, h3 {
  text-wrap: balance;
  white-space: normal;
}

.why-list-simple,
.docs-clean-simple {
  list-style: none !important;
  margin: 28px auto 0 !important;
  padding: 0 !important;
  display: block !important;
  max-width: 980px !important;
  columns: 1 !important;
}
.why-list-simple li,
.docs-clean-simple li {
  display: block !important;
  position: relative !important;
  margin: 0 0 14px !important;
  padding: 0 0 0 34px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  min-height: 0 !important;
  color: rgba(255,255,255,.92) !important;
  font-size: clamp(16px, 1.15vw, 19px) !important;
  font-weight: 650 !important;
  line-height: 1.55 !important;
  text-align: left !important;
}
.why-list-simple li::before,
.docs-clean-simple li::before {
  content: "✓" !important;
  position: absolute !important;
  left: 0 !important;
  top: .15em !important;
  color: var(--gold2) !important;
  font-size: 18px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  text-shadow: 0 0 14px rgba(243,199,76,.32) !important;
}
.docs-clean-simple li::before { content: "•" !important; font-size: 24px !important; top: -.02em !important; }

.workflow-section { overflow: hidden !important; }
.workflow-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 64px !important;
  margin-top: 42px !important;
}
.workflow-item,
.workflow-item.reverse {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 42px !important;
  opacity: 1 !important;
  transform: none !important;
  animation: none !important;
}
.workflow-item.reverse { flex-direction: row-reverse !important; }
.workflow-text { flex: 1 1 43% !important; min-width: 0 !important; }
.workflow-slider {
  flex: 0 1 54% !important;
  width: 54% !important;
  min-width: 0 !important;
  max-width: 620px !important;
  border-radius: 26px !important;
  overflow: hidden !important;
}
.workflow-track img {
  width: 100% !important;
  min-width: 100% !important;
  height: clamp(300px, 29vw, 440px) !important;
  object-fit: cover !important;
}
.workflow-text h3 {
  font-size: clamp(26px, 2.4vw, 36px) !important;
  line-height: 1.12 !important;
  margin-bottom: 16px !important;
}
.workflow-text p {
  font-size: clamp(15px, 1.15vw, 18px) !important;
  line-height: 1.7 !important;
}
.work-num {
  font-size: clamp(54px, 5.3vw, 82px) !important;
  margin-bottom: 12px !important;
}
.workflow-tags { margin-top: 22px !important; gap: 10px !important; }
.workflow-tags span { padding: 10px 14px !important; font-size: 12px !important; }

@media (max-width: 900px) {
  .section, .panel { max-width: calc(100vw - 24px) !important; }
  h1, h2 { text-align: center !important; line-height: 1.14 !important; letter-spacing: .01em !important; }
  .section h2 { font-size: clamp(23px, 6.2vw, 32px) !important; }
  .workflow-list { gap: 34px !important; margin-top: 28px !important; }
  .workflow-item,
  .workflow-item.reverse {
    flex-direction: column !important;
    gap: 18px !important;
    padding-bottom: 24px !important;
    border-bottom: 1px solid rgba(212,175,55,.16) !important;
  }
  .workflow-item:last-child { border-bottom: 0 !important; padding-bottom: 0 !important; }
  .workflow-text { width: 100% !important; order: 1 !important; text-align: left !important; }
  .workflow-slider { width: 100% !important; max-width: 100% !important; order: 2 !important; border-radius: 20px !important; }
  .workflow-track img { height: clamp(220px, 54vw, 330px) !important; }
  .workflow-text h3 { text-align: left !important; font-size: clamp(22px, 5.8vw, 28px) !important; }
  .workflow-text p { font-size: 15px !important; line-height: 1.6 !important; }
  .work-num { font-size: 46px !important; margin-bottom: 8px !important; }
  .slider-btn { width: 44px !important; height: 44px !important; font-size: 26px !important; }
  .slider-btn.prev { left: 10px !important; }
  .slider-btn.next { right: 10px !important; }
  .why-list-simple li, .docs-clean-simple li { font-size: 15.5px !important; line-height: 1.5 !important; padding-left: 28px !important; }
}

@media (max-width: 480px) {
  .section h2 { font-size: clamp(21px, 6vw, 27px) !important; }
  .workflow-list { gap: 30px !important; }
  .workflow-track img { height: 220px !important; }
  .workflow-tags { gap: 7px !important; }
  .workflow-tags span { font-size: 10px !important; padding: 8px 10px !important; }
}


/* =======================================================
   FINAL WORK BLOCK: компактное меню + фото, в стиле сайта
   ======================================================= */
.compact-work-section{overflow:hidden!important}
.compact-work-section .section-text{max-width:760px;margin-left:auto;margin-right:auto;text-align:center}
.work-showcase{margin-top:34px;display:grid;grid-template-columns:250px minmax(0,1fr);gap:22px;align-items:stretch;width:100%;max-width:1120px;margin-left:auto;margin-right:auto}
.work-menu{display:flex;flex-direction:column;gap:12px;min-width:0}
.work-menu-btn{width:100%;min-height:82px;padding:16px 18px;border:1px solid rgba(212,175,55,.24);border-radius:20px;background:linear-gradient(135deg,rgba(0,0,0,.72),rgba(0,0,0,.38));color:#fff;text-align:left;cursor:pointer;display:flex;align-items:center;gap:14px;box-shadow:0 18px 44px rgba(0,0,0,.22);transition:.25s ease}
.work-menu-btn span{flex:0 0 auto;color:var(--gold2);font-size:28px;font-weight:900;line-height:1;text-shadow:0 0 18px rgba(243,199,76,.28)}
.work-menu-btn b{font-size:15px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;line-height:1.2;word-break:normal;overflow-wrap:normal;hyphens:none}
.work-menu-btn:hover,.work-menu-btn.active{border-color:rgba(243,199,76,.58);background:linear-gradient(135deg,rgba(212,175,55,.28),rgba(0,0,0,.48));transform:translateX(4px)}
.work-stage{position:relative;min-height:520px;border:1px solid rgba(212,175,55,.22);border-radius:28px;overflow:hidden;background:linear-gradient(135deg,rgba(0,0,0,.72),rgba(0,0,0,.34));box-shadow:0 24px 70px rgba(0,0,0,.32)}
.work-tab{position:absolute;inset:0;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);opacity:0;pointer-events:none;transition:opacity .3s ease}
.work-tab.active{opacity:1;pointer-events:auto}
.work-photo-slider{position:relative;min-width:0;height:100%;overflow:hidden;background:#090909}
.work-photo-track{height:100%;display:flex;transition:transform .45s ease;will-change:transform}
.work-photo-track img{display:block;width:100%;min-width:100%;height:100%;object-fit:cover}
.work-photo-slider:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.05),rgba(0,0,0,.30));pointer-events:none}
.work-photo-btn{position:absolute;top:50%;z-index:3;transform:translateY(-50%);width:46px;height:46px;border-radius:50%;border:1px solid rgba(243,199,76,.46);background:rgba(0,0,0,.62);color:#ffd64c;font-size:32px;line-height:1;cursor:pointer;display:grid;place-items:center;transition:.2s ease}
.work-photo-btn:hover{background:rgba(212,175,55,.28)}
.work-photo-btn.prev{left:14px}.work-photo-btn.next{right:14px}
.work-info{position:relative;padding:46px 38px 38px;display:flex;flex-direction:column;justify-content:center;background:radial-gradient(circle at 20% 20%,rgba(243,199,76,.12),transparent 40%),linear-gradient(180deg,rgba(0,0,0,.30),rgba(0,0,0,.66))}
.work-info .work-num{position:absolute;top:18px;right:28px;color:rgba(243,199,76,.18);font-size:78px!important;line-height:1;margin:0!important;font-weight:900}
.work-info h3{position:relative;margin:0 0 18px!important;color:#fff;font-size:clamp(28px,2.4vw,40px)!important;line-height:1.12!important;text-transform:uppercase;text-align:left!important;word-break:normal!important;overflow-wrap:normal!important;hyphens:none!important}
.work-info p{position:relative;margin:0;color:rgba(255,255,255,.9);font-size:17px;line-height:1.7;font-weight:550;text-align:left}
.work-info .workflow-tags{position:relative;margin-top:24px!important}

@media(max-width:980px){
  .work-showcase{grid-template-columns:1fr;gap:14px;margin-top:26px}
  .work-menu{flex-direction:row;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:4px;margin-left:-2px;margin-right:-2px;-webkit-overflow-scrolling:touch}
  .work-menu::-webkit-scrollbar{height:0}
  .work-menu-btn{flex:0 0 auto;width:178px;min-height:66px;border-radius:18px;padding:12px 14px;scroll-snap-align:start;transform:none!important}
  .work-menu-btn span{font-size:22px}.work-menu-btn b{font-size:13px}
  .work-stage{min-height:0;height:auto;border-radius:22px}
  .work-tab{position:relative;display:none;grid-template-columns:1fr}
  .work-tab.active{display:grid;opacity:1}
  .work-photo-slider{height:clamp(220px,52vw,360px)}
  .work-info{padding:24px 18px 22px}
  .work-info .work-num{display:none}
  .work-info h3{font-size:clamp(22px,5.8vw,29px)!important;line-height:1.16!important;text-align:left!important}
  .work-info p{font-size:15px;line-height:1.6}
  .work-photo-btn{width:42px;height:42px;font-size:28px}
}
@media(max-width:480px){
  .compact-work-section .section-text{font-size:14.5px!important;line-height:1.55!important}
  .work-menu-btn{width:156px;min-height:60px;padding:10px 12px}
  .work-menu-btn span{font-size:20px}.work-menu-btn b{font-size:12px;letter-spacing:.03em}
  .work-photo-slider{height:218px}
  .work-info{padding:20px 16px 20px}
  .work-info h3{font-size:22px!important}
  .work-info .workflow-tags{gap:7px!important;margin-top:18px!important}
  .work-info .workflow-tags span{font-size:10px!important;padding:8px 10px!important}
}

/* =======================================================
   FINAL FIX: блок «Как мы выполняем работы»
   Стиль сайта сохранён + меню как у Liebherr + нормальная мобильная версия
======================================================= */
.pl-work-section{
  overflow:hidden!important;
}
.pl-work-section .section-text{
  max-width:780px;
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}
.pl-work-desktop{
  margin-top:38px;
  display:flex;
  gap:12px;
  width:100%;
  height:540px;
  min-height:540px;
  border-radius:28px;
  overflow:hidden;
  background:rgba(0,0,0,.34);
  border:1px solid rgba(212,175,55,.20);
  box-shadow:0 28px 78px rgba(0,0,0,.34);
}
.pl-work-panel{
  position:relative;
  overflow:hidden;
  flex:0 0 86px;
  min-width:86px;
  border-right:1px solid rgba(255,255,255,.08);
  background-image:linear-gradient(90deg,rgba(0,0,0,.82),rgba(0,0,0,.34)),var(--bg);
  background-size:cover;
  background-position:center;
  transition:flex-basis .48s ease, flex-grow .48s ease, border-color .25s ease;
}
.pl-work-panel::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(0,0,0,.88),rgba(0,0,0,.28) 55%,rgba(0,0,0,.62)),radial-gradient(circle at 30% 35%,rgba(243,199,76,.18),transparent 34%);
  z-index:1;
  pointer-events:none;
}
.pl-work-panel.is-active{
  flex:1 1 auto;
  min-width:0;
  border-color:rgba(243,199,76,.36);
}
.pl-work-toggle{
  position:absolute;
  inset:0 auto 0 0;
  z-index:4;
  width:86px;
  border:0;
  border-right:1px solid rgba(255,255,255,.10);
  background:linear-gradient(180deg,rgba(0,0,0,.22),rgba(0,0,0,.78));
  color:#fff;
  cursor:pointer;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:space-between;
  padding:24px 9px;
}
.pl-work-toggle span{
  color:#fff;
  font-size:25px;
  line-height:1;
  font-weight:900;
  text-shadow:0 2px 14px rgba(0,0,0,.7);
}
.pl-work-toggle b{
  writing-mode:vertical-rl;
  transform:rotate(180deg);
  color:#fff;
  font-size:14px;
  line-height:1;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  white-space:nowrap;
  text-shadow:0 2px 14px rgba(0,0,0,.75);
}
.pl-work-panel.is-active .pl-work-toggle{
  background:linear-gradient(180deg,rgba(0,0,0,.34),rgba(0,0,0,.86));
}
.pl-work-panel.is-active .pl-work-toggle span,
.pl-work-panel.is-active .pl-work-toggle b{
  color:var(--gold2);
}
.pl-work-content{
  position:absolute;
  z-index:2;
  inset:0;
  padding-left:86px;
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);
  opacity:0;
  pointer-events:none;
  transform:translateX(14px);
  transition:opacity .28s ease, transform .32s ease;
}
.pl-work-panel.is-active .pl-work-content{
  opacity:1;
  transform:none;
  pointer-events:auto;
}
.pl-work-photo-slider{
  position:relative;
  height:100%;
  min-width:0;
  overflow:hidden;
  background:#090909;
}
.pl-work-track{
  height:100%;
  display:flex;
  transition:transform .45s ease;
  will-change:transform;
}
.pl-work-track img{
  display:block;
  width:100%;
  min-width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.pl-work-photo-slider::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(0,0,0,.06),rgba(0,0,0,.28));
  pointer-events:none;
}
.pl-photo-btn{
  position:absolute;
  top:50%;
  z-index:5;
  transform:translateY(-50%);
  width:44px;
  height:44px;
  border-radius:50%;
  border:1px solid rgba(243,199,76,.50);
  background:rgba(0,0,0,.58);
  color:var(--gold2);
  font-size:30px;
  line-height:1;
  cursor:pointer;
  display:grid;
  place-items:center;
  transition:.2s ease;
}
.pl-photo-btn:hover{background:rgba(212,175,55,.26)}
.pl-photo-btn.prev{left:14px}.pl-photo-btn.next{right:14px}
.pl-work-text{
  position:relative;
  padding:44px 36px 34px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:radial-gradient(circle at 18% 16%,rgba(243,199,76,.14),transparent 38%),linear-gradient(180deg,rgba(0,0,0,.22),rgba(0,0,0,.70));
}
.pl-work-text>span{
  position:absolute;
  top:20px;
  right:28px;
  color:rgba(243,199,76,.18);
  font-size:76px;
  line-height:1;
  font-weight:900;
}
.pl-work-text h3{
  position:relative;
  margin:0 0 16px!important;
  color:#fff;
  font-size:clamp(27px,2.35vw,40px)!important;
  line-height:1.12!important;
  text-transform:uppercase;
  text-align:left!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
}
.pl-work-text p{
  position:relative;
  margin:0;
  color:rgba(255,255,255,.9);
  font-size:16.5px;
  line-height:1.68;
  font-weight:550;
  text-align:left;
}
.pl-work-text .workflow-tags{
  position:relative;
  margin-top:22px!important;
}
.pl-work-mobile{display:none;}

@media(max-width:980px){
  .pl-work-desktop{display:none!important;}
  .pl-work-mobile{display:block;margin-top:26px;width:100%;}
  .pl-mobile-tabs{
    display:flex;
    gap:10px;
    overflow-x:auto;
    padding:0 2px 10px;
    margin:0 -2px 14px;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
  }
  .pl-mobile-tabs::-webkit-scrollbar{height:0;}
  .pl-mobile-tabs button{
    flex:0 0 auto;
    scroll-snap-align:start;
    min-width:142px;
    min-height:58px;
    padding:10px 13px;
    border:1px solid rgba(212,175,55,.26);
    border-radius:16px;
    background:linear-gradient(135deg,rgba(0,0,0,.72),rgba(0,0,0,.38));
    color:#fff;
    font:inherit;
    font-size:13px;
    line-height:1.1;
    font-weight:900;
    letter-spacing:.04em;
    text-transform:uppercase;
    text-align:left;
    cursor:pointer;
    box-shadow:0 16px 34px rgba(0,0,0,.20);
  }
  .pl-mobile-tabs button span{
    display:block;
    margin-bottom:4px;
    color:var(--gold2);
    font-size:18px;
    line-height:1;
  }
  .pl-mobile-tabs button.is-active{
    border-color:rgba(243,199,76,.68);
    background:linear-gradient(135deg,rgba(212,175,55,.24),rgba(0,0,0,.50));
    color:#fff;
  }
  .pl-mobile-panel{
    display:none;
    overflow:hidden;
    border:1px solid rgba(212,175,55,.22);
    border-radius:22px;
    background:linear-gradient(135deg,rgba(0,0,0,.72),rgba(0,0,0,.36));
    box-shadow:0 22px 58px rgba(0,0,0,.28);
  }
  .pl-mobile-panel.is-active{display:block;}
  .pl-mobile-panel .pl-work-photo-slider{height:clamp(220px,52vw,350px);}
  .pl-mobile-panel .pl-work-text{
    padding:22px 18px 20px;
    background:radial-gradient(circle at 18% 16%,rgba(243,199,76,.12),transparent 38%),linear-gradient(180deg,rgba(0,0,0,.20),rgba(0,0,0,.62));
  }
  .pl-mobile-panel .pl-work-text>span{display:none;}
  .pl-mobile-panel .pl-work-text h3{
    font-size:clamp(22px,5.6vw,29px)!important;
    line-height:1.16!important;
  }
  .pl-mobile-panel .pl-work-text p{font-size:15px;line-height:1.6;}
  .pl-photo-btn{width:40px;height:40px;font-size:27px;}
  .pl-photo-btn.prev{left:10px}.pl-photo-btn.next{right:10px}
}
@media(max-width:480px){
  .pl-work-section .section-text{font-size:14.5px!important;line-height:1.55!important;}
  .pl-mobile-tabs{gap:8px;margin-bottom:12px;}
  .pl-mobile-tabs button{min-width:128px;min-height:54px;padding:9px 11px;font-size:12px;border-radius:15px;}
  .pl-mobile-tabs button span{font-size:17px;}
  .pl-mobile-panel{border-radius:20px;}
  .pl-mobile-panel .pl-work-photo-slider{height:218px;}
  .pl-mobile-panel .pl-work-text{padding:19px 15px 18px;}
  .pl-mobile-panel .pl-work-text h3{font-size:21px!important;}
  .pl-work-text .workflow-tags{gap:7px!important;margin-top:17px!important;}
  .pl-work-text .workflow-tags span{font-size:10px!important;padding:8px 10px!important;}
}


/* =======================================================
   2026-06-05 FIX: work block click-only + mobile like desktop menu
======================================================= */
.pl-work-section{
  padding-top: clamp(46px, 7vw, 86px) !important;
  overflow: visible !important;
}
.pl-work-section h2{
  position: relative !important;
  z-index: 3 !important;
  margin-bottom: 14px !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}
.pl-work-section .section-text{
  max-width: 880px !important;
  font-size: 18px !important;
  line-height: 1.55 !important;
}
.pl-work-toggle{
  cursor: pointer !important;
}
.pl-work-panel:not(.is-active) .pl-work-content{
  display: none !important;
}
@media (hover:hover) and (pointer:fine){
  .pl-work-panel:not(.is-active):hover{
    filter: brightness(1.08);
  }
}

@media(max-width:980px){
  .pl-work-section{
    padding-top: 42px !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
    overflow: hidden !important;
  }
  .pl-work-section h2{
    font-size: clamp(27px, 7vw, 36px) !important;
    line-height: 1.12 !important;
    text-align: center !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .pl-work-section .section-text{
    font-size: 15px !important;
    line-height: 1.5 !important;
    max-width: 520px !important;
    margin-bottom: 18px !important;
  }

  .pl-work-mobile{
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    width: 100% !important;
    max-width: 620px !important;
    margin: 22px auto 0 !important;
  }

  .pl-mobile-tabs{
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    overflow: visible !important;
    padding: 0 !important;
    margin: 0 !important;
    scroll-snap-type: none !important;
  }
  .pl-mobile-tabs button{
    width: 100% !important;
    min-width: 0 !important;
    min-height: 66px !important;
    padding: 12px 13px !important;
    border-radius: 18px !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    text-align: left !important;
    box-shadow: 0 16px 34px rgba(0,0,0,.26) !important;
  }
  .pl-mobile-tabs button span{
    display: block !important;
    margin: 0 !important;
    flex: 0 0 auto !important;
    font-size: 24px !important;
    line-height: 1 !important;
  }
  .pl-mobile-tabs button b,
  .pl-mobile-tabs button{
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
  }
  .pl-mobile-tabs button.is-active{
    border-color: rgba(243,199,76,.78) !important;
    background: linear-gradient(135deg,rgba(212,175,55,.30),rgba(0,0,0,.52)) !important;
  }

  .pl-mobile-panel{
    width: 100% !important;
    border-radius: 22px !important;
    overflow: hidden !important;
  }
  .pl-mobile-panel .pl-work-photo-slider{
    height: clamp(210px, 54vw, 330px) !important;
  }
  .pl-mobile-panel .pl-work-text{
    padding: 20px 16px 18px !important;
  }
  .pl-mobile-panel .pl-work-text h3{
    font-size: clamp(22px, 6vw, 28px) !important;
    line-height: 1.14 !important;
    margin-bottom: 10px !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
  }
  .pl-mobile-panel .pl-work-text p{
    font-size: 14.5px !important;
    line-height: 1.52 !important;
  }
  .pl-mobile-panel .workflow-tags{
    margin-top: 14px !important;
  }
}

@media(max-width:420px){
  .pl-work-section{
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
  .pl-mobile-tabs{
    gap: 8px !important;
  }
  .pl-mobile-tabs button{
    min-height: 60px !important;
    padding: 10px 10px !important;
    border-radius: 16px !important;
    font-size: 11.5px !important;
    letter-spacing: .03em !important;
  }
  .pl-mobile-tabs button span{
    font-size: 20px !important;
  }
  .pl-mobile-panel .pl-work-photo-slider{
    height: 210px !important;
  }
  .pl-photo-btn{
    width: 38px !important;
    height: 38px !important;
    font-size: 25px !important;
  }
}


/* =======================================================
   FINAL PROFESSIONAL MOBILE WORK BLOCK
   На телефоне меню работает как аккуратный аккордеон: все пункты видны,
   выбранный пункт раскрывает фото и описание без длинной прокрутки.
======================================================= */
@media(max-width:980px){
  .pl-work-section{padding-top:42px!important; overflow:hidden!important;}
  .pl-work-section h2{font-size:clamp(28px,7vw,38px)!important; line-height:1.12!important; text-align:center!important; word-break:normal!important; overflow-wrap:normal!important; hyphens:none!important;}
  .pl-work-section .section-text{max-width:560px!important; margin-left:auto!important; margin-right:auto!important; font-size:15px!important; line-height:1.5!important;}
  .pl-work-desktop{display:none!important;}
  .pl-work-mobile-accordion{display:flex!important; flex-direction:column!important; gap:10px!important; max-width:620px!important; width:100%!important; margin:22px auto 0!important;}
  .pl-mobile-tabs,.pl-mobile-panel{display:none!important;}
  .pl-mobile-acc{width:100%!important; border:1px solid rgba(212,175,55,.24)!important; border-radius:20px!important; overflow:hidden!important; background:linear-gradient(135deg,rgba(0,0,0,.74),rgba(0,0,0,.42))!important; box-shadow:0 18px 48px rgba(0,0,0,.28)!important;}
  .pl-mobile-acc-head{width:100%!important; min-height:66px!important; padding:13px 16px!important; border:0!important; background:linear-gradient(90deg,rgba(212,175,55,.14),rgba(0,0,0,.20))!important; color:#fff!important; display:flex!important; align-items:center!important; gap:13px!important; cursor:pointer!important; text-align:left!important;}
  .pl-mobile-acc-head span{color:var(--gold2)!important; font-size:25px!important; line-height:1!important; font-weight:900!important; text-shadow:0 0 16px rgba(243,199,76,.25)!important;}
  .pl-mobile-acc-head b{font-size:14px!important; line-height:1.15!important; font-weight:900!important; text-transform:uppercase!important; letter-spacing:.045em!important; white-space:normal!important; word-break:normal!important; overflow-wrap:normal!important; hyphens:none!important;}
  .pl-mobile-acc.is-active{border-color:rgba(243,199,76,.62)!important;}
  .pl-mobile-acc.is-active .pl-mobile-acc-head{background:linear-gradient(90deg,rgba(212,175,55,.28),rgba(0,0,0,.26))!important;}
  .pl-mobile-acc-body{display:none!important;}
  .pl-mobile-acc.is-active .pl-mobile-acc-body{display:block!important;}
  .pl-mobile-acc .pl-work-photo-slider{height:clamp(210px,52vw,335px)!important; width:100%!important;}
  .pl-mobile-acc .pl-work-text{padding:20px 17px 18px!important; background:radial-gradient(circle at 18% 16%,rgba(243,199,76,.12),transparent 38%),linear-gradient(180deg,rgba(0,0,0,.18),rgba(0,0,0,.66))!important;}
  .pl-mobile-acc .pl-work-text>span{display:none!important;}
  .pl-mobile-acc .pl-work-text h3{font-size:clamp(22px,5.9vw,29px)!important; line-height:1.14!important; margin:0 0 10px!important; text-align:left!important; word-break:normal!important; overflow-wrap:normal!important; hyphens:none!important;}
  .pl-mobile-acc .pl-work-text p{font-size:14.5px!important; line-height:1.55!important;}
  .pl-mobile-acc .workflow-tags{margin-top:14px!important; gap:7px!important;}
  .pl-mobile-acc .workflow-tags span{font-size:10px!important; padding:8px 10px!important;}
  .pl-photo-btn{width:40px!important; height:40px!important; font-size:27px!important;}
}
@media(max-width:420px){
  .pl-work-section{padding-left:10px!important; padding-right:10px!important;}
  .pl-mobile-acc-head{min-height:60px!important; padding:11px 13px!important; border-radius:0!important;}
  .pl-mobile-acc-head span{font-size:22px!important;}
  .pl-mobile-acc-head b{font-size:13px!important;}
  .pl-mobile-acc .pl-work-photo-slider{height:205px!important;}
  .pl-mobile-acc .pl-work-text{padding:18px 14px 16px!important;}
}

/* =======================================================
   MOBILE SERVICES ACCORDION
   ПК-версия услуг остаётся карточками, на телефоне — компактное меню.
======================================================= */
.services-mobile-accordion{display:none;}
@media(max-width:980px){
  #services .services-grid{display:none!important;}
  #services .section-text{font-size:15px!important;line-height:1.55!important;max-width:620px!important;margin-left:auto!important;margin-right:auto!important;text-align:center!important;}
  .services-mobile-accordion{
    display:flex!important;
    flex-direction:column!important;
    gap:10px!important;
    max-width:620px!important;
    width:100%!important;
    margin:24px auto 0!important;
  }
  .service-mobile-item{
    width:100%!important;
    border:1px solid rgba(212,175,55,.24)!important;
    border-radius:20px!important;
    overflow:hidden!important;
    background:linear-gradient(135deg,rgba(0,0,0,.74),rgba(0,0,0,.42))!important;
    box-shadow:0 18px 48px rgba(0,0,0,.28)!important;
  }
  .service-mobile-head{
    width:100%!important;
    min-height:66px!important;
    padding:13px 16px!important;
    border:0!important;
    background:linear-gradient(90deg,rgba(212,175,55,.14),rgba(0,0,0,.20))!important;
    color:#fff!important;
    display:flex!important;
    align-items:center!important;
    gap:13px!important;
    cursor:pointer!important;
    text-align:left!important;
    font-family:inherit!important;
  }
  .service-mobile-head span{
    color:var(--gold2)!important;
    font-size:25px!important;
    line-height:1!important;
    font-weight:900!important;
    min-width:42px!important;
    text-shadow:0 0 16px rgba(243,199,76,.25)!important;
  }
  .service-mobile-head b{
    font-size:14px!important;
    line-height:1.15!important;
    font-weight:900!important;
    text-transform:uppercase!important;
    letter-spacing:.045em!important;
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
    hyphens:none!important;
  }
  .service-mobile-item.is-active{border-color:rgba(243,199,76,.62)!important;}
  .service-mobile-item.is-active .service-mobile-head{background:linear-gradient(90deg,rgba(212,175,55,.28),rgba(0,0,0,.26))!important;}
  .service-mobile-body{display:none!important;}
  .service-mobile-item.is-active .service-mobile-body{
    display:block!important;
    padding:18px 17px 20px!important;
    background:radial-gradient(circle at 18% 16%,rgba(243,199,76,.12),transparent 38%),linear-gradient(180deg,rgba(0,0,0,.18),rgba(0,0,0,.66))!important;
  }
  .service-mobile-body p{
    margin:0 0 12px!important;
    color:rgba(255,255,255,.86)!important;
    font-size:14.5px!important;
    line-height:1.6!important;
  }
  .service-mobile-body p:last-child{margin-bottom:0!important;}
  .service-mobile-body strong{
    display:block!important;
    color:var(--gold2)!important;
    font-size:13px!important;
    text-transform:uppercase!important;
    letter-spacing:.06em!important;
    margin:3px 0 8px!important;
  }
}
@media(max-width:420px){
  .services-mobile-accordion{gap:9px!important;margin-top:20px!important;}
  .service-mobile-head{min-height:60px!important;padding:11px 13px!important;}
  .service-mobile-head span{font-size:22px!important;min-width:38px!important;}
  .service-mobile-head b{font-size:13px!important;}
  .service-mobile-item.is-active .service-mobile-body{padding:16px 14px 17px!important;}
  .service-mobile-body p{font-size:14px!important;line-height:1.55!important;}
}


/* =======================================================
   SERVICE PLACEHOLDER IMAGES — thematic assets for each service
======================================================= */
.service-card.s1 .service-img{background-image:linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.46)),url('../img/services/service_01_montazh.webp')!important;background-position:center!important;}
.service-card.s2 .service-img{background-image:linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.46)),url('../img/services/service_02_demontazh.webp')!important;background-position:center!important;}
.service-card.s3 .service-img{background-image:linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.46)),url('../img/services/service_03_remont.webp')!important;background-position:center!important;}
.service-card.s4 .service-img{background-image:linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.46)),url('../img/services/service_04_obsluzhivanie.webp')!important;background-position:center!important;}
.service-card.s5 .service-img{background-image:linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.46)),url('../img/services/service_05_proektirovanie.webp')!important;background-position:center!important;}
.service-card.s6 .service-img{background-image:linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.46)),url('../img/services/service_06_perevozka.webp')!important;background-position:center!important;}
.service-card.s7 .service-img{background-image:linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.46)),url('../img/services/service_07_zapchasti.webp')!important;background-position:center!important;}
.service-card.s8 .service-img{background-image:linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.46)),url('../img/services/service_08_reklama.webp')!important;background-position:center!important;}
.service-card.s9 .service-img{background-image:linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.46)),url('../img/services/service_09_kranovshchiki.webp')!important;background-position:center!important;}
.service-mobile-img{width:100%!important;height:150px!important;border-radius:16px!important;margin:0 0 15px!important;background-size:cover!important;background-position:center!important;border:1px solid rgba(243,199,76,.22)!important;box-shadow:inset 0 -50px 70px rgba(0,0,0,.48),0 16px 35px rgba(0,0,0,.25)!important;}
.service-mobile-img.sm1{background-image:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.36)),url('../img/services/service_01_montazh.webp')!important;}
.service-mobile-img.sm2{background-image:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.36)),url('../img/services/service_02_demontazh.webp')!important;}
.service-mobile-img.sm3{background-image:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.36)),url('../img/services/service_03_remont.webp')!important;}
.service-mobile-img.sm4{background-image:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.36)),url('../img/services/service_04_obsluzhivanie.webp')!important;}
.service-mobile-img.sm5{background-image:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.36)),url('../img/services/service_05_proektirovanie.webp')!important;}
.service-mobile-img.sm6{background-image:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.36)),url('../img/services/service_06_perevozka.webp')!important;}
.service-mobile-img.sm7{background-image:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.36)),url('../img/services/service_07_zapchasti.webp')!important;}
.service-mobile-img.sm8{background-image:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.36)),url('../img/services/service_08_reklama.webp')!important;}
.service-mobile-img.sm9{background-image:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.36)),url('../img/services/service_09_kranovshchiki.webp')!important;}
@media(max-width:420px){.service-mobile-img{height:128px!important;border-radius:14px!important;margin-bottom:13px!important;}}


/* =======================================================
   UPDATED SERVICES BLOCK — real images + desktop modal + mobile accordion
======================================================= */
#services .services-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
}
.service-card{
  min-height:520px!important;
  display:flex;
  flex-direction:column;
  padding:16px 16px 22px!important;
}
.service-card-content{display:flex;flex-direction:column;gap:10px;flex:1;}
.service-card h3{font-size:18px!important;line-height:1.22!important;margin:0!important;overflow-wrap:normal!important;word-break:normal!important;hyphens:none!important;}
.service-card p{font-size:15px!important;line-height:1.55!important;margin:0!important;color:#e7e2d8!important;}
.service-img{height:245px!important;border-radius:16px!important;background-size:cover!important;background-position:center!important;margin-bottom:18px!important;box-shadow:inset 0 -70px 80px rgba(0,0,0,.42),0 16px 40px rgba(0,0,0,.28)!important;}
.service-card.s1 .service-img{background-image:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.20)),url('../img/services/service_01_montazh_demontazh.webp')!important;background-position:center!important;}
.service-card.s2 .service-img{background-image:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.20)),url('../img/services/service_02_remont_modernizaciya.webp')!important;background-position:center!important;}
.service-card.s3 .service-img{background-image:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.20)),url('../img/services/service_03_tehobsluzhivanie.webp')!important;background-position:center!important;}
.service-card.s4 .service-img{background-image:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.20)),url('../img/services/service_04_proektirovanie_dokumentaciya.webp')!important;background-position:center!important;}
.service-card.s5 .service-img{background-image:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.20)),url('../img/services/service_05_perevozka_logistika.webp')!important;background-position:center!important;}
.service-card.s6 .service-img{background-image:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.20)),url('../img/services/service_06_prodazha_zapchastey.webp')!important;background-position:center!important;}
.service-card.s7 .service-img{background-image:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.20)),url('../img/services/service_07_reklama_na_kranah.webp')!important;background-position:center!important;}
.service-card.s8 .service-img{background-image:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.20)),url('../img/services/service_08_mashinisty_kranov.webp')!important;background-position:center!important;}
.service-card.s9 .service-img{background-image:radial-gradient(circle at 72% 30%,rgba(243,199,76,.20),transparent 34%),linear-gradient(135deg,rgba(15,15,15,.96),rgba(48,36,12,.82))!important;position:relative;}
.service-card.s9 .service-img::before{content:'АРЕНДА';position:absolute;left:24px;bottom:54px;color:var(--gold2);font-weight:900;font-size:32px;letter-spacing:.08em;}
.service-card.s9 .service-img::after{content:'БАШЕННЫХ КРАНОВ';position:absolute;left:24px;bottom:28px;color:#fff;font-weight:900;font-size:17px;letter-spacing:.06em;}
.service-card.s5 .service-img::after,.service-card.s6 .service-img::after,.service-card.s7 .service-img::after,.service-card.s8 .service-img::after{content:none!important;}
.service-more{
  margin-top:auto;
  width:max-content;
  border:1px solid rgba(243,199,76,.55);
  background:linear-gradient(135deg,rgba(212,175,55,.26),rgba(0,0,0,.32));
  color:var(--gold2);
  border-radius:999px;
  padding:11px 18px;
  font-weight:900;
  letter-spacing:.05em;
  text-transform:uppercase;
  cursor:pointer;
}
.service-more:hover{background:var(--gold);color:#050505;}
.service-card .overlay{padding:26px!important;background:linear-gradient(180deg,rgba(0,0,0,.10),rgba(0,0,0,.96) 46%)!important;}
.service-card .overlay ul{margin:12px 0 0;padding-left:18px;display:grid;gap:7px;font-size:15px;line-height:1.45;}
.service-modal{position:fixed;inset:0;z-index:1000;display:none;align-items:center;justify-content:center;padding:28px;}
.service-modal.is-open{display:flex;}
.service-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.72);backdrop-filter:blur(8px);}
.service-modal-card{position:relative;width:min(1050px,96vw);max-height:90vh;overflow:auto;border:1px solid rgba(243,199,76,.42);border-radius:26px;background:linear-gradient(135deg,rgba(12,12,12,.98),rgba(39,29,10,.96));box-shadow:0 30px 90px rgba(0,0,0,.62);display:grid;grid-template-columns:1.05fr .95fr;gap:0;}
.service-modal-close{position:absolute;right:16px;top:14px;z-index:3;width:42px;height:42px;border-radius:50%;border:1px solid rgba(243,199,76,.45);background:rgba(0,0,0,.68);color:#fff;font-size:28px;line-height:1;cursor:pointer;}
.service-modal-image{min-height:420px;background-size:cover!important;background-position:center!important;border-radius:24px 0 0 24px;}
.service-modal-image.sm1{background-image:url('../img/services/service_01_montazh_demontazh.webp');}
.service-modal-image.sm2{background-image:url('../img/services/service_02_remont_modernizaciya.webp');}
.service-modal-image.sm3{background-image:url('../img/services/service_03_tehobsluzhivanie.webp');}
.service-modal-image.sm4{background-image:url('../img/services/service_04_proektirovanie_dokumentaciya.webp');}
.service-modal-image.sm5{background-image:url('../img/services/service_05_perevozka_logistika.webp');}
.service-modal-image.sm6{background-image:url('../img/services/service_06_prodazha_zapchastey.webp');}
.service-modal-image.sm7{background-image:url('../img/services/service_07_reklama_na_kranah.webp');}
.service-modal-image.sm8{background-image:url('../img/services/service_08_mashinisty_kranov.webp');}
.service-modal-placeholder{display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 75% 25%,rgba(243,199,76,.25),transparent 32%),linear-gradient(135deg,#080808,#2a210d)!important;color:var(--gold2);font-weight:900;text-transform:uppercase;letter-spacing:.08em;}
.service-modal-content{padding:54px 42px 42px;}
.service-modal-content h3{font-size:30px;line-height:1.18;margin:0 0 18px;text-transform:uppercase;}
.service-modal-content p{font-size:16px;line-height:1.65;color:#e9e4da;margin:0 0 22px;}
.service-modal-content ul{margin:0;padding-left:20px;display:grid;gap:10px;color:#fff;font-size:16px;line-height:1.45;}
.service-mobile-img.sm1{background-image:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.28)),url('../img/services/service_01_montazh_demontazh.webp')!important;}
.service-mobile-img.sm2{background-image:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.28)),url('../img/services/service_02_remont_modernizaciya.webp')!important;}
.service-mobile-img.sm3{background-image:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.28)),url('../img/services/service_03_tehobsluzhivanie.webp')!important;}
.service-mobile-img.sm4{background-image:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.28)),url('../img/services/service_04_proektirovanie_dokumentaciya.webp')!important;}
.service-mobile-img.sm5{background-image:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.28)),url('../img/services/service_05_perevozka_logistika.webp')!important;}
.service-mobile-img.sm6{background-image:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.28)),url('../img/services/service_06_prodazha_zapchastey.webp')!important;}
.service-mobile-img.sm7{background-image:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.28)),url('../img/services/service_07_reklama_na_kranah.webp')!important;}
.service-mobile-img.sm8{background-image:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.28)),url('../img/services/service_08_mashinisty_kranov.webp')!important;}
.service-mobile-placeholder{display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 76% 22%,rgba(243,199,76,.20),transparent 34%),linear-gradient(135deg,#090909,#2a210d)!important;color:var(--gold2);font-weight:900;text-transform:uppercase;font-size:12px!important;letter-spacing:.08em;}
.service-mobile-body ul{margin:8px 0 0;padding-left:18px;display:grid;gap:7px;color:#f1f1f1;font-size:14px;line-height:1.5;}
@media(max-width:1250px){#services .services-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.service-card{min-height:500px!important;}}
@media(max-width:900px){.service-modal{display:none!important;}#services .services-grid{display:none!important;}.services-mobile-accordion{display:grid!important;}.service-mobile-img{height:180px!important;}}
@media(max-width:430px){.service-mobile-img{height:145px!important}.service-mobile-head b{font-size:12.5px!important}.service-mobile-body ul{font-size:13.5px!important}}


/* ===== FIX: topbar full width + final logo + request modal ===== */
.topbar{
  width:100% !important;
  max-width:none !important;
  left:0 !important;
  right:0 !important;
  transform:none !important;
  box-sizing:border-box;
}
.brand img{
  object-fit:contain !important;
  background:transparent !important;
}
.request-modal{
  position:fixed;
  inset:0;
  z-index:2000;
  display:none;
  align-items:center;
  justify-content:center;
  padding:24px;
}
.request-modal.is-open{display:flex;}
.request-modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.76);
  backdrop-filter:blur(10px);
}
.request-modal-card{
  position:relative;
  width:min(760px,96vw);
  max-height:92vh;
  overflow:auto;
  border:1px solid rgba(243,199,76,.46);
  border-radius:28px;
  background:linear-gradient(135deg,rgba(8,8,8,.98),rgba(34,25,9,.97));
  box-shadow:0 30px 90px rgba(0,0,0,.68), inset 0 1px 0 rgba(255,255,255,.06);
  padding:34px;
  color:#fff;
}
.request-modal-close{
  position:absolute;
  right:16px;
  top:14px;
  width:42px;
  height:42px;
  border-radius:50%;
  border:1px solid rgba(243,199,76,.48);
  background:rgba(0,0,0,.65);
  color:#fff;
  font-size:28px;
  line-height:1;
  cursor:pointer;
}
.request-modal-head span{
  display:inline-block;
  color:var(--gold2);
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.16em;
  margin-bottom:12px;
}
.request-modal-head h3{
  margin:0 46px 12px 0;
  font-size:clamp(26px,3vw,38px);
  line-height:1.08;
  text-transform:uppercase;
}
.request-modal-head p{
  margin:0 0 24px;
  color:rgba(255,255,255,.74);
  line-height:1.6;
}
.request-form{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}
.request-form label{
  display:grid;
  gap:8px;
  color:rgba(255,255,255,.82);
  font-weight:700;
  font-size:14px;
}
.request-form-full,
.request-submit{grid-column:1/-1;}
.request-form input,
.request-form textarea{
  width:100%;
  box-sizing:border-box;
  border:1px solid rgba(255,255,255,.16);
  border-radius:16px;
  background:rgba(0,0,0,.48);
  color:#fff;
  padding:15px 16px;
  outline:none;
  font:inherit;
}
.request-form input:focus,
.request-form textarea:focus{
  border-color:rgba(243,199,76,.75);
  box-shadow:0 0 0 3px rgba(243,199,76,.12);
}
.request-modal-note{
  margin:16px 0 0;
  color:rgba(255,255,255,.56);
  font-size:13px;
  line-height:1.5;
}
body.request-modal-open{overflow:hidden;}
@media(max-width:700px){
  .request-modal{padding:14px;}
  .request-modal-card{padding:26px 18px 20px;border-radius:22px;}
  .request-form{grid-template-columns:1fr;}
  .request-modal-head h3{margin-right:42px;}
}


/* =======================================================
   FINAL LAUNCH FIXES 2026-06-07
   - removed first hero stats in HTML
   - mobile about stats 2x2
   - no image cropping in services/work
   - floating contacts visible on mobile
   - rental service final image
======================================================= */
.hero-stats{display:none!important;}

/* Картинка аренды башенных кранов */
.service-card.s9 .service-img{
  background-image:linear-gradient(180deg,rgba(0,0,0,.00),rgba(0,0,0,.12)),url('../img/services/service_09_arenda_kranov.webp')!important;
  background-size:contain!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
  background-color:#070707!important;
}
.service-card.s9 .service-img::before,
.service-card.s9 .service-img::after{content:none!important;display:none!important;}
.service-mobile-img.sm9{
  background-image:linear-gradient(180deg,rgba(0,0,0,.00),rgba(0,0,0,.18)),url('../img/services/service_09_arenda_kranov.webp')!important;
  background-size:contain!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
  background-color:#070707!important;
}
.service-modal-image.sm9{
  background-image:url('../img/services/service_09_arenda_kranov.webp')!important;
  background-size:contain!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
  background-color:#070707!important;
}

/* Не обрезать изображения в услугах и блоке выполнения работ */
.service-img,
.service-mobile-img,
.service-modal-image,
.pl-work-photo,
.pl-work-track img,
.work-photo-track img,
.workflow-track img,
.object-img{
  background-size:contain!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
  object-fit:contain!important;
  background-color:#070707!important;
}
.service-img{height:270px!important;}
.service-mobile-img{height:210px!important;}
.service-modal-image{background-color:#070707!important;}

/* Плавающие контакты видны на телефоне */
.float{z-index:1500!important;}
@media(max-width:560px){
  .float{
    display:flex!important;
    right:10px!important;
    bottom:10px!important;
    gap:7px!important;
  }
  .float a{
    width:42px!important;
    height:42px!important;
    border-radius:13px!important;
    font-size:12px!important;
    background:rgba(5,5,5,.78)!important;
    backdrop-filter:blur(8px)!important;
  }
  .float a:first-child,
  .float a:last-child{font-size:18px!important;}
}

/* О компании: 4 карточки компактно 2×2 на мобильной версии */
@media(max-width:760px){
  .about-stats{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
    width:100%!important;
  }
  .about-stats div{
    padding:13px 8px!important;
    border-radius:14px!important;
    text-align:center!important;
    min-height:82px!important;
  }
  .about-stats b{
    font-size:clamp(24px,8vw,34px)!important;
    line-height:1!important;
    margin-bottom:5px!important;
  }
  .about-stats span{
    display:block!important;
    font-size:10px!important;
    line-height:1.2!important;
    letter-spacing:.02em!important;
  }
}

/* Верхняя панель на ПК во всю ширину */
@media(min-width:901px){
  .topbar{
    width:100%!important;
    max-width:none!important;
    left:0!important;
    right:0!important;
    top:0!important;
    border-radius:0 0 24px 24px!important;
  }
}

/* ===== FINAL FIX: floating phone modal + request cleanup + PandoraDev footer ===== */
.request-modal-note{display:none!important;}
.phone-modal{
  position:fixed;
  inset:0;
  z-index:2300;
  display:none;
  align-items:center;
  justify-content:center;
  padding:18px;
}
.phone-modal.is-open{display:flex;}
.phone-modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.72);
  backdrop-filter:blur(10px);
}
.phone-modal-card{
  position:relative;
  width:min(440px,100%);
  border:1px solid rgba(243,199,76,.34);
  border-radius:26px;
  background:linear-gradient(145deg,rgba(14,14,12,.98),rgba(0,0,0,.96));
  box-shadow:0 28px 90px rgba(0,0,0,.55), inset 0 1px 0 rgba(255,255,255,.08);
  padding:30px 24px 24px;
  color:#fff;
}
.phone-modal-close{
  position:absolute;
  top:12px;
  right:14px;
  width:42px;
  height:42px;
  border-radius:50%;
  border:1px solid rgba(243,199,76,.35);
  background:rgba(0,0,0,.55);
  color:#ffd455;
  font-size:28px;
  line-height:1;
  cursor:pointer;
}
.phone-modal-card span{
  display:block;
  color:#ffd455;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-size:13px;
  margin-bottom:8px;
}
.phone-modal-card h3{
  margin:0 48px 18px 0;
  font-size:26px;
  line-height:1.12;
  text-transform:uppercase;
}
.phone-modal-list{
  display:grid;
  gap:10px;
}
.phone-modal-list a{
  display:flex;
  align-items:center;
  min-height:58px;
  padding:14px 16px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.045);
  color:#fff;
  font-weight:900;
  text-decoration:none;
  font-size:18px;
}
.phone-modal-list a:hover{
  border-color:rgba(243,199,76,.55);
  background:rgba(243,199,76,.10);
  color:#ffd455;
}
body.phone-modal-open{overflow:hidden;}
.dev-footer{
  padding:14px 18px 24px;
  text-align:center;
  background:rgba(0,0,0,.75);
}
.dev-footer a{
  color:rgba(255,255,255,.42);
  text-decoration:none;
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
  transition:.2s ease;
}
.dev-footer a:hover{color:#ffd455;}
.float .phone-open,
.float .request-open{cursor:pointer;}
@media(max-width:700px){
  .phone-modal-card{padding:26px 18px 20px;border-radius:22px;}
  .phone-modal-card h3{font-size:22px;}
  .phone-modal-list a{font-size:16px;min-height:54px;}
  .dev-footer{padding-bottom:84px;}
}


/* ===== FINAL LAUNCH SEO/UX PATCH ===== */
.hp-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;}
.privacy-check{display:flex!important;align-items:flex-start!important;gap:10px!important;font-size:12px!important;line-height:1.45!important;color:#d8d8d8!important;margin-top:2px!important;}
.privacy-check input{width:auto!important;margin-top:3px!important;accent-color:var(--gold)!important;}
.dev-footer{display:flex!important;flex-wrap:wrap!important;gap:8px!important;justify-content:center!important;align-items:center!important;padding:22px 16px!important;font-size:13px!important;color:rgba(255,255,255,.62)!important;background:rgba(0,0,0,.62)!important;border-top:1px solid rgba(212,175,55,.18)!important;}
.dev-footer a{color:rgba(243,199,76,.82)!important;text-decoration:none!important;font-weight:600!important;}
.dev-footer a:hover{color:#fff!important;}
.why-list-simple li b{color:var(--gold2);font-weight:900;}
.docs-clean-simple li{line-height:1.55!important;}
.service-card p{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;}
.service-card .overlay li,.service-mobile-body li,.service-modal-content li{line-height:1.45!important;}
.service-mobile-body p{line-height:1.55!important;}
.service-modal-content p{line-height:1.6!important;}
@media(max-width:768px){
  .about-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;}
  .about-stats div{padding:12px 8px!important;min-height:92px!important;}
  .about-stats b{font-size:28px!important;line-height:1!important;}
  .about-stats span{font-size:11px!important;line-height:1.25!important;}
  .service-mobile-body p{font-size:14px!important;}
  .service-mobile-body li{font-size:13px!important;}
  .float{display:flex!important;right:10px!important;bottom:10px!important;z-index:9999!important;}
}


/* ===== FINAL POLISH: compact service cards + privacy + form scrollbar ===== */
#services .service-card-content{gap:8px!important;}
#services .service-card h3{font-size:17px!important;line-height:1.2!important;}
#services .service-card p{
  font-size:13.5px!important;
  line-height:1.45!important;
  color:rgba(255,255,255,.78)!important;
  -webkit-line-clamp:3!important;
}
#services .service-more{margin-top:auto!important;}
.request-modal-card{
  scrollbar-width:thin;
  scrollbar-color:rgba(212,175,55,.55) rgba(0,0,0,.22);
}
.request-modal-card::-webkit-scrollbar{width:8px;}
.request-modal-card::-webkit-scrollbar-track{background:rgba(0,0,0,.22);border-radius:20px;}
.request-modal-card::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#d4af37,#8b6a18);border-radius:20px;border:2px solid rgba(0,0,0,.35);}
.request-modal-card::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#f3c74c,#b58920);}
.privacy-check a{color:var(--gold2)!important;text-decoration:none;border-bottom:1px dashed rgba(243,199,76,.55);}
.privacy-check a:hover{color:#fff!important;border-bottom-color:#fff;}
.privacy-page{
  font-size:15px!important;
  line-height:1.65!important;
  color:rgba(255,255,255,.82)!important;
}
.privacy-page h1{
  font-family:Montserrat,Arial,sans-serif!important;
  font-size:clamp(24px,3vw,34px)!important;
  line-height:1.2!important;
  margin:8px 0 18px!important;
  text-transform:none!important;
  letter-spacing:0!important;
}
.privacy-page h2{
  font-size:clamp(17px,2vw,22px)!important;
  line-height:1.25!important;
  margin:24px 0 8px!important;
  text-transform:none!important;
  letter-spacing:0!important;
}
.privacy-page p{margin:0 0 12px!important;color:rgba(255,255,255,.78)!important;}
@media(max-width:700px){
  #services .service-card p{font-size:13px!important;-webkit-line-clamp:4!important;}
  .privacy-page{font-size:14px!important;margin-top:24px!important;}
  .request-modal-card{max-height:88vh!important;}
}

/* ===== Real links / disabled messenger placeholders ===== */
.link-disabled{cursor:not-allowed;opacity:.72;filter:saturate(.75)}
.link-disabled:hover{transform:none!important;box-shadow:none!important}


/* ADMIN FIX 2026-06-16: reliable mobile menu */
@media (max-width: 1024px) {
  .burger {
    display: flex !important;
    align-items: center;
    justify-content: center;
    position: relative !important;
    z-index: 10050 !important;
    pointer-events: auto !important;
    cursor: pointer !important;
    touch-action: manipulation;
  }
  .topbar { z-index: 10040 !important; }
  .nav { display: none !important; pointer-events: none !important; }
  body.menu-open .nav {
    display: flex !important;
    pointer-events: auto !important;
    position: fixed !important;
    top: 82px !important;
    left: 10px !important;
    right: 10px !important;
    z-index: 10045 !important;
    flex-direction: column !important;
    gap: 10px !important;
    padding: 18px !important;
    border-radius: 22px !important;
    background: rgba(5,5,5,.97) !important;
    border: 1px solid rgba(212,175,55,.42) !important;
    box-shadow: 0 22px 70px rgba(0,0,0,.55) !important;
  }
  body.menu-open .nav a {
    display: block !important;
    padding: 13px 14px !important;
    color: #fff !important;
    font-size: 14px !important;
  }
}


/* CLEAN BUILD FIX 2026-06-16: mobile menu */
@media (max-width: 900px) {
  .topbar { z-index: 10000 !important; }
  .burger {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    pointer-events: auto !important;
    position: relative !important;
    z-index: 10050 !important;
    cursor: pointer !important;
    touch-action: manipulation !important;
  }
  .nav { display: none !important; pointer-events: auto !important; }
  body.menu-open .nav {
    display: flex !important;
    position: fixed !important;
    top: 82px !important;
    left: 10px !important;
    right: 10px !important;
    z-index: 10040 !important;
    flex-direction: column !important;
    gap: 10px !important;
    padding: 18px !important;
    border-radius: 22px !important;
    background: rgba(5,5,5,.96) !important;
    border: 1px solid rgba(212,175,55,.45) !important;
    box-shadow: 0 22px 60px rgba(0,0,0,.45) !important;
  }
  body.menu-open .nav a {
    display: block !important;
    color: #fff !important;
    padding: 12px 14px !important;
    text-decoration: none !important;
  }
}


/* FINAL CONTENT UPDATE: exact uploaded photos, service order, hide controls */
.public-hidden{display:none!important;}
.pl-work-track img{object-fit:contain!important;background:#050505!important;}
.pl-work-photo-slider{background:#050505!important;}
.why-list-simple li{font-size:clamp(15px,1.15vw,18px)!important;line-height:1.55!important;}
.service-card-content p{font-size:15px!important;line-height:1.45!important;}
.service-card-content h3{font-size:clamp(19px,1.45vw,25px)!important;line-height:1.08!important;}
.overlay li,.service-modal-content li,.service-mobile-body li{line-height:1.35!important;}
.service-card.s1 .service-img{background-image:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.20)),url('../img/services/service_04_proektirovanie_dokumentaciya.webp')!important;background-position:center!important;}
.service-modal-image.sm1{background-image:url('../img/services/service_04_proektirovanie_dokumentaciya.webp')!important;}
.service-mobile-img.sm1{background-image:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.28)),url('../img/services/service_04_proektirovanie_dokumentaciya.webp')!important;}
.service-card.s2 .service-img{background-image:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.20)),url('../img/services/service_05_perevozka_logistika.webp')!important;background-position:center!important;}
.service-modal-image.sm2{background-image:url('../img/services/service_05_perevozka_logistika.webp')!important;}
.service-mobile-img.sm2{background-image:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.28)),url('../img/services/service_05_perevozka_logistika.webp')!important;}
.service-card.s3 .service-img{background-image:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.20)),url('../img/services/service_09_arenda_kranov.webp')!important;background-position:center!important;}
.service-modal-image.sm3{background-image:url('../img/services/service_09_arenda_kranov.webp')!important;}
.service-mobile-img.sm3{background-image:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.28)),url('../img/services/service_09_arenda_kranov.webp')!important;}
.service-card.s4 .service-img{background-image:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.20)),url('../img/services/service_08_mashinisty_kranov.webp')!important;background-position:center!important;}
.service-modal-image.sm4{background-image:url('../img/services/service_08_mashinisty_kranov.webp')!important;}
.service-mobile-img.sm4{background-image:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.28)),url('../img/services/service_08_mashinisty_kranov.webp')!important;}
.service-card.s5 .service-img{background-image:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.20)),url('../img/services/service_02_remont_modernizaciya.webp')!important;background-position:center!important;}
.service-modal-image.sm5{background-image:url('../img/services/service_02_remont_modernizaciya.webp')!important;}
.service-mobile-img.sm5{background-image:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.28)),url('../img/services/service_02_remont_modernizaciya.webp')!important;}
.service-card.s6 .service-img{background-image:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.20)),url('../img/services/service_01_montazh_demontazh.webp')!important;background-position:center!important;}
.service-modal-image.sm6{background-image:url('../img/services/service_01_montazh_demontazh.webp')!important;}
.service-mobile-img.sm6{background-image:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.28)),url('../img/services/service_01_montazh_demontazh.webp')!important;}
.service-card.s7 .service-img{background-image:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.20)),url('../img/services/service_03_tehobsluzhivanie.webp')!important;background-position:center!important;}
.service-modal-image.sm7{background-image:url('../img/services/service_03_tehobsluzhivanie.webp')!important;}
.service-mobile-img.sm7{background-image:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.28)),url('../img/services/service_03_tehobsluzhivanie.webp')!important;}
.service-card.s8 .service-img{background-image:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.20)),url('../img/services/service_07_reklama_na_kranah.webp')!important;background-position:center!important;}
.service-modal-image.sm8{background-image:url('../img/services/service_07_reklama_na_kranah.webp')!important;}
.service-mobile-img.sm8{background-image:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.28)),url('../img/services/service_07_reklama_na_kranah.webp')!important;}
.service-card.s9 .service-img{background-image:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.20)),url('../img/services/service_06_prodazha_zapchastey.webp')!important;background-position:center!important;}
.service-modal-image.sm9{background-image:url('../img/services/service_06_prodazha_zapchastey.webp')!important;}
.service-mobile-img.sm9{background-image:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.28)),url('../img/services/service_06_prodazha_zapchastey.webp')!important;}


/* ===== FINAL POLISH 2026-06-16: единый стиль блоков, контактов, фото и модалок ===== */
:root{
  --section-w: min(1320px, 94vw);
  --title-size: clamp(42px, 5vw, 74px);
  --title-line: .94;
  --text-size: clamp(17px, 1.18vw, 21px);
  --text-line: 1.58;
}
.section, .panel{width:var(--section-w)!important;max-width:var(--section-w)!important;margin-left:auto!important;margin-right:auto!important;}
.hero{padding-left:max(24px,calc((100vw - 1240px)/2))!important;padding-right:max(24px,calc((100vw - 1240px)/2))!important;}
.hero-content{width:min(1180px,92vw)!important;max-width:1180px!important;margin-left:auto!important;margin-right:auto!important;}
.hero h1{font-size:clamp(54px,7vw,110px)!important;line-height:.9!important;max-width:980px!important;}
.hero p{font-size:clamp(18px,1.35vw,23px)!important;line-height:1.55!important;max-width:1040px!important;}
.hero-contacts{max-width:760px!important;}

.section h2,.about h2,.why h2,.services-title,.services-section h2,.specialists h2,.workflow-section h2,.docs h2,.final-contacts-title h2{font-size:var(--title-size)!important;line-height:var(--title-line)!important;letter-spacing:.01em!important;}
.section-text,.about p,.why-grid p,.service-card p,.specialists .section-text,.workflow-section .section-text,.pl-work-text p,.docs p,.docs li,.final-contacts-title p{font-size:var(--text-size)!important;line-height:var(--text-line)!important;}
.eyebrow{font-size:clamp(14px,1vw,18px)!important;letter-spacing:.22em!important;}
.about h2{max-width:760px!important;text-wrap:balance;}
.about p{max-width:720px!important;}
.about-stats div{min-height:150px!important;}

.why h2{max-width:900px!important;text-wrap:balance;}
.why-grid{max-width:1040px!important;margin-left:auto!important;margin-right:auto!important;gap:22px!important;}
.why-grid div{padding:0 0 0 42px!important;}
.why-grid p{max-width:none!important;font-weight:700!important;}
.why-grid b{font-size:clamp(18px,1.25vw,22px)!important;}

.services-section h2{max-width:980px!important;text-wrap:balance;}
.services-section>.section-text{max-width:1120px!important;}
.services-grid{gap:24px!important;}
.service-card h3{font-size:clamp(19px,1.45vw,24px)!important;line-height:1.12!important;min-height:56px!important;}
.service-card p{font-size:clamp(15px,1vw,18px)!important;line-height:1.45!important;}
.service-card{min-height:520px!important;}
.service-card img,.service-card .service-img{object-fit:cover!important;}

.brands-panel{padding:54px 40px!important;overflow:hidden!important;}
.brands-panel .eyebrow{text-align:center!important;}
.brands-slider{height:112px!important;margin:20px 0!important;background:rgba(0,0,0,.30)!important;border-radius:18px!important;}
.brands-track{align-items:center!important;gap:38px!important;}
.brands-track img{width:180px!important;height:82px!important;object-fit:contain!important;padding:14px 24px!important;background:rgba(255,255,255,.04)!important;border:1px solid rgba(255,255,255,.07)!important;border-radius:16px!important;filter:drop-shadow(0 8px 18px rgba(0,0,0,.35)) brightness(1.25) contrast(1.05)!important;}
.brands-track img[src$="dahan.svg"]{background:rgba(255,255,255,.06)!important;}

.specialists.specialists-photo h2{font-size:clamp(42px,4.9vw,72px)!important;line-height:.95!important;max-width:820px!important;text-wrap:balance;}
.specialists.specialists-photo .section-text{font-size:var(--text-size)!important;line-height:1.55!important;max-width:820px!important;}
.feature-list,.docs-clean-simple{list-style:none!important;margin-top:28px!important;padding:0!important;display:grid!important;gap:13px!important;max-width:980px!important;}
.feature-list li,.docs-clean-simple li{position:relative!important;padding-left:28px!important;font-size:clamp(16px,1.08vw,19px)!important;line-height:1.45!important;font-weight:700!important;}
.feature-list li:before,.docs-clean-simple li:before{content:'•'!important;position:absolute!important;left:0!important;top:-1px!important;color:var(--gold2)!important;font-size:28px!important;line-height:1!important;}

.workflow-section h2{font-size:clamp(44px,5.2vw,78px)!important;text-align:center!important;}
.workflow-section>.section-text{max-width:900px!important;margin-left:auto!important;margin-right:auto!important;text-align:center!important;}
.pl-work-content{grid-template-columns:minmax(0,1.4fr) minmax(340px,.85fr)!important;}
.pl-work-photo-slider{min-height:440px!important;background:#050505!important;}
.pl-work-track img{object-fit:contain!important;width:100%!important;height:100%!important;max-height:520px!important;background:#050505!important;}
.pl-work-text h3{font-size:clamp(30px,2.8vw,48px)!important;line-height:1.05!important;}
.pl-work-text p{font-size:clamp(16px,1.08vw,19px)!important;line-height:1.55!important;}
.pl-work-panel:not(.is-active){width:84px!important;}
.pl-work-toggle{width:84px!important;}

.docs h2{max-width:920px!important;text-wrap:balance;}
.docs .section-text{max-width:1180px!important;}
.docs-clean-simple{margin-left:auto!important;margin-right:auto!important;}
.docs-clean-simple li{font-size:clamp(17px,1.12vw,20px)!important;}

.final-contacts-inner{grid-template-columns:minmax(420px,.9fr) minmax(520px,1.05fr)!important;gap:42px!important;align-items:center!important;}
.final-contacts-title h2{font-size:clamp(44px,5vw,78px)!important;line-height:.95!important;max-width:620px!important;}
.final-contacts-title p{font-size:clamp(17px,1.12vw,20px)!important;line-height:1.55!important;max-width:560px!important;}
.final-contact-card{max-width:620px!important;}
.final-channel-list a.link-disabled{opacity:.62!important;cursor:not-allowed!important;filter:grayscale(.15)!important;}
.final-mail small{display:none!important;}

.request-modal-card,.privacy-modal-card{width:min(760px,94vw)!important;max-height:90vh!important;overflow:auto!important;background:linear-gradient(135deg,rgba(12,10,6,.98),rgba(8,8,8,.98))!important;border:1px solid rgba(212,175,55,.55)!important;border-radius:26px!important;box-shadow:0 30px 90px rgba(0,0,0,.65)!important;padding:36px!important;}
.request-form{grid-template-columns:1fr 1fr!important;gap:18px!important;}
.request-form-full{grid-column:1 / -1!important;}
.request-form select{display:none!important;}
.request-modal-head h2{font-size:clamp(34px,4vw,54px)!important;line-height:1!important;}
.request-modal-head p{font-size:18px!important;line-height:1.55!important;}
.privacy-modal{position:fixed!important;inset:0!important;z-index:999999!important;display:none!important;align-items:center!important;justify-content:center!important;padding:20px!important;}
.privacy-modal.is-open{display:flex!important;}
.privacy-modal-backdrop{position:absolute!important;inset:0!important;background:rgba(0,0,0,.72)!important;backdrop-filter:blur(8px)!important;}
.privacy-modal-card{position:relative!important;color:#fff!important;}
.privacy-modal-close{position:absolute!important;right:22px!important;top:18px!important;width:42px!important;height:42px!important;border-radius:50%!important;border:1px solid rgba(212,175,55,.6)!important;background:#090909!important;color:#fff!important;font-size:26px!important;cursor:pointer!important;}
.modal-eyebrow{display:block!important;color:var(--gold2)!important;font-weight:900!important;letter-spacing:.16em!important;text-transform:uppercase!important;margin-bottom:12px!important;}
.privacy-modal-card h3{font-size:clamp(30px,3.3vw,46px)!important;line-height:1.05!important;margin:0 0 18px!important;}
.privacy-modal-text p,.privacy-modal-text li{font-size:17px!important;line-height:1.55!important;color:rgba(255,255,255,.86)!important;}
.privacy-modal-text ul{padding-left:22px!important;}

.float a.link-disabled{opacity:.55!important;cursor:not-allowed!important;}

@media (max-width:900px){
  :root{--section-w:94vw;--title-size:clamp(34px,10vw,48px);--text-size:16px;}
  .hero h1{font-size:clamp(42px,14vw,64px)!important;}
  .final-contacts-inner{grid-template-columns:1fr!important;}
  .pl-work-content{grid-template-columns:1fr!important;}
  .pl-work-photo-slider{min-height:320px!important;}
  .pl-work-panel:not(.is-active),.pl-work-toggle{width:100%!important;}
  .request-form{grid-template-columns:1fr!important;}
}

/* ===== FINAL DOMAIN/VACANCIES RESPONSIVE POLISH 2026-06-21 ===== */
:root{
  --section-w: min(1360px, 94vw);
  --title-size: clamp(32px, 3.65vw, 58px);
  --title-line: 1.02;
  --text-size: clamp(16px, 1vw, 19px);
  --text-line: 1.55;
}
.topbar{width:min(1500px,98vw)!important;margin:0 auto!important;padding:18px clamp(18px,3vw,48px)!important;gap:22px!important;}
.topbar .brand img{width:88px!important;height:88px!important;}
.topbar .brand b{font-size:clamp(17px,1.15vw,23px)!important;}
.topbar .brand small{font-size:clamp(12px,.85vw,15px)!important;}
.nav{gap:clamp(16px,2vw,34px)!important;}
.nav a{font-size:clamp(13px,.9vw,16px)!important;letter-spacing:.06em!important;white-space:nowrap!important;}
.nav a.active{color:var(--gold2)!important;}
.topbar .btn{padding:18px 28px!important;min-width:0!important;white-space:nowrap!important;}
.hero{width:min(1500px,98vw)!important;margin:0 auto!important;border-radius:0 0 28px 28px!important;overflow:hidden!important;min-height:calc(100vh - 120px)!important;padding-top:clamp(36px,4vw,70px)!important;padding-bottom:clamp(42px,5vw,78px)!important;}
.hero-content{width:min(1120px,86vw)!important;margin-left:clamp(24px,8vw,150px)!important;margin-right:auto!important;}
.hero h1{font-size:clamp(44px,5.25vw,88px)!important;line-height:.96!important;max-width:860px!important;letter-spacing:.02em!important;text-wrap:balance!important;}
.hero .lead,.hero p.lead{font-size:clamp(16px,1.12vw,20px)!important;line-height:1.55!important;max-width:920px!important;}
.hero .eyebrow{font-size:clamp(13px,.95vw,17px)!important;color:var(--gold2)!important;}
.hero .actions{gap:14px!important;flex-wrap:wrap!important;}
.vacancies-hero-btn{border-color:rgba(243,199,76,.55)!important;color:var(--gold2)!important;}
.section,.panel{width:min(1360px,94vw)!important;max-width:min(1360px,94vw)!important;}
.section h2,.about h2,.why h2,#why h2,#services h2,.services-section h2,.specialists h2,.workflow-section h2,.docs h2,.final-contacts-title h2{font-size:var(--title-size)!important;line-height:var(--title-line)!important;letter-spacing:.015em!important;text-wrap:balance!important;}
.eyebrow,.about .eyebrow,.section>.eyebrow,.panel>.eyebrow{color:var(--gold2)!important;font-size:clamp(13px,.95vw,16px)!important;letter-spacing:.22em!important;font-weight:900!important;}
.about{grid-template-columns:minmax(0,1fr) minmax(430px,.9fr)!important;gap:54px!important;align-items:center!important;}
.about h2{font-size:clamp(38px,4vw,62px)!important;max-width:780px!important;text-align:left!important;}
.about h2 span{display:inline!important;text-align:left!important;}
.about p{font-size:clamp(17px,1.05vw,20px)!important;line-height:1.6!important;max-width:760px!important;}
.about-stats{gap:18px!important;}
.about-stats div{min-height:132px!important;padding:26px!important;}
.about-stats b{font-size:clamp(42px,4vw,64px)!important;}
.about-stats span{font-size:clamp(14px,1vw,18px)!important;}
#why h2{font-size:clamp(36px,4.2vw,64px)!important;max-width:980px!important;}
.why-list-simple{max-width:1120px!important;margin-left:auto!important;margin-right:auto!important;display:grid!important;gap:20px!important;}
.why-list-simple li{font-size:clamp(15px,1vw,18px)!important;line-height:1.48!important;font-weight:700!important;}
.why-list-simple li b{font-size:clamp(17px,1.08vw,20px)!important;color:var(--gold2)!important;}
#services h2{font-size:clamp(38px,4.35vw,66px)!important;max-width:920px!important;}
#services>.section-text{font-size:clamp(17px,1.08vw,20px)!important;max-width:1040px!important;}
.services-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:24px!important;}
.service-card{min-height:500px!important;}
.service-card-content h3{font-size:clamp(18px,1.25vw,22px)!important;line-height:1.12!important;min-height:0!important;}
.service-card-content p{font-size:clamp(14px,.95vw,16px)!important;line-height:1.45!important;}
.brands-panel .eyebrow{color:var(--gold2)!important;}
.brands-track img{width:170px!important;height:78px!important;object-fit:contain!important;padding:12px 22px!important;}
.specialists.specialists-photo h2{font-size:clamp(38px,4.3vw,64px)!important;line-height:1.02!important;max-width:880px!important;}
.specialists.specialists-photo .section-text{font-size:clamp(16px,1.05vw,19px)!important;line-height:1.56!important;max-width:820px!important;}
.feature-list li,.docs-clean-simple li{font-size:clamp(15px,1vw,18px)!important;line-height:1.45!important;}
.workflow-section h2{font-size:clamp(38px,4.35vw,66px)!important;line-height:1.02!important;}
.workflow-section>.section-text{font-size:clamp(16px,1vw,19px)!important;}
.pl-work-content{grid-template-columns:minmax(0,1.35fr) minmax(320px,.78fr)!important;}
.pl-work-photo-slider{min-height:430px!important;}
.pl-work-track img{object-fit:contain!important;object-position:center!important;}
.pl-work-text h3{font-size:clamp(28px,2.45vw,42px)!important;line-height:1.06!important;}
.pl-work-text p{font-size:clamp(15px,1vw,18px)!important;line-height:1.55!important;}
.docs h2{font-size:clamp(38px,4.35vw,66px)!important;max-width:980px!important;}
.docs .section-text{font-size:clamp(16px,1.05vw,19px)!important;}
.final-contacts-title h2{font-size:clamp(38px,4.35vw,66px)!important;line-height:1.02!important;}
.float{gap:10px!important;}
.float a{width:66px!important;height:66px!important;}
.float .float-vacancies{width:auto!important;min-width:138px!important;height:50px!important;padding:0 18px!important;border-radius:16px!important;background:linear-gradient(135deg,var(--gold2),#b88712)!important;color:#050505!important;font-weight:900!important;letter-spacing:.06em!important;text-transform:uppercase!important;box-shadow:0 18px 38px rgba(0,0,0,.35)!important;}

/* Vacancies page */
.vacancies-page{padding-top:32px!important;}
.vacancies-hero{padding:clamp(44px,5vw,76px)!important;}
.vacancies-hero h1{font-size:clamp(42px,4.8vw,72px)!important;line-height:1.02!important;max-width:880px!important;margin:0 0 22px!important;}
.vacancies-hero .section-text{max-width:920px!important;font-size:clamp(17px,1.1vw,20px)!important;line-height:1.6!important;}
.vacancies-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:28px;align-items:start;}
.vacancies-list{display:grid;gap:14px;}
.vacancy-card{display:grid;grid-template-columns:minmax(0,1fr) 260px 170px;gap:18px;align-items:center;padding:22px;border-radius:20px;border:1px solid rgba(212,175,55,.24);background:linear-gradient(135deg,rgba(10,12,14,.82),rgba(0,0,0,.55));box-shadow:0 18px 48px rgba(0,0,0,.22);}
.vacancy-card h2{font-size:clamp(20px,1.6vw,28px)!important;color:var(--gold2)!important;margin:0 0 8px!important;line-height:1.05!important;text-transform:uppercase!important;}
.vacancy-card p{font-size:15px!important;line-height:1.5!important;margin:0!important;color:rgba(255,255,255,.82)!important;}
.vacancy-card ul{list-style:none;margin:0;padding:0;display:grid;gap:8px;}
.vacancy-card li{font-size:14px;color:rgba(255,255,255,.82);padding-left:22px;position:relative;}
.vacancy-card li:before{content:'✓';position:absolute;left:0;color:var(--gold2);font-weight:900;}
.vacancy-card .btn{justify-self:end;padding:13px 18px!important;font-size:13px!important;}
.vacancy-side-card{position:sticky;top:120px;padding:28px;border-radius:24px;border:1px solid rgba(212,175,55,.28);background:linear-gradient(145deg,rgba(12,14,16,.92),rgba(0,0,0,.70));box-shadow:0 22px 60px rgba(0,0,0,.32);}
.vacancy-side-card h3{font-size:clamp(24px,2vw,32px);line-height:1.15;margin:0 0 14px;color:#fff;}
.vacancy-side-card p{font-size:16px;line-height:1.55;color:rgba(255,255,255,.78);margin:0 0 22px;}
.vacancy-contacts{display:grid;gap:10px;margin-top:22px;}
.vacancy-contacts a{color:rgba(255,255,255,.86);text-decoration:none;font-weight:700;}

@media (min-width:1500px){
  .hero h1{font-size:clamp(58px,4.7vw,88px)!important;}
}
@media (max-width:1180px){
  .topbar{gap:14px!important;}
  .topbar .btn{padding:14px 18px!important;}
  .nav{gap:14px!important;}
  .services-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .vacancies-layout{grid-template-columns:1fr;}
  .vacancy-side-card{position:static;}
}
@media (max-width:900px){
  .hero{width:100%!important;min-height:auto!important;border-radius:0 0 22px 22px!important;padding-top:28px!important;}
  .hero-content{width:92vw!important;margin-left:auto!important;margin-right:auto!important;}
  .hero h1{font-size:clamp(34px,11vw,52px)!important;max-width:92vw!important;}
  .section h2,.about h2,.why h2,#services h2,.workflow-section h2,.docs h2,.final-contacts-title h2{font-size:clamp(28px,8.4vw,42px)!important;}
  .about{grid-template-columns:1fr!important;gap:24px!important;}
  .about h2 span{display:inline!important;}
  .services-grid{grid-template-columns:1fr!important;}
  .pl-work-content{grid-template-columns:1fr!important;}
  .float .float-vacancies{min-width:120px!important;height:46px!important;font-size:12px!important;}
  .vacancy-card{grid-template-columns:1fr!important;}
  .vacancy-card .btn{justify-self:start;}
  .vacancies-hero,.vacancies-list-section{padding:28px 18px!important;}
}


/* ===== FINAL 2026-06-21: hero/vacancies professional fix ===== */
@media (min-width: 1025px){
  .hero{
    width:min(1520px,98vw)!important;
    margin:0 auto!important;
    min-height:calc(100vh - 116px)!important;
  }
  .hero-content{
    width:min(1120px,86vw)!important;
    margin-left:clamp(22px,5.4vw,105px)!important;
    margin-right:auto!important;
  }
  .hero h1{
    font-size:clamp(46px,5.05vw,82px)!important;
    line-height:.98!important;
    max-width:900px!important;
    letter-spacing:.018em!important;
  }
  .hero .lead,.hero p.lead{
    max-width:900px!important;
    font-size:clamp(16px,1.05vw,20px)!important;
  }
}
@media (min-width: 1500px){
  .hero-content{margin-left:clamp(54px,6.2vw,118px)!important;}
  .hero h1{font-size:clamp(64px,4.35vw,82px)!important;}
}
.float .float-vacancies{
  min-width:148px!important;
  width:148px!important;
  max-width:148px!important;
  height:54px!important;
  padding:0 14px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  white-space:nowrap!important;
  font-size:13px!important;
  line-height:1!important;
  letter-spacing:.04em!important;
  border-radius:16px!important;
}
@media (max-width: 760px){
  .float .float-vacancies{width:118px!important;min-width:118px!important;height:44px!important;font-size:11px!important;}
}
.vacancies-body .topbar{position:sticky;top:0;z-index:60;}
.vacancies-page.vacancies-pro{padding-top:22px!important;}
.vacancies-hero-pro{
  position:relative;
  overflow:hidden;
  padding:clamp(34px,5vw,72px)!important;
  background:
    linear-gradient(90deg,rgba(0,0,0,.88),rgba(0,0,0,.50)),
    url('../img/embedded/image_00.webp') center/cover no-repeat!important;
}
.vacancies-hero-pro:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 25% 30%,rgba(243,199,76,.10),transparent 36%);pointer-events:none;}
.vac-breadcrumb{position:relative;z-index:1;display:flex;gap:10px;align-items:center;margin-bottom:28px;font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.64);font-weight:800;}
.vac-breadcrumb a{color:var(--gold2);text-decoration:none;}
.vacancies-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:32px;align-items:end;}
.vacancies-hero-copy h1{font-size:clamp(40px,4.5vw,70px)!important;line-height:1.02!important;max-width:900px!important;margin:0 0 18px!important;letter-spacing:.025em!important;}
.vacancies-hero-copy .section-text{max-width:860px!important;font-size:clamp(16px,1.05vw,20px)!important;line-height:1.6!important;margin-bottom:24px!important;}
.vacancies-hero-actions{display:flex;gap:14px;flex-wrap:wrap;}
.vacancies-callout{padding:24px;border-radius:22px;border:1px solid rgba(243,199,76,.28);background:linear-gradient(145deg,rgba(10,12,14,.88),rgba(0,0,0,.68));box-shadow:0 22px 60px rgba(0,0,0,.35);}
.vacancies-callout span{display:block;color:var(--gold2);font-weight:900;text-transform:uppercase;letter-spacing:.08em;margin-bottom:12px;}
.vacancies-callout a{display:block;color:#fff;text-decoration:none;font-weight:800;margin:9px 0;}
.vacancies-callout p{margin:16px 0 0!important;color:rgba(255,255,255,.75);font-size:14px;line-height:1.5;}
.vacancies-list-section-pro{padding:clamp(28px,4vw,48px)!important;}
.vacancies-section-head{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:24px;}
.vacancies-section-head h2{font-size:clamp(34px,3.2vw,52px)!important;line-height:1.05!important;margin:0!important;}
.vacancies-grid-pro{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;}
.vacancy-card-pro{display:grid;grid-template-columns:62px minmax(0,1fr);gap:16px;padding:24px;border-radius:22px;border:1px solid rgba(212,175,55,.24);background:linear-gradient(135deg,rgba(10,12,14,.88),rgba(0,0,0,.56));box-shadow:0 18px 48px rgba(0,0,0,.25);}
.vacancy-icon{width:58px;height:58px;border-radius:18px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(243,199,76,.42);background:rgba(212,175,55,.09);font-size:28px;color:var(--gold2);}
.vacancy-copy h2{font-size:clamp(19px,1.55vw,26px)!important;color:var(--gold2)!important;margin:0 0 8px!important;line-height:1.12!important;text-transform:uppercase!important;}
.vacancy-copy p{font-size:15px!important;line-height:1.52!important;margin:0!important;color:rgba(255,255,255,.80)!important;}
.vacancy-card-pro ul{grid-column:2;list-style:none;margin:4px 0 0;padding:0;display:grid;gap:7px;}
.vacancy-card-pro li{font-size:14px;color:rgba(255,255,255,.82);padding-left:22px;position:relative;}
.vacancy-card-pro li:before{content:'✓';position:absolute;left:0;color:var(--gold2);font-weight:900;}
.vacancy-card-pro .btn{grid-column:2;justify-self:start;margin-top:8px;padding:12px 18px!important;font-size:13px!important;}
.vacancies-resume-panel{margin-top:22px;padding:26px;border-radius:22px;border:1px solid rgba(212,175,55,.26);background:linear-gradient(135deg,rgba(12,14,16,.84),rgba(0,0,0,.58));display:flex;align-items:center;justify-content:space-between;gap:20px;}
.vacancies-resume-panel h3{font-size:clamp(22px,1.8vw,30px)!important;margin:0 0 8px!important;}
.vacancies-resume-panel p{margin:0!important;color:rgba(255,255,255,.75);line-height:1.55;}
.vacancies-body .dev-footer{margin-top:32px;}
@media (max-width: 980px){
  .vacancies-hero-grid{grid-template-columns:1fr;}
  .vacancies-callout{max-width:480px;}
  .vacancies-grid-pro{grid-template-columns:1fr;}
  .vacancies-section-head{display:block;}
  .vacancies-resume-panel{display:block;}
  .vacancies-resume-panel .btn{margin-top:18px;}
}
@media (max-width: 620px){
  .vacancies-hero-pro,.vacancies-list-section-pro{padding:24px 16px!important;}
  .vacancy-card-pro{grid-template-columns:1fr;padding:20px;}
  .vacancy-card-pro ul,.vacancy-card-pro .btn{grid-column:1;}
  .vacancies-hero-copy h1{font-size:clamp(32px,10vw,44px)!important;}
}


/* =========================================================
   FINAL PROFESSIONAL FIX 2026-06-22
   Hero/header/vacancies/request modal polish
   ========================================================= */
:root{
  --pl-container: min(1480px, calc(100vw - 96px));
  --pl-radius: 28px;
}
body{overflow-x:hidden;}
.topbar{
  width:min(100% - 34px, 1840px)!important;
  left:50%!important;
  transform:translateX(-50%)!important;
  top:12px!important;
  border-radius:0 0 28px 28px!important;
  padding:16px clamp(18px,2.4vw,48px)!important;
  min-height:92px!important;
  z-index:3000!important;
}
.topbar .nav{gap:clamp(18px,2vw,38px)!important;}
.topbar .nav a{font-size:clamp(12px,.78vw,15px)!important;letter-spacing:.065em!important;white-space:nowrap!important;}
.topbar .btn{min-width:clamp(170px,13vw,260px)!important;height:58px!important;font-size:15px!important;}
.brand img{width:78px!important;height:78px!important;}
.brand b{font-size:20px!important;line-height:1.05!important;}
.brand small{font-size:13px!important;line-height:1.25!important;max-width:320px!important;}

.section,.panel{width:var(--pl-container)!important;max-width:1480px!important;margin-left:auto!important;margin-right:auto!important;}
.eyebrow{color:var(--gold2,#f3c74c)!important;font-size:clamp(14px,1.1vw,20px)!important;letter-spacing:.22em!important;font-weight:900!important;}
.section h2,.panel h2,.services-title,.work-title,.docs-title,
#why h2,#services h2,#workme h2,#contacts h2{
  font-size:clamp(34px,3.55vw,62px)!important;
  line-height:.98!important;
  letter-spacing:.015em!important;
  text-wrap:balance!important;
}
.section-text,.panel p,.section p,.lead{font-size:clamp(16px,1.18vw,22px)!important;line-height:1.62!important;}

.hero.section-clean{
  width:min(100% - 34px,1840px)!important;
  max-width:1840px!important;
  margin:0 auto 36px!important;
  padding:clamp(138px,12vh,178px) clamp(28px,5.2vw,112px) clamp(72px,8vh,112px)!important;
  min-height:calc(100vh - 18px)!important;
  border-radius:0 0 28px 28px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
}
.hero-content{
  max-width:min(980px,64vw)!important;
  width:100%!important;
  margin-left:clamp(0px,2vw,36px)!important;
  margin-right:auto!important;
  text-align:left!important;
  align-items:flex-start!important;
}
.hero .eyebrow{max-width:760px!important;}
.hero h1,
.hero-title{
  font-size:clamp(46px,5.15vw,88px)!important;
  line-height:.98!important;
  letter-spacing:.012em!important;
  max-width:1040px!important;
  text-align:left!important;
  text-wrap:balance!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
}
.hero .lead{max-width:900px!important;font-size:clamp(17px,1.25vw,24px)!important;line-height:1.55!important;}
.hero .actions{display:flex!important;flex-wrap:wrap!important;gap:14px!important;align-items:center!important;justify-content:flex-start!important;}
.hero .actions .btn{min-width:220px!important;height:60px!important;border-radius:12px!important;}
.hero .vacancies-hero-btn{border-color:rgba(243,199,76,.55)!important;color:#f4c94f!important;}
.hero-contacts{max-width:760px!important;width:100%!important;}

.about h2{font-size:clamp(36px,3.2vw,56px)!important;line-height:1.02!important;text-align:left!important;}
.about h2 span{display:inline!important;text-align:left!important;}
.about .eyebrow{color:var(--gold2,#f3c74c)!important;}
.about-stats div{min-height:170px!important;}

.why-list-simple li{font-size:clamp(15px,1.02vw,19px)!important;line-height:1.55!important;margin-bottom:22px!important;}
.why-list-simple li b{font-size:1.05em!important;color:var(--gold2,#f3c74c)!important;}
.services-grid .service-card h3{font-size:clamp(18px,1.15vw,24px)!important;line-height:1.15!important;}
.services-grid .service-card p{font-size:clamp(14px,.95vw,17px)!important;line-height:1.55!important;}

/* Floating contacts: fix vacancy button */
.float{right:clamp(14px,2vw,34px)!important;z-index:2600!important;}
.float a{width:68px!important;height:68px!important;display:flex!important;align-items:center!important;justify-content:center!important;}
.float .float-vacancies{
  width:132px!important;height:48px!important;min-width:132px!important;
  margin-left:-64px!important;
  padding:0 16px!important;
  border-radius:18px!important;
  font-size:12px!important;
  line-height:1!important;
  white-space:nowrap!important;
  letter-spacing:.06em!important;
  color:#050505!important;
  background:linear-gradient(135deg,#f7d85d,#b98614)!important;
  font-weight:900!important;
  text-transform:uppercase!important;
}

/* Request / privacy / phone modals: never under header */
.request-modal,.privacy-modal,.phone-modal{
  z-index:6000!important;
  align-items:flex-start!important;
  overflow:auto!important;
  padding:clamp(112px,12vh,140px) 18px 42px!important;
}
.request-modal-card,.privacy-modal-card,.phone-modal-card{
  margin:0 auto 40px!important;
  max-height:none!important;
  width:min(760px,96vw)!important;
}
.request-modal-head h3{font-size:clamp(28px,3vw,46px)!important;line-height:1.05!important;}
.request-form{grid-template-columns:1fr 1fr!important;gap:18px!important;}
.request-form-full{grid-column:1/-1!important;}
.request-back-home{margin-top:14px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:42px!important;padding:0 18px!important;font-size:13px!important;}

/* Vacancies page: adult/professional layout */
body.vacancies-body .topbar{position:fixed!important;}
.vacancies-page{
  width:var(--pl-container)!important;
  max-width:1480px!important;
  margin:0 auto!important;
  padding-top:126px!important;
  padding-bottom:70px!important;
}
.vacancies-page .section,
.vacancies-page .panel{width:100%!important;max-width:none!important;}
.vacancies-hero-pro{
  position:relative!important;
  overflow:hidden!important;
  min-height:auto!important;
  padding:52px clamp(24px,4vw,64px)!important;
  border-radius:28px!important;
  background:linear-gradient(100deg,rgba(5,7,8,.95),rgba(8,10,12,.72)),url('../img/work_custom/montazh_03.jpg') center/cover no-repeat!important;
}
.vacancies-hero-pro:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 0%,rgba(243,199,76,.16),transparent 38%);pointer-events:none;}
.vacancies-hero-grid{position:relative;display:grid!important;grid-template-columns:minmax(0,1.3fr) minmax(320px,.7fr)!important;gap:32px!important;align-items:end!important;}
.vac-breadcrumb{display:flex!important;gap:10px!important;align-items:center!important;margin-bottom:22px!important;color:rgba(255,255,255,.7)!important;font-size:14px!important;}
.vac-breadcrumb a{color:#f3c74c!important;text-decoration:none!important;}
.vacancies-hero-copy h1{font-size:clamp(38px,4.2vw,72px)!important;line-height:.98!important;max-width:820px!important;text-wrap:balance!important;}
.vacancies-hero-copy .section-text{max-width:760px!important;}
.vacancies-hero-actions{display:flex!important;gap:14px!important;flex-wrap:wrap!important;margin-top:26px!important;}
.vacancies-callout{border:1px solid rgba(243,199,76,.32)!important;border-radius:24px!important;background:rgba(0,0,0,.54)!important;padding:26px!important;box-shadow:0 20px 60px rgba(0,0,0,.32)!important;}
.vacancies-callout span{display:block;color:#f3c74c;font-weight:900;text-transform:uppercase;letter-spacing:.12em;margin-bottom:14px;}
.vacancies-callout a{display:block;color:#fff;text-decoration:none;font-weight:800;margin:10px 0;}
.vacancies-callout p{font-size:15px!important;line-height:1.55!important;margin-top:14px!important;color:rgba(255,255,255,.82)!important;}
.vacancies-list-section-pro{margin-top:24px!important;padding:38px clamp(20px,3vw,46px)!important;border-radius:28px!important;}
.vacancies-section-head{display:flex!important;justify-content:space-between!important;gap:24px!important;align-items:end!important;margin-bottom:24px!important;}
.vacancies-section-head h2{font-size:clamp(32px,3.2vw,56px)!important;}
.vacancies-grid-pro{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:20px!important;}
.vacancy-card-pro{display:grid!important;grid-template-columns:74px 1fr!important;gap:18px!important;align-items:start!important;border:1px solid rgba(243,199,76,.24)!important;border-radius:22px!important;background:linear-gradient(135deg,rgba(8,10,12,.9),rgba(17,18,20,.72))!important;padding:24px!important;box-shadow:0 18px 44px rgba(0,0,0,.22)!important;}
.vacancy-icon{width:62px!important;height:62px!important;border-radius:18px!important;border:1px solid rgba(243,199,76,.45)!important;display:flex!important;align-items:center!important;justify-content:center!important;color:#f3c74c!important;font-size:30px!important;background:rgba(243,199,76,.07)!important;}
.vacancy-copy h2{font-size:clamp(21px,1.5vw,28px)!important;line-height:1.1!important;color:#f3c74c!important;margin:0 0 10px!important;}
.vacancy-copy p{font-size:15px!important;line-height:1.55!important;color:rgba(255,255,255,.84)!important;margin:0!important;}
.vacancy-card-pro ul{grid-column:1/-1!important;display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:8px!important;list-style:none!important;margin:8px 0 0!important;padding:0!important;}
.vacancy-card-pro li{font-size:13px!important;color:rgba(255,255,255,.86)!important;padding:10px 12px!important;border-radius:12px!important;background:rgba(255,255,255,.045)!important;}
.vacancy-card-pro .btn{grid-column:1/-1!important;width:100%!important;margin-top:8px!important;}
.vacancies-resume-panel{margin-top:22px!important;display:flex!important;justify-content:space-between!important;align-items:center!important;gap:22px!important;border:1px solid rgba(243,199,76,.26)!important;border-radius:22px!important;background:rgba(0,0,0,.36)!important;padding:24px!important;}
.vacancies-resume-panel h3{font-size:24px!important;margin:0 0 8px!important;}.vacancies-resume-panel p{font-size:15px!important;margin:0!important;}
.vacancies-back-bottom{margin-top:22px!important;text-align:center!important;}
.vacancies-back-bottom .btn{min-width:240px!important;}

@media (max-width:1100px){
  .topbar{width:100%!important;top:0!important;border-radius:0 0 22px 22px!important;min-height:82px!important;}
  .topbar .nav,.topbar>.btn{display:none!important;}
  .brand img{width:62px!important;height:62px!important;}.brand b{font-size:16px!important}.brand small{font-size:11px!important;max-width:210px!important;}
  .hero.section-clean{width:100%!important;margin:0!important;border-radius:0 0 22px 22px!important;padding:112px 20px 52px!important;min-height:auto!important;}
  .hero-content{max-width:760px!important;margin-left:0!important;}
  .hero h1{font-size:clamp(36px,10vw,58px)!important;line-height:1.02!important;}
  .section,.panel,.vacancies-page{width:min(100% - 28px, 900px)!important;}
  .vacancies-page{padding-top:104px!important;}
  .vacancies-hero-grid{grid-template-columns:1fr!important;}
  .vacancies-grid-pro{grid-template-columns:1fr!important;}
  .vacancies-resume-panel{flex-direction:column!important;align-items:flex-start!important;}
  .float .float-vacancies{width:118px!important;min-width:118px!important;margin-left:-50px!important;font-size:11px!important;}
}
@media (max-width:620px){
  .section h2,.panel h2,#why h2,#services h2,#workme h2,#contacts h2{font-size:clamp(28px,8.5vw,38px)!important;line-height:1.05!important;}
  .hero h1{font-size:clamp(34px,11vw,48px)!important;}
  .hero .actions .btn{width:100%!important;min-width:0!important;}
  .request-form{grid-template-columns:1fr!important;}
  .request-modal,.privacy-modal,.phone-modal{padding-top:92px!important;}
  .vacancies-hero-pro,.vacancies-list-section-pro{padding:28px 16px!important;border-radius:20px!important;}
  .vacancy-card-pro{grid-template-columns:54px 1fr!important;padding:18px!important;}
  .vacancy-icon{width:48px!important;height:48px!important;font-size:23px!important;}
  .vacancy-card-pro ul{grid-template-columns:1fr!important;}
  .float{right:10px!important;}.float a{width:54px!important;height:54px!important;font-size:12px!important;}
  .float .float-vacancies{width:102px!important;min-width:102px!important;height:40px!important;margin-left:-48px!important;font-size:10px!important;}
}


/* =========================================================
   FINAL MOBILE + ARTICLES FIX 2026-06-28
   Safe overrides after all previous rules
   ========================================================= */
html,body{max-width:100%;overflow-x:hidden!important;}
.topbar{box-sizing:border-box!important;}
.nav a[href="articles.html"], .nav a[href$="articles.html"]{color:#fff!important;}
.nav a.active{color:var(--gold2,#f3c74c)!important;}

/* Remove oversized floating vacancy button from all layouts */
.float .float-vacancies{display:none!important;}
.float{gap:10px!important;}
.float a:not(.float-vacancies){width:58px!important;height:58px!important;min-width:58px!important;border-radius:16px!important;font-size:14px!important;}

/* Desktop hero: compact and readable */
.hero.section-clean{padding-top:clamp(128px,10vh,160px)!important;min-height:auto!important;}
.hero-content{max-width:min(900px,58vw)!important;margin-left:clamp(0px,1.5vw,24px)!important;}
.hero .eyebrow{font-size:clamp(13px,.9vw,17px)!important;line-height:1.35!important;max-width:820px!important;}
.hero h1,.hero-title{font-size:clamp(42px,4.55vw,76px)!important;line-height:1.02!important;max-width:900px!important;letter-spacing:.006em!important;}
.hero .lead{font-size:clamp(16px,1.05vw,20px)!important;line-height:1.55!important;max-width:820px!important;}
.hero .actions .btn{min-width:190px!important;height:54px!important;font-size:14px!important;}

/* One visual scale for section titles */
.section h2,.panel h2,#why h2,#services h2,#workme h2,#contacts h2,.docs h2,.specialists h2{font-size:clamp(30px,3vw,54px)!important;line-height:1.06!important;}
.eyebrow{font-size:clamp(13px,.95vw,17px)!important;line-height:1.35!important;}
.section-text,.panel p,.section p,.lead{font-size:clamp(15px,1vw,18px)!important;line-height:1.6!important;}

/* Articles page */
.articles-page{width:min(1480px,calc(100vw - 68px));margin:0 auto;padding:130px 0 70px;}
.articles-maintenance{position:relative;overflow:hidden;padding:clamp(32px,5vw,72px)!important;border-radius:28px!important;background:linear-gradient(120deg,rgba(5,7,8,.96),rgba(14,16,18,.72)),url('../img/work_custom/montazh_03.jpg') center/cover no-repeat!important;}
.articles-maintenance:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 18% 0%,rgba(243,199,76,.18),transparent 36%);pointer-events:none;}
.articles-maintenance>*{position:relative;z-index:1;}
.articles-breadcrumb{display:flex;align-items:center;gap:10px;margin-bottom:22px;color:rgba(255,255,255,.7);font-size:14px;font-weight:700;}
.articles-breadcrumb a{color:#f3c74c;text-decoration:none;}
.articles-maintenance h1{font-size:clamp(34px,4vw,68px)!important;line-height:1.02!important;max-width:960px!important;margin:0 0 22px!important;text-transform:uppercase!important;color:#fff!important;}
.articles-maintenance .section-text{max-width:980px!important;color:rgba(255,255,255,.86)!important;}
.articles-plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:32px 0;}
.articles-plans div{padding:22px;border:1px solid rgba(243,199,76,.25);border-radius:20px;background:rgba(0,0,0,.36);}
.articles-plans span{display:block;color:#f3c74c;font-size:26px;font-weight:900;margin-bottom:12px;}
.articles-plans b{display:block;color:#fff;text-transform:uppercase;line-height:1.2;margin-bottom:8px;}
.articles-plans p{font-size:14px!important;line-height:1.55!important;color:rgba(255,255,255,.76)!important;margin:0!important;}
.articles-actions{display:flex;gap:14px;flex-wrap:wrap;}
.articles-actions .btn{min-width:220px!important;}

@media (max-width:1100px){
  .topbar{width:100%!important;left:0!important;right:0!important;top:0!important;transform:none!important;min-height:84px!important;padding:10px 16px!important;border-radius:0 0 20px 20px!important;}
  .brand{gap:10px!important;min-width:0!important;max-width:calc(100% - 74px)!important;}
  .brand img{width:58px!important;height:58px!important;flex:0 0 58px!important;}
  .brand b{font-size:15px!important;line-height:1.05!important;}
  .brand small{font-size:11px!important;line-height:1.2!important;max-width:210px!important;}
  .burger{width:50px!important;height:50px!important;flex:0 0 50px!important;margin-left:auto!important;}
  .nav{top:88px!important;left:12px!important;right:12px!important;z-index:2999!important;}
  .nav a{font-size:14px!important;padding:13px 14px!important;}
  .hero.section-clean{width:100%!important;margin:0!important;border-radius:0 0 22px 22px!important;padding:118px 18px 42px!important;min-height:auto!important;align-items:flex-start!important;}
  .hero-content{max-width:100%!important;width:100%!important;margin:0!important;text-align:left!important;}
  .hero .eyebrow{font-size:clamp(11px,3.3vw,14px)!important;letter-spacing:.16em!important;max-width:100%!important;text-align:left!important;}
  .hero h1,.hero-title{font-size:clamp(34px,10vw,54px)!important;line-height:1.03!important;max-width:100%!important;text-align:left!important;word-break:normal!important;overflow-wrap:break-word!important;}
  .hero .lead{font-size:clamp(15px,4vw,18px)!important;line-height:1.5!important;max-width:100%!important;text-align:left!important;}
  .hero .actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;width:100%!important;}
  .hero .actions .btn{width:100%!important;min-width:0!important;height:50px!important;font-size:12px!important;padding:0 10px!important;}
  .hero .actions .btn:first-child{grid-column:1/-1!important;}
  .hero-contacts{display:none!important;}
  .float{position:fixed!important;right:10px!important;bottom:12px!important;top:auto!important;display:flex!important;flex-direction:row!important;gap:8px!important;z-index:2500!important;max-width:calc(100vw - 20px)!important;background:rgba(0,0,0,.58)!important;padding:8px!important;border-radius:18px!important;backdrop-filter:blur(10px)!important;}
  .float a:not(.float-vacancies){width:48px!important;height:48px!important;min-width:48px!important;border-radius:14px!important;font-size:12px!important;}
  .float a.link-disabled{opacity:.45!important;}
  .section,.panel,.vacancies-page,.articles-page{width:min(100% - 24px, 900px)!important;}
  .vacancies-page,.articles-page{padding-top:104px!important;}
  .vacancies-hero-pro,.articles-maintenance{padding:28px 18px!important;border-radius:20px!important;}
}
@media (max-width:620px){
  .topbar{min-height:76px!important;padding:8px 12px!important;}
  .brand img{width:50px!important;height:50px!important;flex-basis:50px!important;}
  .brand b{font-size:13px!important;}
  .brand small{font-size:10px!important;max-width:170px!important;}
  .burger{width:46px!important;height:46px!important;flex-basis:46px!important;border-radius:14px!important;}
  .nav{top:78px!important;}
  .hero.section-clean{padding:96px 16px 34px!important;}
  .hero .eyebrow{font-size:11px!important;letter-spacing:.12em!important;text-align:center!important;}
  .hero h1,.hero-title{font-size:clamp(30px,9.2vw,40px)!important;line-height:1.07!important;text-align:center!important;}
  .hero .lead{font-size:14.5px!important;text-align:center!important;}
  .hero .actions{grid-template-columns:1fr!important;}
  .hero .actions .btn{height:48px!important;font-size:12px!important;}
  .section h2,.panel h2,#why h2,#services h2,#workme h2,#contacts h2,.docs h2,.specialists h2{font-size:clamp(26px,8.2vw,34px)!important;line-height:1.08!important;}
  .section-text,.panel p,.section p,.lead{font-size:14.5px!important;line-height:1.55!important;}
  .float{left:8px!important;right:8px!important;bottom:8px!important;justify-content:center!important;}
  .float a:not(.float-vacancies){width:44px!important;height:44px!important;min-width:44px!important;}
  .request-modal,.privacy-modal,.phone-modal{padding-top:86px!important;padding-left:10px!important;padding-right:10px!important;}
  .request-modal-card,.privacy-modal-card,.phone-modal-card{width:min(100%,560px)!important;border-radius:20px!important;}
  .request-modal-head h3{font-size:clamp(24px,7.6vw,32px)!important;}
  .articles-maintenance h1{font-size:clamp(28px,8.8vw,38px)!important;}
  .articles-plans{grid-template-columns:1fr!important;}
  .articles-actions .btn{width:100%!important;min-width:0!important;}
}


/* =======================================================
   V30 SITE PATCH — меню, адаптив, шапка, логотип, новости
======================================================= */
.topbar-v30{min-height:104px;background:linear-gradient(180deg,rgba(5,8,10,.92),rgba(10,12,14,.70));border-bottom:1px solid rgba(212,175,55,.14);box-shadow:0 14px 44px rgba(0,0,0,.28)}
.topbar-v30 .brand img{aspect-ratio:1/1;object-fit:contain!important;object-position:center;background:rgba(0,0,0,.28);flex:0 0 auto;border-radius:50%}
.nav-v30{align-items:center;gap:22px;white-space:nowrap}.nav-v30 a{position:relative;padding:12px 4px}.nav-v30 a.active,.nav-v30 a:hover{color:var(--gold2)}
.nav-group{position:relative}.nav-dropdown{position:absolute;top:100%;left:-18px;min-width:220px;display:none;padding:12px;border:1px solid rgba(212,175,55,.28);border-radius:18px;background:rgba(5,6,8,.92);backdrop-filter:blur(14px);box-shadow:0 24px 70px rgba(0,0,0,.52)}
.nav-group:hover .nav-dropdown{display:grid;gap:4px}.nav-dropdown a{padding:10px 12px;border-radius:12px;text-transform:none;letter-spacing:.02em;font-size:13px}.nav-dropdown a:hover{background:rgba(212,175,55,.12)}
main#top{padding-top:112px}.hero{padding-top:68px}.brand img{object-fit:contain!important;aspect-ratio:1/1!important}.brand{min-width:0}.brand span{min-width:0}
.hero h1,h1,h2{overflow-wrap:normal;word-break:normal;hyphens:auto;max-width:100%}.panel,.hero-content,.specialists{overflow:hidden}.hero h1{font-size:clamp(54px,5.5vw,92px);line-height:.98}.section h2,.panel h2{font-size:clamp(34px,4.2vw,68px);line-height:1.02}
.final-channel-list a[href="/max"],.final-channel-list a[href="/tg"],.final-channel-list a[href="/vk"],.socials a[href="/max"],.socials a[href="/tg"],.socials a[href="/vk"]{opacity:1!important;pointer-events:auto!important}
.news-link-mobile{display:none}
@media (max-width:1180px){.topbar-v30{min-height:92px}.nav-v30{gap:14px}.nav-v30 a{font-size:11px}.topbar-v30>.btn{padding:0 20px;min-height:48px}main#top{padding-top:96px}.hero h1{font-size:clamp(48px,7vw,74px)}}
@media (max-width:1000px){.topbar-v30{min-height:82px}.topbar-v30 .nav{position:fixed;display:flex!important;flex-direction:column;align-items:stretch;gap:8px;top:82px;left:12px;right:12px;padding:16px;border:1px solid rgba(212,175,55,.28);border-radius:22px;background:rgba(5,6,8,.96);box-shadow:0 28px 90px rgba(0,0,0,.55);transform:translateY(-18px);opacity:0;pointer-events:none;transition:.22s ease}.menu-open .topbar-v30 .nav{transform:translateY(0);opacity:1;pointer-events:auto}.topbar-v30 .nav a,.topbar-v30 .nav-dropdown a{padding:14px 16px;border:1px solid rgba(212,175,55,.16);border-radius:14px;background:rgba(255,255,255,.035);font-size:14px}.topbar-v30 .nav-group{display:grid;gap:8px}.topbar-v30 .nav-dropdown{position:static;display:grid;box-shadow:none;background:transparent;border:0;padding:0;margin-left:14px}.topbar-v30 .nav-group>a{color:var(--gold2)}main#top{padding-top:88px}.hero{padding-top:52px}.burger{width:70px;height:70px;border:1px solid rgba(212,175,55,.32);border-radius:24px;background:rgba(0,0,0,.28)}.burger span{height:4px;width:36px;border-radius:99px;margin:7px auto}.brand img{width:64px!important;height:64px!important}.brand b{font-size:clamp(18px,4.2vw,30px)!important}.brand small{display:none!important}.hero h1{font-size:clamp(46px,11vw,76px)!important;line-height:1.02!important}.section h2,.panel h2,h2{font-size:clamp(34px,8.6vw,56px)!important;line-height:1.08!important;letter-spacing:.01em!important}}
@media (max-width:640px){.topbar-v30{min-height:86px;padding:10px 18px!important}.topbar-v30 .nav{top:88px}.brand img{width:60px!important;height:60px!important;min-width:60px}.brand span{max-width:calc(100vw - 160px)!important}.brand b{font-size:21px!important;letter-spacing:.03em}.hero{padding-top:48px!important}.hero h1{font-size:clamp(40px,12vw,58px)!important;line-height:1.06!important;text-wrap:balance}.section h2,.panel h2,h2{font-size:clamp(29px,8.8vw,42px)!important;line-height:1.12!important}.eyebrow{font-size:12px;letter-spacing:.16em}.panel{overflow:hidden}.actions .btn{font-size:14px}.float a[href="/max"],.float a[href="/tg"],.float a[href="/vk"]{color:var(--gold2)!important}}
@media (max-width:380px){.brand b{font-size:18px!important}.brand img{width:54px!important;height:54px!important;min-width:54px}.hero h1{font-size:36px!important}.section h2,.panel h2,h2{font-size:30px!important}.topbar-v30 .nav{left:8px;right:8px}}


/* =======================================================
   V30.2 MOBILE FIX — logo proportions + headings inside cards
   Added after all previous CSS so it wins cascade.
======================================================= */
.topbar .brand img,
.topbar-v30 .brand img,
.brand img{
  width:78px!important;
  height:78px!important;
  min-width:78px!important;
  max-width:78px!important;
  flex:0 0 78px!important;
  aspect-ratio:1/1!important;
  object-fit:contain!important;
  object-position:center!important;
  border-radius:50%!important;
  display:block!important;
  transform:none!important;
}
@media (max-width:1100px){
  .topbar .brand img,
  .topbar-v30 .brand img,
  .brand img{
    width:62px!important;
    height:62px!important;
    min-width:62px!important;
    max-width:62px!important;
    flex-basis:62px!important;
  }
  .topbar,
  .topbar-v30{
    min-height:86px!important;
    padding:10px 16px!important;
  }
  main#top{padding-top:92px!important;}
}
@media (max-width:640px){
  .topbar .brand img,
  .topbar-v30 .brand img,
  .brand img{
    width:58px!important;
    height:58px!important;
    min-width:58px!important;
    max-width:58px!important;
    flex-basis:58px!important;
  }
  .topbar,
  .topbar-v30{
    min-height:84px!important;
    padding:9px 14px!important;
  }
  main#top{padding-top:88px!important;}
  .brand span{max-width:calc(100vw - 148px)!important;}
  .brand b{font-size:clamp(17px,5vw,22px)!important;line-height:1.05!important;}

  /* headings in large cards must never be clipped */
  .section h2,
  .panel h2,
  .specialists h2,
  .specialists.specialists-photo h2,
  #why h2,
  #services h2,
  #workme h2,
  #contacts h2,
  .docs h2,
  .final-contacts-title h2,
  h2.section-title{
    font-size:clamp(24px,7.4vw,36px)!important;
    line-height:1.12!important;
    letter-spacing:.035em!important;
    max-width:100%!important;
    white-space:normal!important;
    overflow-wrap:break-word!important;
    word-break:normal!important;
    hyphens:auto!important;
    text-wrap:balance!important;
  }
  .specialists.specialists-photo,
  .specialists,
  .panel,
  .section{
    overflow:hidden!important;
  }
  .specialists.specialists-photo .section-text,
  .specialists .section-text,
  .section-text,
  .panel p,
  .section p{
    max-width:100%!important;
    overflow-wrap:break-word!important;
  }
}
@media (max-width:420px){
  .topbar .brand img,
  .topbar-v30 .brand img,
  .brand img{
    width:54px!important;
    height:54px!important;
    min-width:54px!important;
    max-width:54px!important;
    flex-basis:54px!important;
  }
  .brand b{font-size:18px!important;}
  .section h2,.panel h2,.specialists h2,.specialists.specialists-photo h2,#why h2,#services h2,#workme h2,#contacts h2,.docs h2,.final-contacts-title h2{
    font-size:clamp(22px,7vw,31px)!important;
  }
}


/* =======================================================
   V30.3 FINAL MOBILE TITLES FIX
   No letter-by-letter breaks. Headings become smaller instead.
======================================================= */
@media (max-width: 640px){
  .section h2,
  .panel h2,
  .specialists h2,
  .specialists.specialists-photo h2,
  #why h2,
  #services h2,
  #workme h2,
  #contacts h2,
  .docs h2,
  .final-contacts-title h2,
  h2.section-title{
    font-size: clamp(20px, 6.25vw, 29px) !important;
    line-height: 1.14 !important;
    letter-spacing: .025em !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
    text-wrap: balance !important;
    white-space: normal !important;
  }
  .hero h1,
  .hero-title{
    font-size: clamp(32px, 9.8vw, 48px) !important;
    line-height: 1.06 !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
    text-wrap: balance !important;
  }
  .specialists.specialists-photo h2,
  .specialists h2{
    font-size: clamp(20px, 6vw, 27px) !important;
    letter-spacing: .018em !important;
  }
}
@media (max-width: 420px){
  .section h2,
  .panel h2,
  .specialists h2,
  .specialists.specialists-photo h2,
  #why h2,
  #services h2,
  #workme h2,
  #contacts h2,
  .docs h2,
  .final-contacts-title h2,
  h2.section-title{
    font-size: clamp(19px, 5.8vw, 25px) !important;
    letter-spacing: .012em !important;
  }
  .specialists.specialists-photo h2,
  .specialists h2{
    font-size: clamp(19px, 5.45vw, 24px) !important;
  }
}


/* =======================================================
   V30.4 — mobile accordion anti-jump fix
======================================================= */
.services-mobile-accordion,
.pl-work-mobile-accordion,
.service-mobile-item,
.pl-mobile-acc{
  overflow-anchor:none!important;
}
.service-mobile-head,
.pl-mobile-acc-head{
  touch-action:manipulation!important;
}
@media (max-width:640px){
  .service-mobile-head b,
  .pl-mobile-acc-head b{
    word-break:normal!important;
    overflow-wrap:normal!important;
    hyphens:none!important;
  }
}

/* =======================================================
   V30.5 — FIX скрытых кликабельных зон на мобильной версии
   Убираем невидимые desktop/tab элементы, чтобы они не ловили клики
   и не перебрасывали пользователя по странице.
======================================================= */
@media (max-width: 980px){
  /* Полностью отключаем старые/десктопные версии блоков на мобильном */
  #services .services-grid,
  .pl-work-desktop,
  .pl-mobile-tabs,
  .pl-mobile-panel,
  .work-panels,
  .workflow-list:not(.pl-work-mobile-accordion){
    display:none!important;
    visibility:hidden!important;
    opacity:0!important;
    height:0!important;
    max-height:0!important;
    min-height:0!important;
    overflow:hidden!important;
    pointer-events:none!important;
    position:static!important;
    transform:none!important;
  }

  /* На телефоне оставляем только реальные мобильные аккордеоны */
  .services-mobile-accordion,
  .pl-work-mobile-accordion{
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
    position:relative!important;
    z-index:2!important;
  }

  /* Неактивное содержимое аккордеонов не должно ловить клики */
  .service-mobile-item:not(.is-active) .service-mobile-body,
  .pl-mobile-acc:not(.is-active) .pl-mobile-acc-body{
    display:none!important;
    visibility:hidden!important;
    height:0!important;
    max-height:0!important;
    overflow:hidden!important;
    pointer-events:none!important;
  }

  .service-mobile-item.is-active .service-mobile-body,
  .pl-mobile-acc.is-active .pl-mobile-acc-body{
    display:block!important;
    visibility:visible!important;
    height:auto!important;
    max-height:none!important;
    pointer-events:auto!important;
  }

  .service-mobile-head,
  .pl-mobile-acc-head{
    position:relative!important;
    z-index:5!important;
    pointer-events:auto!important;
    touch-action:manipulation!important;
  }

  /* Правая плавающая колонка на телефоне даёт лишние скрытые зоны — убираем её */
  .float{
    display:none!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }
}

/* Закрытые модальные окна не должны ловить клики */
.service-modal:not(.is-open),
.request-modal:not(.is-open),
.privacy-modal:not(.is-open),
.phone-modal:not(.is-open){
  pointer-events:none!important;
  visibility:hidden!important;
}
.service-modal.is-open,
.request-modal.is-open,
.privacy-modal.is-open,
.phone-modal.is-open{
  pointer-events:auto!important;
  visibility:visible!important;
}


/* =======================================================
   V30.6 — FINAL MOBILE GHOST CLICKS FIX + CONTACT BUTTONS
   1) Hidden mobile menu must never catch taps when closed.
   2) Hero buttons stay only in normal hero flow, not as invisible overlays.
   3) Bottom contact buttons are returned on mobile as a real visible fixed row.
======================================================= */
@media (max-width: 980px){
  html, body { overscroll-behavior-x: none; }

  /* Closed mobile menu: completely removed from click layer */
  body:not(.menu-open) .topbar-v30 .nav,
  body:not(.menu-open) .topbar .nav,
  body:not(.menu-open) nav.nav{
    display:none!important;
    visibility:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
    height:0!important;
    max-height:0!important;
    overflow:hidden!important;
    transform:none!important;
  }
  body:not(.menu-open) .topbar-v30 .nav *,
  body:not(.menu-open) .topbar .nav *,
  body:not(.menu-open) nav.nav *{
    pointer-events:none!important;
  }

  body.menu-open .topbar-v30 .nav,
  body.menu-open .topbar .nav,
  body.menu-open nav.nav{
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
    height:auto!important;
    max-height:calc(100vh - 104px)!important;
    overflow:auto!important;
  }
  body.menu-open .topbar-v30 .nav *,
  body.menu-open .topbar .nav *,
  body.menu-open nav.nav *{
    pointer-events:auto!important;
  }

  /* Hero buttons must not create invisible click areas over lower blocks */
  .hero .actions,
  .hero-content .actions{
    position:relative!important;
    inset:auto!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
    transform:none!important;
    z-index:1!important;
    pointer-events:auto!important;
    overflow:visible!important;
  }
  .hero .actions .btn,
  .hero-content .actions .btn{
    position:relative!important;
    inset:auto!important;
    transform:none!important;
    pointer-events:auto!important;
  }

  /* Desktop service/work hidden layers must stay out of touch layer */
  #services .services-grid,
  .pl-work-desktop,
  .pl-mobile-tabs,
  .pl-mobile-panel,
  .work-panels,
  .work-tab,
  .workflow-list:not(.pl-work-mobile-accordion){
    pointer-events:none!important;
  }

  /* Return bottom contact buttons on mobile */
  .float{
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:none!important;
    position:fixed!important;
    left:8px!important;
    right:8px!important;
    bottom:8px!important;
    top:auto!important;
    width:auto!important;
    max-width:calc(100vw - 16px)!important;
    height:auto!important;
    flex-direction:row!important;
    justify-content:center!important;
    align-items:center!important;
    gap:8px!important;
    padding:8px!important;
    border-radius:18px!important;
    background:linear-gradient(180deg,rgba(0,0,0,.10),rgba(0,0,0,.78))!important;
    backdrop-filter:blur(12px)!important;
    z-index:2400!important;
  }
  .float a{
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
    position:relative!important;
    width:44px!important;
    min-width:44px!important;
    max-width:44px!important;
    height:44px!important;
    min-height:44px!important;
    max-height:44px!important;
    padding:0!important;
    margin:0!important;
    border-radius:14px!important;
    font-size:12px!important;
    line-height:1!important;
    transform:none!important;
  }
  body{padding-bottom:74px!important;}
}

@media (max-width: 420px){
  .float{left:6px!important;right:6px!important;bottom:6px!important;gap:6px!important;padding:7px!important;}
  .float a{width:41px!important;min-width:41px!important;max-width:41px!important;height:41px!important;min-height:41px!important;max-height:41px!important;font-size:11px!important;}
  body{padding-bottom:68px!important;}
}

/* FIX 2026-07-11: не обрезать символы большого заголовка главного экрана */
@media (min-width: 901px){
  .hero .hero-content{
    overflow: visible !important;
  }
}
