/* ===== CODEMA dark template — foundation (header/footer/base) ===== */
:root{
  --cd-dark:#242A2E; --cd-dark-2:#2C3337; --cd-dark-3:#181C1F;
  --cd-light:#F2F5F6; --cd-white:#fff;
  --cd-accent:#14A8B8; --cd-accent-d:#0C7C8A; --cd-accent-l:#4BC6D4;
  --cd-text:#14181A; --cd-muted:#7E8B90; --cd-muted-2:#8E9CA1; --cd-muted-3:#C6D1D4;
  --cd-border:#DCE3E5; --cd-border-2:#E1E7E9;
  --cd-max:1360px;
}
*{box-sizing:border-box}
.cd-body{
  margin:0; background:var(--cd-light); color:var(--cd-text);
  font-family:-apple-system,"SF Pro Display","SF Pro Text","Helvetica Neue","Segoe UI",system-ui,sans-serif;
  -webkit-font-smoothing:antialiased; text-wrap:pretty;
}
.cd-body a{color:var(--cd-accent-d); text-decoration:none}
.cd-body a:hover{color:var(--cd-accent)}
::selection{background:var(--cd-accent); color:#fff}

/* ---- Кнопки ---- */
.cd-btn{display:inline-flex; align-items:center; justify-content:center; height:40px; padding:0 20px;
  border-radius:6px; font-size:13px; font-weight:600; white-space:nowrap; border:0; cursor:pointer; transition:.15s}
/* .cd-body a имеет большую специфичность, поэтому цвет задаём явно */
.cd-body a.cd-btn--accent,
a.cd-btn--accent,
.cd-btn--accent{background:var(--cd-accent); color:#fff !important}
.cd-body a.cd-btn--accent:hover,
a.cd-btn--accent:hover,
.cd-btn--accent:hover{background:var(--cd-accent-d); color:#fff !important}
.cd-btn--full{width:100%; height:48px}

/* ---- Шапка ---- */
.cd-header{position:sticky; top:0; z-index:50;
  background:rgba(255,255,255,.94); backdrop-filter:saturate(1.4) blur(14px);
  border-bottom:1px solid var(--cd-border)}
.cd-header__inner{max-width:var(--cd-max); margin:0 auto; padding:0 40px; height:82px;
  display:flex; align-items:center; gap:36px}
.cd-header__logo{display:flex; align-items:center; flex:0 0 auto}
.cd-header__logo img{height:40px; width:auto; display:block}
.cd-nav{display:flex; align-items:center; gap:22px; flex:1 1 auto; justify-content:center}
.cd-nav__link{font-size:13px; font-weight:500; letter-spacing:.01em; white-space:nowrap; color:#3A4448}
.cd-nav__link:hover{color:var(--cd-accent-d)}
.cd-nav__link.active{color:var(--cd-accent-d)}
.cd-header__right{display:flex; align-items:center; gap:18px; flex:0 0 auto}
.cd-header__phone{font-size:14px; font-weight:600; color:var(--cd-text); white-space:nowrap; letter-spacing:-.01em}
.cd-header__phone:hover{color:var(--cd-accent)}
.cd-burger{display:none; width:44px; height:44px; background:none; border:0; cursor:pointer; flex-direction:column; gap:5px; justify-content:center; align-items:center}
.cd-burger span{display:block; width:24px; height:2px; background:var(--cd-text); border-radius:2px; transition:.2s}

/* ---- Контент ---- */
#cd-main{min-height:50vh}
.cd-container{max-width:var(--cd-max); margin:0 auto; padding:0 40px}

/* ---- Хлебные крошки (тёмная полоса) ---- */
.cd-breadcrumb{background:var(--cd-dark); color:#fff; padding:64px 0 60px}
.cd-breadcrumb__inner{max-width:var(--cd-max); margin:0 auto; padding:0 40px;
  display:flex; align-items:center; gap:10px; font-size:13px; color:var(--cd-muted)}
.cd-breadcrumb a{color:var(--cd-muted)}
.cd-breadcrumb a:hover{color:var(--cd-accent-l)}
.cd-breadcrumb__cur{color:#EAEFF1}

/* ---- Подвал ---- */
.cd-footer{background:var(--cd-dark); color:#fff; padding:64px 0 34px}
.cd-footer__inner{max-width:var(--cd-max); margin:0 auto; padding:0 40px}
.cd-footer__grid{display:grid; grid-template-columns:1.2fr 1fr 1fr 1fr; gap:48px}
.cd-footer__logo{height:38px; width:auto; display:block; filter:brightness(0) invert(1); opacity:.92}
.cd-footer__brand p{margin:20px 0 0; font-size:14px; line-height:1.6; color:var(--cd-muted-2); max-width:280px}
.cd-footer__col{display:flex; flex-direction:column; gap:11px}
.cd-footer__title{font-size:11px; font-weight:600; letter-spacing:.2em; text-transform:uppercase; color:#5F6D72; margin-bottom:5px}
.cd-footer__col a{font-size:14px; color:var(--cd-muted-3)}
.cd-footer__col a:hover{color:var(--cd-accent-l)}
.cd-footer__phone{font-size:18px !important; font-weight:600; color:#fff !important}
.cd-footer__addr{font-size:14px; line-height:1.55; color:var(--cd-muted-2)}
.cd-footer__bottom{margin-top:52px; padding-top:22px; border-top:1px solid rgba(255,255,255,.1);
  display:flex; justify-content:space-between; gap:24px; flex-wrap:wrap}
.cd-footer__bottom div{font-size:13px; color:#6C7A7F}
.cd-footer__bottom a{font-size:13px; color:#6C7A7F}
.cd-footer__bottom a:hover{color:var(--cd-accent-l)}

/* ---- Модалка ---- */
.cd-modal{position:fixed; inset:0; z-index:1000; background:rgba(20,24,26,.6); display:none; align-items:center; justify-content:center; padding:20px}
.cd-modal.is-open{display:flex}
.cd-modal__dialog{background:#fff; border-radius:12px; width:100%; max-width:480px; overflow:hidden}
.cd-modal__head{display:flex; align-items:center; justify-content:space-between; padding:24px 28px 12px}
.cd-modal__title{margin:0; font-size:22px; font-weight:600; color:var(--cd-text)}
.cd-modal__close{background:none; border:0; font-size:30px; line-height:1; color:var(--cd-muted); cursor:pointer}
.cd-modal__body{display:flex; flex-direction:column; gap:14px; padding:12px 28px 28px}
.cd-input,.cd-textarea{width:100%; font-size:15px; padding:11px 14px; border:1px solid var(--cd-border); border-radius:8px; color:var(--cd-text)}
.cd-input:focus,.cd-textarea:focus{outline:none; border-color:var(--cd-accent)}
.cd-textarea{min-height:110px; resize:vertical}
.cd-checkbox{display:flex; gap:8px; font-size:12px; line-height:1.4; color:#1c1d1e; cursor:pointer}

/* ---- Cookie ---- */
.cd-cookie{position:fixed; bottom:40px; left:40px; background:#fff; padding:16px; border-radius:10px;
  box-shadow:0 8px 28px rgba(0,0,0,.18); max-width:340px; font-size:14px; z-index:9999}
.cd-cookie p{margin:0 0 12px; line-height:1.5; color:#333}

/* ---- Адаптив ---- */
@media (max-width:1100px){
  .cd-nav{display:none}
  .cd-burger{display:flex}
  .cd-header__right .cd-btn{display:none}
  .cd-header__inner{gap:16px; justify-content:space-between}
}
@media (max-width:768px){
  .cd-header__inner{padding:0 20px; height:64px}
  .cd-header__logo img{height:32px}
  .cd-footer__grid{grid-template-columns:1fr 1fr; gap:32px}
  .cd-footer__inner,.cd-breadcrumb__inner,.cd-container{padding:0 20px}
  .cd-cookie{left:12px; right:12px; bottom:16px; max-width:none}
}
@media (max-width:520px){ .cd-footer__grid{grid-template-columns:1fr} }

/* ===== Этап 2: контент-страницы ===== */
/* Заглушки изображений */
.cd-imgslot{width:100%;height:100%}
/* Ссылки внутри контента не подчёркиваем по умолчанию */
#cd-main a{text-decoration:none}
/* Табы услуг: активная панель */
.cd-detail{display:none}
.cd-detail.is-active{display:block}
.cd-tabs__btn.is-active{color:#0C7C8A !important}
/* Адаптив контента: колоночные гриды -> в одну колонку на мобиле */
@media (max-width:900px){
  #cd-main section > div > div[style*="grid-template-columns:repeat(3"]{grid-template-columns:1fr !important}
  #cd-main section > div > div[style*="grid-template-columns:repeat(4"]{grid-template-columns:1fr 1fr !important}
  #cd-main section > div > div[style*="grid-template-columns:1fr 1.5fr"],
  #cd-main section > div > div[style*="grid-template-columns:1.15fr 1fr"],
  #cd-main section > div > div[style*="grid-template-columns:1fr 1fr"]{grid-template-columns:1fr !important}
  #cd-main h1{font-size:44px !important}
  #cd-main section{padding-left:0 !important;padding-right:0 !important}
}

/* Сетка услуг (компонент) */
@media (max-width:900px){ .cd-services-grid{grid-template-columns:1fr !important} }
@media (min-width:901px) and (max-width:1200px){ .cd-services-grid{grid-template-columns:1fr 1fr !important} }

/* Сетки компонентов Этапа 3 */
@media (max-width:1100px){ .cd-grid-4{grid-template-columns:1fr 1fr !important} .cd-grid-6{grid-template-columns:repeat(3,1fr) !important} }
@media (max-width:640px){ .cd-grid-4{grid-template-columns:1fr !important} .cd-grid-6{grid-template-columns:1fr 1fr !important} .cd-contacts-grid,.cd-about-grid{grid-template-columns:1fr !important;gap:40px !important} }

/* ===== Блок «География площадок» ===== */
.cd-geo{background:#242A2E;color:#fff;padding:96px 0}
.cd-geo__inner{max-width:1360px;margin:0 auto;padding:0 40px}
.cd-geo__grid{display:grid;grid-template-columns:0.8fr 1.2fr;gap:56px;align-items:start}
.cd-geo__eyebrow{font-size:11px;font-weight:600;letter-spacing:0.2em;text-transform:uppercase;color:#4BC6D4;margin-bottom:18px}
.cd-geo__title{margin:0 0 14px;font-size:36px;line-height:1.14;letter-spacing:-0.03em;font-weight:700;max-width:440px}
.cd-geo__meta{font-size:12px;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;color:#7E8B90;margin-bottom:26px}
.cd-geo__cities{display:flex;flex-direction:column;gap:24px;max-height:600px;overflow-y:auto;padding-right:6px}
.cd-geo__cities::-webkit-scrollbar{width:5px}
.cd-geo__cities::-webkit-scrollbar-thumb{background:#3A4448;border-radius:3px}
.cd-geo__city-group{display:flex;flex-direction:column;gap:8px}
.cd-geo__city-head{display:flex;align-items:center;gap:10px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,0.1)}
.cd-geo__city-name{font-size:13px;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;color:#8E9CA1}
.cd-geo__city-badge{font-size:11px;font-weight:700;color:#062227;background:#14A8B8;border-radius:100px;min-width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;padding:0 6px}
.cd-geo__point{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border-radius:10px;border:1px solid transparent;background:rgba(255,255,255,0.03);transition:.15s;text-decoration:none}
.cd-geo__point:hover{background:rgba(20,168,184,0.10);border-color:rgba(20,168,184,0.45)}
.cd-geo__point.is-active{background:#12363B;border-color:#14A8B8}
.cd-geo__point-num{flex:0 0 auto;width:22px;height:22px;border-radius:50%;background:rgba(20,168,184,0.18);color:#4BC6D4;font-size:12px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;margin-top:1px}
.cd-geo__point.is-active .cd-geo__point-num{background:#14A8B8;color:#062227}
.cd-geo__point-body{display:block;min-width:0}
.cd-geo__point-title{display:block;font-size:15.5px;font-weight:600;color:#fff;letter-spacing:-0.01em;line-height:1.35}
.cd-geo__point.is-active .cd-geo__point-title{color:#4BC6D4}
.cd-geo__point-addr{display:block;margin-top:3px;font-size:13px;line-height:1.4;color:#8E9CA1}
.cd-geo__hint{margin-top:22px;font-size:13px;color:#6C7A7F}
.cd-geo__map{min-height:600px;height:600px;border-radius:16px;overflow:hidden;background:#0F1214;position:relative}
.cd-geo__map .maplibregl-ctrl-attrib{background:rgba(15,18,20,0.8)!important;font-size:10px;color:#7E8B90}
.cd-geo__map .maplibregl-ctrl-attrib a{color:#14A8B8!important}

/* Метка: круг, цифра всегда вертикально */
.cd-mappin{width:30px;height:30px;border-radius:50%;background:#14A8B8;color:#052227;
  font-size:13px;font-weight:700;line-height:1;display:flex;align-items:center;justify-content:center;
  cursor:pointer;border:2px solid rgba(255,255,255,.85);box-shadow:0 0 0 4px rgba(20,168,184,.22),0 4px 12px rgba(0,0,0,.5);transition:.15s}
.cd-mappin:hover{background:#0C7C8A;color:#fff}
.cd-mappin.is-active{background:#14181A;color:#4BC6D4;transform:scale(1.2);
  box-shadow:0 0 0 6px rgba(20,168,184,.3),0 6px 16px rgba(0,0,0,.4)}

/* Попап — !important, т.к. maplibre-gl.css подключается ПОСЛЕ main.css и перебивает стили */
.maplibregl-popup{z-index:20}
.maplibregl-popup .maplibregl-popup-content{
  background:#181C1F!important;color:#EAEFF1!important;border-radius:12px!important;
  padding:14px 16px!important;box-shadow:0 18px 40px rgba(0,0,0,.55)!important}
.maplibregl-popup-anchor-top .maplibregl-popup-tip,
.maplibregl-popup-anchor-top-left .maplibregl-popup-tip,
.maplibregl-popup-anchor-top-right .maplibregl-popup-tip{border-bottom-color:#181C1F!important}
.maplibregl-popup-anchor-bottom .maplibregl-popup-tip,
.maplibregl-popup-anchor-bottom-left .maplibregl-popup-tip,
.maplibregl-popup-anchor-bottom-right .maplibregl-popup-tip{border-top-color:#181C1F!important}
.maplibregl-popup-anchor-left .maplibregl-popup-tip{border-right-color:#181C1F!important}
.maplibregl-popup-anchor-right .maplibregl-popup-tip{border-left-color:#181C1F!important}
.maplibregl-popup .maplibregl-popup-close-button{
  color:#7E8B90!important;background:none!important;font-size:20px;padding:2px 8px;right:2px;top:2px}
.maplibregl-popup .maplibregl-popup-close-button:hover{color:#fff!important;background:none!important}

.cd-pop__city{font-size:10.5px;font-weight:600;letter-spacing:0.16em;text-transform:uppercase;color:#14A8B8;margin-bottom:8px;padding-right:16px}
.cd-pop__item{display:block;width:100%;text-align:left}
.cd-pop__head{display:flex;align-items:center;gap:8px;margin-bottom:6px}
.cd-pop__num{flex:0 0 auto;width:20px;height:20px;border-radius:50%;background:#14A8B8;color:#052227;font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}
.cd-pop__num_sm{width:18px;height:18px;font-size:10px;background:rgba(20,168,184,.2);color:#4BC6D4}
.cd-pop__title{font-size:14.5px;font-weight:700;letter-spacing:-0.01em;color:#fff!important;line-height:1.3}
.cd-pop__row{font-size:13px;line-height:1.5;color:#C6D1D4!important;margin-top:4px;padding-left:28px}
.cd-pop__row a{color:#4BC6D4!important;text-decoration:none}
.cd-pop__row a:hover{text-decoration:underline}
.cd-pop__list{margin-top:12px;padding-top:10px;border-top:1px solid rgba(255,255,255,.12);display:flex;flex-direction:column;gap:2px}
.cd-pop__more{display:flex;align-items:center;gap:8px;background:none!important;border:0!important;padding:6px 4px;border-radius:6px;cursor:pointer;transition:.15s;width:100%;text-align:left}
.cd-pop__more:hover{background:rgba(20,168,184,.12)!important}
.cd-pop__more-title{font-size:13px;color:#9FB0B5!important;line-height:1.3}
.cd-pop__more:hover .cd-pop__more-title{color:#4BC6D4!important}

@media (max-width:960px){
  .cd-geo__grid{grid-template-columns:1fr;gap:32px}
  .cd-geo__map{min-height:440px;height:440px}
  .cd-geo__title{font-size:28px}
  .cd-geo__cities{max-height:none;overflow:visible}
}

/* Новости */
.cd-news-card:hover .cd-news-card__title{color:#0C7C8A}
.cd-news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
@media (max-width:1100px){ .cd-news-grid{grid-template-columns:1fr 1fr!important} }
@media (max-width:700px){ .cd-news-grid{grid-template-columns:1fr!important} }

/* Вакансии */
.cd-job-title:hover{color:#0C7C8A!important}
.cd-jobs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
@media (max-width:1100px){ .cd-jobs-grid{grid-template-columns:1fr 1fr!important} }
@media (max-width:700px){ .cd-jobs-grid{grid-template-columns:1fr!important} }
@media (max-width:900px){ .cd-job-grid{grid-template-columns:1fr!important} .cd-job-grid aside{position:static!important} }

/* Сотрудникам / Сотрудничество */
@media (max-width:960px){
  .cd-staff-grid{grid-template-columns:1fr!important;gap:36px!important}
  .cd-coop-grid{grid-template-columns:1fr 1fr!important}
}
@media (max-width:700px){
  .cd-staff-tiles{grid-template-columns:1fr!important}
  .cd-coop-grid{grid-template-columns:1fr!important}
  .cd-letters-grid{grid-template-columns:1fr!important}
}

/* Проекты */
.cd-proj-card:hover .cd-proj-card__title{color:#0C7C8A}
@media (max-width:900px){ .cd-proj-grid{grid-template-columns:1fr!important} .cd-proj-grid aside{position:static!important} }

/* Направления услуг */
.cd-srv-link:hover{color:#0C7C8A!important}
.cd-srv-link:hover .cd-srv-arrow{color:#14A8B8}
@media (max-width:1000px){ .cd-dirs-grid{grid-template-columns:1fr 1fr!important} }
@media (max-width:700px){ .cd-dirs-grid{grid-template-columns:1fr!important} }


/* Услуги: кнопки-списки и тёмная панель */
.cd-srv-btn:hover{color:#0C7C8A!important}
.cd-srv-btn:hover .cd-srv-arrow{color:#14A8B8}
.cd-srv-btn.is-active{color:#0C7C8A!important;font-weight:600!important}
.cd-srv-btn.is-active .cd-srv-arrow{color:#14A8B8}
.cd-srv-panel__body p{margin:0 0 12px}
.cd-srv-panel__body p:last-child{margin-bottom:0}
/* Списки в панели услуги: колонки во всю ширину, без выравнивания строк по высоте */
.cd-srv-panel__body ul{margin:16px 0 0;padding:0;list-style:none;width:100%;max-width:none;
  columns:2;column-gap:56px}
.cd-srv-panel__body li{break-inside:avoid;-webkit-column-break-inside:avoid;margin-bottom:14px}
@media (max-width:820px){ .cd-srv-panel__body ul{columns:1} }
.cd-srv-panel__body li{font-size:16px;line-height:1.5;color:#B6C3C7;padding-left:18px;border-left:2px solid #14A8B8;list-style:none}
.cd-srv-panel{max-width:none}
.cd-srv-panel__body{width:100%;max-width:none}
.cd-srv-panel__body p{font-size:16px;line-height:1.62;color:#B6C3C7}
/* текст + этапы: две колонки, на узких экранах в одну */
.cd-srv-split{display:grid;grid-template-columns:1fr 1fr;gap:56px}
@media (max-width:1000px){ .cd-srv-split{grid-template-columns:1fr!important;gap:28px} }
@media (max-width:700px){ .cd-srv-panel{padding:32px 24px!important} }

/* Первый экран */
@media (max-width:1000px){
  .cd-hero__inner{padding:88px 24px 64px!important}
  .cd-hero__inner h1{font-size:46px!important}
  .cd-hero__stats{grid-template-columns:1fr 1fr!important;padding:0 24px!important}
  .cd-hero__stats > div{padding:24px!important;border-right:0!important;border-bottom:1px solid rgba(255,255,255,0.1)!important}
}
@media (max-width:600px){
  .cd-hero__inner h1{font-size:34px!important}
  .cd-hero__stats{grid-template-columns:1fr!important}
}

/* Форма запроса на контактах */
.cd-req__inp{height:50px;padding:0 16px;border-radius:6px;border:1px solid rgba(255,255,255,0.16);
  background:rgba(255,255,255,0.05);color:#fff;font-size:15px;font-family:inherit;outline:none;width:100%}
.cd-req__inp::placeholder{color:#8E9CA1}
.cd-req__inp:focus{border-color:#14A8B8}
@media (max-width:700px){ .cd-req{padding:32px 24px!important} .cd-req__grid{grid-template-columns:1fr!important} }
/* О компании */
.cd-about-text p{margin:0 0 18px}
.cd-about-text p:last-child{margin-bottom:0}


/* ===== МОБИЛЬНАЯ ВЕРСИЯ ===== */
/* защита от горизонтального переполнения */
html,body{max-width:100%;overflow-x:hidden}
img,video,iframe,canvas,svg{max-width:100%}
#cd-main,.cd-header,.cd-footer{max-width:100%}

/* Полноэкранное меню */
.cd-mmenu{position:fixed;inset:0;z-index:200;background:#242A2E;color:#fff;
  display:none;flex-direction:column;padding:20px 24px 28px;overflow-y:auto;overscroll-behavior:contain}
.cd-mmenu.is-open{display:flex}
.cd-mmenu__top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:8px}
.cd-mmenu__logo{height:30px;width:auto;filter:brightness(0) invert(1);opacity:.95}
.cd-mmenu__close{background:none;border:0;color:#fff;font-size:34px;line-height:1;padding:0 4px;cursor:pointer}
.cd-mmenu__nav{display:flex;flex-direction:column;margin-top:14px;flex:1 1 auto}
.cd-mmenu__nav a{display:flex;align-items:center;justify-content:space-between;
  padding:18px 0;border-bottom:1px solid rgba(255,255,255,.1);
  font-size:21px;font-weight:600;letter-spacing:-0.02em;color:#fff;text-decoration:none}
.cd-mmenu__nav a:hover,.cd-mmenu__nav a.is-current{color:#4BC6D4}
.cd-mmenu__nav a.is-current::after{content:"текущая";font-size:12px;font-weight:600;color:#14A8B8;letter-spacing:0}
.cd-mmenu__foot{padding-top:24px}
.cd-mmenu__label{font-size:11px;font-weight:600;letter-spacing:0.2em;text-transform:uppercase;color:#7E8B90}
.cd-mmenu__phone{display:block;margin:10px 0 18px;font-size:26px;font-weight:700;letter-spacing:-0.02em;color:#fff!important;text-decoration:none}
body.cd-menu-open{overflow:hidden}

/* Нижняя панель действий */
.cd-actionbar{display:none;position:fixed;left:0;right:0;bottom:0;z-index:120;gap:10px;
  padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--cd-border)}
.cd-actionbar__btn{flex:1 1 0;display:inline-flex;align-items:center;justify-content:center;height:48px;
  border-radius:6px;border:1px solid #C9D3D6;font-size:15px;font-weight:600;color:#14181A!important;text-decoration:none}
.cd-actionbar__btn--accent{background:#14A8B8;border-color:#14A8B8;color:#fff!important}

@media (max-width:1100px){
  .cd-header__inner{gap:14px;justify-content:space-between;padding:0 20px}
  .cd-nav{display:none}
  .cd-burger{display:flex}
  .cd-header__right .cd-btn{display:none}
  .cd-header__phone{font-size:15px}
}
@media (max-width:768px){
  .cd-header__inner{height:64px;padding:0 16px}
  .cd-header__logo img{height:30px}
  .cd-header__phone{font-size:14px}
  .cd-actionbar{display:flex}
  body{padding-bottom:74px}

  /* внутренние отступы секций */
  #cd-main section > div,
  .cd-footer__inner,.cd-geo__inner,.cd-hero__inner,.cd-hero__stats{padding-left:16px!important;padding-right:16px!important}
  #cd-main section{padding-top:56px!important;padding-bottom:56px!important}

  /* типографика */
  .cd-hero__inner{padding-top:56px!important;padding-bottom:44px!important}
  .cd-hero__inner h1{font-size:34px!important;line-height:1.1!important}
  #cd-main h1{font-size:34px!important;line-height:1.1!important}
  #cd-main h2{font-size:27px!important;line-height:1.15!important}
  #cd-main h3{font-size:22px!important}

  /* сетки в одну колонку */
  .cd-dirs-grid,.cd-news-grid,.cd-grid-4,.cd-grid-6,.cd-jobs-grid,
  .cd-coop-grid,.cd-letters-grid,.cd-about-grid,.cd-contacts-grid,
  .cd-job-grid,.cd-proj-grid,.cd-staff-grid,.cd-staff-tiles,.cd-req__grid{grid-template-columns:1fr!important;gap:20px!important}
  .cd-hero__stats{grid-template-columns:1fr 1fr!important}
  .cd-hero__stats > div{padding:20px 16px!important;border-right:1px solid rgba(255,255,255,.1)!important;
    border-bottom:1px solid rgba(255,255,255,.1)!important}
  .cd-hero__stats > div:nth-child(2n){border-right:0!important}

  /* карточки и панели */
  .cd-srv-panel{padding:28px 20px!important}
  .cd-geo__map{min-height:320px!important;height:320px!important}
  .cd-footer__grid{grid-template-columns:1fr 1fr!important;gap:28px!important}
  .cd-footer{padding:48px 0 28px!important}
}
@media (max-width:420px){
  .cd-hero__inner h1{font-size:29px!important}
  .cd-mmenu__nav a{font-size:19px;padding:15px 0}
  .cd-footer__grid{grid-template-columns:1fr!important}
}

/* Логотипы заказчиков */
.cd-logo-cell:hover{border-color:#14A8B8}
.cd-logo-cell img{filter:grayscale(1);opacity:.78;transition:.15s}
.cd-logo-cell:hover img{filter:none;opacity:1}
@media (max-width:1000px){ .cd-logos-grid{grid-template-columns:repeat(3,1fr)!important} }
@media (max-width:700px){ .cd-logos-grid{grid-template-columns:1fr 1fr!important} }
