

/* Start:/local/css/about.css?17921473303644*/
/* =================================================
   О КОМПАНИИ (ABOUT)
   ================================================= */

.about {
    padding: var(--spacing-2xl) 0;
    background-color: var(--color-bg);
}

/* --- Статистика --- */
.about__stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--spacing-xl);
    margin-top: var(--spacing-2xl);
    padding: var(--spacing-xl) var(--spacing-2xl);
    background-color: var(--color-bg-secondary);
    border-radius: var(--radius-md);
}

.about__stat {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.about__stat-value {
    font-size: var(--text-4xl);
    font-weight: var(--font-bold);
    color: var(--color-primary);
    line-height: 1;
    margin-bottom: var(--spacing-sm);
}

.about__stat-label {
    font-size: var(--text-sm);
    color: var(--color-text-muted);
    line-height: var(--leading-normal);
}

/* --- Внутренний блок --- */

.about__inner {
    display: grid;
    grid-template-columns: 35% 65%;
    gap: var(--spacing-3xl);
    align-items: start;
}

/* --- Фотографии --- */
.about__photos {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr 1fr;
    gap: var(--spacing-sm);
    height: 100%;
}

.about__photo {
    overflow: hidden;
    border-radius: var(--radius-md);
}

.about__photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform var(--transition-speed);
}

.about__photo:hover img {
    transform: scale(1.05);
}

.about__photo--tall {
    grid-column: 1;
    grid-row: 1 / 3;
}

.about__photo--wide {
    grid-column: 2;
    grid-row: 1;
}

.about__photo--square {
    grid-column: 2;
    grid-row: 2;
}

.about__photo--medium {
    grid-column: 1 / 3;
    grid-row: 3;
}

/* --- Контент --- */
.about__content {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
}

.about__title {
    font-size: var(--text-3xl);
    font-weight: var(--font-bold);
    color: var(--color-text);
    margin-bottom: var(--spacing-md);
}

.about__desc {
    font-size: var(--text-base);
    line-height: var(--leading-relaxed);
    color: var(--color-text-secondary);
    margin-bottom: var(--spacing-lg);
}

.about__list {
    list-style: none;
    margin-bottom: var(--spacing-lg);
}

.about__list li {
    position: relative;
    padding-left: var(--spacing-lg);
    margin-bottom: var(--spacing-sm);
    font-size: var(--text-base);
    color: var(--color-text);
    line-height: var(--leading-normal);
}

.about__list li::before {
    content: '✓';
    position: absolute;
    top: 0.2rem;
    left: -0.5rem;
    width: 1.5em;
    height: 1.5em;
    display: flex;
    align-items: center;
    justify-content: center;
    background: none;
    color: var(--color-primary);
    font-weight: var(--font-bold);
    font-size: var(--text-sm);
    border-radius: 0;
}

.about__btn {
    display: inline-block;
    margin-top: auto;
    width: fit-content;
    white-space: nowrap;
}

/* --- Адаптив --- */
@media (max-width: 1024px) {
    .about__inner {
        grid-template-columns: 1fr;
        gap: var(--spacing-xl);
    }

    .about__photos {
        max-height: 500px;
    }

    .about__stats {
        grid-template-columns: repeat(2, 1fr);
        gap: var(--spacing-lg);
    }
}

@media (max-width: 640px) {
    .about__stats {
        grid-template-columns: 1fr;
        gap: var(--spacing-md);
    }

    .about__stat-value {
        font-size: var(--text-3xl);
    }
}

/* End */


/* Start:/local/css/colors.css?17921473304007*/
:root {
  /* --- Основные цвета --- */
  --color-primary: #d10038;
  --color-primary-hover: #ff0447;
  --color-primary-light: #f5c6cb;

  --color-secondary: #0062bd;
  --color-secondary-hover: #004c96;
  --color-secondary-light: #cfe2ff;

  --color-success: #4ca328;
  --color-success-light: #d4edda;

  --color-danger: #dc3545;
  --color-danger-light: #f8d7da;

  --color-warning: #ffa500;
  --color-warning-light: #fff3cd;

  --color-info: #17a2b8;
  --color-info-light: #e0f7fa;

  /* --- Текст --- */
  --color-text: #1e1e1e;
  --color-text-secondary: #505050;
  --color-text-muted: #777777;
  --color-text-light: #999999;

  /* --- Фон --- */
  --color-bg: #ffffff;
  --color-bg-secondary: #f0f2f4;
  --color-bg-dark: #1a1a2e;

  /* --- Границы --- */
  --color-border: #e6e6e6;
  --color-border-light: #f0f0f0;
  --color-border-dark: #cccccc;

  /* --- Ссылки --- */
  --color-link: #007bff;
  --color-link-hover: #0056b3;

  /* --- Тёмная тема --- */
  --color-bg-dark-theme: #1a1a2e;
  --color-text-dark-theme: #e0e0e0;

  /* === Палитра подвала === */
    --color-footer-bg: #000d19;
    --color-footer-text: #d9d9d9;
    --color-footer-link: #2395ff;
    --color-footer-link-hover: #66baff;
    --color-footer-border: #1e1e1e;
  
    /* === Палитра модальных окон === */
    --color-modal-overlay: rgba(30, 0, 8, 0.85);
    --color-modal-bg: #ffffff;
    --color-modal-header-bg: #d10038;
    --color-modal-header-text: #ffffff;

    /* === Тени === */
    --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.08);
    --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.1);
    --shadow-lg: 0 10px 30px rgba(0, 0, 0, 0.12);
    --shadow-xl: 0 20px 25px rgba(0, 0, 0, 0.1), 0 10px 10px rgba(0, 0, 0, 0.08);
    
    --shadow-w-sm: 0 1px 3px rgba(255, 255, 255, 0.08);
    --shadow-w-md: 0 4px 12px rgba(255, 255, 255, 0.1);
    --shadow-w-lg: 0 10px 30px rgba(255, 255, 255, 0.12);
    --shadow-w-xl: 0 20px 25px rgba(255, 255, 255, 0.1), 0 10px 10px rgba(255, 255, 255, 0.08);

    --shadow-w-zero: 0 0 10px rgba(255, 255, 255, 1);
    --shadow-zero: 0 0 10px rgba(0, 0, 0, 1);


    /* === Прозрачности === */
    --white-10: rgba(255, 255, 255, 0.1);
    --white-20: rgba(255, 255, 255, 0.2);
    --white-30: rgba(255, 255, 255, 0.3);
    --white-40: rgba(255, 255, 255, 0.4);
    --white-60: rgba(255, 255, 255, 0.6);
    --white-70: rgba(255, 255, 255, 0.7);
    --white-100: #ffffff;

    --black-08: rgba(0, 0, 0, 0.08);
    --black-10: rgba(0, 0, 0, 0.1);
    --black-30: rgba(0, 0, 0, 0.3);
    --black-60: rgba(0, 0, 0, 0.6);
}

/* ============================================
   УТИЛИТАРНЫЕ КЛАССЫ
   ============================================ */

/* --- Фон --- */
.bg-primary    { background-color: var(--color-primary); }
.bg-secondary  { background-color: var(--color-secondary); }
.bg-success    { background-color: var(--color-success); }
.bg-danger     { background-color: var(--color-danger); }
.bg-warning    { background-color: var(--color-warning); }
.bg-info       { background-color: var(--color-info); }
.bg-light      { background-color: var(--color-bg); }
.bg-muted      { background-color: var(--color-bg-secondary); }
.bg-dark       { background-color: var(--color-bg-dark); }

/* --- Текст --- */
.text-primary   { color: var(--color-primary); }
.text-secondary { color: var(--color-secondary); }
.text-success   { color: var(--color-success); }
.text-danger    { color: var(--color-danger); }
.text-warning   { color: var(--color-warning); }
.text-info      { color: var(--color-info); }
.text-dark      { color: var(--color-text); }
.text-muted     { color: var(--color-text-muted); }
.text-light     { color: var(--color-text-light); }

