/* main.css — стили главной (page-specific), поверх кита se-ui. Компоненты — в ../../ui/_core/se-ui.css, переменные — в tokens.css */

    :root{--container-max:1440px;}
    /* Sticky footer — на короткой странице футер прижат к низу окна */
    body{min-height:100vh;display:flex;flex-direction:column;}
    main{flex:1 0 auto;}
    /* Страница ошибки (404) — контент по центру по вертикали */
    .error-page{display:flex;flex-direction:column;justify-content:center;}
    /* Моно — для eyebrow-заголовков и подписей/меты в блоках (caption · card-meta · photo-note); остальное — sans */
    :root{--font-mono:var(--font-sans);}
    .eyebrow,.caption,.card-meta{font-family:'IBM Plex Mono',ui-monospace,monospace;}
    /* Структура — из WF/дизайна; оформление — из кита v4 */
    .hero__bg.has-photo{background-image:linear-gradient(180deg,rgba(10,26,42,0.9) 0%,rgba(10,26,42,0.66) 50%,rgba(10,26,42,0.84) 100%),url('../images/hero.webp');background-size:cover;background-position:center right;}
    @media(max-width:767px){.hero__bg.has-photo{background-image:linear-gradient(180deg,rgba(10,26,42,1) 0%,rgba(10,26,42,0.95) 100%),url('../images/hero.webp');}}
    /* About: текст | пункты в 2 колонки (из дизайна) | иллюстрация */
    .about-grid{grid-template-columns:1.2fr 2.1fr 1fr;gap:var(--space-10);background-image:linear-gradient(rgba(255,255,255,.3),rgba(255,255,255,0)),url('../images/about_img.webp');background-position:right center;background-size:cover,34%;background-repeat:no-repeat;}
    .points-grid{grid-template-columns:1fr 1fr;gap:var(--space-6) var(--space-5);align-items:start;position:relative;}
    .points-grid::before{content:"";position:absolute;top:0;right:-30px;bottom:-60px;left:0;z-index:0;background-color:rgba(255,255,255,0.04);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 30px),transparent),linear-gradient(to bottom,#000 calc(100% - 60px),transparent);-webkit-mask-composite:source-in;mask-image:linear-gradient(to right,#000 calc(100% - 30px),transparent),linear-gradient(to bottom,#000 calc(100% - 60px),transparent);mask-composite:intersect;pointer-events:none;}
    .points-grid>*{position:relative;z-index:1;}
    /* О компании — матовая подложка под текст только при ширине < 1360 (на широких фото уходит вправо, подложка не нужна) */
    @media (min-width:1360px){.points-grid::before{display:none;}}
    .info-point{grid-template-columns:41px 1fr;align-items:start;}
    .info-point .card-icon{width:41px;height:41px;border:none;border-radius:0;}
    .info-point .card-icon svg{width:41px;height:41px;}
    @media (max-width:1023px){.about-grid{grid-template-columns:1fr 1.6fr;background-image:none;}.about-grid>.about-illus{display:none;}.points-grid::before{display:none;}.header-right{margin-left:auto;}}
    @media (max-width:767px){.about-grid{grid-template-columns:1fr;}.points-grid{grid-template-columns:1fr;}}
    /* Сырьё — описание чуть шире обычного (900 вместо 760) */
    .section-head{max-width:900px;}
    .section-head--row{max-width:none;}
    /* Команда — карточки специалистов: фото-заглушка flush сверху + имя, роль, описание, LinkedIn + Подробнее */
    .team-card{padding:0;gap:0;overflow:hidden;cursor:pointer;}
    .team-card .team-photo{display:block;aspect-ratio:4/3;overflow:hidden;border-bottom:1px solid var(--color-border);}
    .team-card .team-photo>*{width:100%;height:100%;border:none;border-radius:0;object-fit:cover;transition:transform var(--duration-base) var(--ease-out);}
    .team-card:hover .team-photo>*{transform:scale(1.05);}
    .team-card .team-body{padding:var(--space-5);display:flex;flex-direction:column;gap:4px;flex:1;}
    .team-card .team-body h3{margin:0;}
    .team-card .team-role{font-size:13.5px;color:var(--color-text-muted);}
    .team-card .team-body>p{margin:8px 0 0;}
    .team-foot{margin-top:auto;padding-top:var(--space-4);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);}
    .team-in{display:inline-flex;align-items:center;justify-content:center;color:var(--color-cyan);transition:color var(--duration-base);}
    .team-in svg{width:27px;height:27px;fill:currentColor;}
    .team-in:hover{color:var(--color-cyan-hover);}
    /* Вся карточка кликабельна: «Подробнее» растянута на всю карточку, LinkedIn — над ней */
    .team-card:hover{border-color:var(--color-cyan);}
    .team-card .link-arrow::before{content:"";position:absolute;inset:0;z-index:1;}
    .team-card .team-in{position:relative;z-index:2;}
    /* «Подробнее» — кнопка-триггер модалки (сброс кнопки под вид ссылки) */
    .team-more{background:none;border:0;padding:0;font:inherit;cursor:pointer;text-align:left;}
    /* Модалка сотрудника */
    .emp-modal{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:var(--space-6);}
    .emp-modal[hidden]{display:none;}
    .emp-modal__overlay{position:absolute;inset:0;background:rgba(10,26,42,.9);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);}
    .emp-modal__dialog{position:relative;z-index:1;width:100%;max-width:min(1280px,92vw);max-height:88vh;overflow:auto;background:var(--color-bg-card);border-radius:var(--radius-lg);display:grid;grid-template-columns:clamp(280px,38%,480px) 1fr;box-shadow:0 30px 80px rgba(10,26,42,.42);}
    .emp-modal__media{background:var(--color-bg-secondary);min-height:280px;}
    .emp-modal__media img{display:block;width:100%;height:100%;object-fit:cover;}
    .emp-modal__body{padding:var(--space-8);}
    .emp-modal__body h3{font-size:24px;margin:0 0 4px;}
    .emp-modal__role{display:block;color:var(--color-text-muted);font-size:15px;margin-bottom:var(--space-5);}
    .emp-modal__bio{color:var(--color-text-muted);line-height:1.65;margin:0 0 var(--space-6);}
    .emp-modal__in{display:inline-flex;align-items:center;gap:8px;color:var(--color-cyan);text-decoration:none;font-weight:600;}
    .emp-modal__in:hover{color:var(--color-cyan-hover);}
    .emp-modal__in-ico{display:inline-flex;}.emp-modal__in svg{width:22px;height:22px;fill:currentColor;}
    .emp-modal__close{position:absolute;top:12px;right:12px;z-index:2;width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;background:rgba(255,255,255,.78);border:none;border-radius:50%;cursor:pointer;color:var(--color-text-primary);}
    .emp-modal__close:hover{background:#fff;}.emp-modal__close svg{width:20px;height:20px;}
    @media(max-width:640px){
      .emp-modal{padding:0;align-items:flex-end;}
      .emp-modal__dialog{grid-template-columns:1fr;max-width:none;max-height:92vh;border-radius:var(--radius-lg) var(--radius-lg) 0 0;}
      .emp-modal__media{min-height:0;aspect-ratio:3/2;}
      .emp-modal__body{padding:var(--space-6);}
    }
    /* Мобильное меню (бургер) */
    @media (max-width:1023px){
      nav.main-nav.is-open{display:block;position:absolute;top:100%;left:0;right:0;background:var(--color-navy);border-bottom:1px solid var(--color-on-dark-border);box-shadow:0 18px 44px rgba(0,0,0,.4);}
      nav.main-nav.is-open ul{flex-direction:column;gap:0;padding:var(--space-2) var(--container-pad-mobile) var(--space-4);}
      nav.main-nav.is-open a{display:block;padding:14px 2px;font-size:16px;color:rgba(255,255,255,.82);border-bottom:1px solid var(--color-on-dark-border);}
      nav.main-nav.is-open a::after{display:none;}
      .burger.is-active::before{content:"✕";font-size:17px;line-height:38px;}
    }
    /* Лого #2 — двухцветный wordmark */
    .logo-wm{gap:0;font-size:28px;letter-spacing:-.012em;}
    .logo-wm .lw-s{color:#fff;}
    .logo-wm .lw-e{background:linear-gradient(90deg,#6CB0D8,#A7D2EC);-webkit-background-clip:text;background-clip:text;color:transparent;}
    /* Знак «Цикл» перед надписью (на тёмном — обводка 2.7px, компенсация иррадиации) */
    .logo-wm .mark{display:inline-flex;flex:none;margin-right:5px;}
    .logo-wm .mark svg{display:block;width:40px;height:40px;}
    .logo-wm .mark svg path{stroke-width:2.7;}
    .hero .btn-ghost{color:var(--color-cyan-soft);}
    .hero .btn-ghost:hover{color:var(--color-white);}
    .hero .cta-row .btn-ghost{padding-left:0;}
    .tech-list{list-style:none;padding:0;margin-top:var(--space-6);display:flex;flex-direction:column;gap:var(--space-3);}
    .tech-list li{display:flex;gap:10px;align-items:baseline;}
    .tech-list li svg{flex:none;color:var(--color-cyan-soft);}
    .tech-img{width:100%;height:auto;display:block;}
    /* Технология: грид текст | схема; на мобиле схема уходит вниз */
    #tech .grid-2{grid-template-columns:1fr 1.5fr;gap:var(--space-8);align-items:center;}
    @media (max-width:767px){#tech .grid-2{grid-template-columns:1fr;}}
    /* Фото-карточки: картинка заполняет слот 16:9 */
    .photo-card img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;}

    /* Секции — вертикальный ритм вдвое плотнее (страница не раздувается) */
    :root{--section-pad:48px;--section-pad-tablet:36px;--section-pad-mobile:28px;}
    /* Отрасли: иконки без бордера, 45px */
    #industries .card-icon{width:45px;height:45px;border:none;border-radius:0;}
    #industries .card-icon svg{width:45px;height:45px;}

    /* Этапы — горизонтальный степпер: иконка сверху + стрелки-связки */
    #stages .stage{display:flex;flex-direction:column;border-top:none;padding-top:0;position:relative;}
    #stages .stage-ico{order:-1;width:44px;height:44px;color:var(--color-cyan);margin-bottom:3px;}
    #stages .stage-ico svg{width:44px;height:44px;}
    #stages .stage:not(:last-child) .stage-ico::after{content:"";position:absolute;top:22px;left:58px;width:calc(100% + var(--space-4) - 70px);height:0;border-top:1.5px solid var(--color-cyan);}
    #stages .stage:not(:last-child) .stage-ico::before{content:"";position:absolute;top:22px;left:calc(100% + var(--space-4) - 13px);width:7px;height:7px;border-top:1.5px solid var(--color-cyan);border-right:1.5px solid var(--color-cyan);transform:translateY(-50%) rotate(45deg);}
    @media (max-width:1023px){#stages .stage:nth-child(4n) .stage-ico::after,#stages .stage:nth-child(4n) .stage-ico::before{display:none;}}
    @media (max-width:767px){#stages .stage:not(:last-child) .stage-ico::after,#stages .stage:not(:last-child) .stage-ico::before{display:none;}}

    /* Верхнее меню — капс */
    nav.main-nav a{text-transform:uppercase;letter-spacing:0.04em;}
    /* Активный пункт меню (aria-current="page"; для глубоких страниц он стоит на родителе: article→Статьи и т.п.) — белый + подчёркивание, как .active в ките */
    nav.main-nav a[aria-current="page"]{color:var(--color-white);}
    nav.main-nav a[aria-current="page"]::after{transform:scaleX(1);}
    @media (max-width:1023px){nav.main-nav.is-open a[aria-current="page"]{color:var(--color-cyan-soft);}}

    /* Этапы — номер: крупнее (как заголовок), жирный, отступ 3px */
    #stages .stage::before{font-size:14.5px;font-weight:700;margin-bottom:3px;}
    /* Этапы — текст сдвинут под иконку на 8px (на всех ширинах) */
    #stages .stage::before,#stages .stage h4,#stages .stage p{margin-left:8px;}
    /* Этапы — воздух под заголовком + фикс. высота для ровного низа: только десктоп/планшет */
    @media (min-width:768px){
      #stages .stage h4{margin-bottom:9px;min-height:35px;}
    }
    /* Этапы — на мобиле гап вдвое больше: space-6 (24px) вместо кит. space-3 (12px) */
    @media (max-width:767px){#stages .stages{gap:var(--space-6);}}

    /* Проекты — карточки-факты (10+/15+) на тёмном фоне */
    #projects .fact-card{background:var(--color-navy);border:none;}
    #projects .fact-card .num{color:var(--color-cyan-soft);}
    #projects .fact-card .lbl{color:var(--color-text-on-dark-muted);}

    /* Футер — бренд-иконки соцсетей: крупнее, без рамки */
    .footer-social .soc{border:none;width:auto;height:auto;}
    .footer-social .soc svg{width:22px;height:22px;fill:currentColor;}
    /* Футер — лого 28px как в шапке (перебиваем .site-footer a → 14px) */
    .footer-brand .logo{font-size:28px;}
    /* Футер короткий — 3 колонки (бренд · меню · контакты) */
    .footer-grid{grid-template-columns:1.7fr 1fr 1fr;}
    @media (max-width:1023px){.footer-grid{grid-template-columns:1fr 1fr;}}
    @media (max-width:767px){.footer-grid{grid-template-columns:1fr;}}

    /* ===== Страница «О компании» ===== */
    .about-hero{position:relative;overflow:hidden;background:var(--color-bg);padding:clamp(28px,3.5vw,44px) 0 clamp(60px,8vw,100px);}
    .about-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 80%,#fff 100%),linear-gradient(90deg,#fff 0%,#fff 34%,rgba(255,255,255,0.88) 50%,rgba(255,255,255,0.45) 66%,rgba(255,255,255,0) 92%),url('../images/hero_about.webp') center right/cover no-repeat;}
    .about-hero .container{position:relative;}
    .about-hero__text{max-width:620px;}
    .about-hero__text h1{margin:0 0 var(--space-6);}
    @media(max-width:1023px){.about-hero::before{opacity:.5;}}
    @media(max-width:767px){.about-hero::before{opacity:.3;}.about-hero__text{max-width:none;}}
    .about-split{align-items:start;gap:var(--space-12);}
    .do-list{list-style:none;padding:0;margin:var(--space-4) 0 0;}
    .do-list li{position:relative;padding:13px 0 13px 28px;border-bottom:1px solid var(--color-border);font-size:15px;line-height:1.5;}
    .do-list li:last-child{border-bottom:none;}
    .do-list li::before{content:"✓";position:absolute;left:0;top:12px;color:var(--color-cyan);font-weight:700;}
    .do-list.dont li{color:var(--color-text-muted);}
    .do-list.dont li::before{content:"–";color:var(--color-text-dim);font-weight:600;}
    .note-card{justify-content:center;}
    .note-card p{margin:0;font-size:13.5px;line-height:1.5;}
    .section-head.center{text-align:center;max-width:720px;margin-left:auto;margin-right:auto;}
    .section-head.center .eyebrow{justify-content:center;}
    .principles{max-width:940px;margin:0 auto;}
    .about-hero__text p{font-size:18px;line-height:1.6;color:var(--color-text-muted);}
    .about-hero .breadcrumbs{padding-top:0;margin-bottom:30px;}

    /* ===== Внутренние страницы (services/service/projects/project/articles/article/contacts/legal/404) ===== */
    .page-hero{padding-top:var(--space-8);}
    .page-hero h1{margin-bottom:var(--space-6);}
    .page-hero .lead{max-width:680px;}
    .page-hero .cta-row{margin-top:var(--space-6);}
    /* Хлебные крошки: вернуть гориз. отступ контейнера (база se-ui .breadcrumbs обнуляет padding shorthand) */
    .breadcrumbs.container{padding-left:var(--container-pad-desktop);padding-right:var(--container-pad-desktop);}
    @media(max-width:1023px){.breadcrumbs.container{padding-left:var(--container-pad-tablet);padding-right:var(--container-pad-tablet);}}
    @media(max-width:767px){.breadcrumbs.container{padding-left:var(--container-pad-mobile);padding-right:var(--container-pad-mobile);}}
    /* Сплит-герой: текст | медиа */
    .hero-split{display:grid;grid-template-columns:1.2fr 1fr;gap:var(--space-10);align-items:center;}
    .hero-split .lead{max-width:none;}
    .hero-split .hero-media{width:100%;border-radius:var(--radius-md);display:block;aspect-ratio:4/3;object-fit:cover;}
    @media(max-width:900px){.hero-split{grid-template-columns:1fr;gap:var(--space-8);}}
    @media(max-width:767px){.hero-split .hero-media{display:none;}}
    /* Узкий герой (статья/юр.) */
    .hero-narrow{max-width:760px;}
    .hero-narrow.pub-hero{max-width:1000px;}
    .hero-narrow.center{margin-left:auto;margin-right:auto;text-align:center;}
    .hero-narrow.center .chips-row{justify-content:center;}
    /* Услуги — группы по стадиям */
    .group-label{font-family:var(--font-mono);font-size:13px;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-dim);margin:var(--space-10) 0 var(--space-5);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border);}
    .svc-groups .svc-group:first-child .group-label{margin-top:0;}
    .svc-card .link-arrow{margin-top:auto;padding-top:var(--space-2);}
    /* Услуги — путь проекта (вертикальный степпер) */
    .path-list{list-style:none;padding:0;margin:0;max-width:780px;}
    .path-list li{display:grid;grid-template-columns:44px 1fr;gap:var(--space-5);padding:var(--space-4) 0;border-bottom:1px solid var(--color-border);align-items:baseline;}
    .path-list li:last-child{border-bottom:none;}
    .path-num{font-family:var(--font-mono);font-size:14px;font-weight:500;color:var(--color-cyan);}
    .path-text{font-size:15.5px;line-height:1.55;color:var(--color-text-muted);}
    .path-text strong{color:var(--color-text-primary);font-weight:600;}
    /* Стадии — текущая (на странице услуги) */
    .stages .stage.is-current{border-top-color:var(--color-navy);border-top-width:3px;}
    .stages .stage.is-current h4{color:var(--color-cyan);}
    /* Фильтр-бар (проекты/статьи) */
    .filter-bar{padding:var(--space-6) 0;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);display:flex;gap:var(--space-5);align-items:center;flex-wrap:wrap;}
    .filter-sep{color:var(--color-border-strong);}
    .search-input{margin-left:auto;width:280px;max-width:100%;padding:10px 14px;border:1px solid var(--color-border-strong);font-size:14px;font-family:inherit;background:var(--color-bg-card);color:var(--color-text-primary);border-radius:var(--radius-sm);}
    .search-input:focus{outline:none;border-color:var(--color-cyan);box-shadow:var(--shadow-focus);}
    @media(max-width:767px){.search-input{margin-left:0;}}
    .filter-bar .search-field{margin-left:auto;width:300px;max-width:100%;}
    @media(max-width:767px){.filter-bar .search-field{margin-left:0;width:100%;}}
    /* Пагинация */
    .pagination{margin-top:var(--space-12);display:flex;justify-content:center;gap:var(--space-2);}
    /* Карточки статей — обложка + дата */
    .card-cover{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;border-radius:var(--radius-sm);margin-bottom:var(--space-2);}
    .card-date{font-size:12px;color:var(--color-text-dim);}
    .card-foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);}
    /* Авторство в карточках статей */
    .card-byline{display:inline-flex;align-items:center;gap:8px;min-width:0;font-size:13px;line-height:1.2;color:var(--color-text-muted);font-weight:500;}
    .af-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap;margin-top:var(--space-4);}
    /* Обложка-заглушка карточек проектов (когда реального фото нет) */
    .proj-cover{position:relative;display:block;width:100%;aspect-ratio:16/9;margin-bottom:var(--space-2);border-radius:var(--radius-sm);overflow:hidden;background:var(--color-navy);}
    .proj-cover::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(108,176,216,.13) 1px,transparent 1px),linear-gradient(90deg,rgba(108,176,216,.13) 1px,transparent 1px);background-size:24px 24px;-webkit-mask-image:radial-gradient(130% 120% at 72% 26%,#000,transparent 78%);mask-image:radial-gradient(130% 120% at 72% 26%,#000,transparent 78%);}
    .proj-cover .ph-mark{position:absolute;inset:0;margin:auto;width:44px;height:44px;color:rgba(108,176,216,.5);}
    .proj-cover .ph-mark svg{display:block;width:100%;height:100%;}
    .grid-3 .card>.link-arrow{margin-top:auto;}
    /* Пустое состояние фильтра */
    [data-filter-empty]{display:none;padding:var(--space-10) 0;text-align:center;color:var(--color-text-muted);font-size:15px;}
    /* CTA-баннер с иконкой (брендовый шестиугольник + чат) + фон-рендер установки */
    .cta-banner.with-icon{flex-direction:row;align-items:center;gap:var(--space-8);background:url('../images/cta_bg.webp') center/cover no-repeat,var(--color-navy);}
    .cta-banner.with-icon .cta-content{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-4);max-width:600px;position:relative;z-index:1;}
    .cta-ico{flex-shrink:0;width:100px;height:100px;color:var(--color-cyan-soft,#5A9BC4);position:relative;z-index:1;}
    .cta-ico svg{display:block;width:100%;height:100%;}
    @media(max-width:1023px){.cta-banner.with-icon{gap:var(--space-6);}.cta-ico{width:84px;height:84px;}}
    /* Мобайл: иконка слева от текста и меньше; затемняем фон ради читаемости */
    @media(max-width:767px){.cta-banner.with-icon{gap:var(--space-4);align-items:flex-start;background:linear-gradient(rgba(10,26,42,.62),rgba(10,26,42,.62)),url('../images/cta_bg.webp') center/cover no-repeat,var(--color-navy);}.cta-ico{width:60px;height:60px;}}
    /* Текстура фона для центрированного CTA (О компании) — изометрическая чертёжная сетка, чистый центр под текст */
    /* Яркость текстуры регулируется тремя alpha в rgba(108,176,216, …): больше → ярче, меньше → бледнее */
    .cta-textured::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background-image:repeating-linear-gradient(60deg,rgba(108,176,216,.25) 0 1px,transparent 1px 24px),repeating-linear-gradient(-60deg,rgba(108,176,216,.25) 0 1px,transparent 1px 24px),repeating-linear-gradient(0deg,rgba(108,176,216,.22) 0 1px,transparent 1px 24px);-webkit-mask-image:radial-gradient(90% 140% at 50% 50%,transparent 26%,#000 92%);mask-image:radial-gradient(90% 140% at 50% 50%,transparent 26%,#000 92%);}
    .cta-textured>*{position:relative;z-index:1;}
    /* CTA .center: на мобиле центрируем и кнопки (cta-row при переносе клампится по ширине → уезжал влево) */
    .cta-banner.center .cta-row{justify-content:center;}
    /* CTA с иконкой: на мобиле иконку прячем — узкий экран */
    @media(max-width:767px){.cta-banner.with-icon .cta-ico{display:none;}}
    /* CTA-карточка кита (.cta-banner) внутри тела статьи: отступы + сброс прозы + белый текст кнопки (перебиваем .article-body a) */
    .article-body .cta-banner{margin:var(--space-8) 0;}
    .article-body .cta-banner h3,.article-body .cta-banner p{margin:0;}
    .article-body .cta-banner .btn-primary{color:var(--color-white);}
    .article-body .cta-banner h3{color:var(--color-white);}
    /* Списки в теле публикации: отступ под буллеты + интервал между пунктами + акцентные маркеры */
    .article-body ul,.article-body ol{padding-left:1.4em;margin:var(--space-5) 0;}
    .article-body li{margin-bottom:var(--space-3);}
    .article-body li:last-child{margin-bottom:0;}
    .article-body li::marker{color:var(--color-accent);}
    /* Связанные услуги/публикации: ряд карточек, корректно при 1–3 (не растягиваются, прижаты влево) */
    .related-grid{display:flex;flex-wrap:wrap;gap:var(--space-6);}
    .related-grid>*{flex:1 1 240px;max-width:calc((100% - 2 * var(--space-6)) / 3);}
    @media(max-width:767px){.related-grid>*{flex-basis:100%;max-width:100%;}}
    /* Featured-статья */
    .article-featured{display:grid;grid-template-columns:1.4fr 1fr;gap:0;padding:0;overflow:hidden;}
    .article-featured .af-cover{width:100%;height:100%;object-fit:cover;display:block;min-height:240px;}
    .article-featured .af-body{padding:var(--space-8);display:flex;flex-direction:column;gap:var(--space-2);}
    @media(max-width:767px){.article-featured{grid-template-columns:1fr;}.article-featured .af-cover{aspect-ratio:16/9;min-height:0;}}
    /* Публикации — карточки списком: фото слева | meta + заголовок + описание */
    .pub-list{display:flex;flex-direction:column;gap:var(--space-5);}
    .card.pub-card{display:grid;grid-template-columns:320px 1fr;gap:0;padding:0;overflow:hidden;align-items:stretch;}
    .pub-card .pub-cover{width:100%;height:100%;object-fit:cover;display:block;min-height:220px;}
    .pub-card .pub-body{padding:var(--space-8);display:flex;flex-direction:column;justify-content:center;gap:var(--space-3);}
    .pub-card .pub-body h3{margin:0;}
    .pub-card .pub-body p{margin:0;color:var(--color-text-muted);}
    .pub-card .pub-body .link-arrow{margin-top:var(--space-2);width:fit-content;}
    @media(max-width:767px){.card.pub-card{grid-template-columns:1fr;}.pub-card .pub-cover{aspect-ratio:16/9;min-height:0;}.pub-card .pub-body{padding:var(--space-6);}}
    /* Статья — раскладка с TOC */
    .article-layout{display:grid;grid-template-columns:1fr 260px;gap:var(--space-16);align-items:start;}
    .article-cover{width:100%;aspect-ratio:2/1;object-fit:cover;display:block;border-radius:var(--radius-md);}
    .article-intro{font-size:var(--fs-lead-l);line-height:1.5;color:var(--color-text-primary);border-left:2px solid var(--color-cyan);padding-left:var(--space-5);margin-bottom:var(--space-8);}
    .toc-sticky li a{display:block;}
    .article-body h2[id]{scroll-margin-top:100px;}
    @media(max-width:1023px){.article-layout{grid-template-columns:1fr;gap:var(--space-8);}.article-layout .toc-sticky{display:none;}}
    /* Кейс — мета-полоса */
    .meta-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-6) var(--space-4);}
    .meta-strip .val{font-size:15px;margin-top:var(--space-2);color:var(--color-text-primary);}
    @media(max-width:767px){.meta-strip{grid-template-columns:repeat(2,1fr);}}
    /* Контакты — раскладка */
    .contacts-layout{display:grid;grid-template-columns:1fr 1.4fr;gap:var(--space-16);align-items:start;}
    /* Контакты — подписи полей и блока слева выделяем цветом */
    .contacts-layout .caption,.contacts-layout .field label{color:var(--color-cyan);}
    @media(max-width:900px){.contacts-layout{grid-template-columns:1fr;gap:var(--space-10);}}
    /* 404 */
    .code-404{font-family:var(--font-mono);font-size:clamp(80px,14vw,140px);font-weight:500;color:var(--color-cyan);line-height:1;margin-bottom:var(--space-4);}
    /* Моно для тех. подписей внутренних страниц (проект переопределяет --font-mono→sans) */
    .group-label,.path-num,.code-404{font-family:'IBM Plex Mono',ui-monospace,monospace;}

    /* «Как мы работаем» (split-карточки) — номер шага: крупнее, плотнее к заголовку, без разрядки */
    .card-split .card-meta{font-size:14px;font-weight:600;letter-spacing:.02em;margin-bottom:calc(-1 * var(--space-2));}

    .lead-photo{width:100%;max-width:360px;height:auto;display:block;border-radius:var(--radius-md);margin-top:var(--space-6);}
    /* ===== Динамика: scroll-reveal / счётчики / степпер / вход hero ===== */
    .reveal-on .reveal{opacity:0;transform:translateY(12px);transition:opacity .6s var(--ease-out),transform .6s var(--ease-out);}
    .reveal-on .reveal.in{opacity:1;transform:none;}
    .reveal-on .hero .hero__inner>*,.reveal-on .about-hero__text>*{opacity:0;transform:translateY(14px);transition:opacity .7s var(--ease-out),transform .7s var(--ease-out);}
    .reveal-on .hero.hero-in .hero__inner>*,.reveal-on .about-hero.hero-in .about-hero__text>*{opacity:1;transform:none;}
    .reveal-on .hero.hero-in .hero__inner>*:nth-child(2),.reveal-on .about-hero.hero-in .about-hero__text>*:nth-child(2){transition-delay:.07s;}
    .reveal-on .hero.hero-in .hero__inner>*:nth-child(3),.reveal-on .about-hero.hero-in .about-hero__text>*:nth-child(3){transition-delay:.14s;}
    .reveal-on .hero.hero-in .hero__inner>*:nth-child(4),.reveal-on .about-hero.hero-in .about-hero__text>*:nth-child(4){transition-delay:.21s;}
    .reveal-on .hero.hero-in .hero__inner>*:nth-child(n+5){transition-delay:.28s;}
    .reveal-on .page-hero>.container>*{opacity:0;transform:translateY(14px);transition:opacity .7s var(--ease-out),transform .7s var(--ease-out);}
    .reveal-on .page-hero.hero-in>.container>*{opacity:1;transform:none;}
    .reveal-on .page-hero.hero-in>.container>*:nth-child(2){transition-delay:.07s;}
    .reveal-on .page-hero.hero-in>.container>*:nth-child(3){transition-delay:.14s;}
    .reveal-on #stages .stage{opacity:0;transform:translateY(12px);transition:opacity .5s var(--ease-out),transform .5s var(--ease-out);}
    .reveal-on #stages.stepping .stage{opacity:1;transform:none;}
    .reveal-on #stages.stepping .stage:nth-child(2){transition-delay:.09s;}
    .reveal-on #stages.stepping .stage:nth-child(3){transition-delay:.18s;}
    .reveal-on #stages.stepping .stage:nth-child(4){transition-delay:.27s;}
    .reveal-on #stages.stepping .stage:nth-child(5){transition-delay:.36s;}
    .reveal-on #stages.stepping .stage:nth-child(6){transition-delay:.45s;}
    .reveal-on #stages.stepping .stage:nth-child(7){transition-delay:.54s;}
    .reveal-on #stages.stepping .stage:nth-child(8){transition-delay:.63s;}
    .reveal-on #stages .stage:not(:last-child) .stage-ico::after{transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease-out);}
    .reveal-on #stages.stepping .stage:not(:last-child) .stage-ico::after{transform:scaleX(1);}
    .reveal-on #stages.stepping .stage:nth-child(1) .stage-ico::after{transition-delay:.14s;}
    .reveal-on #stages.stepping .stage:nth-child(2) .stage-ico::after{transition-delay:.23s;}
    .reveal-on #stages.stepping .stage:nth-child(3) .stage-ico::after{transition-delay:.32s;}
    .reveal-on #stages.stepping .stage:nth-child(4) .stage-ico::after{transition-delay:.41s;}
    .reveal-on #stages.stepping .stage:nth-child(5) .stage-ico::after{transition-delay:.50s;}
    .reveal-on #stages.stepping .stage:nth-child(6) .stage-ico::after{transition-delay:.59s;}
    .reveal-on #stages.stepping .stage:nth-child(7) .stage-ico::after{transition-delay:.68s;}
    @media (prefers-reduced-motion: reduce){
      .reveal-on .reveal,.reveal-on .hero .hero__inner>*,.reveal-on .about-hero__text>*,.reveal-on .page-hero>.container>*,.reveal-on #stages .stage,.reveal-on #stages .stage:not(:last-child) .stage-ico::after{opacity:1 !important;transform:none !important;transition:none !important;}
    }

    /* ============================================================
       СТРАНИЦА «ТЕХНОЛОГИЯ» — особенность, степпер, галерея+лайтбокс, объекты
       ============================================================ */

    /* Ключевая особенность — иконка слева, текст справа, по левому краю */
    .key-feature{display:flex;gap:var(--space-6);align-items:flex-start;}
    .key-emblem{flex:none;width:72px;height:72px;color:var(--color-cyan);}
    .key-emblem svg{width:100%;height:100%;}
    .key-feature .lead{max-width:820px;margin:0;}
    @media(max-width:560px){.key-feature{gap:var(--space-4);}.key-emblem{width:56px;height:56px;}}

    /* Принцип — степпер на 5 шагов (наследует иконки/линию/нумерацию от #stages) */
    #stages.proc .stages{grid-template-columns:repeat(5,1fr);}
    @media(max-width:1023px){
      #stages.proc .stages{grid-template-columns:repeat(3,1fr);row-gap:var(--space-10);}
      #stages.proc .stage .stage-ico::after,#stages.proc .stage .stage-ico::before{display:none;}
    }
    @media(max-width:560px){#stages.proc .stages{grid-template-columns:repeat(2,1fr);}}

    /* Установка — галерея с лайтбоксом */
    .gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4);}
    .gallery-item{display:block;position:relative;padding:0;margin:0;border:none;background:var(--color-navy);cursor:pointer;overflow:hidden;border-radius:var(--radius-md);}
    .gallery-item img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;transition:transform .55s var(--ease-out),opacity .3s;}
    .gallery-item:hover img{transform:scale(1.06);opacity:.92;}
    .gallery-item::after{content:"";position:absolute;inset:0;border:1.5px solid transparent;border-radius:var(--radius-md);transition:border-color .3s;pointer-events:none;}
    .gallery-item:hover::after,.gallery-item:focus-visible::after{border-color:rgba(108,176,216,.65);}
    .gallery-note{margin-top:var(--space-6);font-size:13px;color:var(--color-text-muted);}
    @media(max-width:1023px){.gallery-grid{grid-template-columns:repeat(3,1fr);}}
    @media(max-width:560px){.gallery-grid{grid-template-columns:repeat(2,1fr);gap:var(--space-3);}}

    /* Лайтбокс */
    .lightbox{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:var(--space-8);background:rgba(8,18,30,.94);}
    .lightbox[hidden]{display:none;}
    .lightbox__img{max-width:min(1100px,92vw);max-height:86vh;object-fit:contain;border-radius:var(--radius-md);box-shadow:0 24px 70px rgba(0,0,0,.55);}
    .lightbox__close,.lightbox__nav{position:absolute;display:flex;align-items:center;justify-content:center;border:none;background:rgba(255,255,255,.12);color:#fff;cursor:pointer;line-height:1;border-radius:50%;transition:background .2s;}
    .lightbox__close:hover,.lightbox__nav:hover{background:rgba(255,255,255,.24);}
    .lightbox__close{top:20px;right:24px;width:44px;height:44px;font-size:26px;}
    .lightbox__nav{top:50%;transform:translateY(-50%);width:52px;height:52px;font-size:32px;padding-bottom:3px;}
    .lightbox__prev{left:24px;}.lightbox__next{right:24px;}
    @media(max-width:560px){.lightbox{padding:var(--space-4);}.lightbox__nav{width:42px;height:42px;font-size:26px;}.lightbox__prev{left:8px;}.lightbox__next{right:8px;}.lightbox__close{top:10px;right:12px;}}

    /* Промышленные объекты — фото-карточки с метаданными */
    .obj-card img{aspect-ratio:4/3;}
    .obj-meta{margin-top:var(--space-2);font-size:13px;line-height:1.55;color:var(--color-text-muted);}
    .obj-meta strong{color:var(--color-text-primary);font-weight:600;}

    /* Презентация — карточка с иконкой */
    .present-card{max-width:680px;display:flex;gap:var(--space-6);align-items:flex-start;}
    .present-card>div{min-width:0;}
    @media(max-width:560px){.present-card{flex-direction:column;gap:var(--space-4);}}

    /* Установка — слайдер галереи (6 фото на слайд, зациклен, свайп на мобиле) */
    .slider{position:relative;}
    .slider__stage{position:relative;padding:0 60px;}
    .slider__viewport{overflow:hidden;}
    .slider__track{display:flex;transition:transform .45s var(--ease-out);will-change:transform;}
    .slide{flex:0 0 100%;min-width:0;}
    .slider__arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:2;display:flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;background:var(--color-bg-card);border:1px solid var(--color-border-strong);color:var(--color-text-primary);cursor:pointer;transition:all var(--duration-base) var(--ease-out);}
    .slider__arrow svg{width:20px;height:20px;}
    .slider__arrow:hover{border-color:var(--color-cyan);color:var(--color-cyan);background:var(--color-tint);}
    .slider__prev{left:4px;}.slider__next{right:4px;}
    .slider__dots{display:flex;justify-content:center;gap:9px;margin-top:var(--space-6);}
    .slider__dots button{width:9px;height:9px;padding:0;border:none;border-radius:50%;background:rgba(108,176,216,.32);cursor:pointer;transition:background .2s,transform .2s;}
    .slider__dots button.active{background:var(--color-cyan);transform:scale(1.25);}
    @media(max-width:767px){.slider__arrow{display:none;}.slider__viewport{touch-action:pan-y;}.slider__stage{padding:0;}}

    /* Невалидные поля формы — красная подсветка после попытки отправки/ввода (:user-invalid) */
    .field input:user-invalid,
    .field textarea:user-invalid,
    .field select:user-invalid{border-color:var(--color-error);}
    .field input:user-invalid:focus,
    .field textarea:user-invalid:focus,
    .field select:user-invalid:focus{border-color:var(--color-error);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-error) 22%, transparent);}

    /* ===== Утилити/семантика — вынос инлайн-стилей (никаких style= в разметке) ===== */
    .pt-0{padding-top:0;}
    .pt-6{padding-top:var(--space-6);}
    .pt-10{padding-top:var(--space-10);}
    .py-12{padding:var(--space-12) 0;}
    .py-16{padding:var(--space-16) 0;}
    .mb-0{margin-bottom:0;}
    .mb-8{margin-bottom:var(--space-8);}
    .mr-1{margin-right:4px;}
    .gap-8{gap:var(--space-8);}
    .gap-12{gap:var(--space-12);}
    .gap-16{gap:var(--space-16);}
    .ai-start{align-items:flex-start;}
    .jc-center{justify-content:center;}
    .col-span-2{grid-column:span 2;}
    .col-flex{display:flex;flex-direction:column;}
    .d-inline-flex{display:inline-flex;}
    .mw-820{max-width:820px;}
    .text-primary{color:var(--color-text-primary);}
    .fz-14{font-size:14px;}
    .fz-18{font-size:18px;}
    .fw-400{font-weight:400;}
    .fw-600{font-weight:600;}
    .center-narrow{max-width:560px;margin:0 auto;text-align:center;}
    .bordered-top{padding-top:var(--space-8);border-top:1px solid var(--color-border);}
    .legal-note{font-family:var(--font-mono);font-size:12px;line-height:1.7;color:var(--color-text-muted);}
    .chips-tags{margin:6px 0 10px;}
    .chips-sp5{margin:var(--space-5) 0;}
    .stages.cols-5{grid-template-columns:repeat(5,1fr);}
    .field-checkbox a{text-decoration:underline;}
    .section-head h2.mb-0{margin-bottom:0;}

    /* Верхний логотип: иконка подсвечивается при наведении (как в футере) */
    .site-header .logo .mark svg{transition:color var(--duration-base) var(--ease-out);}
    .site-header .logo:hover{color:var(--color-cyan-soft);}
    /* Переключатель языка — крупнее и заметнее (шапка + футер); RU/EN одного размера */
    .site-header .lang-toggle, .site-footer .lang-toggle{font-size:14px;}
    .site-footer .lang-toggle a{font-size:inherit;}

    /* Контактная форма — тёмная navy-карточка; поля/файл/чекбокс берут .section-dark из кита */
    .contacts-layout .form-block.section-dark{background:var(--color-navy);border-color:var(--color-on-dark-border-strong);box-shadow:var(--shadow-lg);}
    .contacts-layout .form-block.section-dark .field label{color:var(--color-text-on-dark-muted);} /* лейблы полей — как на главной */
    .contacts-layout .form-block.section-dark .field-checkbox a{color:var(--color-cyan-soft);}
    .contacts-layout .field textarea{min-height:110px;}
    .contacts-layout .bordered-top{border-top-color:var(--color-navy);} /* тёмный разделитель в левом блоке, в цвет формы */

    /* Lead-описание секции под рядом «заголовок + ссылка» — опционально (для сайта; в статике не выводится).
       Использование: ряду доб. класс has-lead, под рядом <p class="lead section-lead">…</p> */
    .section-head--row.has-lead{margin-bottom:var(--space-5);}
    .section-lead{max-width:900px;margin-bottom:var(--space-10);}