/* --- Границы --- */
.border-primary { border-color: var(--color-primary) !important; }
.border-secondary { border-color: var(--color-secondary) !important; }
.border-light   { border-color: var(--color-border) !important; }
/* End */


/* Start:/local/css/fonts.css?17921473307844*/
/* =================================================
   ШРИФТЫ + ТИПОГРАФИКА
   ================================================= */

/* --- Google Fonts --- */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Lato:wght@400;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;600;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Merriweather:wght@400;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');

/* --- Material Icons (локально) --- */
@font-face {
    font-family: 'Material Icons';
    font-style: normal;
    font-weight: 400;
    src: local('Material Icons'),
        local('MaterialIcons-Regular'),
        url(/local/css/../fonts/MaterialIcons-Regular.ttf) format('truetype');
}

@font-face {
    font-family: 'Material TwoTone Icons';
    font-style: normal;
    font-weight: 400;
    src: local('Material TwoTone Icons'),
        local('MaterialIconsTwoTone-Regular'),
        url(/local/css/../fonts/MaterialIconsTwoTone-Regular.otf) format('truetype');
}

@font-face {
    font-family: 'Material Sharp Icons';
    font-style: normal;
    font-weight: 400;
    src: local('Material Sharp Icons'),
        local('MaterialIconsSharp-Regular'),
        url(/local/css/../fonts/MaterialIconsSharp-Regular.otf) format('truetype');
}

@font-face {
    font-family: 'Material Round Icons';
    font-style: normal;
    font-weight: 400;
    src: local('Material Round Icons'),
        local(''),
        url(/local/css/../fonts/MaterialIconsRound-Regular.otf) format('truetype');
}

@font-face {
    font-family: 'Material Icons Outlined';
    font-style: normal;
    font-weight: 400;
    src: local('Material Icons Outlined'),
        local('MaterialIconsOutlined-Regular'),
        url(/local/css/../fonts/MaterialIconsOutlined-Regular.otf) format('truetype');
}

/* =================================================
   CSS Custom Properties — Шрифты и типографика
   ================================================= */

:root {
    /* --- Шрифт --- */
    --font-primary: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --font-heading: 'Playfair Display', Georgia, serif;
    --font-body: 'Roboto', 'Open Sans', Arial, sans-serif;
    --font-quote: 'Merriweather', Georgia, serif;

    /* --- Размер шрифта --- */
    --text-xs:   0.75rem;   /* 12px */
    --text-sm:   0.875rem;  /* 14px */
    --text-base: 1rem;      /* 16px */
    --text-17:   1.0625rem; /* 17px */
    --text-lg:   1.125rem;  /* 18px */
    --text-xl:   1.25rem;   /* 20px */
    --text-2xl:  1.5rem;    /* 24px */
    --text-28:   1.75rem;   /* 28px */
    --text-3xl:  1.875rem;  /* 30px */
    --text-32:   2rem;     /* 32px */
    --text-4xl:  2.25rem;   /* 36px */
    --text-5xl:  3rem;     /* 48px */

    /* --- Толщина шрифта --- */
    --font-light:    300;
    --font-normal:   400;
    --font-medium:   500;
    --font-semibold: 600;
    --font-bold:     700;
    --font-extrabold: 800;

    /* --- Межстрочный интервал --- */
    --leading-tight:   1.2;
    --leading-normal:  1.6;
    --leading-relaxed: 1.8;

    /* --- Отступ первой строки --- */
    --text-indent-sm:  1rem;
    --text-indent-md:  2rem;
    --text-indent-lg:  3rem;
}

/* =================================================
   Базовые стили
   ================================================= */

html {
    font-size: var(--font-size-base);
    scroll-behavior: smooth;
}

body {
    font-family: var(--font-body);
    font-size: var(--text-base);
    line-height: var(--leading-normal);
    font-weight: var(--font-normal);
}

/* Заголовки */
h1, h2, h3 {
    font-family: var(--font-heading);
    line-height: 1.1;
    font-weight: var(--font-normal);
}

h4, h5, h6 {
    font-family: var(--font-body);
    line-height: 1.2;
    font-weight: var(--font-normal);
}

/* Текстовые элементы */
p, ul, ol, b, i, small, a, strong, em, u {
    font-family: var(--font-body);
    font-size: var(--text-base);
    line-height: var(--leading-normal);
}

/* Цитаты */
blockquote {
    font-family: var(--font-quote);
    font-size: var(--text-lg);
    line-height: var(--leading-normal);
    font-style: italic;
}

/* Мелкий текст */
small {
    font-size: var(--text-sm);
    line-height: var(--leading-normal);
}

/* =================================================
   Утилитарные классы — Размер шрифта
   ================================================= */

.text-xs    { font-size: var(--text-xs); }
.text-sm    { font-size: var(--text-sm); }
.text-base  { font-size: var(--text-base); }
.text-17    { font-size: var(--text-17); }
.text-lg    { font-size: var(--text-lg); }
.text-xl    { font-size: var(--text-xl); }
.text-2xl   { font-size: var(--text-2xl); }
.text-28    { font-size: var(--text-28); }
.text-3xl   { font-size: var(--text-3xl); }
.text-32    { font-size: var(--text-32); }
.text-4xl   { font-size: var(--text-4xl); }
.text-5xl   { font-size: var(--text-5xl); }

/* =================================================
   Утилитарные классы — Толщина шрифта
   ================================================= */

.font-light      { font-weight: var(--font-light); }
.font-normal     { font-weight: var(--font-normal); }
.font-medium     { font-weight: var(--font-medium); }
.font-semibold   { font-weight: var(--font-semibold); }
.font-bold       { font-weight: var(--font-bold); }
.font-extrabold  { font-weight: var(--font-extrabold); }

/* =================================================
   Утилитарные классы — Стиль текста
   ================================================= */

.italic       { font-style: italic; }
.not-italic   { font-style: normal; }

/* =================================================
   Утилитарные классы — Выравнивание
   ================================================= */

.text-left    { text-align: left; }
.text-center  { text-align: center; }
.text-right   { text-align: right; }
.text-justify { text-align: justify; }

/* =================================================
   Утилитарные классы — Регистр
   ================================================= */

.uppercase  { text-transform: uppercase; }
.lowercase  { text-transform: lowercase; }
.capitalize { text-transform: capitalize; }

/* =================================================
   Утилитарные классы — Обработка переполнения
   ================================================= */

.truncate          { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.whitespace-normal { white-space: normal; }
.whitespace-nowrap { white-space: nowrap; }

/* =================================================
   Утилитарные классы — Отступ первой строки
   ================================================= */

.text-indent-sm  { text-indent: var(--text-indent-sm); }
.text-indent-md  { text-indent: var(--text-indent-md); }
.text-indent-lg  { text-indent: var(--text-indent-lg); }

/* =================================================
   Утилитарные классы — Межстрочный интервал
   ================================================= */

.leading-tight   { line-height: var(--leading-tight); }
.leading-normal  { line-height: var(--leading-normal); }
.leading-relaxed { line-height: var(--leading-relaxed); }

/* End */


/* Start:/local/css/footer.css?17921512223288*/
/* =================================================
   ПОДВАЛ (FOOTER)
   ================================================= */
.site-footer {
    background-color: var(--color-footer-bg);
    color: var(--color-footer-text);
    padding: var(--spacing-2xl) 0 var(--spacing-lg);
    width: 100%;
    z-index: 100;
}

.footer-inner {
    max-width: var(--header-width);
    margin: 0 auto;
    padding: 0 var(--spacing-lg);
}

.footer-row {
    display: grid;
    gap: var(--gap-xl);
}

.footer-row--top {
    grid-template-columns: 1.2fr 1fr 1fr 1.5fr;
    align-items: start;
}

.footer-row--bottom {
    grid-template-columns: 1fr;
    padding-top: 0;
}

.footer-col {
    display: flex;
    flex-direction: column;
}

.footer-col--links {
    flex-direction: row;
    justify-content: flex-end;
    gap: var(--gap-xl);
    align-items: center;
}

.footer-col--logo {
    align-items: flex-start;
}

.footer-col--menu {
    justify-content: flex-end;
}

.footer-col--details {
    align-items: flex-end;
    text-align: right;
}

.footer-logo {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--spacing-075);
    margin-bottom: var(--spacing-lg);
}

.footer-logo .logo-icon {
    width: 48px;
    height: 48px;
    color: var(--color-footer-text);
}

.footer-logo .logo-title {
    font-size: var(--text-17);
    font-weight: var(--font-bold);
    color: var(--color-footer-text);
    text-transform: uppercase;
}

.footer-socials {
    display: flex;
    gap: var(--gap-md);
}

.social-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background-color: var(--white-10);
    color: var(--color-footer-text);
    font-size: var(--text-sm);
    font-weight: var(--font-semibold);
    transition: background-color var(--transition-speed), color var(--transition-speed);
}

.social-link:hover {
    background-color: var(--color-primary);
    color: var(--color-bg);
}

.footer-menu {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: var(--spacing-075);
}

.footer-menu a {
    color: var(--color-footer-link);
    transition: color var(--transition-speed);
    white-space: nowrap;
}

.footer-menu a:hover {
    color: var(--color-footer-link-hover);
}

.footer-legal {
    font-size: var(--text-sm);
    line-height: 1.6;
    color: var(--color-footer-text);
    margin: 0;
}

.footer-divider {
    height: 1px;
    background-color: var(--color-footer-border);
    margin: var(--spacing-xl) 0;
}

.footer-col--links a {
    color: var(--color-footer-text);
    font-size: var(--text-sm);
    transition: color var(--transition-speed);
    white-space: nowrap;
}

.footer-col--links a:hover {
    color: var(--color-footer-link-hover);
}

/* Адаптив для подвала */
@media (max-width: 1024px) {
    .footer-row--top {
        grid-template-columns: 1fr 1fr;
        gap: var(--gap-xl);
    }
}

@media (max-width: 768px) {
    .footer-row--top {
        grid-template-columns: 1fr;
    }
    
    .footer-col--menu {
        justify-content: flex-start;
    }
    
    .footer-col--links {
        flex-direction: column;
        align-items: flex-start;
        gap: var(--spacing-md);
    }
}

/* End */


/* Start:/local/css/header_index.css?17921473303507*/
/* html {
    min-height: 100vh;
} */
.main-wrapper { 
    display: flex; 
    flex-direction: column;
    position: relative;
    flex: 1 0 0%;
    background-color: var(--color-footer-bg);
}
/* body {
    margin: 0;
    padding: 0;
    color: #fff;
    min-height: inherit;
} */
.hero {
    background: url('/local/img/fon2.jpg') no-repeat center center/cover;
    display: flex;
    position: relative;
    z-index: 99;
    flex-flow: column;
    height: 100vh;
    min-height: inherit;
    height: var(--hero-height, 100vh);
}
.header {
    display: flex;
    position: relative;
    justify-content: space-between;
    align-items: center;
    padding: 3rem 5rem;
    /* z-index: 200; */
}
.header-fix {
    display: flex;
    position: fixed;
    justify-content: space-between;
    align-items: center;
    padding: 3rem 5rem;
    z-index: 1000;
    top: 0px;
    left: 0px;
    right: 0px;
    background-color: #000011;
    opacity: 0.8;
    transition: transform 0.3s;
    transform: translate3d(0px, -100%, 0px);
}
.logo {
    font-size: 24px;
    font-weight: bold;
}
.menu {
    display: flex;
    gap: 20px;
}
.menu a {
    color: #fff;
    text-decoration: none;
}
.button {
    background: #ff6347;
    color: #fff;
    padding: 10px 20px;
    border: none;
    cursor: pointer;
}
.slogan-wrapper {
    display: flex;
    height: 100vh;
    justify-content: space-between;
    padding: 20px;
}
.slogan {
    display: flex;
    flex-direction: column;
    width: 50%;
    flex-shrink: 0;
    gap: 1.5rem;
    position: relative;
    margin: auto 0;
}
.slogan p {
    font-size: 2.5rem;
    font-weight: bolder;
    font-family: 'Inter';
    text-transform: uppercase;
    letter-spacing: 0.1rem;
    line-height: 3rem;
    margin: 0;
    padding: 0;
    position: relative;
    overflow: revert;
    color: transparent;
    cursor: pointer;
}
@media (max-width: 1400px) {
    .slogan p {
        font-size: 2.3rem;
    }
}
@media (max-width: 1000px) {
    .slogan p {
        font-size: 2rem;
    }
}
.slogan p::before {
    content: attr(data-text);
    position: absolute;
    top: 0;
    left: 0;
    color: #fff;
    text-shadow: var(--shadow-zero);
    z-index: 1;
}
.slogan p::after {
    content: attr(data-text);
    position: absolute;
    top: 0;
    left: 0;
    color: var(--color-secondary-hover);
    text-shadow: var(--shadow-w-zero);
    z-index: 2;
    clip-path: inset(0 100% 0 0);
    transition: clip-path 0.5s ease;
}
.slogan p:hover::after {
    clip-path: inset(0 0 0 0);
}
.slogan p span,
.slogan p::after span,
.slogan p::after span { 
   text-transform: uppercase;
}
.slogan p:nth-child(1) {
    margin: 1rem 0 0 8%;
}
.slogan p:nth-child(2) {
    margin: 0 0 0 15%;
    text-transform: none;
}
.slogan p:nth-child(3) {
    margin: 0 0 0 20%;
}
.slogan p:nth-child(4) {
    margin: 0 0 0 8%;
}
.footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 40px 60px;
    transition: padding 0.3s ease;
    z-index: 99;
}
.footer-left {
    display: flex;
    align-items: center;
    gap: 10px;
}
.footer-left:hover {
    cursor:pointer;
}
.footer-left span {
    color:#ffffff;
    font-size: 18px;
    letter-spacing: 0.05rem;
    font-weight: normal;
    text-shadow: 0 3px 15px rgba(255, 255, 255, 0.8);
}
.footer-left:hover span {
    color:rgb(199, 0, 0);
}
.footer-right {
    display: flex;
    flex-direction: column;
    gap: 5px;
    align-items: flex-end;
}
.content {
    position: relative;
    z-index: 100; 
}
/* End */


/* Start:/local/css/icons.css?17921473306965*/
/* =================================================
   Базовые стили иконок
   ================================================= */

.material-icons,
.material-icons-outlined,
.material-icons-round,
.material-icons-two-tone,
.material-icons-sharp {
   font-family: 'Material Icons' !important;
   font-weight: normal !important;
   font-style: normal !important;
   display: inline-block !important;
   line-height: 1 !important;
   text-transform: none !important;
   letter-spacing: normal !important;
   word-wrap: normal !important;
   white-space: nowrap !important;
   direction: ltr !important;
   -webkit-font-smoothing: antialiased !important;
   text-rendering: optimizeLegibility !important;
   -moz-osx-font-smoothing: grayscale !important;
   font-feature-settings: 'liga' !important;
   vertical-align: middle !important;
}

.material-icons-outlined {
   font-family: 'Material Icons Outlined' !important;
}

.material-icons-round {
   font-family: 'Material Icons Round' !important;
}

.material-icons-two-tone {
   font-family: 'Material Icons Two Tone' !important;
}

.material-icons-sharp {
   font-family: 'Material Icons Sharp' !important;
}

/* =================================================
   Размеры иконок (в пикселях)
   ================================================= */

.icon-12 {
   font-size: 12px !important;
}

.icon-14 {
   font-size: 14px !important;
}

.icon-16 {
   font-size: 16px !important;
}

.icon-18 {
   font-size: 18px !important;
}

.icon-20 {
   font-size: 20px !important;
}

.icon-22 {
   font-size: 22px !important;
}

.icon-24 {
   font-size: 24px !important;
}

.icon-26 {
   font-size: 26px !important;
}

.icon-28 {
   font-size: 28px !important;
}

.icon-30 {
   font-size: 30px !important;
}

.icon-32 {
   font-size: 32px !important;
}

.icon-36 {
   font-size: 36px !important;
}

.icon-40 {
   font-size: 40px !important;
}

.icon-44 {
   font-size: 44px !important;
}

.icon-48 {
   font-size: 48px !important;
}

.icon-56 {
   font-size: 56px !important;
}

.icon-64 {
   font-size: 64px !important;
}

.icon-72 {
   font-size: 72px !important;
}

.icon-80 {
   font-size: 80px !important;
}

/* =================================================
   Иконки-маркеры для списков
   ================================================= */

.icon-li-material-icons li::marker,
li.icon-li-material-icons::before {
   font-family: 'Material Icons' !important;
   font-weight: normal !important;
   font-style: normal !important;
   display: inline-block !important;
   line-height: 1 !important;
   text-transform: none !important;
   letter-spacing: normal !important;
   word-wrap: normal !important;
   white-space: nowrap !important;
   direction: ltr !important;
   -webkit-font-smoothing: antialiased !important;
   text-rendering: optimizeLegibility !important;
   font-feature-settings: 'liga' !important;
}

li.icon-li-material-icons {
   display: flex;
   align-items: center;
   gap: 0.5rem;
}

li.icon-li-material-icons::before {
   margin-right: 0.5rem;
   flex-shrink: 0;
}

/* =================================================
   Псевдо-иконы (content через ::before)
   ================================================= */

.icon-check::before,
.icon-li-check li::marker,
li.icon-li-check::before {
   content: "\e5ca";
}

.icon-check_box::before,
.icon-li-check_box li::marker,
li.icon-li-check_box::before {
   content: "\e834";
}

.icon-payments::before,
.icon-li-payments li::marker,
li.icon-li-payments::before {
   content: "\ef63";
}

.icon-done::before,
.icon-li-done li::marker,
li.icon-li-done::before {
   content: "\e876";
}

.icon-more_horiz::before,
.icon-li-more_horiz li::marker,
li.icon-li-more_horiz::before {
   content: "\e5d3";
}

.icon-home::before,
.icon-li-home li::marker,
li.icon-li-home::before {
   content: "\e88a";
}

.icon-arrow_right_alt::before,
.icon-li-arrow_right_alt li::marker,
li.icon-li-arrow_right_alt::before {
   content: "\e941";
}

.icon-print::before,
.icon-li-print li::marker,
li.icon-li-print::before {
   content: "\e8ad";
}

.icon-markunread_mailbox::before,
.icon-li-markunread_mailbox li::marker,
li.icon-li-markunread_mailbox::before {
   content: "\e89b";
}

.icon-medical_information::before,
.icon-li-medical_information li::marker,
li.icon-li-medical_information::before {
   content: "\ebed";
}

.icon-biotech::before,
.icon-li-biotech li::marker,
li.icon-li-biotech::before {
   content: "\ea3a";
}

.icon-monitor_heart::before,
.icon-li-monitor_heart li::marker,
li.icon-li-monitor_heart::before {
   content: "\eaa2";
}

.icon-menu_book::before,
.icon-li-menu_book li::marker,
li.icon-li-menu_book::before {
   content: "\ea19";
}

.icon-cancel::before,
.icon-li-cancel li::marker,
li.icon-li-cancel::before {
   content: "\e5c9";
}

.icon-document_scanner::before,
.icon-li-document_scanner li::marker,
li.icon-li-document_scanner::before {
   content: "\e5fa";
}

.icon-language::before,
.icon-li-language li::marker,
li.icon-li-language::before {
   content: "\e894";
}

.icon-mail::before,
.icon-li-mail li::marker,
li.icon-li-mail::before {
   content: "\e158";
}

.icon-phone_iphone::before,
.icon-li-phone_iphone li::marker,
li.icon-li-phone_iphone::before {
   content: "\e325";
}

.icon-fax::before,
.icon-li-fax li::marker,
li.icon-li-fax::before {
   content: "\ead8";
}

.icon-location_on::before,
.icon-li-location_on li::marker,
li.icon-li-location_on::before {
   content: "\e0c8";
}

.icon-announcement::before,
.icon-li-announcement li::marker,
li.icon-li-announcement::before {
   content: "\e85a";
}

.icon-supervisor_account::before,
.icon-li-supervisor_account li::marker,
li.icon-li-supervisor_account::before {
   content: "\e8d3";
}

.icon-keyboard_arrow_down::before,
.icon-li-keyboard_arrow_down li::marker,
li.icon-li-keyboard_arrow_down::before {
   content: "\e313";
}

.icon-keyboard_arrow_left::before,
.icon-li-keyboard_arrow_left li::marker,
li.icon-li-keyboard_arrow_left::before {
   content: "\e314";
}

.icon-keyboard_arrow_right::before,
.icon-li-keyboard_arrow_right li::marker,
li.icon-li-keyboard_arrow_right::before {
   content: "\e315";
}

.icon-keyboard_arrow_up::before,
.icon-li-keyboard_arrow_up li::marker,
li.icon-li-keyboard_arrow_up::before {
   content: "\e316";
}

.icon-toggle_on::before,
.icon-li-toggle_on li::marker,
li.icon-li-toggle_on::before {
   content: "\e9f6";
}

.icon-toggle_off::before,
.icon-li-toggle_off li::marker,
li.icon-li-toggle_off::before {
   content: "\e9f5";
}

.icon-subdirectory_arrow_right::before,
.icon-li-subdirectory_arrow_right li::marker,
li.icon-li-subdirectory_arrow_right::before {
   content: "\e5da";
}

.icon-subdirectory_arrow_left::before,
.icon-li-subdirectory_arrow_left li::marker,
li.icon-li-subdirectory_arrow_left::before {
   content: "\e5d9";
}

.icon-forest::before,
.icon-forest li::marker,
li.icon-li-forest::before {
   content: "\ea99";
}

/* End */


/* Start:/local/css/industries.css?17921473303841*/
/* =================================================
   ОТРАСЛЕВЫЕ РЕШЕНИЯ (INDUSTRIES)
   ================================================= */

.industries {
    padding: var(--spacing-2xl) 0;
    background-color: var(--color-bg-secondary);
}

/* --- Заголовок секции --- */

.industries__header {
    text-align: center;
    margin-bottom: var(--spacing-2xl);
}

.industries__inner {
    max-width: var(--container-width);
    margin: 0 auto;
    padding: 0 var(--spacing-md);
}

.industries__inner .industries__header {
    text-align: center;
    margin-bottom: var(--spacing-2xl);
}

/* --- Сетка карточек --- */

.industries__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--spacing-xl);
}

.industries__title {
    font-size: var(--text-3xl);
    font-weight: var(--font-bold);
    color: var(--color-text);
    margin-bottom: var(--spacing-sm);
    text-shadow: 0 0 10px rgba(255, 255, 255, 0.5), 0 0 20px rgba(255, 255, 255, 0.3);
}

.industries__subtitle {
    font-size: var(--text-lg);
    color: var(--color-text-muted);
    line-height: var(--leading-normal);
    text-shadow: 0 0 10px rgba(255, 255, 255, 0.5), 0 0 20px rgba(255, 255, 255, 0.3);
}

/* --- Сетка карточек --- */

.industries__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--spacing-xl);
}

/* --- Карточка --- */

.industry-card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: var(--spacing-xl);
    background-color: var(--color-bg);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    text-decoration: none;
    transition: border-color var(--transition-speed), box-shadow var(--transition-speed), transform var(--transition-speed);
}

.industry-card:hover {
    border-color: var(--color-primary);
    box-shadow: var(--shadow-md);
    transform: translateY(-4px);
}

/* --- Иконка --- */

.industry-card__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    margin-bottom: var(--spacing-md);
    background-color: var(--color-primary-light);
    border-radius: var(--radius-md);
    color: var(--color-primary);
    transition: background-color var(--transition-speed), color var(--transition-speed);
}

.industry-card:hover .industry-card__icon {
    background-color: var(--color-primary);
    color: var(--color-bg);
}

/* --- Заголовок карточки --- */

.industry-card__title {
    font-size: var(--text-xl);
    font-weight: var(--font-semibold);
    color: var(--color-text);
    margin-bottom: var(--spacing-sm);
    line-height: var(--leading-tight);
}

/* --- Описание --- */

.industry-card__desc {
    font-size: var(--text-sm);
    color: var(--color-text-muted);
    line-height: var(--leading-normal);
    margin-bottom: var(--spacing-md);
    flex-grow: 1;
}

/* --- Ссылка --- */

.industry-card__link {
    display: inline-flex;
    align-items: center;
    gap: var(--spacing-xs);
    font-size: var(--text-sm);
    font-weight: var(--font-semibold);
    color: var(--color-primary);
    transition: color var(--transition-speed);
}

.industry-card:hover .industry-card__link {
    color: var(--color-primary-hover);
}

/* --- Адаптив --- */

@media (max-width: 1024px) {
    .industries__grid {
        grid-template-columns: repeat(2, 1fr);
        gap: var(--spacing-lg);
    }
}

@media (max-width: 640px) {
    .industries__grid {
        grid-template-columns: 1fr;
        gap: var(--spacing-md);
    }

    .industries__title {
        font-size: var(--text-2xl);
    }

    .industries__subtitle {
        font-size: var(--text-base);
    }

    .industry-card {
        padding: var(--spacing-lg);
    }
}

/* End */


/* Start:/local/css/projects.css?17921473305392*/
/* =================================================
   РЕАЛИЗОВАННЫЕ ПРОЕКТЫ (PROJECTS)
   ================================================= */

.projects {
    padding: var(--spacing-2xl) 0;
    background-color: var(--color-bg);
}

.projects__header {
    text-align: center;
    margin-bottom: var(--spacing-2xl);
}

.projects__title {
    font-size: var(--text-3xl);
    font-weight: var(--font-bold);
    color: var(--color-text);
    margin-bottom: var(--spacing-sm);
}

.projects__subtitle {
    font-size: var(--text-lg);
    color: var(--color-text-muted);
    line-height: var(--leading-normal);
}

/* --- Строка проекта --- */

.projects__item {
    display: flex;
    align-items: stretch;
    min-height: 320px;
    margin-bottom: var(--spacing-xl);
    border-radius: var(--radius-md);
    overflow: hidden;
    position: relative;
    text-decoration: none;
    transition: box-shadow var(--transition-speed);
}

.projects__item:last-child {
    margin-bottom: 0;
}

/* --- Разделитель --- */

.projects__divider {
    width: 1px;
    height: 80%;
    background-color: var(--color-border);
    align-self: center;
    margin: 0 16px;
}

.projects__item:hover {
    box-shadow: var(--shadow-xl);
}

/* --- Текстовый блок (белая часть) --- */

.projects__text {
    flex: 0 0 30%;
    padding: var(--spacing-2xl);
    background-color: var(--color-bg);
    display: flex;
    flex-direction: column;
    justify-content: center;
    z-index: 2;
    transition: background-color var(--transition-speed);
    order: 1;
}

.projects__item:nth-child(even) .projects__text {
    order: 3;
}

.projects__item:nth-child(even) .projects__image {
    order: 1;
}

.projects__category {
    font-size: var(--text-xs);
    font-weight: var(--font-semibold);
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: var(--tracking-wide);
    margin-bottom: var(--spacing-xs);
}

.projects__name {
    font-size: var(--text-2xl);
    font-weight: var(--font-bold);
    color: var(--color-text);
    line-height: var(--leading-tight);
    margin-bottom: var(--spacing-md);
}

/* --- Блок с изображением --- */

.projects__image {
    flex: 1;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: relative;
    display: flex;
    align-items: flex-end;
    transition: background-color var(--transition-speed);
    order: 3;
}

.projects__image::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0.1) 100%);
    z-index: 1;
    transition: background var(--transition-speed);
}

.projects__item:hover .projects__image {
    background-color: rgba(0, 0, 0, 0.3);
}

.projects__item:hover .projects__image::before {
    background: linear-gradient(to top, rgba(0, 0, 0, 0.85) 0%, rgba(0, 0, 0, 0.4) 100%);
}

/* --- Контент на изображении --- */

.projects__overlay {
    position: relative;
    z-index: 2;
    padding: var(--spacing-xl);
    width: 100%;
    transform: translateY(0);
    transition: transform var(--transition-speed);
}

.projects__item:hover .projects__overlay {
    transform: translateY(-40px);
}

.projects__desc {
    font-size: var(--text-base);
    color: #ffffff;
    line-height: var(--leading-relaxed);
    margin-bottom: var(--spacing-md);
    opacity: 0;
    transform: translateY(20px);
    transition: opacity var(--transition-speed), transform var(--transition-speed);
}

.projects__item:hover .projects__desc {
    opacity: 1;
    transform: translateY(0);
}

.projects__btn {
    display: inline-flex;
    align-items: center;
    gap: var(--spacing-xs);
    padding: var(--spacing-sm) var(--spacing-lg);
    background-color: var(--color-primary);
    color: var(--color-bg);
    border-radius: var(--radius-sm);
    font-size: var(--text-sm);
    font-weight: var(--font-semibold);
    text-decoration: none;
    opacity: 0;
    transform: translateY(20px);
    transition: opacity var(--transition-speed), transform var(--transition-speed), background-color var(--transition-speed);
}

.projects__item:hover .projects__btn {
    opacity: 1;
    transform: translateY(0);
}

.projects__btn:hover {
    background-color: var(--color-primary-hover);
}

/* --- Футер секции --- */

.projects__footer {
    text-align: center;
    margin-top: var(--spacing-2xl);
}

/* --- Адаптив --- */

@media (max-width: 1024px) {
    .projects__text {
        flex: 0 0 35%;
        padding: var(--spacing-xl);
    }

    .projects__name {
        font-size: var(--text-xl);
    }
}

@media (max-width: 768px) {
    .projects__item {
        flex-direction: column;
        min-height: auto;
    }

    .projects__text,
    .projects__item:nth-child(even) .projects__text {
        order: 0;
    }

    .projects__image,
    .projects__item:nth-child(even) .projects__image {
        order: 0;
    }

    .projects__text {
        flex: none;
        padding: var(--spacing-lg);
    }

    .projects__image {
        min-height: 200px;
    }

    .projects__desc {
        opacity: 1;
        transform: translateY(0);
    }

    .projects__btn {
        opacity: 1;
        transform: translateY(0);
    }

    .projects__overlay {
        transform: translateY(0);
    }
}

/* End */


/* Start:/local/css/modal.css?17921473301720*/
/* =================================================
   МОДАЛЬНЫЕ ОКНА (MODAL)
   ================================================= */
.modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--color-modal-overlay);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
    padding: var(--spacing-md);
}

.modal-window {
    background: var(--color-modal-bg);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    max-width: 520px;
    width: 100%;
    box-shadow: var(--shadow-xl);
    overflow: hidden;
    animation: modalFadeIn 0.3s ease-out;
}

@keyframes modalFadeIn {
    from {
        opacity: 0;
        transform: scale(0.95);
    }

    to {
        opacity: 1;
        transform: scale(1);
    }
}

.modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background-color: var(--color-modal-header-bg);
    color: var(--color-modal-header-text);
    padding: var(--spacing-lg);
    font-size: var(--text-xl);
    font-weight: var(--font-semibold);
}

.modal-close {
    background: none;
    border: none;
    font-size: var(--text-2xl);
    cursor: pointer;
    color: inherit;
    opacity: 0.6;
    padding: 0 0.25rem;
    line-height: 1;
    transition: opacity 0.2s;
}

.modal-close:hover {
    opacity: 1;
}

.modal-body {
    padding: var(--spacing-lg);
    color: var(--color-text);
}

.modal-actions {
    padding: var(--spacing-md) var(--spacing-lg);
    background: var(--color-bg);
    display: flex;
    justify-content: flex-end;
    gap: var(--gap-md);
    border-top: 1px solid var(--color-border);
}
/* End */


/* Start:/local/css/slider.css?17921473304176*/
/* =================================================
   СЛАЙДЕР
   ================================================= */
.slider {
    position: relative;
    width: 100vw;
    margin-left: calc(50% - 50vw);
    height: 70vh;
    min-height: 500px;
    overflow: hidden;
}

.slider__track {
    position: relative;
    width: 100%;
    height: 100%;
}

.slider__slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.6s ease, visibility 0.6s ease;
}

.slider__slide--active {
    opacity: 1;
    visibility: visible;
}

.slider__bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    filter: blur(40px);
    transform: scale(1.1);
}

.slider__image::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, var(--black-60) 0%, var(--black-30) 100%);
}

.slider__image {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    max-width: var(--container-width);
    height: 100%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    z-index: 1;
}

.slider__content {
    position: relative;
    z-index: 2;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    color: var(--white-100);
}

.slider__inner {
    width: 100%;
    max-width: var(--container-width);
    margin: 0 auto;
    padding: 0 var(--spacing-3xl);
}

.slider__title {
    font-size: var(--text-5xl);
    font-weight: var(--font-bold);
    margin-bottom: var(--spacing-md);
    max-width: 600px;
    line-height: 1.2;
}

.slider__text {
    font-size: var(--text-xl);
    margin-bottom: var(--spacing-xl);
    max-width: 500px;
    line-height: 1.6;
    opacity: 0.9;
}

.slider__link {
    display: inline-block;
    padding: var(--spacing-md) var(--spacing-xl);
    background-color: var(--color-primary);
    color: var(--white-100);
    text-decoration: none;
    font-weight: var(--font-semibold);
    font-size: var(--text-17);
    border-radius: var(--radius-sm);
    transition: background-color var(--transition-speed);
}

.slider__link:hover {
    background-color: var(--color-primary-hover);
}

.slider__nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    background-color: var(--white-20);
    border: none;
    color: var(--white-100);
    font-size: var(--text-32);
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background-color var(--transition-speed);
    border-radius: 50%;
}

.slider__nav:hover:not(:disabled) {
    background-color: var(--white-40);
}

.slider__nav:disabled {
    opacity: 0.3;
    cursor: not-allowed;
}

.slider__nav--prev {
    left: var(--spacing-xl);
}

.slider__nav--next {
    right: var(--spacing-xl);
}

.slider__dots {
    position: absolute;
    bottom: var(--spacing-xl);
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: var(--spacing-075);
    z-index: 10;
}

.slider__dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background-color: var(--white-40);
    cursor: pointer;
    transition: background-color var(--transition-speed);
}

.slider__dot--active {
    background-color: var(--white-100);
}

.slider__dot:hover {
    background-color: var(--white-70);
}

/* Адаптив для слайдера */
@media (max-width: 768px) {
    .slider {
        height: 60vh;
        min-height: 400px;
    }

    .slider__title {
        font-size: var(--text-32);
    }

    .slider__text {
        font-size: var(--text-base);
    }



    .slider__nav {
        width: 40px;
        height: 40px;
        font-size: 1.5rem;
    }

    .slider__nav--prev {
        left: var(--spacing-md);
    }

    .slider__nav--next {
        right: var(--spacing-md);
    }
}

/* End */


/* Start:/local/css/spacing.css?17921473309179*/
/* ============================================
   CSS Custom Properties — Отступы
   ============================================ */

:root {
    /* --- Базовая шкала отступов (padding / margin) --- */
    --spacing-0: 0;
    --spacing-xs: 0.25rem;
    /* 4px  */
    --spacing-sm: 0.5rem;
    /* 8px  */
    --spacing-md: 1rem;
    /* 16px */
    --spacing-lg: 1.5rem;
    /* 24px */
    --spacing-xl: 2rem;
    /* 32px */
    --spacing-2xl: 3rem;
    /* 48px */
    --spacing-3xl: 4rem;
    /* 64px */

    /* --- Промежуточные значения --- */
    --spacing-075: 0.75rem;
    /* 12px */
    --spacing-17: 1.7rem;
    /* 27px */

    /* --- Gap (flex / grid) --- */
    --gap-xs: 0.25rem;
    --gap-sm: 0.5rem;
    --gap-md: 1rem;
    --gap-lg: 1.5rem;
    --gap-xl: 2rem;

    /* --- Компоненты --- */
    --component-padding: var(--spacing-md);
    --component-padding-sm: var(--spacing-sm);
    --component-padding-lg: var(--spacing-lg);

    --component-margin: var(--spacing-md);
    --component-margin-sm: var(--spacing-sm);
    --component-margin-lg: var(--spacing-lg);

    /* --- Секции --- */
    --section-padding-top: var(--spacing-3xl);
    --section-padding-bottom: var(--spacing-3xl);
}

/* ============================================
   ОТСТУПЫ
   ============================================ */

/* --- Padding --- */
.p-0 {
    padding: var(--spacing-0) !important;
}

.p-xs {
    padding: var(--spacing-xs) !important;
}

.p-sm {
    padding: var(--spacing-sm) !important;
}

.p-md {
    padding: var(--spacing-md) !important;
}

.p-lg {
    padding: var(--spacing-lg) !important;
}

.p-xl {
    padding: var(--spacing-xl) !important;
}

.p-2xl {
    padding: var(--spacing-2xl) !important;
}

.p-3xl {
    padding: var(--spacing-3xl) !important;
}

/* --- Padding по сторонам --- */
.pt-0 {
    padding-top: var(--spacing-0) !important;
}

.pt-xs {
    padding-top: var(--spacing-xs) !important;
}

.pt-sm {
    padding-top: var(--spacing-sm) !important;
}

.pt-md {
    padding-top: var(--spacing-md) !important;
}

.pt-lg {
    padding-top: var(--spacing-lg) !important;
}

.pt-xl {
    padding-top: var(--spacing-xl) !important;
}

.pt-2xl {
    padding-top: var(--spacing-2xl) !important;
}

.pt-3xl {
    padding-top: var(--spacing-3xl) !important;
}

.pb-0 {
    padding-bottom: var(--spacing-0) !important;
}

.pb-xs {
    padding-bottom: var(--spacing-xs) !important;
}

.pb-sm {
    padding-bottom: var(--spacing-sm) !important;
}

.pb-md {
    padding-bottom: var(--spacing-md) !important;
}

.pb-lg {
    padding-bottom: var(--spacing-lg) !important;
}

.pb-xl {
    padding-bottom: var(--spacing-xl) !important;
}

.pb-2xl {
    padding-bottom: var(--spacing-2xl) !important;
}

.pb-3xl {
    padding-bottom: var(--spacing-3xl) !important;
}

.pl-0 {
    padding-left: var(--spacing-0) !important;
}

.pl-xs {
    padding-left: var(--spacing-xs) !important;
}

.pl-sm {
    padding-left: var(--spacing-sm) !important;
}

.pl-md {
    padding-left: var(--spacing-md) !important;
}

.pl-lg {
    padding-left: var(--spacing-lg) !important;
}

.pl-xl {
    padding-left: var(--spacing-xl) !important;
}

.pl-2xl {
    padding-left: var(--spacing-2xl) !important;
}

.pl-3xl {
    padding-left: var(--spacing-3xl) !important;
}

.pr-0 {
    padding-right: var(--spacing-0) !important;
}

.pr-xs {
    padding-right: var(--spacing-xs) !important;
}

.pr-sm {
    padding-right: var(--spacing-sm) !important;
}

.pr-md {
    padding-right: var(--spacing-md) !important;
}

.pr-lg {
    padding-right: var(--spacing-lg) !important;
}

.pr-xl {
    padding-right: var(--spacing-xl) !important;
}

.pr-2xl {
    padding-right: var(--spacing-2xl) !important;
}

.pr-3xl {
    padding-right: var(--spacing-3xl) !important;
}

/* --- Padding по осям --- */
.px-sm {
    padding-left: var(--spacing-sm) !important;
    padding-right: var(--spacing-sm) !important;
}

.px-md {
    padding-left: var(--spacing-md) !important;
    padding-right: var(--spacing-md) !important;
}

.px-lg {
    padding-left: var(--spacing-lg) !important;
    padding-right: var(--spacing-lg) !important;
}

.px-xl {
    padding-left: var(--spacing-xl) !important;
    padding-right: var(--spacing-xl) !important;
}

.py-sm {
    padding-top: var(--spacing-sm) !important;
    padding-bottom: var(--spacing-sm) !important;
}

.py-md {
    padding-top: var(--spacing-md) !important;
    padding-bottom: var(--spacing-md) !important;
}

.py-lg {
    padding-top: var(--spacing-lg) !important;
    padding-bottom: var(--spacing-lg) !important;
}

.py-xl {
    padding-top: var(--spacing-xl) !important;
    padding-bottom: var(--spacing-xl) !important;
}

/* --- Margin --- */
.m-0 {
    margin: var(--spacing-0) !important;
}

.m-xs {
    margin: var(--spacing-xs) !important;
}

.m-sm {
    margin: var(--spacing-sm) !important;
}

.m-md {
    margin: var(--spacing-md) !important;
}

.m-lg {
    margin: var(--spacing-lg) !important;
}

.m-xl {
    margin: var(--spacing-xl) !important;
}

.m-2xl {
    margin: var(--spacing-2xl) !important;
}

.m-3xl {
    margin: var(--spacing-3xl) !important;
}

/* --- Margin по сторонам --- */
.mx-0 {
    margin-left: var(--spacing-0) !important;
    margin-right: var(--spacing-0) !important;
}

.mx-xs {
    margin-left: var(--spacing-xs) !important;
    margin-right: var(--spacing-xs) !important;
}

.mx-sm {
    margin-left: var(--spacing-sm) !important;
    margin-right: var(--spacing-sm) !important;
}

.mx-md {
    margin-left: var(--spacing-md) !important;
    margin-right: var(--spacing-md) !important;
}

.mx-lg {
    margin-left: var(--spacing-lg) !important;
    margin-right: var(--spacing-lg) !important;
}

.mx-xl {
    margin-left: var(--spacing-xl) !important;
    margin-right: var(--spacing-xl) !important;
}

.mx-2xl {
    margin-left: var(--spacing-2xl) !important;
    margin-right: var(--spacing-2xl) !important;
}

.mx-3xl {
    margin-left: var(--spacing-3xl) !important;
    margin-right: var(--spacing-3xl) !important;
}

.my-0 {
    margin-top: var(--spacing-0) !important;
    margin-bottom: var(--spacing-0) !important;
}

.my-xs {
    margin-top: var(--spacing-xs) !important;
    margin-bottom: var(--spacing-xs) !important;
}

.my-sm {
    margin-top: var(--spacing-sm) !important;
    margin-bottom: var(--spacing-sm) !important;
}

.my-md {
    margin-top: var(--spacing-md) !important;
    margin-bottom: var(--spacing-md) !important;
}

.my-lg {
    margin-top: var(--spacing-lg) !important;
    margin-bottom: var(--spacing-lg) !important;
}

.my-xl {
    margin-top: var(--spacing-xl) !important;
    margin-bottom: var(--spacing-xl) !important;
}

.my-2xl {
    margin-top: var(--spacing-2xl) !important;
    margin-bottom: var(--spacing-2xl) !important;
}

.my-3xl {
    margin-top: var(--spacing-3xl) !important;
    margin-bottom: var(--spacing-3xl) !important;
}

.mt-0 {
    margin-top: var(--spacing-0) !important;
}

.mt-xs {
    margin-top: var(--spacing-xs) !important;
}

.mt-sm {
    margin-top: var(--spacing-sm) !important;
}

.mt-md {
    margin-top: var(--spacing-md) !important;
}

.mt-lg {
    margin-top: var(--spacing-lg) !important;
}

.mt-xl {
    margin-top: var(--spacing-xl) !important;
}

.mt-2xl {
    margin-top: var(--spacing-2xl) !important;
}

.mt-3xl {
    margin-top: var(--spacing-3xl) !important;
}

.mb-0 {
    margin-bottom: var(--spacing-0) !important;
}

.mb-xs {
    margin-bottom: var(--spacing-xs) !important;
}

.mb-sm {
    margin-bottom: var(--spacing-sm) !important;
}

.mb-md {
    margin-bottom: var(--spacing-md) !important;
}

.mb-lg {
    margin-bottom: var(--spacing-lg) !important;
}

.mb-xl {
    margin-bottom: var(--spacing-xl) !important;
}

.mb-2xl {
    margin-bottom: var(--spacing-2xl) !important;
}

.mb-3xl {
    margin-bottom: var(--spacing-3xl) !important;
}

.ml-0 {
    margin-left: var(--spacing-0) !important;
}

.ml-xs {
    margin-left: var(--spacing-xs) !important;
}

.ml-sm {
    margin-left: var(--spacing-sm) !important;
}

.ml-md {
    margin-left: var(--spacing-md) !important;
}

.ml-lg {
    margin-left: var(--spacing-lg) !important;
}

.ml-xl {
    margin-left: var(--spacing-xl) !important;
}

.ml-2xl {
    margin-left: var(--spacing-2xl) !important;
}

.ml-3xl {
    margin-left: var(--spacing-3xl) !important;
}

.mr-0 {
    margin-right: var(--spacing-0) !important;
}

.mr-xs {
    margin-right: var(--spacing-xs) !important;
}

.mr-sm {
    margin-right: var(--spacing-sm) !important;
}

.mr-md {
    margin-right: var(--spacing-md) !important;
}

.mr-lg {
    margin-right: var(--spacing-lg) !important;
}

.mr-xl {
    margin-right: var(--spacing-xl) !important;
}

.mr-2xl {
    margin-right: var(--spacing-2xl) !important;
}

.mr-3xl {
    margin-right: var(--spacing-3xl) !important;
}

/* --- Margin auto --- */
.mx-auto {
    margin-left: auto !important;
    margin-right: auto !important;
}

/* --- Gap --- */
.gap-sm {
    gap: var(--gap-sm) !important;
}

.gap-md {
    gap: var(--gap-md) !important;
}

.gap-lg {
    gap: var(--gap-lg) !important;
}

.gap-xl {
    gap: var(--gap-xl) !important;
}

/* End */


/* Start:/local/css/style.css?17921500973454*/
/* =================================================
    ГЛОБАЛЬНЫЕ ПЕРЕМЕННЫЕ (CSS Custom Properties)
    ================================================= */

@import url('/local/css/./colors.css');
@import url('/local/css/./spacing.css');
@import url('/local/css/./fonts.css');
@import url('/local/css/./tables.css');
@import url('/local/css/./z-index.css');
@import url('/local/css/./header.css');
@import url('/local/css/./footer.css');
@import url('/local/css/./slider.css');
@import url('/local/css/./modal.css');
@import url('/local/css/./about.css');
@import url('/local/css/./industries.css');

:root {
    /* === Типографика === */
    --font-primary: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --font-size-base: 16px;
    --line-height-base: 1.6;

    /* === Размеры === */
    --container-width: 1200px;
    --header-width: 1600px;
    --radius-sm: 4px;
    --radius-md: 8px;
    --transition-speed: 0.2s;
}

@media (min-width: 1600px) {
    :root {
        --container-width: 1400px;
        --font-size-base: 20px;
    }
}

/* =================================================
   СБРОС И БАЗОВЫЕ СТИЛИ
   ================================================= */
*,
*::before,
*::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    font-size: var(--font-size-base);
    scroll-behavior: smooth;
    overflow-x: hidden;
    min-height: 100vh;
}

body {
    font-family: var(--font-primary);
    font-size: var(--text-base);
    line-height: var(--line-height-base);
    color: var(--color-text);
    background-color: var(--color-bg);
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

main {
    flex: 1;
}

a {
    color: var(--color-secondary);
    text-decoration: none;
    transition: color var(--transition-speed);
}

a:hover {
    color: var(--color-secondary-dark);
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

/* =================================================
   КОНТЕЙНЕРЫ И СЕТКА
   ================================================= */

.container {
    max-width: var(--container-width);
    margin: 0 auto;
    padding: 0 var(--spacing-md);
    width: 100%;
    flex: 1;
}

/* --- Ограничение контента внутри секций --- */

.content-wrap {
    max-width: var(--container-width);
    margin: 0 auto;
    padding: 0 var(--spacing-md);
}

/* =================================================
   КНОПКИ (BUTTONS)
   ================================================= */
.btn {
    display: inline-block;
    padding: var(--spacing-sm) var(--spacing-lg);
    border-radius: var(--radius-sm);
    font-family: var(--font-primary);
    font-weight: var(--font-medium);
    text-align: center;
    cursor: pointer;
    border: none;
    transition: background-color var(--transition-speed), opacity var(--transition-speed);
    text-decoration: none;
}

/* Основная кнопка (Красная) */
.btn-primary {
    background-color: var(--color-primary);
    color: var(--color-bg);
}

.btn-primary:hover:not(:disabled) {
    background-color: var(--color-primary-hover);
}

.btn-primary:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

/* Второстепенная кнопка */
.btn-secondary {
    background-color: var(--color-bg-muted);
    color: var(--color-secondary);
    border: 1px solid var(--color-border);
}

.btn-secondary:hover:not(:disabled) {
    background-color: var(--color-bg-secondary);
}
/* End */


/* Start:/local/css/tables.css?17921473303252*/
/* ============================================
              Таблицы и Блоки
   ============================================ */

@import url('/local/css/./colors.css');
@import url('/local/css/./spacing.css');

/* =====================
   Таблицы
   ===================== */

.table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  margin-bottom: var(--spacing-md);
  color: var(--color-text);
  font-size: var(--text-sm);
}

.table th,
.table td {
  padding: var(--spacing-sm) var(--spacing-md);
  border-bottom: 1px solid var(--color-border);
  text-align: left;
  vertical-align: middle;
}

.table thead th {
  background: var(--color-bg-secondary);
  font-weight: var(--font-semibold);
  text-transform: uppercase;
  font-size: 0.75rem;
  letter-spacing: 0.05em;
  color: var(--color-text-secondary);
  border-bottom: 2px solid var(--color-border-dark);
}

.table tbody tr:hover {
  background: var(--color-primary-light);
}

.table-striped tbody tr:nth-child(even) {
  background: var(--color-bg-secondary);
}

.table-bordered {
  border: 1px solid var(--color-border);
}

.table-bordered th,
.table-bordered td {
  border: 1px solid var(--color-border);
}

/* =====================
   Блоки / Карточки
   ===================== */

.block {
  background: var(--color-bg);
  border: 1px solid var(--color-border-light);
  border-radius: 0.5rem;
  padding: var(--component-padding);
  margin-bottom: var(--component-margin);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
}

.block--flush {
  border-radius: 0;
  box-shadow: none;
}

/* --- Заголовок блока --- */
.block__header {
  margin: calc(-1 * var(--component-padding));
  padding: var(--component-padding) var(--component-padding);
  border-bottom: 1px solid var(--color-border-light);
  margin-bottom: var(--component-padding);
}

.block__title {
  margin: 0;
  font-size: 1.125rem;
  font-weight: var(--font-semibold);
  color: var(--color-text);
}

/* --- Тело блока --- */
.block__body {
  padding: 0;
}

/* --- Подвал блока --- */
.block__footer {
  padding-top: var(--component-padding);
  margin-top: var(--component-padding);
  border-top: 1px solid var(--color-border-light);
}

/* =====================
   Секции
   ===================== */

.section {
  padding-top: var(--section-padding-top);
  padding-bottom: var(--section-padding-bottom);
}

.section--bg-secondary {
  background: var(--color-bg-secondary);
}

.section--bg-dark {
  background: var(--color-bg-dark);
  color: var(--color-text-light);
}

/* =====================
   Контейнер
   ===================== */

.container {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--spacing-md);
  padding-right: var(--spacing-md);
}

.container--sm {
  max-width: 540px;
}

.container--md {
  max-width: 720px;
}

.container--lg {
  max-width: 960px;
}

.container--xl {
  max-width: 1140px;
}

.container--xxl {
  max-width: 1320px;
}

/* =====================
   Утилиты
   ===================== */

.text-center {
  text-align: center;
}

.text-right {
  text-align: right;
}

.mt-auto {
  margin-top: auto;
}

.mb-auto {
  margin-bottom: auto;
}

.mx-auto {
  margin-left: auto;
  margin-right: auto;
}

/* End */


/* Start:/local/css/z-index.css?17921473301067*/
/* ============================================
   CSS — Z-Index утилиты
   ============================================ */

/* --- Базовые значения --- */
.z-0    { z-index: 0; }
.z-1    { z-index: 1; }
.z-2    { z-index: 2; }
.z-3    { z-index: 3; }
.z-4    { z-index: 4; }
.z-5    { z-index: 5; }

/* --- Шаг 10 (z-10 — z-90) --- */
.z-10   { z-index: 10; }
.z-20   { z-index: 20; }
.z-30   { z-index: 30; }
.z-40   { z-index: 40; }
.z-50   { z-index: 50; }
.z-60   { z-index: 60; }
.z-70   { z-index: 70; }
.z-80   { z-index: 80; }
.z-90   { z-index: 90; }

/* --- Шаг 100 (z-100 — z-900) --- */
.z-100  { z-index: 100; }
.z-200  { z-index: 200; }
.z-300  { z-index: 300; }
.z-400  { z-index: 400; }
.z-500  { z-index: 500; }
.z-600  { z-index: 600; }
.z-700  { z-index: 700; }
.z-800  { z-index: 800; }
.z-900  { z-index: 900; }

/* --- Максимальное значение --- */
.z-1000 { z-index: 1000; }

/* --- Специальные значения --- */
.z-auto { z-index: auto; }
.z-inherit { z-index: inherit; }

/* End */
/* /local/css/about.css?17921473303644 */
/* /local/css/colors.css?17921473304007 */
/* /local/css/fonts.css?17921473307844 */
/* /local/css/footer.css?17921512223288 */
/* /local/css/header_index.css?17921473303507 */
/* /local/css/icons.css?17921473306965 */
/* /local/css/industries.css?17921473303841 */
/* /local/css/projects.css?17921473305392 */
/* /local/css/modal.css?17921473301720 */
/* /local/css/slider.css?17921473304176 */
/* /local/css/spacing.css?17921473309179 */
/* /local/css/style.css?17921500973454 */
/* /local/css/tables.css?17921473303252 */
/* /local/css/z-index.css?17921473301067 */
