/*
  FITVL light theme concept
  Задача: не менять структуру, тексты и изображения исходного index.html.
  Этот файл — визуальный слой поверх текущей презентационной версии.
  Для Bitrix: стили можно переносить отдельным файлом и подключать после штатных стилей шаблона.
*/

:root{
  --page:#f3f4f7;
  --bg:#06070a;
  --bg2:#0b0d11;
  --card:#101319;
  --card2:#131821;
  --line:rgba(255,255,255,.105);
  --line-soft:rgba(255,255,255,.065);
  --text:#f7f8fb;
  --muted:#9aa3b3;
  --blue:#1769ff;
  --blue2:#2d76ff;
  --shadow:0 28px 90px rgba(0,0,0,.52);
  --radius:4px;
  --container:940px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--page);
  color:var(--text);
  font-family: Montserrat, Arial, sans-serif;
}
a{text-decoration:none;color:inherit}
.caption{
  width:min(980px, calc(100% - 24px));
  margin:12px auto 8px;
  color:#08090b;
  font-size:13px;
  font-weight:800;
  letter-spacing:.01em;
  text-transform:uppercase;
}
.site{
  width:min(980px, calc(100% - 24px));
  margin:0 auto 42px;
  background:#07080b;
  box-shadow:0 18px 55px rgba(0,0,0,.18);
  overflow:hidden;
}
.container{
  width:min(var(--container), calc(100% - 46px));
  margin:0 auto;
}

/* Верх как в согласованном варианте */
.header{
  height:72px;
  background:#06070a;
  border-bottom:1px solid rgba(255,255,255,.08);
  position:sticky;
  top:0;
  z-index:20;
}
.header .container{
  height:72px;
  display:grid;
  grid-template-columns:160px 1fr 230px 24px;
  align-items:center;
  gap:18px;
}
.logo{
  display:flex;
  align-items:center;
  gap:10px;
}
.logo-main{
  font-size:28px;
  font-weight:900;
  letter-spacing:-.045em;
  line-height:1;
}
.logo-sub{
  font-size:8px;
  line-height:1.25;
  color:#aeb5c2;
  text-transform:uppercase;
  font-weight:800;
  max-width:86px;
}
.nav{
  display:flex;
  justify-content:center;
  gap:24px;
  color:#d9deea;
  font-size:10px;
  font-weight:700;
  white-space:nowrap;
}
/*.nav a{opacity:.88}
.nav a:hover{opacity:1;color:#fff}*/
.contact-top{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:14px;
  font-size:10px;
  color:#d9deea;
}
.phone strong{
  color:#3b7cff;
  display:block;
  font-size:11px;
}
.phone span{display:block;color:#9ca5b5;margin-top:2px}
.top-btn{
  height:32px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 18px;
  border-radius:3px;
  background:linear-gradient(180deg,#2f7dff,#135cff);
  color:#fff;
  font-size:10px;
  font-weight:800;
  box-shadow:0 10px 24px rgba(23,105,255,.24);
}
.burger{
  width:24px;height:18px;display:grid;gap:4px;
}
.burger span{display:block;height:2px;background:#778293;border-radius:3px}

/* Hero */
.hero{
  position:relative;
  min-height:490px;
  border-bottom:1px solid var(--line);
  background:#08090d;
  overflow:hidden;
}
.hero-slider{
  position:relative;
  min-height:490px;
}
.hero-slide{
  position:absolute;
  inset:0;
  opacity:0;
  visibility:hidden;
  transform:none;
  transition:
    opacity 1.1s ease,
    visibility 1.1s ease,
    transform 1.1s cubic-bezier(.22,.61,.36,1);
  z-index:1;
}
.hero-slide.is-active{
  opacity:1;
  visibility:visible;
  transform:none;
  z-index:2;
}
.hero-bg{
  position:absolute;
  inset:0;
  background-position:right center;
  background-size:cover;
  background-repeat:no-repeat;
  transform:scale(1);
}
.hero-bg:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(7,8,12,.94) 0%, rgba(7,8,12,.86) 22%, rgba(7,8,12,.54) 42%, rgba(7,8,12,.18) 67%, rgba(7,8,12,.06) 100%),
    linear-gradient(180deg, rgba(7,8,12,.02), rgba(7,8,12,.28));
}
.hero-bg:after{
  content:"";
  position:absolute;inset:0;
  background:radial-gradient(circle at 16% 44%, rgba(25,92,255,.10), transparent 35%);
}
.hero .container{
  position:relative;
  z-index:1;
  padding:76px 0 48px;
  min-height:490px;
  display:flex;
  align-items:center;
}
.hero-copy{max-width:390px}
.hero-kicker{
  color:#2d76ff;
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.16em;
  margin-bottom:16px;
}
h1{
  margin:0;
  width:430px;
  font-size:38px;
  line-height:1.08;
  letter-spacing:-.045em;
  font-weight:900;
}
.lead{
  margin:24px 0 0;
  width:330px;
  color:#d4dae5;
  font-size:14px;
  line-height:1.65;
}
.hero-actions{
  display:flex;
  gap:12px;
  margin-top:34px;
}
.btn{
  height:38px;
  padding:0 26px;
  border-radius:3px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:11px;
  font-weight:800;
  transition:.22s ease;
}
.btn-blue{
  background:linear-gradient(180deg,#2f7dff,#135cff);
  color:#fff;
  box-shadow:0 13px 28px rgba(23,105,255,.23);
}
.btn-dark{
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.025);
  color:#d7deea;
}
.btn:hover{transform:translateY(-2px)}
.hero-arrow{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:42px;height:42px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(6,7,10,.45);
  color:#dbe3ef;
  font-size:28px;
  line-height:1;
  display:grid;
  place-items:center;
  cursor:pointer;
  z-index:5;
  transition:.2s ease;
  backdrop-filter:blur(5px);
}
.hero-arrow:hover{background:rgba(23,105,255,.22);border-color:rgba(45,118,255,.45)}
.hero-arrow{display:none !important}
.hero-arrow-prev{left:18px;display:none}
.hero-arrow-next{right:18px}
.hero-slide:first-child .hero-arrow-prev{display:none}
.hero-dots{
  position:absolute;
  left:0;right:0;bottom:22px;
  display:flex;
  justify-content:center;
  gap:8px;
  z-index:5;
}
.hero-dot{
  width:10px;height:10px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.22);
  background:rgba(255,255,255,.12);
  cursor:pointer;
  padding:0;
}
.hero-dot.is-active{background:#2d76ff;border-color:#2d76ff;box-shadow:0 0 0 4px rgba(45,118,255,.14)}
.hero-tiles{
  position:absolute;
  inset:0;
  z-index:4;
  pointer-events:none;
  overflow:hidden;
  opacity:0;
}
.hero-tiles.is-active{opacity:1}
.hero-tile{
  position:absolute;
  background-repeat:no-repeat;
  background-size:cover;
  will-change:transform, opacity, filter;
  transition:
    transform var(--tile-duration, 2s) cubic-bezier(.22,.61,.36,1),
    opacity var(--tile-duration, 2s) ease,
    filter var(--tile-duration, 2s) ease;
  opacity:1;
  filter:blur(0px);
}
.hero-tiles.is-exploding .hero-tile{
  opacity:0;
  transform:translate3d(var(--tx), var(--ty), 0) scale(var(--tile-scale, .92)) rotate(var(--rot));
  filter:blur(var(--tile-blur, 2px));
}



/* v20: hero canvas animation. Smooth bridge-collapse wave from the opposite edge; next banner reveals behind it. */
.hero,
.hero-slider{
  min-height:620px !important;
}
.hero-slide{
  overflow:hidden;
  background:#08090d;
}
.hero-slide .hero-bg{
  z-index:0;
  transition:opacity 1.15s ease, filter 1.15s ease, transform 1.15s ease;
}
.hero-slide .container{
  position:relative;
  z-index:4;
  min-height:620px !important;
  padding-top:136px !important;
  padding-bottom:82px !important;
  transition:opacity .8s ease, transform .8s ease;
}
.hero-slide.is-underlay{
  opacity:1;
  visibility:visible;
  z-index:1;
}
.hero-slide.is-underlay .hero-bg{
  opacity:.52;
  filter:saturate(.98) brightness(1.04);
  transform:scale(1.015);
}
.hero-slide.is-underlay.is-revealing .hero-bg{
  opacity:1;
  filter:none;
  transform:scale(1);
}
.hero-slide.is-underlay .container{
  opacity:.16;
  transform:translateY(0);
  filter:blur(.2px);
}
.hero-slide.is-underlay.is-revealing .container{
  opacity:.92;
  transform:translateY(0);
  filter:none;
}
.hero-slide.is-breaking{
  z-index:3;
  background:transparent;
}
.hero-slide.is-breaking .hero-bg{
  opacity:0;
}
.hero-slide.is-breaking .hero-break-canvas{
  background:transparent;
}
.hero-slide.is-content-out .container{
  opacity:0;
  transform:translateY(10px);
}
.hero-slide.is-entering:not(.is-underlay) .container{
  opacity:0;
  transform:translateY(18px);
}
.hero-slide.is-entering:not(.is-underlay) .container{
  opacity:0;
  transform:translateY(18px);
}
.hero-break-canvas{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  z-index:2;
  pointer-events:none;
  opacity:0;
  transition:opacity .18s linear;
  background:transparent;
}
.hero-break-canvas.is-active{
  opacity:1;
}
.hero-arrow{
  display:none !important;
}
.hero-dots{
  z-index:6 !important;
}
@media(max-width:768px){
  .hero-slide .container{
    padding-top:92px !important;
    padding-bottom:86px !important;
  }
}

/* Статистика как в согласованном скрине */
.stats{
  background:linear-gradient(180deg,#0b0d12,#08090d);
  border-bottom:1px solid var(--line);
}
.stats-grid{
  display:grid;
  grid-template-columns:1fr 1fr 1.45fr 1.2fr 1.45fr;
}
.stat{
  min-height:96px;
  padding:25px 22px 18px;
  border-right:1px solid rgba(255,255,255,.08);
}
.stat:last-child{border-right:0}
.stat b{
  display:block;
  color:var(--blue2);
  font-size:26px;
  line-height:1;
  letter-spacing:-.045em;
  margin-bottom:6px;
}
.stat span{
  display:block;
  color:#d7dce7;
  font-size:11px;
  line-height:1.32;
}
.stat .icon{
  color:var(--blue2);
  font-size:22px;
  margin-bottom:6px;
  display:block;
}

section{
  background:#090a0e;
  border-bottom:1px solid var(--line);
}
.section-pad{padding:30px 0}
.section-title{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:18px;
}
h2{
  margin:0;
  font-size:24px;
  letter-spacing:-.035em;
  font-weight:850;
}
.outline-link{
  height:30px;
  display:inline-flex;
  align-items:center;
  border:1px solid rgba(255,255,255,.18);
  border-radius:3px;
  padding:0 18px;
  color:#dce2ed;
  font-size:10px;
  font-weight:700;
}

/* Проекты верхние */
.project-row{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:9px;
}
.project-card{
  height:228px;
  position:relative;
  overflow:hidden;
  border-radius:3px;
  background:#111;
  border:1px solid rgba(255,255,255,.045);
}
.project-card img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  filter:brightness(.58) saturate(.75) contrast(1.1);
  transition:.3s ease;
}
.project-card:hover img{transform:scale(1.04);filter:brightness(.7) saturate(.85) contrast(1.12)}
.project-card:after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg, transparent 32%, rgba(0,0,0,.88) 100%);
}
.project-info{
  position:absolute;z-index:2;left:22px;right:18px;bottom:20px;
}
.project-info h3{
  margin:0 0 2px;
  font-size:16px;
  letter-spacing:-.02em;
}
.project-info .city{
  color:#c4cad4;
  font-size:11px;
  margin-bottom:18px;
}
.project-info p{
  margin:0;
  color:#c3c9d4;
  font-size:10px;
  line-height:1.45;
}

/* Услуги-иконки */
.service-icons{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border-top:1px solid var(--line);
  margin-top:28px;
}
.service-icon{
  padding:28px 20px;
  border-right:1px solid rgba(255,255,255,.07);
  display:grid;
  grid-template-columns:38px 1fr;
  gap:14px;
  align-items:start;
}
.service-icon:last-child{border-right:0}
.blue-icon{
  width:32px;height:32px;border-radius:50%;
  border:1px solid rgba(45,118,255,.55);
  color:var(--blue2);
  display:grid;
  place-items:center;
  font-size:17px;
}
.service-icon h3{
  margin:0 0 7px;
  font-size:13px;
  letter-spacing:-.01em;
}
.service-icon p{
  margin:0;
  color:#9fa7b7;
  font-size:10px;
  line-height:1.45;
}

/* Бренды */
.brand-section{
  padding:27px 0 26px;
  background:#090a0e;
}
.brand-label{
  text-align:center;
  color:#d8dde8;
  font-size:12px;
  margin-bottom:20px;
}
.brand-grid{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:9px;
}
.brand-cell{
  height:80px;
  border-radius:3px;
  background:linear-gradient(180deg,#141820,#0f1218);
  border:1px solid rgba(255,255,255,.055);
  display:grid;
  place-items:center;
  color:#fff;
  font-size:18px;
  font-weight:900;
  letter-spacing:-.045em;
  opacity:.88;
}
.brand-cell small{
  display:block;
  font-size:6px;
  color:#b9c1cf;
  margin-top:3px;
  text-align:center;
  letter-spacing:0;
}

/* Промо */
.promo-grid{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:9px;
  padding:0 0 26px;
}
.promo-card{
  position:relative;
  height:147px;
  border-radius:3px;
  overflow:hidden;
  background:#111;
  border:1px solid rgba(255,255,255,.055);
  padding:24px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
}
.promo-card img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  filter:brightness(.44) saturate(.8);
}
.promo-card:after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(90deg, rgba(8,10,15,.9), rgba(8,10,15,.45), rgba(8,10,15,.12));
}
.promo-card > *{position:relative;z-index:2}
.promo-card h3{
  margin:0;
  font-size:16px;
  line-height:1.22;
  letter-spacing:-.025em;
}
.promo-card p{
  margin:8px 0 15px;
  color:#ccd3df;
  font-size:10px;
  line-height:1.45;
  max-width:160px;
}
.blue-more{
  color:#2d76ff;
  font-size:10px;
  font-weight:800;
}

/* Детализация ниже первого экрана */
.catalog-detail{
  background:#07080b;
  padding:46px 0;
}
.deep-title{
  display:grid;
  grid-template-columns:1fr 340px;
  gap:30px;
  align-items:end;
  margin-bottom:24px;
}
.eyebrow{
  color:#2d76ff;
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.18em;
  margin-bottom:10px;
}
.deep-title h2{
  font-size:34px;
  line-height:1.02;
}
.deep-title p{
  margin:0;
  color:#9fa8b8;
  font-size:13px;
  line-height:1.65;
}
.catalog-grid{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:10px;
}
.cat{
  min-height:255px;
  background:linear-gradient(180deg,#11151d,#0d1016);
  border:1px solid rgba(255,255,255,.07);
  border-radius:3px;
  padding:24px;
  position:relative;
  overflow:hidden;
}
.cat:after{
  content:"";position:absolute;right:-60px;bottom:-60px;width:150px;height:150px;
  border-radius:50%;
  background:rgba(45,118,255,.07);
}
.cat-icon{
  width:46px;height:46px;
  border:1px solid rgba(45,118,255,.38);
  color:#2d76ff;
  display:grid;
  place-items:center;
  font-size:23px;
  margin-bottom:18px;
}
.cat h3{margin:0 0 16px;font-size:18px}
.cat ul{
  list-style:none;margin:0;padding:0;
  display:grid;gap:8px;
  color:#b5bdca;
  font-size:12px;
  line-height:1.35;
}
.cat li:before{content:"— ";color:#2d76ff}

.wide-services{
  padding:46px 0;
  background:#090a0e;
}
.visual-services{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.visual-card{
  min-height:248px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:3px;
  overflow:hidden;
  position:relative;
  background:#111;
}
.visual-card img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  filter:brightness(.54) saturate(.75) contrast(1.05);
}
.visual-card:after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg, transparent 22%, rgba(0,0,0,.90));
}
.visual-card .project-info h3{font-size:20px}
.visual-card .project-info p{font-size:12px;max-width:340px}

.cases-detail{
  background:#07080b;
  padding:46px 0;
}
.case-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:10px;
}
.case{
  background:#10141b;
  border:1px solid rgba(255,255,255,.07);
  border-radius:3px;
  overflow:hidden;
}
.case-img{height:220px;background:#111}
.case-img img{width:100%;height:100%;object-fit:cover;filter:brightness(.76) saturate(.8)}
.project-card img,
.case-img img{
  cursor:zoom-in;
}
.image-lightbox{
  position:fixed;
  inset:0;
  z-index:1000;
  display:none;
  align-items:center;
  justify-content:center;
  padding:42px;
  background:rgba(0,0,0,.86);
  backdrop-filter:blur(10px);
}
.image-lightbox.is-open{
  display:flex;
}
.image-lightbox img{
  max-width:min(1180px, 92vw);
  max-height:84vh;
  object-fit:contain;
  border-radius:6px;
  box-shadow:0 30px 120px rgba(0,0,0,.7);
}
.image-lightbox-close{
  position:absolute;
  top:24px;
  right:28px;
  width:42px;
  height:42px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:50%;
  background:rgba(255,255,255,.06);
  color:#fff;
  font-size:28px;
  line-height:1;
  cursor:pointer;
}
.image-lightbox-caption{
  position:absolute;
  left:42px;
  bottom:28px;
  color:#dbe3ef;
  font-size:13px;
  max-width:70vw;
}
.case-body{padding:16px 16px 18px}
.case-region{
  color:#7f8ba0;
  text-transform:uppercase;
  font-size:9px;
  letter-spacing:.12em;
  margin-bottom:8px;
  font-weight:800;
}
.case h3{margin:0 0 10px;font-size:14px;line-height:1.3}
.case p{margin:0;color:#9fa8b8;font-size:11px;line-height:1.45}

.process{
  background:#090a0e;
  padding:46px 0;
}
.steps{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:8px;
  counter-reset:step;
}
.step{
  counter-increment:step;
  min-height:178px;
  padding:20px 16px;
  background:linear-gradient(180deg,#11151d,#0d1016);
  border:1px solid rgba(255,255,255,.07);
  border-radius:3px;
}
.step:before{
  content:"0" counter(step);
  color:#2d76ff;
  font-weight:900;
  font-size:20px;
  display:block;
  margin-bottom:18px;
}
.step h3{font-size:13px;margin:0 0 8px}
.step p{margin:0;color:#9fa8b8;font-size:10.5px;line-height:1.5}

.docs-about{
  background:#07080b;
  padding:46px 0;
}
.about-grid{
  display:grid;
  grid-template-columns:330px 1fr;
  gap:24px;
  align-items:start;
}
.ft-block{
  height:330px;
  background:linear-gradient(135deg,#f7b719,#ff7a1a 55%,#10141b 56%,#07080b);
  border:1px solid rgba(255,255,255,.08);
  border-radius:3px;
  display:grid;
  place-items:center;
  color:#fff;
  font-size:86px;
  font-weight:900;
  letter-spacing:-.08em;
  box-shadow:var(--shadow);
}
.about-text{
  background:linear-gradient(180deg,#11151d,#0d1016);
  border:1px solid rgba(255,255,255,.07);
  padding:28px;
  min-height:330px;
}
.about-text h2{font-size:30px;line-height:1.12;margin-bottom:16px}
.about-text p{
  color:#aab2c0;
  font-size:13px;
  line-height:1.7;
  margin:0 0 20px;
}
.about-points{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.about-point{
  border-top:1px solid rgba(255,255,255,.08);
  padding-top:13px;
}
.about-point b{display:block;font-size:13px;margin-bottom:6px}
.about-point span{font-size:11px;color:#909aaa;line-height:1.45}

.certs-products{
  background:#090a0e;
  padding:46px 0;
}
.two-col{
  display:grid;
  grid-template-columns:1fr 310px;
  gap:18px;
  align-items:start;
}
.cert-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:9px;
}
.cert{
  background:#10141b;
  border:1px solid rgba(255,255,255,.07);
  padding:10px;
  border-radius:3px;
}
.cert img{width:100%;display:block;filter:brightness(.82) grayscale(.1)}
.cert p{margin:10px 2px 0;color:#a8b0bd;font-size:10px;line-height:1.35}
.products{
  display:grid;
  gap:9px;
}
.product{
  display:grid;
  grid-template-columns:86px 1fr;
  gap:12px;
  align-items:center;
  background:#10141b;
  border:1px solid rgba(255,255,255,.07);
  padding:10px;
  border-radius:3px;
}
.product img{width:86px;height:58px;object-fit:cover;background:#fff}
.product b{font-size:11px;line-height:1.25;display:block}
.product span{font-size:11px;color:#fff;font-weight:900;margin-top:5px;display:block}

.final-cta{
  background:
    linear-gradient(90deg, rgba(7,8,11,.96), rgba(7,8,11,.86)),
    url("/assets/real_service_supply.jpg") center/cover;
  padding:54px 0;
}
.cta-box{
  display:grid;
  grid-template-columns:1fr auto;
  gap:26px;
  align-items:center;
}
.cta-box h2{font-size:34px;line-height:1.05}
.cta-box p{color:#aab2c0;font-size:13px;line-height:1.65;max-width:610px}

footer{
  background:#06070a;
  padding:42px 0;
  color:#8993a3;
  font-size:11px;
}
.footer-grid{
  display:grid;
  grid-template-columns:1.4fr repeat(3,1fr);
  gap:34px;
}
footer h3{
  color:#fff;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.12em;
  margin:0 0 14px;
}
footer p{line-height:1.8;margin:0}
.mobile-note{display:none}

@media(max-width:900px){
  .site,.caption{width:100%;margin-left:0;margin-right:0}
  .header .container{grid-template-columns:150px 1fr 24px}
  .nav{display:none}
  .contact-top{justify-content:end}
  .top-btn{display:none}
  .hero .container{padding:64px 0 78px}
  .hero-bg:before{background:
    linear-gradient(180deg, rgba(7,8,12,.28), rgba(7,8,12,.9)),
    linear-gradient(90deg, #07080c 0%, rgba(7,8,12,.78) 50%, rgba(7,8,12,.2) 100%)}
  h1,.lead{width:min(100%,390px)}
  .stats-grid,.project-row,.service-icons,.brand-grid,.promo-grid,.catalog-grid,.visual-services,.case-grid,.steps,.about-grid,.two-col,.footer-grid,.cta-box{grid-template-columns:1fr 1fr}
  .stat{border-bottom:1px solid rgba(255,255,255,.08)}
  .about-grid,.two-col,.cta-box{grid-template-columns:1fr}
  .cert-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  .caption{font-size:11px;padding:0 12px}
  .container{width:calc(100% - 28px)}
  .header .container{grid-template-columns:1fr 24px}
  .contact-top{display:none}
  .hero .container{padding:52px 0 86px;min-height:470px}
  .hero-copy{max-width:100%}
  .hero-arrow{width:36px;height:36px;font-size:24px;top:auto;bottom:18px;transform:none}
  .hero-arrow-prev{left:14px}
  .hero-arrow-next{right:14px}
  h1{font-size:34px}
  .hero-actions{flex-direction:column;align-items:flex-start}
  .stats-grid,.project-row,.service-icons,.brand-grid,.promo-grid,.catalog-grid,.visual-services,.case-grid,.steps,.footer-grid,.cert-grid{grid-template-columns:1fr}
  .deep-title{grid-template-columns:1fr}
  .project-card{height:250px}
  .promo-card{height:160px}
  .ft-block{height:230px;font-size:64px}
}

.project-card,
.case-img{
  background:
    linear-gradient(135deg, rgba(23,105,255,.14), rgba(0,0,0,.55)),
    #11151d;
}
.project-card img,
.case-img img{
  display:block;
}


.zoomable{
  cursor:zoom-in;
}
.image-lightbox{
  position:fixed;
  inset:0;
  z-index:99999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:40px;
  background:rgba(0,0,0,.88);
  backdrop-filter:blur(10px);
}
.image-lightbox.is-open{
  display:flex;
}
.image-lightbox img{
  max-width:92vw;
  max-height:84vh;
  object-fit:contain;
  border-radius:6px;
  box-shadow:0 30px 120px rgba(0,0,0,.75);
}
.image-lightbox-close{
  position:absolute;
  top:24px;
  right:28px;
  width:44px;
  height:44px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.25);
  background:rgba(255,255,255,.08);
  color:#fff;
  font-size:30px;
  cursor:pointer;
  z-index:2;
}
.image-lightbox-caption{
  position:absolute;
  left:40px;
  bottom:28px;
  color:#dbe3ef;
  font-size:14px;
}


.cases-hint{
  margin:14px 0 18px;
  color:#8ea2c6;
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.case-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:18px;
}
.case{
  background:#0b0f15;
  border:1px solid rgba(255,255,255,.08);
  border-radius:6px;
  overflow:hidden;
  transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}
.case:hover{
  transform:translateY(-4px);
  border-color:rgba(48,118,255,.35);
  box-shadow:0 18px 50px rgba(0,0,0,.28);
}
.case-img{
  position:relative;
  height:336px;
  overflow:hidden;
  background:#0b1220;
}
.case-img img.project-zoom{
  width:100%;height:100%;object-fit:cover;display:block;
  filter:none;
  cursor:zoom-in;
  transition:transform .35s ease;
}
.case:hover .case-img img.project-zoom{transform:scale(1.03)}
.case-overlay{
  position:absolute;
  left:0;right:0;bottom:0;
  padding:18px 16px 16px;
  background:linear-gradient(180deg, rgba(5,8,14,0) 0%, rgba(5,8,14,.88) 58%, rgba(5,8,14,.98) 100%);
  display:flex;
  flex-direction:column;
  gap:6px;
  pointer-events:none;
}
.case-overlay span{
  font-size:11px;
  line-height:1.2;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:#9fb1d5;
}
.case-overlay strong{
  font-size:16px;
  line-height:1.28;
  color:#fff;
  font-weight:800;
}
.case-body{padding:16px 18px 20px}
.case-region{
  color:#8695ae;
  text-transform:uppercase;
  letter-spacing:.10em;
  font-size:11px;
  margin-bottom:8px;
}
.case-body h3{
  margin:0 0 10px;
  font-size:19px;
  line-height:1.28;
}
.case-body p{
  margin:0;
  color:#bcc7d9;
  font-size:13px;
  line-height:1.55;
}
.image-lightbox{
  position:fixed;
  inset:0;
  z-index:99999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:42px;
  background:rgba(4,7,12,.92);
  backdrop-filter:blur(14px);
}
.image-lightbox.is-open{display:flex}
.image-lightbox img{
  max-width:min(1280px, 92vw);
  max-height:84vh;
  object-fit:contain;
  border-radius:10px;
  box-shadow:0 28px 120px rgba(0,0,0,.68);
}
.image-lightbox-close{
  position:absolute;
  top:24px;
  right:28px;
  width:44px;
  height:44px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.08);
  color:#fff;
  font-size:30px;
  line-height:1;
  cursor:pointer;
}
.image-lightbox-caption{
  position:absolute;
  left:42px;
  bottom:28px;
  max-width:70vw;
  color:#e7edf8;
  font-size:14px;
  line-height:1.4;
}
.signature-marquee{
  position:fixed;
  left:50%;
  bottom:18px;
  transform:translateX(-50%);
  z-index:2000;
  width:min(760px, calc(100% - 32px));
  overflow:hidden;
  border-radius:999px;
  border:1px solid rgba(255,166,79,.28);
  background:linear-gradient(90deg, rgba(255,126,37,.96), rgba(255,157,65,.96));
  box-shadow:0 16px 40px rgba(0,0,0,.22);
}
.signature-marquee__track{
  display:flex;
  width:max-content;
  gap:48px;
  padding:13px 28px;
  white-space:nowrap;
  font-size:14px;
  color:#462000;
  font-weight:700;
  animation:fitvlMarquee 20s linear infinite;
}
@keyframes fitvlMarquee{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}
@media (max-width: 1100px){
  .case-grid{grid-template-columns:repeat(2, minmax(0,1fr));}
}
@media (max-width: 700px){
  .case-grid{grid-template-columns:1fr;}
  .case-img{height:290px;}
  .signature-marquee{width:calc(100% - 20px);bottom:12px;}
  .signature-marquee__track{font-size:12px;padding:11px 18px;}
  .image-lightbox{padding:18px;}
  .image-lightbox-caption{left:18px;right:18px;bottom:18px;max-width:none;}
}


.project-row .project-card img{cursor:default !important;}
#real-projects-gallery .case-img img.project-zoom{cursor:zoom-in !important;}


.project-controls{
  display:flex;
  align-items:center;
  gap:8px;
}
.project-scroll-btn{
  width:32px;
  height:30px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.04);
  color:#fff;
  border-radius:3px;
  cursor:pointer;
  font-size:20px;
  line-height:1;
}
.project-scroll-btn:hover{
  background:rgba(45,118,255,.20);
  border-color:rgba(45,118,255,.45);
}
.project-row.project-scroll{
  display:flex !important;
  grid-template-columns:none !important;
  gap:12px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  padding-bottom:12px;
}
.project-row.project-scroll::-webkit-scrollbar{
  height:6px;
}
.project-row.project-scroll::-webkit-scrollbar-track{
  background:rgba(255,255,255,.06);
}
.project-row.project-scroll::-webkit-scrollbar-thumb{
  background:#2d76ff;
  border-radius:20px;
}
.project-row.project-scroll .project-card{
  flex:0 0 224px;
  scroll-snap-align:start;
}
.project-card img.project-zoom,
#real-projects-gallery .case-img img.project-zoom{
  cursor:zoom-in !important;
}
.image-lightbox.is-open{
  display:flex !important;
}


.projects-presentation .section-title{
  align-items:flex-start;
}
.presentation-note{
  max-width:520px;
  margin:10px 0 0;
  color:#9fa8b8;
  font-size:13px;
  line-height:1.55;
}
.project-controls{
  display:flex;
  align-items:center;
  gap:8px;
  flex-shrink:0;
}
.project-scroll-btn{
  width:34px;
  height:32px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.04);
  color:#fff;
  border-radius:3px;
  cursor:pointer;
  font-size:22px;
  line-height:1;
}
.project-scroll-btn:hover{
  background:rgba(45,118,255,.20);
  border-color:rgba(45,118,255,.45);
}
.project-row.project-scroll{
  display:flex !important;
  grid-template-columns:none !important;
  gap:12px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  padding-bottom:12px;
}
.project-row.project-scroll::-webkit-scrollbar{height:6px}
.project-row.project-scroll::-webkit-scrollbar-track{background:rgba(255,255,255,.06)}
.project-row.project-scroll::-webkit-scrollbar-thumb{background:#2d76ff;border-radius:20px}
.project-row.project-scroll .project-card{
  flex:0 0 246px;
  height:360px;
  scroll-snap-align:start;
  cursor:default;
}
.project-row.project-scroll .project-card img.project-zoom{
  cursor:zoom-in !important;
  filter:brightness(.66) saturate(.82) contrast(1.06);
}
.project-row.project-scroll .project-info{
  left:16px;
  right:16px;
  bottom:16px;
}
.project-row.project-scroll .project-info h3{
  font-size:17px;
  margin-bottom:4px;
}
.project-row.project-scroll .project-info .city{
  margin-bottom:10px;
  color:#d0d7e5;
}
.project-meta{
  display:grid;
  gap:4px;
  margin:0 0 10px;
  color:#ffffff;
  font-size:10px;
  line-height:1.25;
}
.project-meta span{
  display:block;
  padding-left:10px;
  position:relative;
}
.project-meta span:before{
  content:"";
  position:absolute;
  left:0;
  top:.55em;
  width:4px;
  height:4px;
  border-radius:50%;
  background:#2d76ff;
}
.project-row.project-scroll .project-info p{
  font-size:10px;
  color:#c2cad8;
}
.image-lightbox{
  position:fixed;
  inset:0;
  z-index:99999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:42px;
  background:rgba(4,7,12,.92);
  backdrop-filter:blur(14px);
}
.image-lightbox.is-open{display:flex !important}
.image-lightbox img{
  max-width:min(1280px, 92vw);
  max-height:84vh;
  object-fit:contain;
  border-radius:10px;
  box-shadow:0 28px 120px rgba(0,0,0,.68);
}
.image-lightbox-close{
  position:absolute;
  top:24px;
  right:28px;
  width:44px;
  height:44px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.08);
  color:#fff;
  font-size:30px;
  line-height:1;
  cursor:pointer;
}
.image-lightbox-caption{
  position:absolute;
  left:42px;
  bottom:28px;
  max-width:70vw;
  color:#e7edf8;
  font-size:14px;
  line-height:1.4;
}
@media(max-width:680px){
  .projects-presentation .section-title{display:block}
  .project-controls{margin-top:14px}
  .project-row.project-scroll .project-card{flex-basis:260px;height:370px}
}


.js-project-zoom{
  cursor:zoom-in !important;
}
.image-lightbox{
  position:fixed !important;
  inset:0 !important;
  z-index:999999 !important;
  display:none;
  align-items:center;
  justify-content:center;
  padding:42px;
  background:rgba(4,7,12,.92);
  backdrop-filter:blur(14px);
}
.image-lightbox.is-open{
  display:flex !important;
}
.image-lightbox img{
  max-width:92vw;
  max-height:84vh;
  object-fit:contain;
  border-radius:10px;
  box-shadow:0 28px 120px rgba(0,0,0,.68);
}
.image-lightbox-close{
  position:absolute;
  top:24px;
  right:28px;
  width:44px;
  height:44px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.08);
  color:#fff;
  font-size:30px;
  line-height:1;
  cursor:pointer;
}
.image-lightbox-caption{
  position:absolute;
  left:42px;
  bottom:28px;
  max-width:70vw;
  color:#e7edf8;
  font-size:14px;
  line-height:1.4;
}


/* Menu refinement for presentation */
.header{
  /*height:78px !important;*/
  background:rgba(6,7,10,.98) !important;
  backdrop-filter:blur(10px);
}
.header .container{
  /*height:78px !important;*/
  grid-template-columns:190px 1fr 270px !important;
  gap:22px !important;
}
.logo{
  gap:12px !important;
}
.logo-main{
  font-size:30px !important;
  letter-spacing:-.055em !important;
}
.logo-sub{
  font-size:8px !important;
  line-height:1.22 !important;
  color:#d6ddeb !important;
  opacity:.9;
  max-width:76px !important;
  letter-spacing:.03em;
}
.nav{
  gap:22px !important;
  font-size:11px !important;
  font-weight:800 !important;
  justify-content:center !important;
}
.nav a{
  position:relative;
  opacity:.82 !important;
  padding:30px 0;
  transition:.22s ease;
}
/*.nav a:after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:22px;
  height:2px;
  background:#2d76ff;
  transform:scaleX(0);
  transform-origin:center;
  transition:.22s ease;
  border-radius:20px;
}
.nav a:hover{
  opacity:1 !important;
  color:#fff !important;
}
.nav a:hover:after{
  transform:scaleX(1);
}*/
.contact-top{
  gap:16px !important;
}
.phone strong{
  font-size:12px !important;
  letter-spacing:.01em;
}
.phone span{
  font-size:10px !important;
}
.top-btn{
  height:36px !important;
  min-width:128px;
  font-size:11px !important;
  border-radius:4px !important;
}
.burger{
  display:none !important;
}

@media(max-width:900px){
  .header .container{
    grid-template-columns:160px 1fr 24px !important;
  }
  .burger{
    display:grid !important;
  }
}

@media(max-width:560px){
  .header .container{
    grid-template-columns:1fr 24px !important;
  }
  .logo-sub{
    max-width:84px !important;
  }
}


/* Full-screen presentation mode */
body{
  background:#06070a !important;
}
.caption{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:12px 28px 10px !important;
  background:#f3f4f7;
  color:#08090b;
}
.site{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  box-shadow:none !important;
}
.container{
  width:min(1320px, calc(100% - 72px)) !important;
}

/* Dropdown menu */
.header{
  overflow:visible !important;
  z-index:100 !important;
}
.header .container{
  grid-template-columns:190px 1fr 270px !important;
}
.nav-dropdown{
  display:flex !important;
  align-items:stretch;
  justify-content:center !important;
  gap:0 !important;
  height:78px;
  overflow:visible;
}
.nav-item{
  position:relative;
  display:flex;
  align-items:center;
  height:78px;
}
.nav-item > button{
  height:78px;
  padding:0 13px;
  border:0;
  background:transparent;
  color:#d9deea;
  font:inherit;
  font-size:11px;
  font-weight:800;
  cursor:default;
  opacity:.86;
  transition:.22s ease;
  white-space:nowrap;
}
.nav-item > button:after{
  content:"";
  display:inline-block;
  width:5px;
  height:5px;
  margin-left:7px;
  border-right:1px solid currentColor;
  border-bottom:1px solid currentColor;
  transform:rotate(45deg) translateY(-2px);
  opacity:.55;
}
.nav-item:hover > button{
  color:#fff;
  opacity:1;
  background:rgba(255,255,255,.045);
}
.submenu{
  position:absolute;
  left:0;
  top:100%;
  min-width:238px;
  padding:10px;
  background:rgba(12,15,21,.98);
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 22px 60px rgba(0,0,0,.45);
  backdrop-filter:blur(12px);
  opacity:0;
  visibility:hidden;
  transform:translateY(10px);
  transition:.22s ease;
  z-index:120;
}
.nav-item:hover .submenu{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}
.submenu span,
.submenu strong{
  display:block;
}
.submenu span{
  padding:11px 13px;
  color:#b9c3d4;
  font-size:12px;
  line-height:1.25;
  border-radius:3px;
  white-space:nowrap;
  cursor:default;
  transition:.18s ease;
}
.submenu span:hover{
  color:#fff;
  background:rgba(45,118,255,.16);
}
.submenu strong{
  padding:10px 13px 8px;
  color:#fff;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.10em;
}
.submenu-wide{
  width:680px;
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:8px;
  left:50%;
  transform:translate(-50%, 10px);
}
.nav-item:hover .submenu-wide{
  transform:translate(-50%, 0);
}
.submenu-col{
  min-width:0;
}

@media(max-width:1100px){
  .header .container{
    grid-template-columns:170px 1fr 24px !important;
  }
  .nav-dropdown{
    display:none !important;
  }
  .contact-top{
    display:none !important;
  }
  .burger{
    display:grid !important;
  }
  .container{
    width:calc(100% - 38px) !important;
  }
}


/* Header rebuild inspired by premium e-commerce reference */
.header-pro{
  height:auto !important;
  position:sticky;
  top:0;
  z-index:1000 !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.035) 0 12%, transparent 12% 22%, rgba(255,255,255,.028) 22% 34%, transparent 34% 100%),
    rgba(6,7,10,.96) !important;
  backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(255,255,255,.10);
  overflow:visible !important;
}
.header-pro:after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.03), transparent);
  opacity:.55;
}
.header-top{
  height:86px !important;
  display:grid !important;
  grid-template-columns:220px 1fr 560px !important;
  align-items:center !important;
  gap:28px !important;
  position:relative;
  z-index:2;
}
.header-pro .logo-main{
  font-size:34px !important;
  letter-spacing:-.065em !important;
}
.header-pro .logo-sub{
  max-width:82px !important;
  color:#dce4f3 !important;
  font-size:8px !important;
  line-height:1.18 !important;
  letter-spacing:.04em;
}
.header-descriptor{
  color:#8e97a8;
  font-size:13px;
  line-height:1.35;
  border-left:1px solid rgba(255,255,255,.12);
  padding-left:28px;
}
.header-actions{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:22px;
}
.header-actions .phone strong{
  font-size:17px !important;
  color:#fff !important;
  letter-spacing:-.02em;
}
.header-actions .phone span{
  font-size:11px !important;
  color:#9ca6b7 !important;
}
.header-actions .top-btn{
  min-width:156px;
  height:38px !important;
  background:linear-gradient(180deg,#2f7dff,#135cff) !important;
  border-radius:4px !important;
  font-size:12px !important;
}
.header-icons{
  display:flex;
  align-items:center;
  gap:14px;
}
.header-icons button{
  position:relative;
  width:28px;
  height:28px;
  border:0;
  background:transparent;
  color:#dfe6f2;
  font-size:21px;
  cursor:default;
  padding:0;
  display:grid;
  place-items:center;
}
.header-icons i{
  position:absolute;
  top:-8px;
  right:-8px;
  width:18px;
  height:18px;
  border-radius:50%;
  background:#1769ff;
  color:#fff;
  font-size:10px;
  font-style:normal;
  line-height:18px;
  font-weight:800;
}
.header-nav-row{
  position:relative;
  z-index:3;
  height:58px;
  border-top:1px solid rgba(255,255,255,.09);
  background:rgba(9,10,14,.54);
}
.header-nav-inner{
  height:58px;
  display:grid;
  grid-template-columns:1fr 250px;
  align-items:center;
  gap:28px;
}
.header-pro .nav-dropdown{
  height:58px !important;
  justify-content:flex-start !important;
}
.header-pro .nav-item{
  height:58px !important;
}
.header-pro .nav-item:after{
  content:"·";
  color:rgba(255,255,255,.28);
  margin:0 13px;
  font-weight:400;
}
.header-pro .nav-item:last-child:after{
  display:none;
}
.header-pro .nav-item > button{
  height:58px !important;
  padding:0 !important;
  font-size:14px !important;
  color:#dce1ec;
  font-weight:750;
  background:transparent !important;
}
.header-pro .nav-item > button:after{
  display:none;
}
.header-pro .nav-item:hover > button{
  color:#fff;
  background:transparent !important;
}
.header-pro .nav-item > button:before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:12px;
  height:3px;
  background:#1769ff;
  transform:scaleX(0);
  transition:.22s ease;
  border-radius:999px;
}
.header-pro .nav-item:hover > button:before{
  transform:scaleX(1);
}
.header-pro .submenu{
  top:100%;
  background:rgba(10,12,17,.98);
  border:1px solid rgba(255,255,255,.11);
  box-shadow:0 26px 70px rgba(0,0,0,.55);
}
.header-search{
  height:40px;
  display:flex;
  align-items:center;
  gap:10px;
  justify-content:flex-end;
  color:#e8edf7;
}
.header-search span{
  font-size:26px;
  line-height:1;
  color:#fff;
  opacity:.95;
}
.header-search input{
  width:190px;
  height:38px;
  border:0;
  outline:none;
  background:transparent;
  color:#e8edf7;
  font-size:14px;
}
.header-search input::placeholder{
  color:#7f8898;
}

/* Hero adjusted after taller header */
.hero,
.hero-slider{
  min-height:620px !important;
}
.hero .container{
  min-height:620px !important;
  padding-top:92px !important;
  padding-bottom:92px !important;
}
.hero-copy{
  max-width:560px !important;
}
.hero-copy h1,
h1{
  width:min(620px, 100%) !important;
  font-size:58px !important;
  line-height:1.02 !important;
  letter-spacing:-.055em !important;
}
.hero-copy .lead{
  width:min(430px, 100%) !important;
  font-size:15px !important;
}
.hero-bg:after{
  background:
    linear-gradient(110deg, rgba(255,255,255,.045) 0 8%, transparent 8% 18%, rgba(255,255,255,.035) 18% 28%, transparent 28% 100%),
    radial-gradient(circle at 15% 45%, rgba(25,92,255,.16), transparent 34%) !important;
}

@media(max-width:1180px){
  .header-top{
    grid-template-columns:190px 1fr 390px !important;
  }
  .header-icons{
    display:none;
  }
  .header-nav-inner{
    grid-template-columns:1fr 190px;
  }
  .header-pro .nav-item:after{
    margin:0 8px;
  }
  .header-pro .nav-item > button{
    font-size:12px !important;
  }
}
@media(max-width:900px){
  .header-top{
    grid-template-columns:1fr auto !important;
    height:74px !important;
  }
  .header-descriptor,
  .header-nav-row,
  .phone,
  .header-icons,
  .top-btn{
    display:none !important;
  }
  .burger{
    display:grid !important;
  }
  .hero-copy h1,
  h1{
    font-size:40px !important;
  }
  .hero,
  .hero-slider,
  .hero .container{
    min-height:520px !important;
  }
}


/* Fixes after client comments */
.signature-marquee{display:none !important;}

.header-top{
  grid-template-columns:220px 1fr 680px !important;
}
.header-actions{
  gap:18px !important;
}
.header-contacts{
  display:flex;
  align-items:center;
  gap:24px;
  min-width:300px;
}
.header-contacts .phone,
.email-top{
  display:block;
  min-width:0;
}
.header-contacts .phone strong,
.email-top strong{
  display:block;
  color:#fff !important;
  font-size:15px !important;
  line-height:1.05;
  letter-spacing:-.01em;
  white-space:nowrap;
}
.email-top strong{
  color:#2d76ff !important;
}
.header-contacts .phone span,
.email-top span{
  display:block;
  color:#9aa5b7;
  font-size:10px;
  line-height:1.25;
  margin-top:4px;
  white-space:nowrap;
}

.header-icons{
  gap:12px !important;
}
.header-icons button{
  width:34px !important;
  height:34px !important;
  border:1px solid rgba(255,255,255,.14) !important;
  border-radius:50%;
  background:rgba(255,255,255,.035) !important;
  color:#dfe6f2;
  transition:.2s ease;
}
.header-icons button:hover{
  border-color:rgba(45,118,255,.55) !important;
  background:rgba(45,118,255,.12) !important;
  color:#fff;
}
.header-icons svg{
  width:18px;
  height:18px;
  display:block;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.header-icons i{
  top:-5px !important;
  right:-4px !important;
  background:#2d76ff !important;
  box-shadow:0 0 0 2px #07080b;
}

/* Dropdown as clean tiles */
.header-pro .submenu{
  min-width:280px !important;
  padding:14px !important;
  border-radius:10px;
  background:rgba(9,12,18,.98) !important;
  border:1px solid rgba(255,255,255,.12) !important;
  box-shadow:0 26px 90px rgba(0,0,0,.62) !important;
  overflow:visible;
}
.header-pro .submenu:not(.submenu-wide){
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
}
.header-pro .submenu span{
  white-space:normal !important;
  line-height:1.35 !important;
  padding:12px 14px !important;
  background:linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.018));
  border:1px solid rgba(255,255,255,.07);
  border-radius:8px;
  color:#c4cede !important;
  min-width:220px;
}
.header-pro .submenu span:hover{
  background:linear-gradient(180deg, rgba(45,118,255,.20), rgba(45,118,255,.08)) !important;
  border-color:rgba(45,118,255,.34);
  color:#fff !important;
}
.header-pro .submenu strong{
  padding:0 2px 8px !important;
  color:#fff !important;
  font-size:11px !important;
  letter-spacing:.12em;
}
.header-pro .submenu-wide{
  width:760px !important;
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  gap:14px !important;
  left:0 !important;
  transform:translateY(10px) !important;
}
.header-pro .nav-item:hover .submenu-wide{
  transform:translateY(0) !important;
}
.submenu-col{
  display:grid;
  gap:8px;
  min-width:0;
}
.submenu-col span{
  min-width:0 !important;
}
.header-pro .submenu-left .submenu{
  left:0 !important;
  right:auto !important;
}
.header-pro .submenu-right .submenu{
  left:auto !important;
  right:0 !important;
}
.header-pro .submenu-right .submenu-wide{
  left:auto !important;
  right:0 !important;
}

/* keep dropdown inside screen better */
.header-pro .nav-item:nth-last-child(-n+3) .submenu{
  left:auto !important;
  right:0 !important;
}

@media(max-width:1280px){
  .header-top{
    grid-template-columns:200px 1fr 560px !important;
  }
  .header-contacts{
    gap:16px;
  }
  .email-top{
    display:none;
  }
}
@media(max-width:1180px){
  .header-top{
    grid-template-columns:190px 1fr 390px !important;
  }
  .header-contacts{
    min-width:auto;
  }
}


/* Full catalog block */
.catalog-full{
  background:
    radial-gradient(circle at 20% 0%, rgba(45,118,255,.10), transparent 35%),
    #07080b;
}
.catalog-full-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin:0 0 14px;
  color:#9aa5b7;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.12em;
}
.catalog-full-head button{
  height:34px;
  padding:0 18px;
  border-radius:4px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.035);
  color:#d9e2f1;
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.06em;
  cursor:default;
}
.catalog-full-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  border:1px solid rgba(255,255,255,.09);
  background:rgba(255,255,255,.018);
}
.catalog-category{
  min-height:390px;
  display:grid;
  grid-template-columns:82px 1fr;
  gap:22px;
  padding:28px 28px 26px;
  border-right:1px solid rgba(255,255,255,.08);
  border-bottom:1px solid rgba(255,255,255,.08);
  background:linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.012));
  transition:.25s ease;
}
.catalog-category:nth-child(3n){
  border-right:0;
}
.catalog-category:nth-last-child(-n+3){
  border-bottom:0;
}
.catalog-category:hover{
  background:linear-gradient(180deg, rgba(45,118,255,.09), rgba(255,255,255,.018));
}
.catalog-category-img{
  width:76px;
  height:76px;
  border-radius:10px;
  background:#fff;
  display:grid;
  place-items:center;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 14px 40px rgba(0,0,0,.28);
}
.catalog-category-img img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  filter:saturate(.9) contrast(1.04);
}
.catalog-category h3{
  margin:0 0 12px;
  color:#fff;
  font-size:19px;
  line-height:1.25;
  letter-spacing:-.02em;
}
.catalog-category ul{
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  gap:7px;
}
.catalog-category li{
  color:#ff8a4a;
  font-size:13px;
  line-height:1.32;
}
.catalog-category li:after{
  content:" —";
  color:rgba(255,138,74,.55);
}

/* Bigger catalog dropdown after adding full catalogue */
.catalog-mega{
  width:min(980px, calc(100vw - 96px)) !important;
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
}

@media(max-width:980px){
  .catalog-full-grid{
    grid-template-columns:1fr 1fr;
  }
  .catalog-category:nth-child(3n){
    border-right:1px solid rgba(255,255,255,.08);
  }
  .catalog-category:nth-child(2n){
    border-right:0;
  }
  .catalog-category:nth-last-child(-n+3){
    border-bottom:1px solid rgba(255,255,255,.08);
  }
  .catalog-category:nth-last-child(-n+2){
    border-bottom:0;
  }
}
@media(max-width:620px){
  .catalog-full-grid{
    grid-template-columns:1fr;
  }
  .catalog-category{
    grid-template-columns:70px 1fr;
    padding:22px;
    border-right:0 !important;
  }
  .catalog-category:nth-last-child(-n+2){
    border-bottom:1px solid rgba(255,255,255,.08);
  }
  .catalog-category:last-child{
    border-bottom:0 !important;
  }
}


/* header nav restore + full 6 catalog tiles */
.header-pro .nav-dropdown{
  display:flex !important;
  align-items:center;
  gap:18px;
  flex-wrap:nowrap;
}
.header-pro .nav-item{
  position:relative;
  flex:0 0 auto;
}
.header-pro .nav-item > button{
  white-space:nowrap;
}
.header-pro .catalog-mega{
  width:min(1020px, calc(100vw - 72px)) !important;
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  grid-auto-rows:1fr;
  gap:14px !important;
}
.header-pro .submenu-card{
  min-height:246px;
  padding:14px !important;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.08);
  background:linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.022));
  align-content:start;
  box-sizing:border-box;
}
.header-pro .submenu-card strong{
  min-height:38px;
  display:block;
  line-height:1.25;
  margin-bottom:4px;
}
.header-pro .submenu-card span{
  min-width:0 !important;
  padding:8px 10px !important;
  font-size:12px !important;
  line-height:1.3 !important;
}
@media(max-width:1180px){
  .header-pro .catalog-mega{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }
}
@media(max-width:760px){
  .header-pro .catalog-mega{
    grid-template-columns:1fr !important;
  }
  .header-pro .submenu-card{
    min-height:auto;
  }
}


/* final header/menu tune-up */
.header-nav-inner{
  grid-template-columns:minmax(0, 1fr) 220px !important;
  gap:22px !important;
}
.header-pro .nav-dropdown{
  width:100%;
  justify-content:space-between !important;
  gap:14px !important;
}
.header-pro .nav-item{
  flex:1 1 0;
  min-width:0;
  display:flex;
  justify-content:center;
}
.header-pro .nav-item:after{
  display:none !important;
}
.header-pro .nav-item > button{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  white-space:nowrap;
  font-size:16px !important;
  letter-spacing:-.01em;
}
.header-pro .nav-item > button:before{
  bottom:8px !important;
}

.phone-dropdown{
  position:relative;
}
.phone-trigger{
  cursor:pointer;
  position:relative;
  padding-right:18px;
}
.phone-trigger::after{
  content:"▾";
  position:absolute;
  right:0;
  top:3px;
  color:#aab5c8;
  font-size:12px;
  transition:transform .2s ease;
}
.phone-dropdown:hover .phone-trigger::after{
  transform:rotate(180deg);
}
.phone-menu{
  position:absolute;
  top:calc(100% + 14px);
  left:0;
  width:196px;
  background:#f3f3f3;
  border:1px solid rgba(0,0,0,.08);
  box-shadow:0 16px 40px rgba(0,0,0,.28);
  border-radius:4px;
  overflow:hidden;
  opacity:0;
  visibility:hidden;
  transform:translateY(8px);
  transition:.18s ease;
  z-index:30;
}
.phone-dropdown:hover .phone-menu{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}
.phone-menu-item{
  padding:14px 16px 13px;
  border-bottom:1px solid rgba(0,0,0,.07);
  background:#f3f3f3;
}
.phone-menu-item:last-child{ border-bottom:0; }
.phone-menu-item strong{
  display:block;
  color:#252525;
  font-size:18px;
  line-height:1.15;
  font-weight:800;
  letter-spacing:-.02em;
}
.phone-menu-item span{
  display:block;
  color:#9a9a9a;
  font-size:14px;
  line-height:1.2;
  margin-top:6px;
}

.header-search{
  height:42px !important;
  display:flex;
  align-items:center;
  gap:10px;
  justify-content:flex-start !important;
  padding:0 14px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.04);
  border-radius:999px;
  color:#dbe4f2;
  transition:.18s ease;
}
.header-search:hover,
.header-search:focus-within{
  border-color:rgba(45,118,255,.42);
  background:rgba(255,255,255,.055);
  box-shadow:0 0 0 4px rgba(45,118,255,.08);
}
.header-search svg{
  width:16px;
  height:16px;
  stroke:currentColor;
  stroke-width:2;
  fill:none;
  flex:0 0 auto;
  opacity:.9;
}
.header-search span{ display:none !important; }
.header-search input{
  width:100% !important;
  min-width:0;
  height:100% !important;
  font-size:14px !important;
  color:#eef3fb;
}
.header-search input::placeholder{
  color:#9ca9bd !important;
}

.header-pro .catalog-mega{
  width:calc(min(1320px, 100vw - 72px) - 242px) !important;
  max-width:calc(100vw - 96px) !important;
  grid-template-columns:repeat(6, minmax(0, 1fr)) !important;
  gap:12px !important;
  right:auto !important;
  left:0 !important;
  box-sizing:border-box;
  overflow:hidden;
}
.header-pro .submenu-card{
  min-height:410px;
  overflow:hidden;
}
.header-pro .submenu-card strong{
  min-height:48px !important;
  font-size:13px !important;
  line-height:1.22 !important;
  white-space:normal;
  word-break:break-word;
  overflow-wrap:anywhere;
}
.header-pro .submenu-card span{
  min-width:0 !important;
  width:100%;
  font-size:12px !important;
  line-height:1.28 !important;
  word-break:break-word;
  overflow-wrap:anywhere;
  box-sizing:border-box;
}
.header-pro .submenu-card:last-child strong{
  font-size:12px !important;
}

@media (max-width: 1360px){
  .header-top{ grid-template-columns:220px 1fr 620px !important; }
  .header-nav-inner{ grid-template-columns:minmax(0, 1fr) 190px !important; }
  .header-pro .nav-item > button{ font-size:15px !important; }
  .header-pro .catalog-mega{
    width:calc(min(1320px, 100vw - 72px) - 212px) !important;
  }
}
@media (max-width: 1240px){
  .header-pro .catalog-mega{
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
    min-width:760px;
  }
  .header-pro .submenu-card{ min-height:246px; }
  .header-pro .submenu-card strong{ min-height:40px !important; }
}
@media (max-width: 900px){
  .phone-dropdown:hover .phone-menu{ display:none; }
  .header-search{ display:none !important; }
}


/* fine-tune v3: distributed nav, compact search, tiled phone dropdown */
.header-nav-row{
  height:60px !important;
}
.header-nav-inner{
  height:60px !important;
  grid-template-columns:minmax(0, 1fr) 156px !important;
  gap:22px !important;
  align-items:center !important;
}
.header-pro .nav-dropdown{
  width:100% !important;
  height:60px !important;
  display:flex !important;
  align-items:stretch !important;
  justify-content:space-between !important;
  gap:18px !important;
  flex-wrap:nowrap !important;
}
.header-pro .nav-item{
  flex:0 1 auto !important;
  min-width:0 !important;
  height:60px !important;
  display:flex !important;
  align-items:center !important;
}
.header-pro .nav-item:after{
  display:none !important;
  content:none !important;
}
.header-pro .nav-item > button{
  width:auto !important;
  min-width:0 !important;
  height:60px !important;
  padding:0 2px !important;
  font-size:15px !important;
  font-weight:760 !important;
  letter-spacing:-0.01em !important;
  white-space:nowrap !important;
  justify-content:center !important;
}
.header-pro .nav-item > button:before{
  left:0 !important;
  right:0 !important;
  bottom:10px !important;
}

.header-search{
  width:156px !important;
  height:40px !important;
  justify-self:end !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:10px !important;
  padding:0 14px !important;
  border:1px solid rgba(255,255,255,.12) !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.04) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03) !important;
  overflow:hidden;
}
.header-search input{
  width:100% !important;
  min-width:0 !important;
  height:auto !important;
  border:0 !important;
  outline:none !important;
  background:transparent !important;
  color:#e9eef8 !important;
  font-size:14px !important;
  line-height:1 !important;
  padding:0 !important;
  pointer-events:none;
  cursor:default;
}
.header-search input::placeholder{
  color:#a6b2c5 !important;
  opacity:1 !important;
}
.header-search svg{
  width:16px !important;
  height:16px !important;
  opacity:.9 !important;
  flex:0 0 auto !important;
}

.phone-dropdown{
  position:relative !important;
}
.phone-trigger{
  padding:10px 14px 10px 14px !important;
  border:1px solid rgba(255,255,255,.08) !important;
  border-radius:16px !important;
  background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02)) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03) !important;
}
.phone-trigger::after{
  right:10px !important;
  top:10px !important;
}
.phone-menu{
  width:232px !important;
  background:rgba(10,12,17,.98) !important;
  border:1px solid rgba(255,255,255,.1) !important;
  border-radius:18px !important;
  box-shadow:0 24px 60px rgba(0,0,0,.45) !important;
  padding:10px !important;
  display:grid !important;
  gap:8px !important;
}
.phone-menu-item{
  padding:14px 16px !important;
  border:1px solid rgba(255,255,255,.08) !important;
  border-radius:14px !important;
  background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02)) !important;
}
.phone-menu-item strong{
  color:#f4f7fb !important;
  font-size:18px !important;
  font-weight:800 !important;
}
.phone-menu-item span{
  color:#98a6ba !important;
  font-size:13px !important;
  margin-top:6px !important;
}

.header-pro .catalog-mega{
  left:0 !important;
  right:auto !important;
  width:min(1360px, calc(100vw - 64px)) !important;
  max-width:min(1360px, calc(100vw - 64px)) !important;
  grid-template-columns:repeat(6, minmax(0, 1fr)) !important;
  gap:14px !important;
  padding:14px !important;
  box-sizing:border-box !important;
  overflow:hidden !important;
}
.header-pro .submenu-card{
  min-height:420px !important;
  padding:14px !important;
  box-sizing:border-box !important;
  overflow:hidden !important;
}
.header-pro .submenu-card strong{
  font-size:15px !important;
  line-height:1.25 !important;
  min-height:40px !important;
  margin-bottom:10px !important;
}
.header-pro .submenu-card span{
  font-size:13px !important;
  line-height:1.3 !important;
  padding:9px 12px !important;
  border-radius:12px !important;
  min-height:unset !important;
  width:100% !important;
  overflow-wrap:anywhere !important;
  word-break:break-word !important;
  box-sizing:border-box !important;
}

@media (max-width: 1480px){
  .header-pro .nav-dropdown{ gap:14px !important; }
  .header-pro .nav-item > button{ font-size:14px !important; }
  .header-pro .catalog-mega{
    width:min(1280px, calc(100vw - 56px)) !important;
    max-width:min(1280px, calc(100vw - 56px)) !important;
  }
}
@media (max-width: 1320px){
  .header-nav-inner{
    grid-template-columns:minmax(0, 1fr) 136px !important;
  }
  .header-search{
    width:136px !important;
  }
  .header-pro .nav-dropdown{ gap:10px !important; }
  .header-pro .catalog-mega{
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  }
  .header-pro .submenu-card{ min-height:260px !important; }
}


/* final tune v4: restore plain phone, distribute nav across row, move search right */
.header-pro .header-contacts{
  display:flex !important;
  align-items:center !important;
  gap:18px !important;
}
.phone-dropdown{
  position:relative !important;
  display:block !important;
}
.phone-trigger{
  cursor:pointer !important;
  position:relative !important;
  padding:0 18px 0 0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
.phone-trigger::after{
  content:"▾" !important;
  position:absolute !important;
  right:0 !important;
  top:2px !important;
  color:#8f9aae !important;
  font-size:12px !important;
  line-height:1 !important;
  transition:transform .2s ease !important;
}
.phone-dropdown:hover .phone-trigger::after{ transform:rotate(180deg) !important; }
.phone-menu{
  position:absolute !important;
  top:calc(100% + 12px) !important;
  left:0 !important;
  width:232px !important;
  padding:10px !important;
  display:grid !important;
  gap:8px !important;
  background:rgba(10,12,17,.98) !important;
  border:1px solid rgba(255,255,255,.1) !important;
  border-radius:18px !important;
  box-shadow:0 24px 60px rgba(0,0,0,.45) !important;
  opacity:0 !important;
  visibility:hidden !important;
  transform:translateY(8px) !important;
  transition:.18s ease !important;
  z-index:40 !important;
}
.phone-dropdown:hover .phone-menu{
  opacity:1 !important;
  visibility:visible !important;
  transform:translateY(0) !important;
}
.phone-menu-item{
  padding:14px 16px !important;
  border:1px solid rgba(255,255,255,.08) !important;
  border-bottom:1px solid rgba(255,255,255,.08) !important;
  border-radius:14px !important;
  background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02)) !important;
}
.phone-menu-item:last-child{ border-bottom:1px solid rgba(255,255,255,.08) !important; }
.phone-menu-item strong{ color:#f4f7fb !important; font-size:18px !important; font-weight:800 !important; }
.phone-menu-item span{ color:#98a6ba !important; font-size:13px !important; margin-top:6px !important; }

.header-nav-inner{
  height:58px !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 178px !important;
  align-items:center !important;
  gap:18px !important;
}
.header-pro .nav-dropdown{
  width:100% !important;
  height:58px !important;
  display:grid !important;
  grid-template-columns:repeat(8, max-content) !important;
  justify-content:space-between !important;
  align-items:center !important;
  gap:16px !important;
  overflow:visible !important;
}
.header-pro .nav-item{
  height:58px !important;
  display:block !important;
  min-width:0 !important;
  flex:none !important;
}
.header-pro .nav-item:after{
  display:none !important;
  content:none !important;
}
.header-pro .nav-item > button{
  width:auto !important;
  height:58px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 !important;
  font-size:15px !important;
  font-weight:760 !important;
  white-space:nowrap !important;
  letter-spacing:-.01em !important;
  position:relative !important;
}
.header-pro .nav-item > button:before{
  left:0 !important;
  right:0 !important;
  bottom:9px !important;
}

.header-search{
  width:178px !important;
  height:40px !important;
  justify-self:end !important;
  align-self:center !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:10px !important;
  padding:0 14px !important;
  border:1px solid rgba(255,255,255,.12) !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.04) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03) !important;
  overflow:hidden !important;
}
.header-search svg{
  width:16px !important;
  height:16px !important;
  flex:0 0 auto !important;
}
.header-search input{
  width:100% !important;
  min-width:0 !important;
  height:auto !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  color:#e9eef8 !important;
  font-size:14px !important;
  pointer-events:none !important;
}
.header-search input::placeholder{ color:#a6b2c5 !important; opacity:1 !important; }

.header-pro .catalog-mega{
  left:0 !important;
  width:min(1360px, calc(100vw - 72px)) !important;
  max-width:min(1360px, calc(100vw - 72px)) !important;
  grid-template-columns:repeat(6, minmax(0, 1fr)) !important;
  gap:14px !important;
  padding:14px !important;
  box-sizing:border-box !important;
  overflow:hidden !important;
}
.header-pro .submenu-card:last-child{
  overflow:hidden !important;
}
.header-pro .submenu-card strong{
  font-size:14px !important;
  min-height:42px !important;
}
.header-pro .submenu-card span{
  font-size:13px !important;
  padding:9px 12px !important;
  border-radius:12px !important;
}
@media (max-width: 1460px){
  .header-pro .nav-dropdown{ gap:12px !important; }
  .header-pro .nav-item > button{ font-size:14px !important; }
  .header-search{ width:164px !important; }
  .header-nav-inner{ grid-template-columns:minmax(0,1fr) 164px !important; }
}
@media (max-width: 1280px){
  .header-pro .catalog-mega{ grid-template-columns:repeat(3, minmax(0, 1fr)) !important; }
}


/* final nav style like reference */
:root{
  --menu-font: Montserrat, Arial, sans-serif;
}

body,
button,
input{
  font-family: Montserrat, Arial, sans-serif;
}

.header-nav-row{
  height:60px !important;
  border-top:1px solid rgba(255,255,255,.08) !important;
  border-bottom:1px solid rgba(255,255,255,.08) !important;
  background:
    linear-gradient(115deg, rgba(255,255,255,.035) 0 8%, transparent 8% 18%, rgba(255,255,255,.025) 18% 27%, transparent 27% 100%),
    rgba(8,9,13,.70) !important;
}

.header-nav-inner{
  height:60px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:42px !important;
}

.header-pro .nav-dropdown{
  flex:1 1 auto !important;
  width:auto !important;
  min-width:0 !important;
  height:60px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:0 !important;
  overflow:visible !important;
}

.header-pro .nav-item{
  flex:0 0 auto !important;
  height:60px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:auto !important;
  position:relative !important;
}

.header-pro .nav-item:not(:last-child)::after{
  content:"·" !important;
  display:block !important;
  position:static !important;
  margin:0 clamp(16px, 1.9vw, 34px) !important;
  color:rgba(255,255,255,.28) !important;
  font-size:15px !important;
  line-height:1 !important;
  font-weight:400 !important;
}

.header-pro .nav-item > button{
  width:auto !important;
  height:60px !important;
  padding:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:transparent !important;
  color:#d8dde8 !important;
  font-family: Montserrat, Arial, sans-serif;
  font-size:15px !important;
  font-weight:500 !important;
  letter-spacing:-.015em !important;
  white-space:nowrap !important;
  opacity:.94 !important;
}

.header-pro .nav-item:first-child > button{
  font-weight:700 !important;
  color:#fff !important;
}

.header-pro .nav-item > button:before{
  left:0 !important;
  right:0 !important;
  bottom:10px !important;
  height:2px !important;
  background:#2d76ff !important;
}

.header-search{
  flex:0 0 185px !important;
  width:185px !important;
  height:40px !important;
  margin-left:auto !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:11px !important;
  padding:0 14px !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  color:#f2f5fb !important;
  overflow:hidden !important;
}

.header-search svg{
  width:22px !important;
  height:22px !important;
  stroke:currentColor !important;
  stroke-width:2.2 !important;
  fill:none !important;
  opacity:1 !important;
  flex:0 0 auto !important;
}

.header-search input{
  width:100% !important;
  min-width:0 !important;
  height:auto !important;
  padding:0 !important;
  border:0 !important;
  outline:none !important;
  background:transparent !important;
  color:#d8dde8 !important;
  font-family: Montserrat, Arial, sans-serif;
  font-size:15px !important;
  font-weight:400 !important;
  pointer-events:none !important;
}

.header-search input::placeholder{
  color:rgba(216,221,232,.55) !important;
  opacity:1 !important;
}

/* Телефон обычный, dropdown — плитками */
.phone-trigger{
  padding:0 16px 0 0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  border-radius:0 !important;
}

.phone-trigger::after{
  right:0 !important;
  top:3px !important;
}

.phone-menu{
  width:238px !important;
  padding:10px !important;
  background:rgba(10,12,17,.98) !important;
  border:1px solid rgba(255,255,255,.10) !important;
  border-radius:18px !important;
  box-shadow:0 24px 70px rgba(0,0,0,.50) !important;
}

.phone-menu-item{
  padding:14px 16px !important;
  border:1px solid rgba(255,255,255,.08) !important;
  border-radius:14px !important;
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02)) !important;
}

.phone-menu-item strong{
  color:#fff !important;
  font-size:17px !important;
  font-weight:800 !important;
}

.phone-menu-item span{
  color:#99a6bb !important;
  font-size:12px !important;
}

@media(max-width:1360px){
  .header-pro .nav-item:not(:last-child)::after{
    margin:0 16px !important;
  }
  .header-pro .nav-item > button{
    font-size:14px !important;
  }
  .header-search{
    flex-basis:160px !important;
    width:160px !important;
  }
}



/* === Round 2 client fixes === */
.header-nav-row{
  position:relative !important;
  z-index:8 !important;
  background:linear-gradient(180deg, rgba(9,11,16,.30), rgba(9,11,16,.18)) !important;
  backdrop-filter:blur(10px) !important;
  border-top:1px solid rgba(255,255,255,.06) !important;
  border-bottom:1px solid rgba(255,255,255,.08) !important;
}
.header-nav-inner{
  grid-template-columns:minmax(0, 1fr) auto !important;
  gap:18px !important;
  align-items:center !important;
}
.header-pro .nav-dropdown{
  flex:1 1 auto !important;
  width:100% !important;
  justify-content:space-between !important;
  min-width:0 !important;
}
.header-pro .nav-item{
  min-width:0 !important;
}
.header-pro .nav-item:not(:last-child)::after,
.header-pro .nav-item:after{
  margin:0 10px !important;
  color:rgba(255,255,255,.24) !important;
}
.header-pro .nav-item > button{
  font-size:13px !important;
  letter-spacing:-.01em !important;
  font-weight:600 !important;
  padding:0 !important;
}

/* compact equal contact blocks */
.header-actions{
  gap:16px !important;
}
.header-contacts{
  display:grid !important;
  grid-template-columns:repeat(2, 176px) !important;
  gap:14px !important;
  align-items:center !important;
}
.phone-dropdown,
.email-top{
  width:176px !important;
}
.phone,
.email-top{
  min-height:44px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
}
.phone strong,
.email-top strong{
  font-size:15px !important;
  line-height:1.12 !important;
}
.phone span,
.email-top span{
  font-size:11.5px !important;
  line-height:1.2 !important;
  margin-top:4px !important;
}

/* phone dropdown with safe hover bridge */
.phone-dropdown{
  position:relative !important;
  padding-bottom:18px !important;
  margin-bottom:-18px !important;
}
.phone-dropdown::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:100%;
  height:18px;
}
.phone-trigger{
  padding-right:16px !important;
}
.phone-trigger::after{
  top:2px !important;
  right:0 !important;
}
.phone-menu{
  top:calc(100% + 6px) !important;
  left:-6px !important;
  width:220px !important;
  padding:10px !important;
  background:rgba(10,12,17,.98) !important;
  border:1px solid rgba(255,255,255,.10) !important;
  border-radius:18px !important;
  box-shadow:0 22px 64px rgba(0,0,0,.48) !important;
  overflow:visible !important;
}
.phone-dropdown:hover .phone-menu,
.phone-menu:hover{
  opacity:1 !important;
  visibility:visible !important;
  transform:translateY(0) !important;
}
.phone-menu-item{
  min-height:62px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  padding:12px 14px !important;
  margin-bottom:8px !important;
  border:1px solid rgba(255,255,255,.08) !important;
  border-radius:14px !important;
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02)) !important;
}
.phone-menu-item:last-child{
  margin-bottom:0 !important;
  border-bottom:1px solid rgba(255,255,255,.08) !important;
}
.phone-menu-item strong{
  color:#fff !important;
  font-size:16px !important;
  font-weight:800 !important;
}
.phone-menu-item span{
  color:#9ca9bd !important;
  font-size:12px !important;
  margin-top:4px !important;
}

/* search like rounded icon capsule */
.header-search{
  justify-self:end !important;
  margin-left:0 !important;
  width:170px !important;
  min-width:170px !important;
  height:40px !important;
  padding:0 14px !important;
  gap:9px !important;
  border:1px solid rgba(255,255,255,.12) !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.03) !important;
  box-shadow:none !important;
  justify-content:flex-start !important;
}
.header-search:hover,
.header-search:focus-within{
  background:rgba(255,255,255,.05) !important;
  border-color:rgba(255,255,255,.18) !important;
  box-shadow:0 0 0 3px rgba(255,255,255,.03) !important;
}
.header-search svg{
  width:18px !important;
  height:18px !important;
  opacity:.95 !important;
}
.header-search input{
  font-size:13px !important;
}

/* mega menu cards and equal buttons */
.header-pro .catalog-mega{
  width:calc(min(1320px, 100vw - 72px) - 18px) !important;
  max-width:calc(100vw - 72px) !important;
  left:0 !important;
  right:auto !important;
  gap:12px !important;
  padding:12px !important;
  align-items:stretch !important;
}
.header-pro .submenu-card{
  display:flex !important;
  flex-direction:column !important;
  min-height:414px !important;
  padding:12px !important;
  border-radius:16px !important;
}
.header-pro .submenu-card strong{
  min-height:60px !important;
  display:flex !important;
  align-items:flex-start !important;
  padding:4px 8px 10px !important;
  font-size:15px !important;
  line-height:1.1 !important;
}
.header-pro .submenu-card span{
  min-height:44px !important;
  display:flex !important;
  align-items:center !important;
  padding:10px 12px !important;
  margin:0 0 8px 0 !important;
  border-radius:12px !important;
  white-space:normal !important;
  line-height:1.15 !important;
  font-size:12px !important;
  flex:0 0 auto !important;
}
.header-pro .submenu-card span:last-child{
  margin-bottom:0 !important;
}

/* other dropdowns a bit cleaner */
.header-pro .submenu{
  backdrop-filter:blur(14px) !important;
}
.header-pro .submenu:not(.catalog-mega) span{
  min-height:42px !important;
  display:flex !important;
  align-items:center !important;
  white-space:normal !important;
  border-radius:12px !important;
  padding:10px 13px !important;
}

@media (max-width: 1360px){
  .header-contacts{
    grid-template-columns:repeat(2, 164px) !important;
  }
  .phone-dropdown,
  .email-top{
    width:164px !important;
  }
  .header-pro .nav-item:after,
  .header-pro .nav-item:not(:last-child)::after{
    margin:0 8px !important;
  }
  .header-pro .nav-item > button{
    font-size:12.5px !important;
  }
  .header-search{
    width:156px !important;
    min-width:156px !important;
  }
}



/* === Header overlay refinement / typography system === */
:root{
  --site-font: Montserrat, Arial, sans-serif;
}
body, button, input, textarea, select, a{
  font-family: Montserrat, Arial, sans-serif;
}
h1, h2, h3, h4, .logo-main, .top-btn, .btn, .nav-item > button{
  font-family: Montserrat, Arial, sans-serif;
}

.header-pro{
  background:linear-gradient(180deg, rgba(6,7,10,.98) 0 86px, rgba(6,7,10,0) 86px) !important;
  overflow:visible !important;
}
.header-top{
  position:relative !important;
  z-index:42 !important;
}

/* phone + mail cleaner and more compact */
.header-contacts{
  grid-template-columns:154px 154px !important;
  gap:12px !important;
}
.phone-dropdown,
.email-top{
  width:154px !important;
}
.phone strong,
.email-top strong{
  font-size:14px !important;
  line-height:1.1 !important;
  letter-spacing:-.015em !important;
}
.phone span,
.email-top span{
  font-size:10.5px !important;
  line-height:1.2 !important;
  margin-top:4px !important;
}

/* dropdown should stay above everything and be easier to hover */
.phone-dropdown{
  position:relative !important;
  z-index:80 !important;
  padding-bottom:16px !important;
  margin-bottom:-16px !important;
}
.phone-dropdown::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:100%;
  height:16px;
  z-index:79;
}
.phone-menu{
  top:calc(100% + 6px) !important;
  left:-8px !important;
  width:206px !important;
  padding:10px !important;
  background:rgba(11,13,18,.98) !important;
  border:1px solid rgba(255,255,255,.10) !important;
  border-radius:18px !important;
  box-shadow:0 24px 60px rgba(0,0,0,.48) !important;
  z-index:120 !important;
  opacity:0;
  visibility:hidden;
  transform:translateY(8px);
}
.phone-dropdown:hover .phone-menu,
.phone-menu:hover{
  opacity:1 !important;
  visibility:visible !important;
  transform:translateY(0) !important;
}
.phone-menu-item{
  min-height:54px !important;
  margin-bottom:8px !important;
  padding:10px 12px !important;
  border:1px solid rgba(255,255,255,.08) !important;
  border-radius:13px !important;
  background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02)) !important;
  border-bottom:1px solid rgba(255,255,255,.08) !important;
}
.phone-menu-item:last-child{ margin-bottom:0 !important; }
.phone-menu-item strong{
  font-size:13px !important;
  line-height:1.15 !important;
  color:#fff !important;
}
.phone-menu-item span{
  font-size:10.5px !important;
  line-height:1.2 !important;
  color:#99a4b8 !important;
  margin-top:4px !important;
}

/* second row should visually sit on banner, without dark strip */
.header-nav-row{
  position:relative !important;
  z-index:18 !important;
  height:58px !important;
  margin-bottom:-58px !important;
  background:transparent !important;
  border-top:none !important;
  border-bottom:none !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
}
.header-nav-inner{
  height:58px !important;
  grid-template-columns:minmax(0, 1fr) 168px !important;
  align-items:center !important;
  gap:44px !important;
}
.header-pro .nav-dropdown{
  height:58px !important;
  width:100% !important;
  justify-content:space-between !important;
  padding-right:4px !important;
  max-width:none !important;
}
.header-pro .nav-item{
  height:58px !important;
  min-width:0 !important;
}
.header-pro .nav-item:after,
.header-pro .nav-item:not(:last-child)::after{
  margin:0 7px !important;
  color:rgba(255,255,255,.22) !important;
}
.header-pro .nav-item > button{
  height:58px !important;
  font-size:13px !important;
  font-weight:650 !important;
  letter-spacing:-.01em !important;
  color:#edf2fb !important;
}
.header-pro .nav-item > button:before{
  bottom:13px !important;
}

/* rounded search capsule aligned with row */
.header-search{
  justify-self:end !important;
  align-self:center !important;
  margin:0 !important;
  width:168px !important;
  min-width:168px !important;
  height:38px !important;
  padding:0 13px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:8px !important;
  border:1px solid rgba(255,255,255,.14) !important;
  border-radius:999px !important;
  background:rgba(9,12,18,.28) !important;
  backdrop-filter:blur(10px) !important;
  box-shadow:none !important;
  position:relative !important;
  top:0 !important;
  bottom:auto !important;
}
.header-search span{
  font-size:19px !important;
  line-height:1 !important;
  opacity:.96 !important;
}
.header-search input{
  width:100% !important;
  height:auto !important;
  font-size:13px !important;
}
.header-search input::placeholder{
  color:#a9b3c4 !important;
}

/* hero starts under the nav row */
.hero,
.hero-slider{
  min-height:620px !important;
}
.hero .container{
  min-height:620px !important;
  padding-top:144px !important;
  padding-bottom:92px !important;
}

/* catalog cards: more uniform */
.header-pro .catalog-mega{
  z-index:90 !important;
}
.header-pro .submenu-card strong{
  min-height:54px !important;
  font-size:14px !important;
}
.header-pro .submenu-card span{
  min-height:42px !important;
  font-size:11.5px !important;
  line-height:1.18 !important;
  padding:9px 12px !important;
}

@media (max-width: 1180px){
  .header-nav-inner{
    grid-template-columns:minmax(0,1fr) 156px !important;
    gap:28px !important;
  }
  .header-pro .nav-item:after,
  .header-pro .nav-item:not(:last-child)::after{
    margin:0 5px !important;
  }
  .header-pro .nav-item > button{
    font-size:12px !important;
  }
  .header-search{
    width:156px !important;
    min-width:156px !important;
  }
  .header-contacts{
    grid-template-columns:148px 148px !important;
  }
}


/* Mosaic catalog block */
.catalog-mosaic-section{
  padding:96px 0 104px !important;
  background:
    radial-gradient(circle at 16% 10%, rgba(45,118,255,.13), transparent 34%),
    radial-gradient(circle at 86% 72%, rgba(255,255,255,.055), transparent 28%),
    #07080b !important;
  border-top:1px solid rgba(255,255,255,.08);
  overflow:hidden;
}

.mosaic-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:28px;
  margin-bottom:28px;
}

.mosaic-head h2{
  margin:10px 0 10px;
  color:#fff;
  font-size:38px;
  line-height:1.05;
  letter-spacing:-.045em;
}

.mosaic-head p{
  max-width:620px;
  margin:0;
  color:#9faabd;
  font-size:15px;
  line-height:1.55;
}

.mosaic-all-btn{
  height:42px;
  padding:0 24px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.04);
  color:#fff;
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.06em;
  cursor:default;
  transition:.22s ease;
  white-space:nowrap;
}

.mosaic-all-btn:hover{
  background:rgba(45,118,255,.16);
  border-color:rgba(45,118,255,.42);
  box-shadow:0 0 0 5px rgba(45,118,255,.08);
}

.category-mosaic{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  grid-auto-rows:230px;
  gap:16px;
}

.mosaic-card{
  position:relative;
  border-radius:22px;
  overflow:hidden;
  min-height:230px;
  background:#10131a;
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 22px 70px rgba(0,0,0,.28);
  isolation:isolate;
  transition:
    transform .28s ease,
    border-color .28s ease,
    box-shadow .28s ease;
}

.mosaic-card-large{
  grid-column:span 2;
  grid-row:span 2;
}

.mosaic-card-tall{
  grid-row:span 2;
}

.mosaic-card-wide{
  grid-column:span 2;
}

.mosaic-card:before{
  content:"";
  position:absolute;
  inset:0;
  background-image:var(--bg);
  background-size:cover;
  background-position:center;
  transform:scale(1.04);
  transition:transform .45s ease, filter .45s ease;
  filter:saturate(.9) contrast(1.06) brightness(.78);
  z-index:-3;
}

.mosaic-card:after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, rgba(3,5,9,.08), rgba(3,5,9,.76) 78%, rgba(3,5,9,.92)),
    linear-gradient(100deg, rgba(4,8,18,.96) 0%, rgba(4,8,18,.66) 43%, rgba(4,8,18,.16) 100%);
  z-index:-2;
}

.mosaic-card-content{
  position:absolute;
  left:24px;
  right:24px;
  bottom:24px;
  z-index:2;
}

.mosaic-tag{
  display:inline-flex;
  align-items:center;
  height:26px;
  padding:0 11px;
  margin-bottom:14px;
  border-radius:999px;
  background:rgba(45,118,255,.16);
  border:1px solid rgba(45,118,255,.32);
  color:#7fb0ff;
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.09em;
}

.mosaic-card h3{
  margin:0 0 10px;
  color:#fff;
  font-size:25px;
  line-height:1.08;
  letter-spacing:-.035em;
  text-shadow:0 10px 32px rgba(0,0,0,.55);
}

.mosaic-card p{
  max-width:470px;
  margin:0 0 16px;
  color:#c3cad7;
  font-size:13px;
  line-height:1.5;
}

.mosaic-chips{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.mosaic-chips span{
  min-height:30px;
  display:inline-flex;
  align-items:center;
  padding:7px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.10);
  color:#e6edf8;
  font-size:11px;
  font-weight:700;
  line-height:1;
}

.mosaic-card:hover{
  transform:translateY(-5px);
  border-color:rgba(45,118,255,.38);
  box-shadow:0 28px 90px rgba(0,0,0,.36), 0 0 0 1px rgba(45,118,255,.10);
}

.mosaic-card:hover:before{
  transform:scale(1.10);
  filter:saturate(1.02) contrast(1.12) brightness(.86);
}

.mosaic-card:hover .mosaic-tag{
  background:rgba(45,118,255,.25);
  color:#fff;
}

@media(max-width:1000px){
  .category-mosaic{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
  .mosaic-card-large,
  .mosaic-card-wide{
    grid-column:span 2;
  }
  .mosaic-card-tall{
    grid-row:span 1;
  }
}

@media(max-width:620px){
  .mosaic-head{
    display:block;
  }
  .mosaic-all-btn{
    margin-top:20px;
  }
  .category-mosaic{
    grid-template-columns:1fr;
    grid-auto-rows:260px;
  }
  .mosaic-card-large,
  .mosaic-card-wide,
  .mosaic-card-tall{
    grid-column:span 1;
    grid-row:span 1;
  }
  .mosaic-card-content{
    left:18px;
    right:18px;
    bottom:18px;
  }
  .mosaic-card h3{
    font-size:22px;
  }
}


/* Popular categories: more subcategories without overcrowding */
.category-mosaic{
  align-items:stretch;
}

.mosaic-card{
  overflow:hidden !important;
}

.mosaic-card-content{
  bottom:22px !important;
  transition:transform .28s ease;
  max-height:calc(100% - 42px);
}

.mosaic-card h3{
  font-size:clamp(20px, 1.45vw, 25px) !important;
  line-height:1.08 !important;
  max-width:95%;
}

.mosaic-card p{
  font-size:12px !important;
  line-height:1.42 !important;
  max-width:95%;
}

.mosaic-chips{
  max-width:100%;
  gap:7px !important;
}

.mosaic-chips span{
  font-size:10px !important;
  min-height:28px !important;
  padding:6px 9px !important;
}

.mosaic-more-chip{
  color:#8db7ff !important;
  border-color:rgba(45,118,255,.34) !important;
  background:rgba(45,118,255,.14) !important;
}

.mosaic-more-panel{
  position:absolute;
  left:16px;
  right:16px;
  bottom:16px;
  z-index:4;
  padding:14px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(7,10,15,.88);
  backdrop-filter:blur(12px);
  box-shadow:0 20px 60px rgba(0,0,0,.36);
  transform:translateY(calc(100% + 22px));
  opacity:0;
  transition:.28s ease;
  pointer-events:none;
}

.mosaic-more-panel strong{
  display:block;
  margin:0 0 10px;
  color:#fff;
  font-size:11px;
  line-height:1;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.mosaic-more-panel div{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}

.mosaic-more-panel span{
  display:inline-flex;
  align-items:center;
  min-height:26px;
  padding:6px 9px;
  border-radius:999px;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.10);
  color:#dce6f5;
  font-size:10px;
  font-weight:700;
  line-height:1.1;
}

.mosaic-card:hover .mosaic-card-content{
  transform:translateY(-52px);
}

.mosaic-card:hover .mosaic-more-panel{
  transform:translateY(0);
  opacity:1;
}

/* Fix long title overflow: Crossfit card and all smaller cards */
.mosaic-card:not(.mosaic-card-large):not(.mosaic-card-wide) h3{
  font-size:21px !important;
  line-height:1.03 !important;
}

.mosaic-card:not(.mosaic-card-large):not(.mosaic-card-wide) .mosaic-tag{
  font-size:8.5px !important;
  max-width:100%;
  white-space:normal;
  height:auto;
  min-height:24px;
  padding-top:5px;
  padding-bottom:5px;
  line-height:1.1;
}

.mosaic-card:not(.mosaic-card-large):not(.mosaic-card-wide) .mosaic-card-content{
  left:20px !important;
  right:20px !important;
  bottom:20px !important;
}

@media(max-width:1000px){
  .mosaic-card:hover .mosaic-card-content{
    transform:none;
  }
  .mosaic-more-panel{
    position:relative;
    left:auto;
    right:auto;
    bottom:auto;
    margin-top:14px;
    transform:none;
    opacity:1;
    pointer-events:auto;
  }
}



/* Popular categories — hover without overlap + tiles in catalog menu style */
.mosaic-card{
  overflow:hidden;
}

.mosaic-card-content{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  bottom:22px !important;
  transition:transform .32s ease;
  will-change:transform;
}

.mosaic-card p{
  margin:0 0 14px !important;
}

.mosaic-chips{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  position:relative;
  z-index:2;
}

/* tiles like in catalog dropdown */
.mosaic-chips span,
.mosaic-more-panel span{
  min-height:32px !important;
  padding:8px 11px !important;
  border-radius:10px !important;
  background:linear-gradient(180deg, rgba(30,36,48,.92), rgba(18,22,31,.96)) !important;
  border:1px solid rgba(255,255,255,.11) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03), 0 8px 18px rgba(0,0,0,.18);
  color:#eef3fb !important;
  font-size:11px !important;
  font-weight:700 !important;
  line-height:1.15 !important;
}

.mosaic-more-chip{
  color:#8bb4ff !important;
  border-color:rgba(45,118,255,.34) !important;
  background:linear-gradient(180deg, rgba(24,52,102,.92), rgba(14,32,66,.96)) !important;
}

.mosaic-more-panel{
  left:16px !important;
  right:16px !important;
  bottom:16px !important;
  padding:15px 15px 14px !important;
  border-radius:18px !important;
  border:1px solid rgba(255,255,255,.10) !important;
  background:linear-gradient(180deg, rgba(10,13,18,.96), rgba(6,9,14,.96)) !important;
  backdrop-filter:blur(14px);
  box-shadow:0 18px 50px rgba(0,0,0,.36);
  transform:translateY(calc(100% + 18px));
  opacity:0;
  pointer-events:none;
  transition:transform .32s ease, opacity .28s ease;
  z-index:5;
}

.mosaic-more-panel strong{
  display:block;
  margin:0 0 10px;
  color:#fff;
  font-size:11px;
  line-height:1;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.mosaic-more-panel div{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

/* move main visible content upward and reveal extra subcategories from below */
.mosaic-card:hover .mosaic-card-content{
  transform:translateY(-96px);
}

.mosaic-card.mosaic-card-large:hover .mosaic-card-content,
.mosaic-card.mosaic-card-wide:hover .mosaic-card-content{
  transform:translateY(-102px);
}

.mosaic-card.mosaic-card-tall:hover .mosaic-card-content{
  transform:translateY(-88px);
}

.mosaic-card:hover .mosaic-more-panel{
  transform:translateY(0);
  opacity:1;
  pointer-events:auto;
}

/* make small cards a bit tidier */
.mosaic-card:not(.mosaic-card-large):not(.mosaic-card-wide) .mosaic-card-content{
  left:18px !important;
  right:18px !important;
  bottom:18px !important;
}

.mosaic-card:not(.mosaic-card-large):not(.mosaic-card-wide) h3{
  font-size:19px !important;
  line-height:1.02 !important;
  margin-bottom:8px !important;
}

.mosaic-card:not(.mosaic-card-large):not(.mosaic-card-wide) p{
  font-size:11px !important;
  line-height:1.4 !important;
  margin-bottom:12px !important;
}

.mosaic-card:not(.mosaic-card-large):not(.mosaic-card-wide) .mosaic-tag{
  margin-bottom:12px !important;
  border-radius:999px !important;
}

@media (max-width: 1000px){
  .mosaic-card:hover .mosaic-card-content,
  .mosaic-card.mosaic-card-large:hover .mosaic-card-content,
  .mosaic-card.mosaic-card-wide:hover .mosaic-card-content,
  .mosaic-card.mosaic-card-tall:hover .mosaic-card-content{
    transform:none;
  }

  .mosaic-more-panel{
    position:relative;
    left:auto !important;
    right:auto !important;
    bottom:auto !important;
    margin-top:12px;
    transform:none;
    opacity:1;
    pointer-events:auto;
  }
}


/* Popular categories: click-to-open all subcategories */
.category-mosaic{
  grid-auto-rows:260px !important;
  gap:18px !important;
}

.mosaic-card{
  min-height:260px !important;
  cursor:default;
  overflow:hidden !important;
}

.mosaic-card:before{
  filter:saturate(1.02) contrast(1.08) brightness(.98) !important;
}

.mosaic-card:after{
  background:
    linear-gradient(180deg, rgba(3,5,9,.05), rgba(3,5,9,.58) 66%, rgba(3,5,9,.86)),
    linear-gradient(100deg, rgba(4,8,18,.82) 0%, rgba(4,8,18,.52) 45%, rgba(4,8,18,.10) 100%) !important;
}

.mosaic-card:hover:before{
  filter:saturate(1.05) contrast(1.10) brightness(1.04) !important;
}

.mosaic-card-content{
  bottom:24px !important;
  transition:transform .26s ease, opacity .22s ease;
  z-index:3;
}

.mosaic-card:hover .mosaic-card-content,
.mosaic-card.mosaic-card-large:hover .mosaic-card-content,
.mosaic-card.mosaic-card-wide:hover .mosaic-card-content,
.mosaic-card.mosaic-card-tall:hover .mosaic-card-content{
  transform:none !important;
}

.mosaic-card-large{
  min-height:538px !important;
}

.mosaic-card-tall{
  min-height:538px !important;
}

.mosaic-card-wide{
  min-height:260px !important;
}

.mosaic-chips span{
  cursor:pointer;
  transition:background .2s ease, border-color .2s ease, transform .2s ease;
}

.mosaic-chips span:hover{
  transform:translateY(-1px);
  border-color:rgba(255,255,255,.22) !important;
  background:linear-gradient(180deg, rgba(42,49,64,.96), rgba(23,28,38,.98)) !important;
}

.mosaic-more-chip{
  cursor:pointer !important;
  outline:none;
}

.mosaic-more-chip:hover,
.mosaic-more-chip:focus{
  color:#fff !important;
  border-color:rgba(45,118,255,.62) !important;
  background:linear-gradient(180deg, rgba(32,72,142,.98), rgba(15,42,92,.98)) !important;
  box-shadow:0 0 0 4px rgba(45,118,255,.10), inset 0 1px 0 rgba(255,255,255,.06) !important;
}

.mosaic-more-panel{
  position:absolute !important;
  inset:14px !important;
  z-index:8 !important;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  padding:20px !important;
  border-radius:20px !important;
  border:1px solid rgba(255,255,255,.12) !important;
  background:
    linear-gradient(180deg, rgba(13,17,24,.92), rgba(6,9,14,.95)),
    radial-gradient(circle at 16% 0%, rgba(45,118,255,.16), transparent 38%) !important;
  backdrop-filter:blur(15px);
  box-shadow:0 24px 76px rgba(0,0,0,.42);
  transform:translateY(18px) scale(.985) !important;
  opacity:0 !important;
  pointer-events:none !important;
  transition:opacity .24s ease, transform .26s ease !important;
  overflow:hidden;
}

.mosaic-card.is-open .mosaic-more-panel{
  transform:translateY(0) scale(1) !important;
  opacity:1 !important;
  pointer-events:auto !important;
}

.mosaic-card.is-open .mosaic-card-content{
  opacity:0;
  transform:translateY(-10px) !important;
  pointer-events:none;
}

.mosaic-more-panel strong{
  display:block;
  padding-right:34px;
  margin:0 0 16px !important;
  color:#fff;
  font-size:13px !important;
  line-height:1.15 !important;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.mosaic-more-panel div{
  display:grid !important;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:9px !important;
  overflow:auto;
  padding-right:2px;
}

.mosaic-card-large .mosaic-more-panel div,
.mosaic-card-wide .mosaic-more-panel div{
  grid-template-columns:repeat(3, minmax(0, 1fr));
}

.mosaic-more-panel span{
  min-height:42px !important;
  width:100%;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  padding:10px 12px !important;
  border-radius:12px !important;
  background:linear-gradient(180deg, rgba(30,36,48,.94), rgba(17,21,30,.96)) !important;
  border:1px solid rgba(255,255,255,.10) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035);
  color:#eef3fb !important;
  font-size:11px !important;
  font-weight:760 !important;
  line-height:1.18 !important;
  cursor:pointer;
  transition:.18s ease;
}

.mosaic-more-panel span:hover{
  transform:translateY(-1px);
  border-color:rgba(45,118,255,.42) !important;
  background:linear-gradient(180deg, rgba(32,48,78,.96), rgba(19,28,48,.98)) !important;
  color:#fff !important;
}

.mosaic-panel-close{
  position:absolute;
  top:14px;
  right:14px;
  width:32px;
  height:32px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.06);
  color:#fff;
  font-size:20px;
  line-height:1;
  cursor:pointer;
  transition:.18s ease;
}

.mosaic-panel-close:hover{
  background:rgba(45,118,255,.22);
  border-color:rgba(45,118,255,.48);
}

.mosaic-card:not(.mosaic-card-large):not(.mosaic-card-wide) h3{
  font-size:20px !important;
}

.mosaic-card:not(.mosaic-card-large):not(.mosaic-card-wide) .mosaic-more-panel{
  inset:12px !important;
  padding:16px !important;
}

.mosaic-card:not(.mosaic-card-large):not(.mosaic-card-wide) .mosaic-more-panel div{
  grid-template-columns:1fr;
  gap:8px !important;
}

.mosaic-card:not(.mosaic-card-large):not(.mosaic-card-wide) .mosaic-more-panel span{
  min-height:38px !important;
  font-size:10.5px !important;
  padding:9px 11px !important;
}

@media(max-width:1000px){
  .category-mosaic{
    grid-auto-rows:280px !important;
  }
  .mosaic-card-large,
  .mosaic-card-tall,
  .mosaic-card-wide{
    min-height:280px !important;
  }
  .mosaic-more-panel,
  .mosaic-card:not(.mosaic-card-large):not(.mosaic-card-wide) .mosaic-more-panel{
    position:absolute !important;
    inset:12px !important;
    margin-top:0 !important;
    opacity:0 !important;
    transform:translateY(18px) scale(.985) !important;
  }
  .mosaic-card.is-open .mosaic-more-panel{
    opacity:1 !important;
    transform:translateY(0) scale(1) !important;
  }
  .mosaic-more-panel div,
  .mosaic-card-large .mosaic-more-panel div,
  .mosaic-card-wide .mosaic-more-panel div{
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:620px){
  .mosaic-more-panel div,
  .mosaic-card-large .mosaic-more-panel div,
  .mosaic-card-wide .mosaic-more-panel div{
    grid-template-columns:1fr;
  }
}


/* FIX: click "+ ещё" opens panel over image, without hiding the panel itself */
.mosaic-card-content{
  opacity:1 !important;
  pointer-events:auto !important;
}

.mosaic-card.is-open .mosaic-card-content{
  opacity:1 !important;
  transform:none !important;
  pointer-events:auto !important;
}

.mosaic-card.is-open .mosaic-card-content > .mosaic-tag,
.mosaic-card.is-open .mosaic-card-content > h3,
.mosaic-card.is-open .mosaic-card-content > p,
.mosaic-card.is-open .mosaic-card-content > .mosaic-chips{
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
  transform:translateY(-8px) !important;
  transition:.18s ease !important;
}

.mosaic-card .mosaic-more-panel{
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  top:auto !important;
  max-height:calc(100% - 2px) !important;
  z-index:20 !important;
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
  transform:translateY(18px) scale(.985) !important;
}

.mosaic-card.is-open .mosaic-more-panel{
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
  transform:translateY(0) scale(1) !important;
}

.mosaic-more-panel{
  overflow:auto !important;
}

/* Make background images clearer and brighter */
.mosaic-card:before{
  filter:saturate(1.12) contrast(1.12) brightness(1.18) !important;
  opacity:1 !important;
}

.mosaic-card:hover:before,
.mosaic-card.is-open:before{
  filter:saturate(1.18) contrast(1.16) brightness(1.24) !important;
}

.mosaic-card:after{
  background:
    linear-gradient(180deg, rgba(3,5,9,.00), rgba(3,5,9,.42) 62%, rgba(3,5,9,.78)),
    linear-gradient(100deg, rgba(4,8,18,.64) 0%, rgba(4,8,18,.38) 44%, rgba(4,8,18,.06) 100%) !important;
}

.mosaic-card.is-open:after{
  background:
    linear-gradient(180deg, rgba(3,5,9,.10), rgba(3,5,9,.48) 58%, rgba(3,5,9,.82)),
    linear-gradient(100deg, rgba(4,8,18,.72) 0%, rgba(4,8,18,.42) 44%, rgba(4,8,18,.12) 100%) !important;
}

/* More panel visual refinement */
.mosaic-more-panel{
  background:
    linear-gradient(180deg, rgba(12,16,23,.78), rgba(6,9,14,.88)),
    radial-gradient(circle at 12% 0%, rgba(45,118,255,.20), transparent 42%) !important;
  border:1px solid rgba(255,255,255,.16) !important;
}

.mosaic-more-panel div{
  max-height:100%;
}

.mosaic-panel-close{
  z-index:25 !important;
}



/* ===== popular categories: open chips over the whole image, no separate popup container ===== */
#catalog .category-mosaic{
grid-auto-rows:250px !important;
gap:18px !important;
}

#catalog .mosaic-card{
min-height:250px !important;
}

#catalog .mosaic-card-large{ min-height:518px !important; }
#catalog .mosaic-card-tall{ min-height:518px !important; }
#catalog .mosaic-card-wide{ min-height:250px !important; }

#catalog .mosaic-card:before{
filter:saturate(1.08) contrast(1.14) brightness(1.28) !important;
opacity:1 !important;
}

#catalog .mosaic-card:hover:before,
#catalog .mosaic-card.is-open:before{
filter:saturate(1.12) contrast(1.16) brightness(1.34) !important;
}

#catalog .mosaic-card:after{
background:
  linear-gradient(180deg, rgba(3,5,9,.04), rgba(3,5,9,.56) 72%, rgba(3,5,9,.84)),
  linear-gradient(100deg, rgba(4,8,18,.78) 0%, rgba(4,8,18,.48) 42%, rgba(4,8,18,.08) 100%) !important;
}

#catalog .mosaic-card.is-open:after{
background:
  linear-gradient(180deg, rgba(5,8,14,.28), rgba(4,7,12,.54) 34%, rgba(4,7,12,.78) 100%),
  linear-gradient(100deg, rgba(4,8,18,.82) 0%, rgba(4,8,18,.58) 46%, rgba(4,8,18,.18) 100%) !important;
}

#catalog .mosaic-card-content{
opacity:1 !important;
pointer-events:auto !important;
}

#catalog .mosaic-card.is-open .mosaic-card-content{
opacity:1 !important;
transform:none !important;
pointer-events:auto !important;
}

/* Hide default visible content on open, keep only the overlay tiles */
#catalog .mosaic-card.is-open .mosaic-card-content > .mosaic-tag,
#catalog .mosaic-card.is-open .mosaic-card-content > h3,
#catalog .mosaic-card.is-open .mosaic-card-content > p,
#catalog .mosaic-card.is-open .mosaic-card-content > .mosaic-chips{
opacity:0 !important;
visibility:hidden !important;
pointer-events:none !important;
transform:translateY(-10px) !important;
}

/* No popup box: the extra categories simply sit over the image */
#catalog .mosaic-more-panel{
position:absolute !important;
inset:18px !important;
z-index:10 !important;
padding:0 !important;
border:none !important;
border-radius:0 !important;
background:transparent !important;
box-shadow:none !important;
backdrop-filter:none !important;
opacity:0 !important;
visibility:hidden !important;
pointer-events:none !important;
transform:none !important;
overflow:visible !important;
}

#catalog .mosaic-card.is-open .mosaic-more-panel{
opacity:1 !important;
visibility:visible !important;
pointer-events:auto !important;
}

#catalog .mosaic-more-panel strong{
display:none !important;
}

#catalog .mosaic-more-panel div{
display:flex !important;
flex-wrap:wrap !important;
align-content:flex-start !important;
gap:8px !important;
max-height:none !important;
overflow:visible !important;
padding:0 42px 0 0 !important;
}

#catalog .mosaic-more-panel span{
display:inline-flex !important;
align-items:center !important;
min-height:31px !important;
padding:7px 11px !important;
border-radius:999px !important;
border:1px solid rgba(255,255,255,.18) !important;
background:linear-gradient(180deg, rgba(33,39,52,.92), rgba(18,22,31,.96)) !important;
box-shadow:inset 0 1px 0 rgba(255,255,255,.04), 0 8px 20px rgba(0,0,0,.18) !important;
color:#eef3fb !important;
font-size:11px !important;
font-weight:700 !important;
line-height:1.15 !important;
white-space:normal !important;
}

#catalog .mosaic-panel-close{
position:absolute !important;
top:0 !important;
right:0 !important;
width:30px !important;
height:30px !important;
border-radius:999px !important;
border:1px solid rgba(255,255,255,.16) !important;
background:rgba(8,12,18,.52) !important;
color:#fff !important;
box-shadow:0 10px 20px rgba(0,0,0,.22) !important;
z-index:12 !important;
}

/* Small cards get slightly tighter chips so everything fits */
#catalog .mosaic-card:not(.mosaic-card-large):not(.mosaic-card-wide):not(.mosaic-card-tall) .mosaic-more-panel{
inset:14px !important;
}

#catalog .mosaic-card:not(.mosaic-card-large):not(.mosaic-card-wide):not(.mosaic-card-tall) .mosaic-more-panel div{
gap:7px !important;
padding-right:0px !important;
}

#catalog .mosaic-card:not(.mosaic-card-large):not(.mosaic-card-wide):not(.mosaic-card-tall) .mosaic-more-panel span{
min-height:28px !important;
padding:6px 10px !important;
font-size:10px !important;
}

/* Tall card also benefits from a bit more internal room */
#catalog .mosaic-card-tall .mosaic-more-panel{
inset:18px 18px 18px 18px !important;
}

/* Keep visible chips style aligned with catalog menu tile style */
#catalog .mosaic-chips span,
#catalog .mosaic-more-chip{
background:linear-gradient(180deg, rgba(33,39,52,.88), rgba(18,22,31,.94)) !important;
border:1px solid rgba(255,255,255,.14) !important;
box-shadow:inset 0 1px 0 rgba(255,255,255,.03), 0 8px 18px rgba(0,0,0,.18) !important;
color:#eef3fb !important;
}

#catalog .mosaic-more-chip{
color:#8db7ff !important;
border-color:rgba(45,118,255,.32) !important;
background:linear-gradient(180deg, rgba(24,52,102,.92), rgba(14,32,66,.96)) !important;
}

@media(max-width:1000px){
#catalog .category-mosaic{
  grid-auto-rows:240px !important;
}
#catalog .mosaic-card,
#catalog .mosaic-card-wide{ min-height:240px !important; }
#catalog .mosaic-card-large,
#catalog .mosaic-card-tall{ min-height:498px !important; }
}

@media(max-width:620px){
#catalog .mosaic-more-panel div{ padding-right:32px !important; }
#catalog .mosaic-more-panel span{ font-size:10px !important; }
}



/* ===== Override: open all subcategories as compact text-sized tiles at the top of image ===== */
#catalog .category-mosaic{
grid-auto-rows: 248px !important;
gap: 18px !important;
}

#catalog .mosaic-card{ 
overflow: hidden !important;
transition: transform .28s ease, border-color .28s ease, box-shadow .28s ease, min-height .22s ease;
}

#catalog .mosaic-card:before{
filter: saturate(1.03) contrast(1.12) brightness(1.16) !important;
}
#catalog .mosaic-card:hover:before,
#catalog .mosaic-card.is-open:before{
filter: saturate(1.06) contrast(1.14) brightness(1.22) !important;
}

#catalog .mosaic-card:after{
background:
  linear-gradient(180deg, rgba(3,5,9,.06), rgba(3,5,9,.58) 72%, rgba(3,5,9,.86)),
  linear-gradient(100deg, rgba(4,8,18,.82) 0%, rgba(4,8,18,.52) 45%, rgba(4,8,18,.10) 100%) !important;
}

/* when opened the internal wrapper stretches to the whole card */
#catalog .mosaic-card.is-open .mosaic-card-content{
position:absolute !important;
inset:0 !important;
left:0 !important;
right:0 !important;
top:0 !important;
bottom:0 !important;
max-height:none !important;
opacity:1 !important;
transform:none !important;
pointer-events:auto !important;
}

/* hide the default content when the all-subcategories layer is open */
#catalog .mosaic-card.is-open .mosaic-card-content > .mosaic-tag,
#catalog .mosaic-card.is-open .mosaic-card-content > h3,
#catalog .mosaic-card.is-open .mosaic-card-content > p,
#catalog .mosaic-card.is-open .mosaic-card-content > .mosaic-chips{
opacity:0 !important;
visibility:hidden !important;
pointer-events:none !important;
}

/* transparent overlay: no separate container panel */
#catalog .mosaic-more-panel{
position:absolute !important;
inset:16px !important;
z-index:10 !important;
padding:0 !important;
border:none !important;
background:transparent !important;
backdrop-filter:none !important;
box-shadow:none !important;
border-radius:0 !important;
transform:none !important;
opacity:0 !important;
visibility:hidden !important;
pointer-events:none !important;
overflow:visible !important;
}

#catalog .mosaic-card.is-open .mosaic-more-panel{
opacity:1 !important;
visibility:visible !important;
pointer-events:auto !important;
}

#catalog .mosaic-more-panel strong{ display:none !important; }

/* compact text-sized tiles aligned from top */
#catalog .mosaic-more-panel div{
display:flex !important;
flex-wrap:wrap !important;
align-content:flex-start !important;
align-items:flex-start !important;
gap:10px !important;
padding:0 42px 0 0 !important;
overflow:visible !important;
max-height:none !important;
}

#catalog .mosaic-more-panel span{
width:auto !important;
min-height:0 !important;
max-width:100% !important;
display:inline-flex !important;
align-items:center !important;
justify-content:flex-start !important;
flex:0 0 auto !important;
padding:8px 12px !important;
border-radius:12px !important;
background:linear-gradient(180deg, rgba(31,37,50,.92), rgba(17,21,31,.96)) !important;
border:1px solid rgba(255,255,255,.12) !important;
box-shadow: inset 0 1px 0 rgba(255,255,255,.035), 0 10px 22px rgba(0,0,0,.18) !important;
color:#eef3fb !important;
font-size:11px !important;
font-weight:760 !important;
line-height:1.12 !important;
white-space:normal !important;
word-break:break-word !important;
}

#catalog .mosaic-panel-close{
position:absolute !important;
top:0 !important;
right:0 !important;
width:30px !important;
height:30px !important;
border-radius:999px !important;
border:1px solid rgba(255,255,255,.14) !important;
background:rgba(8,12,18,.56) !important;
color:#fff !important;
font-size:18px !important;
line-height:1 !important;
box-shadow:0 12px 24px rgba(0,0,0,.22) !important;
}

/* visible bottom chips remain in the same tile style family */
#catalog .mosaic-chips span,
#catalog .mosaic-more-chip{
min-height:31px !important;
padding:7px 12px !important;
border-radius:12px !important;
background:linear-gradient(180deg, rgba(31,37,50,.86), rgba(17,21,31,.92)) !important;
border:1px solid rgba(255,255,255,.11) !important;
box-shadow: inset 0 1px 0 rgba(255,255,255,.03), 0 8px 18px rgba(0,0,0,.16) !important;
}

#catalog .mosaic-more-chip{
color:#8db7ff !important;
border-color:rgba(45,118,255,.28) !important;
background:linear-gradient(180deg, rgba(24,52,102,.88), rgba(13,29,59,.94)) !important;
}

/* open-state helper when there are many chips */
#catalog .mosaic-card.is-expanded-rows{
z-index:4;
}

@media (max-width: 1100px){
#catalog .mosaic-more-panel span{
  font-size:10px !important;
  padding:7px 10px !important;
}
}



/* ===== Smooth animation refinement for popular categories ===== */
#catalog .mosaic-card{
transition:
  transform .42s cubic-bezier(.22,.61,.36,1),
  border-color .34s ease,
  box-shadow .42s cubic-bezier(.22,.61,.36,1),
  min-height .42s cubic-bezier(.22,.61,.36,1) !important;
will-change: transform, min-height;
}

#catalog .mosaic-card-content,
#catalog .mosaic-card-content > .mosaic-tag,
#catalog .mosaic-card-content > h3,
#catalog .mosaic-card-content > p,
#catalog .mosaic-card-content > .mosaic-chips{
transition:
  opacity .28s ease,
  transform .42s cubic-bezier(.22,.61,.36,1) !important;
}

#catalog .mosaic-more-panel{
transform: translateY(16px) scale(.985) !important;
opacity: 0 !important;
transition:
  opacity .24s ease,
  transform .42s cubic-bezier(.22,.61,.36,1) !important;
will-change: transform, opacity;
}

#catalog .mosaic-card.is-open .mosaic-more-panel{
transform: translateY(0) scale(1) !important;
opacity: 1 !important;
}

#catalog .mosaic-card.is-open .mosaic-card-content > .mosaic-tag,
#catalog .mosaic-card.is-open .mosaic-card-content > h3,
#catalog .mosaic-card.is-open .mosaic-card-content > p,
#catalog .mosaic-card.is-open .mosaic-card-content > .mosaic-chips{
transform: translateY(-14px) !important;
}

#catalog .mosaic-more-panel span,
#catalog .mosaic-panel-close{
transition:
  opacity .22s ease,
  transform .42s cubic-bezier(.22,.61,.36,1),
  background .2s ease,
  border-color .2s ease,
  box-shadow .2s ease !important;
}

#catalog .mosaic-more-panel span{
opacity: 0;
transform: translateY(14px) scale(.985);
will-change: transform, opacity;
}

#catalog .mosaic-card.is-open .mosaic-more-panel span{
opacity: 1;
transform: translateY(0) scale(1);
}

#catalog .mosaic-panel-close{
opacity: 0;
transform: translateY(10px) scale(.96) !important;
}

#catalog .mosaic-card.is-open .mosaic-panel-close{
opacity: 1;
transform: translateY(0) scale(1) !important;
transition-delay: .06s;
}


/* Typical solutions block */
.solutions-section{
  position:relative;
  padding:92px 0 104px;
  background:
    linear-gradient(180deg, #07080b 0%, #111216 100%),
    radial-gradient(circle at 16% 12%, rgba(45,118,255,.14), transparent 34%);
  border-top:1px solid rgba(255,255,255,.08);
  overflow:hidden;
}

.solutions-section:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(110deg, transparent 0 8%, rgba(255,255,255,.035) 8.4% 10.8%, transparent 11.2% 24%),
    linear-gradient(110deg, transparent 0 38%, rgba(255,255,255,.025) 38.4% 41.6%, transparent 42% 100%);
  opacity:.6;
  pointer-events:none;
}

.solutions-section .container{
  position:relative;
  z-index:2;
}

.solutions-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:32px;
  margin-bottom:36px;
}

.solutions-head h2{
  margin:10px 0 12px;
  color:#8f949d;
  font-size:46px;
  line-height:1.05;
  letter-spacing:-.055em;
  font-weight:500;
}

.solutions-head h2 span{
  position:relative;
  color:#fff;
  font-weight:900;
  display:inline-block;
}

.solutions-head h2 span:after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:4px;
  height:9px;
  background:#2476ff;
  border-radius:999px;
  z-index:-1;
  box-shadow:0 0 22px rgba(36,118,255,.42);
}

.solutions-head p{
  max-width:690px;
  margin:0;
  color:#aab5c7;
  font-size:15px;
  line-height:1.55;
}

.solutions-head-btn{
  height:44px;
  padding:0 24px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.045);
  color:#fff;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.06em;
  white-space:nowrap;
  cursor:default;
  transition:.24s ease;
}

.solutions-head-btn:hover{
  background:rgba(45,118,255,.16);
  border-color:rgba(45,118,255,.42);
  box-shadow:0 0 0 5px rgba(45,118,255,.08);
}

.solutions-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:22px;
}

.solution-card{
  position:relative;
  min-height:178px;
  display:grid;
  grid-template-columns:82px 1fr;
  align-items:center;
  gap:26px;
  padding:30px 34px;
  border:2px solid rgba(255,255,255,.82);
  background:rgba(255,255,255,.018);
  overflow:hidden;
  transition:
    transform .34s cubic-bezier(.22,.61,.36,1),
    border-color .28s ease,
    background .28s ease,
    box-shadow .34s cubic-bezier(.22,.61,.36,1);
}

.solution-card:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 18% 22%, rgba(45,118,255,.16), transparent 30%),
    linear-gradient(120deg, rgba(255,255,255,.035), transparent 48%);
  opacity:0;
  transition:.28s ease;
}

.solution-card:hover{
  transform:translateY(-5px);
  border-color:#fff;
  background:rgba(255,255,255,.04);
  box-shadow:0 26px 70px rgba(0,0,0,.34), 0 0 0 1px rgba(45,118,255,.16);
}

.solution-card:hover:before{
  opacity:1;
}

.solution-icon{
  position:relative;
  z-index:2;
  width:72px;
  height:72px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:18px;
  background:rgba(36,118,255,.08);
  border:1px solid rgba(36,118,255,.22);
  color:#2476ff;
  transition:.28s ease;
}

.solution-icon svg{
  width:52px;
  height:52px;
  fill:none;
  stroke:currentColor;
  stroke-width:2.6;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.solution-card:hover .solution-icon{
  color:#fff;
  background:rgba(36,118,255,.20);
  border-color:rgba(36,118,255,.46);
  box-shadow:0 0 28px rgba(36,118,255,.22);
}

.solution-card h3{
  position:relative;
  z-index:2;
  margin:0 0 10px;
  color:#fff;
  font-size:24px;
  line-height:1.08;
  letter-spacing:-.035em;
}

.solution-card p{
  position:relative;
  z-index:2;
  margin:0;
  color:#aeb8c8;
  font-size:13px;
  line-height:1.45;
}

.solution-arrow{
  position:absolute;
  right:22px;
  bottom:18px;
  z-index:2;
  width:34px;
  height:34px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  color:#fff;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12);
  opacity:0;
  transform:translateX(-8px);
  transition:.24s ease;
}

.solution-card:hover .solution-arrow{
  opacity:1;
  transform:translateX(0);
  background:rgba(36,118,255,.22);
  border-color:rgba(36,118,255,.42);
}

@media(max-width:1050px){
  .solutions-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media(max-width:680px){
  .solutions-head{
    display:block;
  }
  .solutions-head h2{
    font-size:36px;
  }
  .solutions-head-btn{
    margin-top:22px;
  }
  .solutions-grid{
    grid-template-columns:1fr;
  }
  .solution-card{
    grid-template-columns:64px 1fr;
    gap:18px;
    min-height:154px;
    padding:24px;
  }
  .solution-icon{
    width:58px;
    height:58px;
  }
  .solution-icon svg{
    width:42px;
    height:42px;
  }
}


/* Solutions block v2: more positive, clickable and mobile-ready */
.solutions-section-v2{
  padding:88px 0 106px !important;
  background:
    radial-gradient(circle at 20% 0%, rgba(36,118,255,.18), transparent 34%),
    radial-gradient(circle at 78% 28%, rgba(255,255,255,.07), transparent 28%),
    linear-gradient(180deg, #080a0f 0%, #111318 100%) !important;
}

.solutions-section-v2:before{
  opacity:.45 !important;
}

.solutions-section-v2 .solutions-head{
  margin-bottom:34px !important;
}

.solutions-section-v2 .solutions-head h2{
  font-size:48px !important;
}

.solutions-section-v2 .solutions-head p{
  max-width:760px !important;
}

.solutions-section-v2 .solutions-grid{
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  gap:18px !important;
}

.solutions-section-v2 .solution-card{
  min-height:230px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:space-between !important;
  gap:22px !important;
  padding:28px !important;
  border:1px solid rgba(255,255,255,.14) !important;
  border-radius:22px !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.018)),
    rgba(12,15,22,.86) !important;
  box-shadow:0 18px 58px rgba(0,0,0,.26), inset 0 1px 0 rgba(255,255,255,.035);
  cursor:pointer;
  isolation:isolate;
}

.solutions-section-v2 .solution-card:before{
  opacity:1 !important;
  background:
    linear-gradient(135deg, rgba(36,118,255,.16), transparent 42%),
    linear-gradient(180deg, rgba(255,255,255,.045), transparent 44%) !important;
}

.solutions-section-v2 .solution-glow{
  position:absolute;
  inset:auto -24px -34px auto;
  width:140px;
  height:140px;
  border-radius:999px;
  background:rgba(36,118,255,.16);
  filter:blur(36px);
  opacity:.35;
  transition:.34s ease;
  pointer-events:none;
}

.solutions-section-v2 .solution-card:hover{
  transform:translateY(-7px) !important;
  border-color:rgba(36,118,255,.58) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.085), rgba(255,255,255,.028)),
    rgba(13,17,26,.92) !important;
  box-shadow:0 28px 90px rgba(0,0,0,.36), 0 0 0 1px rgba(36,118,255,.18), 0 0 38px rgba(36,118,255,.10) !important;
}

.solutions-section-v2 .solution-card:hover .solution-glow{
  opacity:.75;
  transform:scale(1.08);
}

.solutions-section-v2 .solution-icon{
  width:64px !important;
  height:64px !important;
  border-radius:18px !important;
  background:linear-gradient(180deg, rgba(36,118,255,.18), rgba(36,118,255,.07)) !important;
  border:1px solid rgba(36,118,255,.34) !important;
  color:#2f82ff !important;
  flex:0 0 auto;
}

.solutions-section-v2 .solution-icon svg{
  width:42px !important;
  height:42px !important;
}

.solutions-section-v2 .solution-card:hover .solution-icon{
  background:linear-gradient(180deg, rgba(36,118,255,.34), rgba(36,118,255,.14)) !important;
  border-color:rgba(36,118,255,.62) !important;
  color:#fff !important;
  transform:translateY(-2px);
}

.solutions-section-v2 .solution-content{
  position:relative;
  z-index:2;
  width:100%;
}

.solutions-section-v2 .solution-label{
  display:inline-flex;
  align-items:center;
  min-height:25px;
  padding:6px 10px;
  margin-bottom:13px;
  border-radius:999px;
  background:rgba(36,118,255,.14);
  border:1px solid rgba(36,118,255,.25);
  color:#8db7ff;
  font-size:10px;
  line-height:1;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.07em;
}

.solutions-section-v2 .solution-card h3{
  margin:0 0 10px !important;
  font-size:25px !important;
  line-height:1.08 !important;
}

.solutions-section-v2 .solution-card p{
  max-width:330px;
  min-height:56px;
  color:#b7c2d1 !important;
  font-size:13px !important;
  line-height:1.45 !important;
}

.solutions-section-v2 .solution-cta{
  display:inline-flex;
  align-items:center;
  gap:9px;
  margin-top:18px;
  height:36px;
  padding:0 14px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.13);
  background:rgba(255,255,255,.055);
  color:#fff;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.045em;
  cursor:pointer;
  transition:.22s ease;
}

.solutions-section-v2 .solution-cta:after{
  content:"→";
  font-size:15px;
  line-height:1;
  color:#2f82ff;
  transition:.22s ease;
}

.solutions-section-v2 .solution-card:hover .solution-cta{
  background:#2476ff;
  border-color:#2476ff;
  box-shadow:0 12px 28px rgba(36,118,255,.28);
}

.solutions-section-v2 .solution-card:hover .solution-cta:after{
  color:#fff;
  transform:translateX(3px);
}

.solutions-section-v2 .solution-arrow{
  display:none !important;
}

@media(max-width:1120px){
  .solutions-section-v2 .solutions-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }
  .solutions-section-v2 .solution-card{
    min-height:220px !important;
  }
}

@media(max-width:760px){
  .solutions-section-v2{
    padding:64px 0 72px !important;
  }

  .solutions-section-v2 .solutions-head{
    display:block !important;
    margin-bottom:26px !important;
  }

  .solutions-section-v2 .solutions-head h2{
    font-size:34px !important;
    line-height:1.05 !important;
  }

  .solutions-section-v2 .solutions-head p{
    font-size:14px !important;
  }

  .solutions-section-v2 .solutions-head-btn{
    width:100%;
    margin-top:20px !important;
  }

  .solutions-section-v2 .solutions-grid{
    grid-template-columns:1fr !important;
    gap:14px !important;
  }

  .solutions-section-v2 .solution-card{
    min-height:0 !important;
    padding:22px !important;
    border-radius:18px !important;
    gap:18px !important;
  }

  .solutions-section-v2 .solution-icon{
    width:54px !important;
    height:54px !important;
    border-radius:15px !important;
  }

  .solutions-section-v2 .solution-icon svg{
    width:36px !important;
    height:36px !important;
  }

  .solutions-section-v2 .solution-card h3{
    font-size:22px !important;
  }

  .solutions-section-v2 .solution-card p{
    min-height:0 !important;
    max-width:none !important;
    font-size:13px !important;
  }

  .solutions-section-v2 .solution-cta{
    width:100%;
    justify-content:center;
    height:40px;
  }
}

@media(max-width:430px){
  .solutions-section-v2 .solution-card{
    padding:20px !important;
  }

  .solutions-section-v2 .solution-label{
    font-size:9px;
  }

  .solutions-section-v2 .solution-card h3{
    font-size:20px !important;
  }
}


/* Global typography polish: softer rounded feeling */
:root{
  --fitvl-font-soft: Montserrat, Arial, sans-serif;
}

html,
body,
button,
input,
textarea,
select{
  font-family: Montserrat, Arial, sans-serif;
}

h1, h2, h3, h4,
.hero-title,
.section-title,
.solutions-head h2,
.solution-card h3,
.mosaic-card h3,
.project-card h3{
  font-family: Montserrat, Arial, sans-serif;
  letter-spacing:-.035em;
}

p,
a,
span,
li{
  font-family: Montserrat, Arial, sans-serif;
}

/* Remove blue underline from "Типовые решения" title */
.solutions-section-v2 .solutions-head h2 span:after,
.solutions-section .solutions-head h2 span:after{
  display:none !important;
  content:none !important;
}

.solutions-section-v2 .solutions-head h2 span{
  text-shadow:0 8px 30px rgba(36,118,255,.16);
}

.solutions-section-v2 .solutions-head h2{
  letter-spacing:-.045em !important;
  font-weight:700 !important;
}

.solutions-section-v2 .solution-card h3,
.mosaic-card h3{
  font-weight:800 !important;
  letter-spacing:-.035em !important;
}

.solutions-section-v2 .solution-card,
.mosaic-card,
.project-card,
.stat-item,
.brand-card{
  -webkit-font-smoothing:antialiased;
  text-rendering:geometricPrecision;
}

/* Full mobile audit/polish */
@media(max-width:1180px){
  .container{
    width:min(100% - 40px, 1120px) !important;
  }

  .hero-title,
  .hero h1{
    font-size:clamp(42px, 7vw, 72px) !important;
    line-height:.98 !important;
  }

  .top-line,
  .header-top,
  .site-header-top{
    gap:18px !important;
  }

  .main-nav,
  .nav-row{
    gap:18px !important;
  }

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

  .mosaic-card-large,
  .mosaic-card-wide,
  .mosaic-card-tall{
    grid-column:auto !important;
    grid-row:auto !important;
    min-height:300px !important;
  }

  .solutions-section-v2 .solutions-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }
}

@media(max-width:900px){
  body{
    overflow-x:hidden;
  }

  .page-title,
  .presentation-title{
    padding-left:16px !important;
    padding-right:16px !important;
    font-size:14px !important;
    line-height:1.35 !important;
  }

  .site-header,
  .header,
  .top-header{
    position:relative !important;
  }

  .header-inner,
  .header-top,
  .site-header-top,
  .top-line{
    display:flex !important;
    flex-wrap:wrap !important;
    align-items:center !important;
  }

  .logo-wrap,
  .brand,
  .header-logo{
    max-width:210px !important;
  }

  .phone-wrap,
  .mail-wrap,
  .header-actions{
    margin-left:0 !important;
  }

  .main-nav,
  .nav-row,
  .menu-row{
    overflow-x:auto !important;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    justify-content:flex-start !important;
    padding-left:20px !important;
    padding-right:20px !important;
  }

  .main-nav::-webkit-scrollbar,
  .nav-row::-webkit-scrollbar,
  .menu-row::-webkit-scrollbar{
    display:none;
  }

  .main-nav a,
  .nav-row a,
  .menu-row a{
    white-space:nowrap !important;
  }

  .search-pill,
  .header-search{
    min-width:180px !important;
    max-width:260px !important;
  }

  .hero,
  .hero-slide,
  .hero-section{
    min-height:620px !important;
  }

  .hero-content{
    max-width:560px !important;
    padding-left:24px !important;
    padding-right:24px !important;
  }

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

  .category-mosaic{
    grid-template-columns:1fr !important;
    grid-auto-rows:auto !important;
  }

  .mosaic-card,
  .mosaic-card-large,
  .mosaic-card-wide,
  .mosaic-card-tall{
    min-height:310px !important;
    grid-column:auto !important;
    grid-row:auto !important;
  }

  .mosaic-card-content{
    left:22px !important;
    right:22px !important;
    bottom:22px !important;
  }

  #catalog .mosaic-more-panel div{
    gap:8px !important;
  }

  #catalog .mosaic-more-panel span{
    font-size:10px !important;
    padding:7px 10px !important;
  }

  .solutions-section-v2{
    padding:68px 0 76px !important;
  }

  .solutions-section-v2 .solutions-head{
    display:block !important;
  }

  .solutions-section-v2 .solutions-head h2{
    font-size:38px !important;
  }

  .solutions-section-v2 .solutions-head-btn{
    width:100%;
    margin-top:22px !important;
  }

  .solutions-section-v2 .solutions-grid{
    grid-template-columns:1fr !important;
    gap:14px !important;
  }

  .solutions-section-v2 .solution-card{
    min-height:0 !important;
    padding:22px !important;
  }

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

@media(max-width:560px){
  .container{
    width:calc(100% - 28px) !important;
  }

  .hero,
  .hero-slide,
  .hero-section{
    min-height:600px !important;
  }

  .hero-title,
  .hero h1{
    font-size:38px !important;
    line-height:1.02 !important;
  }

  .hero p,
  .hero-text{
    font-size:14px !important;
    line-height:1.55 !important;
  }

  .hero-actions,
  .cta-row{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:12px !important;
  }

  .hero-actions .btn,
  .cta-row .btn,
  .primary-btn,
  .secondary-btn{
    width:100% !important;
    justify-content:center !important;
  }

  .stats-grid,
  .hero-stats{
    grid-template-columns:1fr !important;
  }

  .catalog-detail,
  .catalog-mosaic-section,
  .solutions-section-v2,
  .projects-section,
  .services-section{
    padding-top:58px !important;
    padding-bottom:64px !important;
  }

  .catalog-detail h2,
  .solutions-section-v2 .solutions-head h2,
  .section-title{
    font-size:32px !important;
    line-height:1.08 !important;
  }

  .catalog-detail .section-lead,
  .solutions-section-v2 .solutions-head p{
    font-size:14px !important;
  }

  .mosaic-card,
  .mosaic-card-large,
  .mosaic-card-wide,
  .mosaic-card-tall{
    min-height:330px !important;
  }

  .mosaic-card h3{
    font-size:22px !important;
  }

  .mosaic-chips{
    gap:7px !important;
  }

  .mosaic-chips span,
  .mosaic-more-chip{
    font-size:10px !important;
    padding:7px 9px !important;
  }

  .solutions-section-v2 .solution-icon{
    width:52px !important;
    height:52px !important;
  }

  .solutions-section-v2 .solution-icon svg{
    width:34px !important;
    height:34px !important;
  }

  .solutions-section-v2 .solution-card h3{
    font-size:21px !important;
  }

  .solutions-section-v2 .solution-cta{
    width:100%;
    justify-content:center;
    height:42px;
  }

  .projects-grid,
  .project-grid,
  .brands-grid{
    grid-template-columns:1fr !important;
  }

  .modal,
  .lightbox{
    padding:14px !important;
  }
}


/* ===== Mobile fixes round 2 ===== */
@media(max-width: 760px){

  /* 1) Цифры 15+ / 300+ / 5000+ — компактнее, не огромным столбиком */
  .hero-stats,
  .stats-grid,
  .stats,
  .hero-metrics{
    display:grid !important;
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:0 !important;
  }

  .hero-stats > *,
  .stats-grid > *,
  .stats > *,
  .hero-metrics > *,
  .stat-item{
    min-height:92px !important;
    padding:20px 18px !important;
    border-bottom:1px solid rgba(255,255,255,.08) !important;
  }

  .hero-stats > *:last-child,
  .stats-grid > *:last-child,
  .stats > *:last-child,
  .hero-metrics > *:last-child,
  .stat-item:last-child{
    grid-column:1 / -1 !important;
  }

  .stat-item strong,
  .stat-number,
  .hero-stat-number{
    font-size:28px !important;
    line-height:1 !important;
  }

  /* 2) Реализованные проекты: без стрелок, свайпом, один проект в видимой области */
  .projects-section .slider-arrows,
  .projects-section .project-arrows,
  .projects-section .projects-arrows,
  .projects-section .carousel-arrows,
  .projects-section .swiper-button-prev,
  .projects-section .swiper-button-next,
  .projects-section .projects-nav,
  .projects-section button[aria-label*="Назад"],
  .projects-section button[aria-label*="Вперёд"]{
    display:none !important;
  }

  .projects-section .projects-grid,
  .projects-section .project-grid,
  .projects-section .projects-track,
  .projects-section .project-slider,
  .projects-section .swiper-wrapper{
    display:flex !important;
    flex-wrap:nowrap !important;
    overflow-x:auto !important;
    scroll-snap-type:x mandatory !important;
    -webkit-overflow-scrolling:touch !important;
    gap:16px !important;
    padding-bottom:10px !important;
    scrollbar-width:none;
  }

  .projects-section .projects-grid::-webkit-scrollbar,
  .projects-section .project-grid::-webkit-scrollbar,
  .projects-section .projects-track::-webkit-scrollbar,
  .projects-section .project-slider::-webkit-scrollbar,
  .projects-section .swiper-wrapper::-webkit-scrollbar{
    display:none;
  }

  .projects-section .project-card,
  .projects-section .projects-card,
  .projects-section .swiper-slide{
    flex:0 0 100% !important;
    width:100% !important;
    min-width:100% !important;
    max-width:100% !important;
    scroll-snap-align:start !important;
  }

  /* Если у карточки есть внутренние картинки/оверлей — не выпускать текст наружу */
  .projects-section .project-card{
    overflow:hidden !important;
  }

  /* 3) Бренды: не столбиком, а горизонтальная лента */
  .brands-grid,
  .brand-grid,
  .brands-list,
  .brand-list{
    display:flex !important;
    flex-wrap:nowrap !important;
    overflow-x:auto !important;
    gap:12px !important;
    padding-bottom:8px !important;
    scroll-snap-type:x mandatory !important;
    -webkit-overflow-scrolling:touch !important;
    scrollbar-width:none;
  }

  .brands-grid::-webkit-scrollbar,
  .brand-grid::-webkit-scrollbar,
  .brands-list::-webkit-scrollbar,
  .brand-list::-webkit-scrollbar{
    display:none;
  }

  .brand-card,
  .brands-grid > *,
  .brand-grid > *,
  .brands-list > *,
  .brand-list > *{
    flex:0 0 48% !important;
    min-width:48% !important;
    scroll-snap-align:start !important;
    min-height:86px !important;
  }

  /* 4) Промо-блоки: два рядом + третий на всю ширину */
  .promo-grid,
  .offers-grid,
  .banners-grid,
  .business-grid,
  .promo-cards{
    display:grid !important;
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:12px !important;
  }

  .promo-grid > *,
  .offers-grid > *,
  .banners-grid > *,
  .business-grid > *,
  .promo-cards > *{
    min-height:150px !important;
    padding:20px !important;
  }

  .promo-grid > *:nth-child(3),
  .offers-grid > *:nth-child(3),
  .banners-grid > *:nth-child(3),
  .business-grid > *:nth-child(3),
  .promo-cards > *:nth-child(3){
    grid-column:1 / -1 !important;
  }

  /* 5) Популярные категории: видны подкатегории у больших карточек */
  #catalog .category-mosaic{
    grid-template-columns:1fr !important;
    gap:16px !important;
  }

  #catalog .mosaic-card,
  #catalog .mosaic-card-large,
  #catalog .mosaic-card-wide,
  #catalog .mosaic-card-tall{
    min-height:410px !important;
    grid-column:auto !important;
    grid-row:auto !important;
  }

  #catalog .mosaic-card-content{
    left:18px !important;
    right:18px !important;
    bottom:18px !important;
    max-height:none !important;
  }

  #catalog .mosaic-card h3{
    font-size:24px !important;
    line-height:1.05 !important;
    margin-bottom:10px !important;
  }

  #catalog .mosaic-card p{
    font-size:12px !important;
    line-height:1.45 !important;
    margin-bottom:12px !important;
  }

  #catalog .mosaic-chips{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:7px !important;
    max-height:none !important;
    overflow:visible !important;
  }

  #catalog .mosaic-chips span,
  #catalog .mosaic-more-chip{
    width:auto !important;
    min-height:30px !important;
    padding:7px 10px !important;
    font-size:10px !important;
    line-height:1.1 !important;
    white-space:normal !important;
  }

  #catalog .mosaic-more-panel{
    inset:16px !important;
  }

  #catalog .mosaic-more-panel div{
    align-content:flex-start !important;
    align-items:flex-start !important;
    gap:8px !important;
    padding-right:38px !important;
  }

  #catalog .mosaic-more-panel span{
    width:auto !important;
    flex:0 0 auto !important;
    max-width:100% !important;
    min-height:30px !important;
    padding:7px 10px !important;
    font-size:10px !important;
    line-height:1.12 !important;
  }
}

@media(max-width: 430px){
  /* На 425px: проекты строго один экран, бренды по 2 карточки */
  .projects-section .project-card,
  .projects-section .projects-card,
  .projects-section .swiper-slide{
    flex-basis:100% !important;
    min-width:100% !important;
  }

  .brand-card,
  .brands-grid > *,
  .brand-grid > *,
  .brands-list > *,
  .brand-list > *{
    flex-basis:48% !important;
    min-width:48% !important;
  }

  #catalog .mosaic-card,
  #catalog .mosaic-card-large,
  #catalog .mosaic-card-wide,
  #catalog .mosaic-card-tall{
    min-height:430px !important;
  }

  .promo-grid > *,
  .offers-grid > *,
  .banners-grid > *,
  .business-grid > *,
  .promo-cards > *{
    min-height:145px !important;
    padding:18px !important;
  }
}


/* ===== Mobile popular categories restore: same mechanics as desktop ===== */
@media(max-width: 760px){
  #catalog .category-mosaic{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:16px !important;
    grid-auto-rows:auto !important;
  }

  #catalog .mosaic-card,
  #catalog .mosaic-card-large,
  #catalog .mosaic-card-wide,
  #catalog .mosaic-card-tall{
    position:relative !important;
    display:block !important;
    width:100% !important;
    min-height:390px !important;
    height:auto !important;
    grid-column:auto !important;
    grid-row:auto !important;
    overflow:hidden !important;
  }

  #catalog .mosaic-card:before{
    content:"" !important;
    position:absolute !important;
    inset:0 !important;
    background-size:cover !important;
    background-position:center !important;
    opacity:1 !important;
    filter:saturate(1.06) contrast(1.12) brightness(1.18) !important;
  }

  #catalog .mosaic-card:after{
    content:"" !important;
    position:absolute !important;
    inset:0 !important;
    z-index:1 !important;
    background:
      linear-gradient(180deg, rgba(3,5,9,.02), rgba(3,5,9,.48) 48%, rgba(3,5,9,.88) 100%),
      linear-gradient(100deg, rgba(4,8,18,.68) 0%, rgba(4,8,18,.36) 48%, rgba(4,8,18,.08) 100%) !important;
    pointer-events:none !important;
  }

  #catalog .mosaic-card-content{
    position:absolute !important;
    left:18px !important;
    right:18px !important;
    top:auto !important;
    bottom:18px !important;
    z-index:3 !important;
    max-height:none !important;
    opacity:1 !important;
    visibility:visible !important;
    transform:none !important;
    pointer-events:auto !important;
    display:block !important;
  }

  #catalog .mosaic-tag{
    display:inline-flex !important;
    opacity:1 !important;
    visibility:visible !important;
    margin-bottom:12px !important;
  }

  #catalog .mosaic-card h3{
    display:block !important;
    opacity:1 !important;
    visibility:visible !important;
    color:#fff !important;
    font-size:24px !important;
    line-height:1.05 !important;
    margin:0 0 10px !important;
  }

  #catalog .mosaic-card p{
    display:block !important;
    opacity:1 !important;
    visibility:visible !important;
    color:#dce6f5 !important;
    font-size:12px !important;
    line-height:1.45 !important;
    margin:0 0 13px !important;
  }

  #catalog .mosaic-chips{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:7px !important;
    max-height:none !important;
    overflow:visible !important;
    opacity:1 !important;
    visibility:visible !important;
  }

  #catalog .mosaic-chips span,
  #catalog .mosaic-more-chip{
    display:inline-flex !important;
    align-items:center !important;
    width:auto !important;
    min-width:0 !important;
    min-height:30px !important;
    padding:7px 10px !important;
    border-radius:12px !important;
    font-size:10px !important;
    line-height:1.1 !important;
    white-space:normal !important;
    opacity:1 !important;
    visibility:visible !important;
  }

  /* When + ещё is opened: hide visible text and show overlay tiles exactly like desktop */
  #catalog .mosaic-card.is-open{
    min-height:390px !important;
    height:auto !important;
  }

  #catalog .mosaic-card.is-open .mosaic-card-content{
    position:absolute !important;
    inset:0 !important;
    left:0 !important;
    right:0 !important;
    top:0 !important;
    bottom:0 !important;
    z-index:5 !important;
  }

  #catalog .mosaic-card.is-open .mosaic-card-content > .mosaic-tag,
  #catalog .mosaic-card.is-open .mosaic-card-content > h3,
  #catalog .mosaic-card.is-open .mosaic-card-content > p,
  #catalog .mosaic-card.is-open .mosaic-card-content > .mosaic-chips{
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
    transform:translateY(-10px) !important;
  }

  #catalog .mosaic-more-panel{
    position:absolute !important;
    inset:16px !important;
    z-index:8 !important;
    padding:0 !important;
    border:none !important;
    background:transparent !important;
    box-shadow:none !important;
    backdrop-filter:none !important;
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
    transform:translateY(14px) scale(.985) !important;
    transition:opacity .24s ease, transform .36s cubic-bezier(.22,.61,.36,1) !important;
    overflow:visible !important;
  }

  #catalog .mosaic-card.is-open .mosaic-more-panel{
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
    transform:translateY(0) scale(1) !important;
  }

  #catalog .mosaic-more-panel strong{
    display:none !important;
  }

  #catalog .mosaic-more-panel div{
    display:flex !important;
    flex-wrap:wrap !important;
    align-content:flex-start !important;
    align-items:flex-start !important;
    gap:8px !important;
    padding:0 38px 0 0 !important;
    overflow:visible !important;
    max-height:none !important;
  }

  #catalog .mosaic-more-panel span{
    width:auto !important;
    min-width:0 !important;
    max-width:100% !important;
    flex:0 0 auto !important;
    display:inline-flex !important;
    align-items:center !important;
    min-height:30px !important;
    padding:7px 10px !important;
    border-radius:12px !important;
    background:linear-gradient(180deg, rgba(31,37,50,.92), rgba(17,21,31,.96)) !important;
    border:1px solid rgba(255,255,255,.14) !important;
    color:#eef3fb !important;
    font-size:10px !important;
    font-weight:760 !important;
    line-height:1.12 !important;
    white-space:normal !important;
    opacity:1 !important;
    visibility:visible !important;
  }

  #catalog .mosaic-panel-close{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    position:absolute !important;
    top:0 !important;
    right:0 !important;
    width:30px !important;
    height:30px !important;
    z-index:12 !important;
    opacity:1 !important;
    visibility:visible !important;
  }

  #catalog .mosaic-card.is-expanded-rows{
    min-height:460px !important;
  }
}

@media(max-width: 430px){
  #catalog .mosaic-card,
  #catalog .mosaic-card-large,
  #catalog .mosaic-card-wide,
  #catalog .mosaic-card-tall{
    min-height:390px !important;
  }

  #catalog .mosaic-card.is-expanded-rows{
    min-height:480px !important;
  }

  #catalog .mosaic-card h3{
    font-size:23px !important;
  }
}



/* ===== Mobile fix: realized projects as single-card swipe, no arrows ===== */
@media (max-width: 560px){
  .projects-presentation .project-controls,
  .projects-presentation .project-prev,
  .projects-presentation .project-next,
  .projects-presentation .project-scroll-btn{
    display:none !important;
  }

  .projects-presentation .section-title{
    display:block !important;
  }

  .projects-presentation .project-row.project-scroll{
    display:flex !important;
    flex-wrap:nowrap !important;
    gap:12px !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    scroll-snap-type:x mandatory !important;
    -webkit-overflow-scrolling:touch !important;
    scroll-behavior:smooth !important;
    padding-bottom:10px !important;
    padding-right:0 !important;
  }

  .projects-presentation .project-row.project-scroll::-webkit-scrollbar{
    height:6px !important;
  }

  .projects-presentation .project-row.project-scroll .project-card{
    flex:0 0 100% !important;
    width:100% !important;
    min-width:100% !important;
    max-width:100% !important;
    height:370px !important;
    scroll-snap-align:start !important;
    scroll-snap-stop:always !important;
  }

  .projects-presentation .project-row.project-scroll .project-info{
    left:18px !important;
    right:18px !important;
    bottom:16px !important;
  }

  .projects-presentation .project-row.project-scroll .project-info h3{
    font-size:18px !important;
  }

  .projects-presentation .project-row.project-scroll .project-info .city,
  .projects-presentation .project-row.project-scroll .project-info p,
  .projects-presentation .project-row.project-scroll .project-meta{
    font-size:11px !important;
  }
}


/* ===== Interactive equipment calculator + updated process ===== */
.fitcalc-section{
  position:relative;
  padding:96px 0 28px;
  background:
    radial-gradient(circle at 18% 0%, rgba(36,118,255,.16), transparent 34%),
    radial-gradient(circle at 82% 26%, rgba(255,255,255,.055), transparent 26%),
    linear-gradient(180deg, #07090d 0%, #0b0d12 100%);
  border-top:1px solid rgba(255,255,255,.08);
  overflow:hidden;
}

.fitcalc-section:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(112deg, transparent 0 12%, rgba(255,255,255,.035) 12.3% 14.6%, transparent 15% 36%),
    linear-gradient(112deg, transparent 0 56%, rgba(255,255,255,.025) 56.3% 59.6%, transparent 60% 100%);
  opacity:.48;
  pointer-events:none;
}

.fitcalc-section .container{
  position:relative;
  z-index:2;
}

.fitcalc-shell{
  display:grid;
  grid-template-columns:minmax(0, 1.55fr) minmax(330px, .9fr);
  gap:28px;
  padding:28px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:26px;
  background:linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.018));
  box-shadow:0 24px 90px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.035);
}

.fitcalc-main h2{
  margin:10px 0 14px;
  color:#fff;
  font-size:42px;
  line-height:1.05;
  letter-spacing:-.045em;
}

.fitcalc-lead{
  max-width:850px;
  margin:0 0 22px;
  color:#b7c2d1;
  font-size:15px;
  line-height:1.55;
}

.fitcalc-form{
  padding:22px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:20px;
  background:rgba(7,10,16,.46);
}

.fitcalc-input-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:12px;
  margin-bottom:20px;
}

.fitcalc-input-grid label,
.fitcalc-number-grid label{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:48px;
  padding:0 14px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:11px;
  background:rgba(255,255,255,.025);
  color:#8792a4;
}

.fitcalc-input-grid input,
.fitcalc-number-grid input{
  width:100%;
  border:0;
  outline:0;
  background:transparent;
  color:#fff;
  font:inherit;
}

.fitcalc-input-grid input::placeholder{
  color:#8e98aa;
}

.fitcalc-group{
  margin-top:18px;
}

.fitcalc-label{
  margin-bottom:10px;
  color:#e7eefb;
  font-size:13px;
  font-weight:800;
}

.fitcalc-label small{
  color:#79879b;
  font-weight:600;
}

.fitcalc-options{
  display:grid;
  grid-template-columns:repeat(6, minmax(0, 1fr));
  gap:9px;
}

.fitcalc-option{
  position:relative;
  min-height:82px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:12px 8px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:12px;
  background:linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.018));
  color:#fff;
  cursor:pointer;
  transition:.24s ease;
}

.fitcalc-option span{
  color:#8ca1bf;
  font-size:19px;
}

.fitcalc-option b{
  font-size:12px;
  line-height:1.15;
  text-align:center;
}

.fitcalc-option.is-active,
.fitcalc-chip.is-active{
  border-color:rgba(36,118,255,.72);
  background:linear-gradient(180deg, rgba(36,118,255,.22), rgba(36,118,255,.08));
  box-shadow:0 0 0 4px rgba(36,118,255,.08), inset 0 1px 0 rgba(255,255,255,.06);
}

.fitcalc-option.is-active:after{
  content:"✓";
  position:absolute;
  top:8px;
  right:8px;
  width:20px;
  height:20px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:#2476ff;
  color:#fff;
  font-size:12px;
  font-weight:900;
}

.fitcalc-zone-options{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
}

.fitcalc-chip{
  min-height:42px;
  padding:0 14px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:10px;
  background:rgba(255,255,255,.025);
  color:#eaf1fd;
  font-weight:800;
  font-size:12px;
  cursor:pointer;
  transition:.22s ease;
}

.fitcalc-number-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:12px;
  margin-top:18px;
}

.fitcalc-number-grid label{
  display:block;
  padding:11px 14px;
  min-height:66px;
}

.fitcalc-number-grid label span{
  display:block;
  margin-bottom:5px;
  color:#8e98aa;
  font-size:12px;
}

.fitcalc-number-grid input{
  font-size:17px;
  font-weight:800;
}

.fitcalc-budget{
  margin-top:20px;
}

.fitcalc-budget input[type="range"]{
  width:100%;
  accent-color:#2476ff;
}

.fitcalc-scale{
  display:flex;
  justify-content:space-between;
  gap:10px;
  color:#8792a4;
  font-size:12px;
}

.fitcalc-scale b{
  color:#fff;
}

.fitcalc-consent{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin-top:18px;
  color:#9ba8ba;
  font-size:12px;
  line-height:1.35;
}

.fitcalc-consent input{
  width:18px;
  height:18px;
  accent-color:#2476ff;
  flex:0 0 auto;
}

.fitcalc-consent a{
  color:#2d7cff;
  text-decoration:none;
}

.fitcalc-submit,
.fitcalc-result-btn{
  width:100%;
  height:48px;
  margin-top:18px;
  border:0;
  border-radius:10px;
  background:linear-gradient(180deg, #2e7dff, #1766ff);
  color:#fff;
  font-size:13px;
  font-weight:900;
  cursor:pointer;
  box-shadow:0 16px 34px rgba(36,118,255,.28);
  transition:.22s ease;
}

.fitcalc-submit:hover,
.fitcalc-result-btn:hover{
  transform:translateY(-2px);
  box-shadow:0 20px 42px rgba(36,118,255,.36);
}

.fitcalc-result{
  position:sticky;
  top:24px;
  align-self:start;
  min-height:100%;
  padding:28px;
  border:1px solid rgba(36,118,255,.55);
  border-radius:20px;
  background:
    radial-gradient(circle at 22% 0%, rgba(36,118,255,.18), transparent 36%),
    linear-gradient(180deg, rgba(17,22,32,.94), rgba(8,11,18,.96));
  box-shadow:0 20px 70px rgba(0,0,0,.36), 0 0 0 1px rgba(36,118,255,.10);
}

.fitcalc-result-icon{
  color:#2d7cff;
  font-size:22px;
}

.fitcalc-result h3{
  margin:8px 0 24px;
  color:#fff;
  font-size:24px;
  letter-spacing:-.035em;
}

.fitcalc-result-block,
.fitcalc-result-list{
  margin-top:18px;
}

.fitcalc-result-block > span,
.fitcalc-result-list > span,
.fitcalc-result-metrics span{
  display:block;
  margin-bottom:9px;
  color:#c8d2e1;
  font-size:13px;
  font-weight:800;
}

.fitcalc-result-zones{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.fitcalc-result-zones em{
  padding:7px 11px;
  border-radius:999px;
  background:rgba(255,255,255,.065);
  color:#eaf1fd;
  font-size:12px;
  font-style:normal;
}

.fitcalc-result-metrics{
  display:grid;
  gap:18px;
  margin-top:24px;
}

.fitcalc-result-metrics strong{
  display:block;
  color:#2f82ff;
  font-size:24px;
  line-height:1.05;
}

.fitcalc-result-metrics small{
  color:#8b98aa;
  font-size:12px;
}

.fitcalc-result-list ul{
  display:grid;
  gap:8px;
  margin:0;
  padding:0;
  list-style:none;
}

.fitcalc-result-list li{
  position:relative;
  padding-left:22px;
  color:#d9e3f1;
  font-size:13px;
  line-height:1.35;
}

.fitcalc-result-list li:before{
  content:"✓";
  position:absolute;
  left:0;
  top:0;
  color:#2f82ff;
  font-weight:900;
}

.fitcalc-manager{
  display:flex;
  gap:14px;
  margin-top:22px;
  padding:16px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:13px;
  background:rgba(255,255,255,.035);
}

.fitcalc-manager span{
  color:#2f82ff;
  font-size:24px;
}

.fitcalc-manager p{
  margin:0;
  color:#aeb9ca;
  font-size:13px;
  line-height:1.35;
}

.fitcalc-manager b{
  color:#83b0ff;
}

.fitcalc-result-btn{
  background:transparent;
  border:1px solid rgba(36,118,255,.72);
  box-shadow:none;
  color:#4d92ff;
}

.fitcalc-safe{
  margin-top:14px;
  color:#8d9aad;
  font-size:12px;
  text-align:center;
}

.process-v2{
  padding-top:48px !important;
  background:#0b0d12;
}

.steps-v2{
  display:grid;
  grid-template-columns:repeat(5, minmax(0, 1fr));
  gap:12px;
}

.steps-v2 .step{
  position:relative;
  min-height:154px;
  padding:22px;
  border-radius:14px;
  background:linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.018));
  border:1px solid rgba(255,255,255,.09);
}

.steps-v2 .step strong{
  display:block;
  color:#2476ff;
  font-size:24px;
  margin-bottom:22px;
}

.steps-v2 .step h3{
  margin:0 0 8px;
}

.steps-v2 .step p{
  margin:0;
}

.steps-v2 .step span{
  position:absolute;
  right:18px;
  bottom:16px;
  color:#8996a9;
}

@media(max-width:1180px){
  .fitcalc-shell{
    grid-template-columns:1fr;
  }

  .fitcalc-result{
    position:relative;
    top:auto;
  }

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

  .steps-v2{
    display:flex;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    padding-bottom:8px;
  }

  .steps-v2 .step{
    flex:0 0 260px;
    scroll-snap-align:start;
  }
}

@media(max-width:760px){
  .fitcalc-section{
    padding:64px 0 20px;
  }

  .fitcalc-shell{
    padding:0;
    border:0;
    background:transparent;
    box-shadow:none;
  }

  .fitcalc-main h2{
    font-size:32px;
  }

  .fitcalc-form,
  .fitcalc-result{
    padding:18px;
    border-radius:18px;
  }

  .fitcalc-input-grid,
  .fitcalc-number-grid{
    grid-template-columns:1fr;
  }

  .fitcalc-options{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .fitcalc-option{
    min-height:78px;
  }

  .fitcalc-zone-options{
    display:grid;
    grid-template-columns:1fr;
  }

  .fitcalc-chip{
    width:100%;
    justify-content:center;
  }

  .fitcalc-scale{
    font-size:10px;
  }

  .fitcalc-result h3{
    font-size:22px;
  }

  .fitcalc-result-metrics{
    grid-template-columns:1fr;
  }

  .fitcalc-result-metrics strong{
    font-size:20px;
  }

  .process-v2 .deep-title{
    display:block !important;
  }

  .process-v2 .deep-title h2{
    font-size:28px !important;
  }

  .steps-v2{
    gap:12px;
    scrollbar-width:none;
  }

  .steps-v2::-webkit-scrollbar{
    display:none;
  }

  .steps-v2 .step{
    flex:0 0 88%;
    min-height:132px;
  }
}


/* ===== Process block polish ===== */
.process-v2{
  position:relative;
  padding:84px 0 96px !important;
  background:
    radial-gradient(circle at 12% 0%, rgba(36,118,255,.12), transparent 34%),
    linear-gradient(180deg, #0b0d12 0%, #08090d 100%) !important;
  border-top:1px solid rgba(255,255,255,.08);
  overflow:hidden;
}

.process-v2:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(112deg, transparent 0 18%, rgba(255,255,255,.025) 18.4% 21%, transparent 21.4% 100%),
    linear-gradient(112deg, transparent 0 62%, rgba(36,118,255,.05) 62.4% 65.4%, transparent 66% 100%);
  opacity:.65;
  pointer-events:none;
}

.process-v2 .container{
  position:relative;
  z-index:2;
}

.process-v2 .deep-title{
  display:grid !important;
  grid-template-columns:minmax(0, 1.2fr) minmax(300px, .55fr);
  gap:48px;
  align-items:end;
  margin-bottom:32px;
}

.process-v2 .deep-title h2{
  max-width:940px;
  margin:10px 0 0;
  font-size:42px !important;
  line-height:1.05 !important;
  letter-spacing:-.045em !important;
}

.process-v2 .deep-title p{
  margin:0;
  color:#aab6c7;
  font-size:15px;
  line-height:1.55;
}

.steps-v2{
  display:grid !important;
  grid-template-columns:repeat(5, minmax(0, 1fr)) !important;
  gap:14px !important;
  overflow:visible !important;
  padding-bottom:0 !important;
}

.steps-v2 .step{
  position:relative;
  min-height:206px !important;
  padding:26px 24px 24px !important;
  border-radius:18px !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.018)),
    rgba(13,16,23,.86) !important;
  border:1px solid rgba(255,255,255,.10) !important;
  box-shadow:0 18px 54px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.035);
  overflow:hidden;
  transition:
    transform .32s cubic-bezier(.22,.61,.36,1),
    border-color .28s ease,
    background .28s ease,
    box-shadow .32s cubic-bezier(.22,.61,.36,1);
}

/* убираем старую автонумерацию, из-за неё номер дублировался */
.steps-v2 .step:before{
  display:none !important;
  content:none !important;
}

.steps-v2 .step:after{
  content:"";
  position:absolute;
  inset:auto -28px -44px auto;
  width:124px;
  height:124px;
  border-radius:999px;
  background:rgba(36,118,255,.18);
  filter:blur(34px);
  opacity:.28;
  pointer-events:none;
  transition:.28s ease;
}

.steps-v2 .step:hover{
  transform:translateY(-5px);
  border-color:rgba(36,118,255,.42) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.026)),
    rgba(14,18,27,.92) !important;
  box-shadow:0 28px 78px rgba(0,0,0,.34), 0 0 0 1px rgba(36,118,255,.12);
}

.steps-v2 .step:hover:after{
  opacity:.62;
  transform:scale(1.08);
}

.steps-v2 .step strong{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  width:48px;
  height:34px;
  margin:0 0 28px !important;
  border-radius:999px;
  background:rgba(36,118,255,.12);
  border:1px solid rgba(36,118,255,.26);
  color:#2f82ff !important;
  font-size:18px !important;
  line-height:1 !important;
  font-weight:900 !important;
  letter-spacing:.02em;
}

.steps-v2 .step h3{
  position:relative;
  z-index:2;
  margin:0 0 10px !important;
  color:#fff;
  font-size:18px !important;
  line-height:1.15 !important;
  letter-spacing:-.02em;
}

.steps-v2 .step p{
  position:relative;
  z-index:2;
  max-width:210px;
  margin:0 !important;
  color:#aeb9ca;
  font-size:13px !important;
  line-height:1.45 !important;
}

.steps-v2 .step span{
  position:absolute !important;
  right:18px !important;
  bottom:16px !important;
  width:30px;
  height:30px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  color:#87aef5 !important;
  background:rgba(255,255,255,.045);
  border:1px solid rgba(255,255,255,.09);
  transition:.22s ease;
  z-index:2;
}

.steps-v2 .step:hover span{
  color:#fff !important;
  background:rgba(36,118,255,.22);
  border-color:rgba(36,118,255,.38);
  transform:translateX(2px);
}

@media(max-width:1180px){
  .process-v2 .deep-title{
    grid-template-columns:1fr;
    gap:18px;
  }

  .steps-v2{
    display:flex !important;
    gap:14px !important;
    overflow-x:auto !important;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    padding-bottom:10px !important;
  }

  .steps-v2::-webkit-scrollbar{
    display:none;
  }

  .steps-v2 .step{
    flex:0 0 285px !important;
    scroll-snap-align:start;
  }
}

@media(max-width:760px){
  .process-v2{
    padding:62px 0 72px !important;
  }

  .process-v2 .deep-title h2{
    font-size:30px !important;
    line-height:1.08 !important;
  }

  .process-v2 .deep-title p{
    font-size:14px;
  }

  .steps-v2 .step{
    flex:0 0 86% !important;
    min-height:180px !important;
    padding:22px !important;
  }

  .steps-v2 .step strong{
    margin-bottom:22px !important;
  }
}


/* ===== Services complex block: 1+3 premium cards ===== */
.services-complex-section{
  position:relative;
  padding:96px 0 96px;
  background:
    radial-gradient(circle at 16% 0%, rgba(36,118,255,.13), transparent 35%),
    radial-gradient(circle at 84% 40%, rgba(255,255,255,.055), transparent 27%),
    linear-gradient(180deg, #07090d 0%, #0b0d12 100%);
  border-top:1px solid rgba(255,255,255,.08);
  overflow:hidden;
}

.services-complex-section:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(112deg, transparent 0 14%, rgba(255,255,255,.026) 14.4% 17.3%, transparent 17.8% 100%),
    linear-gradient(112deg, transparent 0 65%, rgba(36,118,255,.055) 65.4% 68.2%, transparent 69% 100%);
  opacity:.65;
  pointer-events:none;
}

.services-complex-section .container{
  position:relative;
  z-index:2;
}

.services-complex-head{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  align-items:end;
  gap:36px;
  margin-bottom:34px;
}

.services-complex-head h2{
  max-width:780px;
  margin:10px 0 12px;
  color:#fff;
  font-size:42px;
  line-height:1.05;
  letter-spacing:-.045em;
  font-weight:850;
}

.services-complex-head p{
  max-width:640px;
  margin:0;
  color:#aeb9ca;
  font-size:15px;
  line-height:1.55;
}

.services-complex-btn{
  height:44px;
  padding:0 24px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.045);
  color:#fff;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.055em;
  cursor:pointer;
  transition:.22s ease;
  white-space:nowrap;
}

.services-complex-btn:hover{
  background:rgba(36,118,255,.18);
  border-color:rgba(36,118,255,.48);
  box-shadow:0 0 0 5px rgba(36,118,255,.08);
}

.services-complex-grid{
  display:grid;
  grid-template-columns:1.18fr .82fr;
  grid-template-rows:repeat(3, 190px);
  gap:16px;
}

.service-complex-card{
  position:relative;
  min-height:190px;
  border-radius:20px;
  border:1px solid rgba(255,255,255,.12);
  background:#10131a;
  overflow:hidden;
  cursor:pointer;
  box-shadow:0 18px 58px rgba(0,0,0,.26), inset 0 1px 0 rgba(255,255,255,.035);
  transition:
    transform .34s cubic-bezier(.22,.61,.36,1),
    border-color .28s ease,
    box-shadow .34s cubic-bezier(.22,.61,.36,1);
}

.service-complex-card-large{
  grid-row:span 3;
  min-height:602px;
}

.service-complex-bg{
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center;
  filter:saturate(1.02) contrast(1.05) brightness(.82);
  transform:scale(1);
  transition:.45s cubic-bezier(.22,.61,.36,1);
}

.service-complex-card:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(180deg, rgba(5,7,11,.10), rgba(5,7,11,.58) 56%, rgba(5,7,11,.92)),
    linear-gradient(90deg, rgba(5,9,18,.82), rgba(5,9,18,.36) 48%, rgba(5,9,18,.14));
  pointer-events:none;
}

.service-complex-card:after{
  content:"";
  position:absolute;
  inset:auto -44px -54px auto;
  width:170px;
  height:170px;
  z-index:1;
  border-radius:999px;
  background:rgba(36,118,255,.18);
  filter:blur(42px);
  opacity:.35;
  transition:.32s ease;
  pointer-events:none;
}

.service-complex-card:hover{
  transform:translateY(-5px);
  border-color:rgba(36,118,255,.54);
  box-shadow:0 30px 88px rgba(0,0,0,.38), 0 0 0 1px rgba(36,118,255,.12);
}

.service-complex-card:hover .service-complex-bg{
  transform:scale(1.07);
  filter:saturate(1.08) contrast(1.08) brightness(.95);
}

.service-complex-card:hover:after{
  opacity:.75;
  transform:scale(1.08);
}

.service-complex-content{
  position:absolute;
  left:26px;
  right:26px;
  bottom:24px;
  z-index:2;
}

.service-complex-card-large .service-complex-content{
  left:34px;
  right:34px;
  bottom:34px;
}

.service-complex-tag{
  display:inline-flex;
  align-items:center;
  min-height:26px;
  padding:6px 11px;
  margin-bottom:14px;
  border-radius:999px;
  background:rgba(36,118,255,.16);
  border:1px solid rgba(36,118,255,.32);
  color:#8db7ff;
  font-size:10px;
  line-height:1;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.075em;
}

.service-complex-card h3{
  max-width:520px;
  margin:0 0 10px;
  color:#fff;
  font-size:25px;
  line-height:1.08;
  letter-spacing:-.035em;
}

.service-complex-card-large h3{
  font-size:36px;
  line-height:1.02;
}

.service-complex-card p{
  max-width:520px;
  margin:0;
  color:#c8d4e5;
  font-size:13px;
  line-height:1.45;
}

.service-complex-card-large p{
  max-width:610px;
  font-size:15px;
}

.service-complex-points{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:18px;
}

.service-complex-points span{
  padding:8px 11px;
  border-radius:999px;
  background:rgba(255,255,255,.075);
  border:1px solid rgba(255,255,255,.12);
  color:#eef4ff;
  font-size:11px;
  font-weight:800;
}

.service-complex-link{
  display:inline-flex;
  align-items:center;
  gap:10px;
  height:36px;
  margin-top:18px;
  padding:0 14px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.13);
  background:rgba(255,255,255,.06);
  color:#fff;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.045em;
  cursor:pointer;
  transition:.22s ease;
}

.service-complex-link em{
  color:#2f82ff;
  font-style:normal;
  transition:.22s ease;
}

.service-complex-card:hover .service-complex-link{
  background:#2476ff;
  border-color:#2476ff;
  box-shadow:0 12px 30px rgba(36,118,255,.28);
}

.service-complex-card:hover .service-complex-link em{
  color:#fff;
  transform:translateX(3px);
}

@media(max-width:1080px){
  .services-complex-grid{
    grid-template-columns:1fr;
    grid-template-rows:auto;
  }

  .service-complex-card,
  .service-complex-card-large{
    grid-row:auto;
    min-height:300px;
  }

  .service-complex-card-large h3{
    font-size:30px;
  }
}

@media(max-width:760px){
  .services-complex-section{
    padding:64px 0 72px;
  }

  .services-complex-head{
    display:block;
    margin-bottom:24px;
  }

  .services-complex-head h2{
    font-size:32px;
    line-height:1.08;
  }

  .services-complex-head p{
    font-size:14px;
  }

  .services-complex-btn{
    width:100%;
    margin-top:20px;
  }

  .services-complex-grid{
    gap:14px;
  }

  .service-complex-card,
  .service-complex-card-large{
    min-height:340px;
    border-radius:18px;
  }

  .service-complex-content,
  .service-complex-card-large .service-complex-content{
    left:20px;
    right:20px;
    bottom:20px;
  }

  .service-complex-card h3,
  .service-complex-card-large h3{
    font-size:24px;
    line-height:1.08;
  }

  .service-complex-card p,
  .service-complex-card-large p{
    font-size:13px;
  }

  .service-complex-points{
    gap:7px;
  }

  .service-complex-points span{
    font-size:10px;
    padding:7px 10px;
  }

  .service-complex-link{
    width:100%;
    justify-content:center;
  }
}


/* ===== Premium keyturn services block ===== */
.services-keyturn-section{
  position:relative;
  padding:104px 0 104px;
  background:
    radial-gradient(circle at 16% 0%, rgba(36,118,255,.15), transparent 34%),
    radial-gradient(circle at 84% 52%, rgba(255,255,255,.055), transparent 28%),
    linear-gradient(180deg, #07090d 0%, #0c0e13 100%);
  border-top:1px solid rgba(255,255,255,.08);
  overflow:hidden;
}

.services-keyturn-section:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(112deg, transparent 0 12%, rgba(255,255,255,.030) 12.4% 15.4%, transparent 16% 100%),
    linear-gradient(112deg, transparent 0 58%, rgba(36,118,255,.052) 58.4% 61.6%, transparent 62.2% 100%);
  opacity:.68;
  pointer-events:none;
}

.services-keyturn-section .container{
  position:relative;
  z-index:2;
}

.services-keyturn-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:34px;
  margin-bottom:34px;
}

.services-keyturn-head h2{
  max-width:900px;
  margin:10px 0 12px;
  color:#fff;
  font-size:44px;
  line-height:1.04;
  letter-spacing:-.045em;
  font-weight:850;
}

.services-keyturn-head p{
  max-width:760px;
  margin:0;
  color:#aeb9ca;
  font-size:15px;
  line-height:1.55;
}

.services-keyturn-layout{
  display:grid;
  grid-template-columns:minmax(0, 1.05fr) minmax(430px, .95fr);
  gap:18px;
  align-items:stretch;
}

.services-keyturn-hero{
  position:relative;
  min-height:548px;
  border-radius:28px;
  border:1px solid rgba(255,255,255,.12);
  background:#10131a;
  overflow:hidden;
  box-shadow:0 24px 88px rgba(0,0,0,.36), inset 0 1px 0 rgba(255,255,255,.035);
  isolation:isolate;
}

.services-keyturn-hero-bg-stack{
  position:absolute;
  inset:0;
  z-index:-3;
}

.services-keyturn-hero-layer{
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(180deg, rgba(5,7,11,.03), rgba(5,7,11,.34) 46%, rgba(5,7,11,.72)),
    linear-gradient(90deg, rgba(4,8,18,.56), rgba(4,8,18,.18) 56%, rgba(4,8,18,.10)),
    var(--service-image);
  background-position:center;
  background-repeat:no-repeat;
  background-size:cover;
  filter:saturate(1.08) contrast(1.04) brightness(1.02);
  transform:scale(1.015);
  opacity:0;
  transition:opacity 3s ease, transform 8s ease, filter 1.2s ease;
  will-change:opacity, transform, filter;
}

.services-keyturn-hero-layer.is-visible{
  opacity:1;
  transform:scale(1.04);
}

.services-keyturn-hero-cubes{
  position:absolute;
  inset:0;
  z-index:-2;
  pointer-events:none;
  overflow:hidden;
  mix-blend-mode:screen;
}

.services-keyturn-hero-cube{
  position:absolute;
  background-repeat:no-repeat;
  opacity:0;
  transform:scale(.35) translate3d(0,0,0);
  filter:saturate(1.08) brightness(1.08);
  will-change:transform, opacity;
  transform-origin:center center;
}

.services-keyturn-hero-cube.is-fine{
  border-radius:4px;
  box-shadow:0 0 0 1px rgba(255,255,255,.03) inset;
}

.services-keyturn-hero-cube.is-coarse{
  border-radius:8px;
  box-shadow:0 0 0 1px rgba(255,255,255,.05) inset;
}

.services-keyturn-hero-cubes.is-active .services-keyturn-hero-cube{
  animation:serviceHeroCubeFade var(--cube-duration, 3s) cubic-bezier(.2,.7,.2,1) forwards;
}

@keyframes serviceHeroCubeFade{
  0%{
    opacity:0;
    transform:scale(.25) translate3d(0,0,0);
  }
  18%{
    opacity:.92;
    transform:scale(.98) translate3d(0,0,0);
  }
  72%{
    opacity:.74;
    transform:scale(1.18) translate3d(calc(var(--shift-x, 0px) * .45), calc(var(--shift-y, 0px) * .45), 0);
  }
  100%{
    opacity:0;
    transform:scale(1.62) translate3d(var(--shift-x, 0px), var(--shift-y, 0px), 0);
  }
}

.services-keyturn-hero:before{
  content:"";
  position:absolute;
  inset:auto -70px -80px auto;
  width:240px;
  height:240px;
  border-radius:999px;
  background:rgba(36,118,255,.25);
  filter:blur(58px);
  opacity:.65;
  z-index:-1;
  pointer-events:none;
}

.services-keyturn-hero:after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(112deg, transparent 0 30%, rgba(255,255,255,.045) 30.4% 33.8%, transparent 34.2% 100%);
  opacity:.62;
  pointer-events:none;
}

.services-keyturn-hero:hover .services-keyturn-hero-layer.is-visible{
  transform:scale(1.06);
  filter:saturate(1.12) contrast(1.06) brightness(1.08);
}

.services-keyturn-hero-content{
  position:absolute;
  left:36px;
  right:36px;
  bottom:36px;
  z-index:2;
}

.services-keyturn-label{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:7px 12px;
  margin-bottom:18px;
  border-radius:999px;
  background:rgba(36,118,255,.17);
  border:1px solid rgba(36,118,255,.36);
  color:#91bbff;
  font-size:10px;
  line-height:1;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.services-keyturn-hero h3{
  max-width:660px;
  margin:0 0 15px;
  color:#fff;
  font-size:40px;
  line-height:1.02;
  letter-spacing:-.045em;
  font-weight:850;
}

.services-keyturn-hero p{
  max-width:680px;
  margin:0;
  color:#d5dfed;
  font-size:15px;
  line-height:1.55;
}

.services-keyturn-points{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin-top:22px;
}

.services-keyturn-points span{
  padding:9px 12px;
  border-radius:999px;
  background:linear-gradient(180deg, rgba(255,255,255,.085), rgba(255,255,255,.035));
  border:1px solid rgba(255,255,255,.14);
  color:#f1f6ff;
  font-size:11px;
  font-weight:850;
  box-shadow:0 10px 28px rgba(0,0,0,.18);
}

.services-keyturn-cta-row{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:28px;
}

.services-keyturn-primary,
.services-keyturn-secondary,
.services-keyturn-card button{
  height:42px;
  padding:0 18px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.055);
  color:#fff;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.045em;
  cursor:pointer;
  transition:.24s ease;
}

.services-keyturn-primary{
  background:linear-gradient(180deg, #2f82ff, #1766ff);
  border-color:#2476ff;
  box-shadow:0 16px 36px rgba(36,118,255,.30);
}

.services-keyturn-primary:hover,
.services-keyturn-secondary:hover{
  transform:translateY(-2px);
}

.services-keyturn-secondary:hover{
  background:rgba(36,118,255,.15);
  border-color:rgba(36,118,255,.44);
}

.services-keyturn-cards{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:18px;
}

.services-keyturn-card{
  position:relative;
  min-height:265px;
  padding:26px;
  border-radius:24px;
  border:1px solid rgba(255,255,255,.11);
  background:
    radial-gradient(circle at 14% 0%, rgba(36,118,255,.14), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.018)),
    rgba(13,16,23,.88);
  box-shadow:0 18px 60px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.035);
  overflow:hidden;
  cursor:pointer;
  transition:
    transform .34s cubic-bezier(.22,.61,.36,1),
    border-color .28s ease,
    background .28s ease,
    box-shadow .34s cubic-bezier(.22,.61,.36,1);
}

.services-keyturn-card:before{
  content:"";
  position:absolute;
  inset:auto -54px -64px auto;
  width:150px;
  height:150px;
  border-radius:999px;
  background:rgba(36,118,255,.18);
  filter:blur(38px);
  opacity:.32;
  transition:.3s ease;
  pointer-events:none;
}

.services-keyturn-card:hover{
  transform:translateY(-6px);
  border-color:rgba(36,118,255,.52);
  background:
    radial-gradient(circle at 14% 0%, rgba(36,118,255,.22), transparent 36%),
    linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.026)),
    rgba(14,18,27,.94);
  box-shadow:0 30px 90px rgba(0,0,0,.38), 0 0 0 1px rgba(36,118,255,.12);
}

.services-keyturn-card:hover:before{
  opacity:.75;
  transform:scale(1.14);
}

.services-keyturn-icon{
  width:62px;
  height:62px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:22px;
  border-radius:18px;
  background:linear-gradient(180deg, rgba(36,118,255,.18), rgba(36,118,255,.07));
  border:1px solid rgba(36,118,255,.34);
  color:#2f82ff;
  transition:.24s ease;
}

.services-keyturn-icon svg{
  width:38px;
  height:38px;
  fill:none;
  stroke:currentColor;
  stroke-width:2.5;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.services-keyturn-card:hover .services-keyturn-icon{
  color:#fff;
  background:linear-gradient(180deg, rgba(36,118,255,.34), rgba(36,118,255,.14));
  transform:translateY(-2px);
}

.services-keyturn-card span{
  display:inline-block;
  margin-bottom:10px;
  color:#2f82ff;
  font-size:14px;
  font-weight:900;
  letter-spacing:.05em;
}

.services-keyturn-card h3{
  margin:0 0 10px;
  color:#fff;
  font-size:23px;
  line-height:1.08;
  letter-spacing:-.035em;
}

.services-keyturn-card p{
  min-height:58px;
  margin:0;
  color:#b8c4d4;
  font-size:13px;
  line-height:1.45;
}

.services-keyturn-card button{
  margin-top:22px;
  height:36px;
  padding:0 13px;
}

.services-keyturn-card button em{
  color:#2f82ff;
  font-style:normal;
  transition:.22s ease;
}

.services-keyturn-card:hover button{
  background:#2476ff;
  border-color:#2476ff;
  box-shadow:0 12px 30px rgba(36,118,255,.24);
}

.services-keyturn-card:hover button em{
  color:#fff;
  transform:translateX(3px);
}

@media(max-width:1180px){
  .services-keyturn-layout{
    grid-template-columns:1fr;
  }

  .services-keyturn-hero{
    min-height:500px;
  }
}

@media(max-width:760px){
  .services-keyturn-section{
    padding:66px 0 74px;
  }

  .services-keyturn-head{
    display:block;
    margin-bottom:24px;
  }

  .services-keyturn-head h2{
    font-size:32px;
    line-height:1.08;
  }

  .services-keyturn-head p{
    font-size:14px;
  }

  .services-keyturn-layout{
    gap:14px;
  }

  .services-keyturn-hero{
    min-height:560px;
    border-radius:22px;
  }

  .services-keyturn-hero-content{
    left:22px;
    right:22px;
    bottom:22px;
  }

  .services-keyturn-hero h3{
    font-size:30px;
    line-height:1.05;
  }

  .services-keyturn-hero p{
    font-size:14px;
  }

  .services-keyturn-cta-row{
    display:grid;
    grid-template-columns:1fr;
  }

  .services-keyturn-primary,
  .services-keyturn-secondary{
    width:100%;
  }

  .services-keyturn-cards{
    grid-template-columns:1fr;
    gap:14px;
  }

  .services-keyturn-card{
    min-height:0;
    padding:22px;
    border-radius:20px;
  }

  .services-keyturn-icon{
    width:54px;
    height:54px;
    border-radius:16px;
    margin-bottom:18px;
  }

  .services-keyturn-icon svg{
    width:34px;
    height:34px;
  }

  .services-keyturn-card h3{
    font-size:22px;
  }

  .services-keyturn-card p{
    min-height:0;
  }

  .services-keyturn-card button{
    width:100%;
    justify-content:center;
  }
}

/* ===== Premium certificates/documents block ===== */
.certificates-premium-section{
  position:relative;
  padding:96px 0 104px;
  background:
    radial-gradient(circle at 14% 0%, rgba(36,118,255,.13), transparent 34%),
    radial-gradient(circle at 88% 55%, rgba(255,255,255,.045), transparent 30%),
    linear-gradient(180deg, #080a0f 0%, #0b0d12 100%);
  border-top:1px solid rgba(255,255,255,.08);
  overflow:hidden;
}

.certificates-premium-section:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(112deg, transparent 0 16%, rgba(255,255,255,.026) 16.4% 19%, transparent 19.4% 100%),
    linear-gradient(112deg, transparent 0 66%, rgba(36,118,255,.05) 66.4% 69%, transparent 69.6% 100%);
  opacity:.65;
  pointer-events:none;
}

.certificates-premium-section .container{
  position:relative;
  z-index:2;
}

.certificates-premium-head{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  gap:26px;
  align-items:end;
  margin-bottom:30px;
}

.certificates-premium-head h2{
  max-width:760px;
  margin:10px 0 12px;
  color:#fff;
  font-size:42px;
  line-height:1.05;
  letter-spacing:-.045em;
  font-weight:850;
}

.certificates-premium-head p{
  max-width:760px;
  margin:0;
  color:#aeb9ca;
  font-size:15px;
  line-height:1.55;
}

.certificates-premium-side{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:14px;
}

.certificates-premium-btn{
  height:44px;
  padding:0 22px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.15);
  background:rgba(255,255,255,.045);
  color:#fff;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.045em;
  white-space:nowrap;
  cursor:pointer;
  transition:.24s ease;
}

.certificates-premium-btn:hover{
  background:rgba(36,118,255,.18);
  border-color:rgba(36,118,255,.45);
  box-shadow:0 0 0 5px rgba(36,118,255,.08);
  transform:translateY(-2px);
}

.certificates-gallery-controls{
  display:flex;
  gap:10px;
}

.cert-gallery-arrow{
  width:46px;
  height:46px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.045);
  color:#fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  transition:.24s ease;
  box-shadow:0 12px 30px rgba(0,0,0,.22);
}

.cert-gallery-arrow:hover{
  background:#2476ff;
  border-color:#2476ff;
  transform:translateY(-2px);
  box-shadow:0 16px 40px rgba(36,118,255,.26);
}

.cert-gallery-arrow[disabled]{
  opacity:.38;
  cursor:default;
  transform:none;
  box-shadow:none;
}

.certificates-gallery-shell{
  position:relative;
}

.certificates-gallery-viewport{
  overflow:hidden;
  padding-bottom:8px;
}

.certificates-gallery-track{
  display:flex;
  align-items:stretch;
  gap:18px;
  width:max-content;
  min-width:100%;
}

.certificate-slide{
  flex:0 0 clamp(220px, 24vw, 278px);
  position:relative;
  padding:14px;
  border-radius:24px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.018)),
    rgba(13,16,23,.88);
  border:1px solid rgba(255,255,255,.11);
  box-shadow:0 18px 58px rgba(0,0,0,.26), inset 0 1px 0 rgba(255,255,255,.035);
  overflow:hidden;
  transition:.32s cubic-bezier(.22,.61,.36,1);
  cursor:zoom-in;
  scroll-snap-align:start;
}

.certificate-slide:after{
  content:"";
  position:absolute;
  right:-48px;
  bottom:-58px;
  width:142px;
  height:142px;
  border-radius:50%;
  background:rgba(36,118,255,.17);
  filter:blur(38px);
  opacity:.28;
  transition:.3s ease;
  pointer-events:none;
}

.certificate-slide:hover{
  transform:translateY(-5px);
  border-color:rgba(36,118,255,.48);
  box-shadow:0 30px 86px rgba(0,0,0,.36), 0 0 0 1px rgba(36,118,255,.10);
}

.certificate-slide:hover:after{
  opacity:.75;
  transform:scale(1.08);
}

.certificate-preview{
  position:relative;
  height:390px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:18px;
  overflow:hidden;
  background:#eef1f4;
  border:1px solid rgba(255,255,255,.10);
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.02);
}

.certificate-preview:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(180deg, rgba(255,255,255,.14), rgba(255,255,255,.02) 36%, rgba(5,7,11,.10)),
    radial-gradient(circle at 50% 0%, rgba(255,255,255,.42), transparent 45%);
  pointer-events:none;
}

.certificate-preview img{
  width:100%;
  height:100%;
  display:block;
  object-fit:contain;
  object-position:center;
  box-sizing:border-box;
  padding:16px;
  filter:saturate(.95) contrast(1.02);
  opacity:.98;
  transition:.36s cubic-bezier(.22,.61,.36,1);
}

.certificate-slide:hover .certificate-preview img{
  transform:scale(1.018);
  opacity:1;
}

.certificates-gallery-viewport::-webkit-scrollbar{
  height:8px;
}

.certificates-gallery-viewport::-webkit-scrollbar-track{
  background:rgba(255,255,255,.04);
  border-radius:999px;
}

.certificates-gallery-viewport::-webkit-scrollbar-thumb{
  background:rgba(36,118,255,.38);
  border-radius:999px;
}

@media(max-width:980px){
  .certificates-premium-head{
    grid-template-columns:1fr;
  }

  .certificates-premium-side{
    align-items:flex-start;
  }

  .certificate-slide{
    flex-basis:260px;
  }
}

@media(max-width:760px){
  .certificates-premium-section{
    padding:66px 0 74px;
  }

  .certificates-premium-head{
    display:block;
    margin-bottom:24px;
  }

  .certificates-premium-head h2{
    font-size:31px;
    line-height:1.08;
  }

  .certificates-premium-head p{
    font-size:14px;
  }

  .certificates-premium-side{
    align-items:stretch;
  }

  .certificates-premium-btn{
    width:100%;
    margin-top:20px;
    height:46px;
    white-space:normal;
  }

  .certificates-gallery-controls{
    display:none;
  }

  .certificates-gallery-viewport{
    overflow-x:auto;
    overflow-y:hidden;
    -webkit-overflow-scrolling:touch;
    scroll-behavior:smooth;
    scroll-snap-type:x mandatory;
    padding-bottom:10px;
  }

  .certificates-gallery-track{
    gap:12px;
  }

  .certificate-slide{
    flex:0 0 calc(50vw - 22px);
    min-width:170px;
    padding:10px;
    border-radius:18px;
  }

  .certificate-preview{
    height:250px;
    border-radius:14px;
  }

  .certificate-preview img{
    padding:10px;
  }
}

/* ===== Certificates lightbox ===== */
.cert-lightbox{
  position:fixed;
  inset:0;
  z-index:9999;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:32px;
  background:rgba(2,4,8,.82);
  opacity:0;
  pointer-events:none;
  transition:opacity .28s ease;
  backdrop-filter:blur(14px);
}

.cert-lightbox.is-open{
  opacity:1;
  pointer-events:auto;
}

.cert-lightbox-frame{
  position:relative;
  max-width:min(980px, calc(100vw - 170px));
  max-height:calc(100vh - 90px);
  margin:0;
  padding:20px;
  border-radius:24px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.025)),
    rgba(13,16,23,.92);
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 32px 110px rgba(0,0,0,.58), 0 0 0 1px rgba(36,118,255,.10);
  transform:scale(.96) translateY(12px);
  transition:transform .32s cubic-bezier(.22,.61,.36,1);
}

.cert-lightbox.is-open .cert-lightbox-frame{
  transform:scale(1) translateY(0);
}

.cert-lightbox-frame img{
  display:block;
  max-width:100%;
  max-height:calc(100vh - 180px);
  width:auto;
  height:auto;
  object-fit:contain;
  border-radius:16px;
  background:#edf0f3;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.02);
}

.cert-lightbox-frame figcaption{
  display:none;
}

.cert-lightbox-close,
.cert-lightbox-prev,
.cert-lightbox-next{
  position:absolute;
  z-index:2;
  width:50px;
  height:50px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(8,11,17,.66);
  color:#fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  backdrop-filter:blur(8px);
  transition:.22s ease;
}

.cert-lightbox-close:hover,
.cert-lightbox-prev:hover,
.cert-lightbox-next:hover{
  background:#2476ff;
  border-color:#2476ff;
  box-shadow:0 14px 30px rgba(36,118,255,.24);
  transform:translateY(-2px);
}

.cert-lightbox-close{
  top:20px;
  right:20px;
  font-size:36px;
  line-height:1;
}

.cert-lightbox-prev,
.cert-lightbox-next{
  top:50%;
  transform:translateY(-50%);
  font-size:38px;
  line-height:1;
  padding-bottom:4px;
}

.cert-lightbox-prev{ left:24px; }
.cert-lightbox-next{ right:24px; }

.cert-lightbox-lock{ overflow:hidden; }

@media(max-width:760px){
  .cert-lightbox{
    padding:16px;
  }

  .cert-lightbox-frame{
    max-width:calc(100vw - 44px);
    padding:12px;
    border-radius:20px;
  }

  .cert-lightbox-frame img{
    max-height:calc(100vh - 140px);
    border-radius:14px;
  }

  .cert-lightbox-close,
  .cert-lightbox-prev,
  .cert-lightbox-next{
    width:44px;
    height:44px;
  }

  .cert-lightbox-close{ top:12px; right:12px; }
  .cert-lightbox-prev{ left:10px; }
  .cert-lightbox-next{ right:10px; }
}

/* ===== Clean footer redesign ===== */
.site-footer{
  position:relative;
  overflow:hidden;
  padding:58px 0 24px;
  color:#aab5c6;
  background:
    radial-gradient(circle at 12% 0%, rgba(36,118,255,.12), transparent 32%),
    linear-gradient(180deg, #07090d 0%, #050609 100%);
  border-top:1px solid rgba(255,255,255,.08);
  font-size:13px;
}

.site-footer:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(112deg, transparent 0 18%, rgba(255,255,255,.022) 18.4% 20.6%, transparent 21% 100%),
    linear-gradient(112deg, transparent 0 68%, rgba(36,118,255,.045) 68.4% 71%, transparent 71.6% 100%);
  opacity:.55;
  pointer-events:none;
}

.site-footer .container{
  position:relative;
  z-index:2;
}

.footer-main{
  display:grid;
  grid-template-columns:minmax(280px, 1.45fr) .82fr .82fr 1.05fr;
  gap:42px;
  align-items:start;
  padding-bottom:36px;
}

.footer-brand,
.footer-col,
.footer-contact{
  min-height:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

.footer-brand{
  max-width:430px;
}

.footer-logo{
  display:flex;
  align-items:center;
  gap:16px;
  margin-bottom:22px;
}

.footer-logo-main{
  color:#fff;
  font-size:34px;
  line-height:.9;
  font-weight:950;
  letter-spacing:-.07em;
}

.footer-logo-sub{
  color:#fff;
  max-width:112px;
  font-size:9px;
  line-height:1.05;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.025em;
}

.footer-brand-text{
  max-width:390px;
  margin:0;
  color:#aeb9ca;
  font-size:13px;
  line-height:1.7;
}

.footer-socials{
  display:flex;
  gap:10px;
  margin-top:24px;
}

.footer-socials a{
  width:38px;
  height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.13);
  background:rgba(255,255,255,.035);
  color:#fff;
  font-size:10px;
  font-weight:900;
  text-decoration:none;
  transition:.24s ease;
}

.footer-socials a:hover{
  transform:translateY(-2px);
  background:rgba(36,118,255,.18);
  border-color:rgba(36,118,255,.48);
  box-shadow:0 0 0 5px rgba(36,118,255,.08);
}

.site-footer h3{
  margin:0 0 20px;
  color:#fff;
  font-size:11px;
  line-height:1.1;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.13em;
}

.footer-links{
  display:grid;
  gap:13px;
}

.footer-links a,
.footer-bottom a{
  color:#aab5c6;
  text-decoration:none;
  transition:.22s ease;
}

.footer-links a{
  position:relative;
  display:flex;
  align-items:center;
  min-height:24px;
  font-size:13px;
  line-height:1.25;
}

.footer-links a:before{
  content:"";
  width:5px;
  height:5px;
  margin-right:10px;
  border-radius:50%;
  background:#2476ff;
  opacity:.75;
  box-shadow:0 0 12px rgba(36,118,255,.45);
}

.footer-links a:hover,
.footer-mail:hover,
.footer-bottom a:hover{
  color:#fff;
}

.footer-contact{
  padding-left:28px;
  border-left:1px solid rgba(255,255,255,.09);
}

.footer-phone{
  display:inline-block;
  margin-bottom:5px;
  color:#fff;
  font-size:24px;
  line-height:1.08;
  font-weight:950;
  letter-spacing:-.04em;
  text-decoration:none;
}

.footer-muted{
  display:block;
  margin-bottom:16px;
  color:#788497;
  font-size:11px;
}

.footer-mail{
  display:inline-block;
  margin-bottom:18px;
  color:#2476ff;
  font-size:15px;
  font-weight:850;
  text-decoration:none;
}

.footer-address{
  display:grid;
  gap:8px;
  margin-bottom:22px;
  color:#c6d0df;
  font-size:12px;
  line-height:1.45;
}

.footer-address span{
  display:flex;
  align-items:center;
  gap:8px;
}

.footer-address span:before{
  content:"";
  width:7px;
  height:7px;
  border-radius:2px;
  border:1px solid #2476ff;
  box-shadow:0 0 12px rgba(36,118,255,.35);
}

.footer-action{
  min-height:42px;
  padding:0 18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  border:1px solid rgba(36,118,255,.45);
  background:#2476ff;
  color:#fff;
  font-size:11px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.045em;
  text-decoration:none;
  box-shadow:0 16px 36px rgba(36,118,255,.22);
  transition:.24s ease;
}

.footer-action:hover{
  transform:translateY(-2px);
  box-shadow:0 20px 46px rgba(36,118,255,.34);
}

.footer-bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding-top:22px;
  border-top:1px solid rgba(255,255,255,.08);
  color:#778294;
  font-size:12px;
}

.footer-bottom-links{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:18px;
}

@media(max-width:900px){
  .site-footer{
    padding:44px 0 22px;
  }

  .footer-main{
    grid-template-columns:1.25fr 1fr 1fr;
    gap:30px;
  }

  .footer-brand{
    grid-column:1 / -1;
    max-width:100%;
    padding-bottom:28px;
    border-bottom:1px solid rgba(255,255,255,.08);
  }

  .footer-contact{
    padding-left:0;
    border-left:0;
  }

  .footer-bottom{
    align-items:flex-start;
    flex-direction:column;
  }

  .footer-bottom-links{
    justify-content:flex-start;
  }
}

@media(max-width:560px){
  .site-footer{
    padding:36px 0 20px;
  }

  .footer-main{
    grid-template-columns:1fr 1fr !important;
    gap:26px 20px;
    padding-bottom:28px;
  }

  .footer-brand,
  .footer-contact{
    grid-column:1 / -1;
  }

  .footer-brand{
    padding-bottom:24px;
  }

  .footer-contact{
    padding-top:24px;
    border-top:1px solid rgba(255,255,255,.08);
  }

  .footer-logo-main{
    font-size:30px;
  }

  .footer-brand-text{
    font-size:12px;
  }

  .footer-phone{
    font-size:22px;
  }

  .footer-links{
    gap:10px;
  }

  .footer-links a{
    min-height:23px;
    font-size:11px;
  }

  .footer-links a:before{
    width:4px;
    height:4px;
    margin-right:7px;
  }

  .footer-bottom{
    padding-top:18px;
    font-size:11px;
  }

  .footer-bottom-links{
    display:grid;
    gap:8px;
  }
}



/* ===== Global Montserrat font override ===== */
:root{
  --font-main: 'Montserrat', Arial, sans-serif;
}

html,
body,
input,
textarea,
select,
button{
  font-family: Montserrat, Arial, sans-serif;
}

body,
p,
span,
a,
li,
div,
label,
small,
strong,
b,
em,
table,
th,
td,
figcaption,
blockquote,
h1,
h2,
h3,
h4,
h5,
h6,
.nav,
.menu,
.header,
.footer,
.site-footer,
.btn,
.button,
.hero,
.card,
.catalog,
.project,
.section-title,
.eyebrow{
  font-family: Montserrat, Arial, sans-serif;
}

h1,
h2,
.hero h1,
.section-title,
.services-keyturn h2,
.popular-categories h2{
  font-weight: 900;
  letter-spacing: -0.055em;
}

h3,
.card h3,
.footer-col h3,
.footer-contact h3{
  font-weight: 800;
  letter-spacing: -0.025em;
}

.btn,
.button,
button,
.nav a,
.footer-action,
.certificates-premium-btn,
.footer-links a{
  font-weight: 700;
}



/* v17 hero: lower text and smoother faster banner animation */
.hero .container{
  padding-top:calc(144px + 52px) !important;
  padding-bottom:72px !important;
  align-items:flex-start !important;
}
.hero-copy{
  margin-top:0 !important;
  transition:opacity .45s ease, transform .45s ease !important;
}
.hero-slide.is-leaving .hero-copy{
  opacity:0 !important;
  transform:translateY(-8px) !important;
}
.hero-slide.is-active .hero-copy{
  opacity:1;
  transform:translateY(0);
}
.hero-slide{
  transition:opacity .85s ease, visibility .85s ease, transform .9s cubic-bezier(.22,.61,.36,1) !important;
}
.hero-tile--coarse{
  z-index:2;
}
.hero-tile--fine{
  z-index:3;
}
@media(max-width:900px){
  .hero .container{
    padding-top:92px !important;
    padding-bottom:72px !important;
    align-items:center !important;
  }
}



/* v20 final hero positioning override */
.hero .hero-slide .container{
  padding-top:136px !important;
  padding-bottom:82px !important;
  align-items:center !important;
}
.hero .hero-copy{
  transform:translateY(30px);
}


/* v24: unified hero kicker spacing + sticky category menu */
.navstrip-ref{
position:sticky;
top:0;
z-index:1300;
background:rgba(11,14,20,.96);
backdrop-filter:blur(10px);
-webkit-backdrop-filter:blur(10px);
box-shadow:0 10px 26px rgba(0,0,0,.16);
border-bottom:1px solid rgba(255,255,255,.05);
}
.hero .hero-slide .container{
padding-top:186px !important;
padding-bottom:68px !important;
align-items:center !important;
}
.hero .hero-copy{
transform:translateY(56px) !important;
}
.hero-kicker{
font-size:9px !important;
letter-spacing:.13em !important;
line-height:1.2 !important;
margin-bottom:18px !important;
opacity:.95;
}
@media(max-width:768px){
.navstrip-ref{
top:0;
}
.hero .hero-slide .container{
padding-top:118px !important;
padding-bottom:86px !important;
}
.hero .hero-copy{
transform:translateY(20px) !important;
}
.hero-kicker{
font-size:8px !important;
letter-spacing:.11em !important;
margin-bottom:14px !important;
}
}


/* v25: fixed category menu + promo pills cleanup */
.navstrip-placeholder{display:none;height:0;}
body.navstrip-fixed .navstrip-placeholder{display:block;}
.navstrip-ref.is-fixed{
position:fixed !important;
top:0 !important;
left:0;
right:0;
width:100%;
z-index:2100;
box-shadow:0 12px 34px rgba(0,0,0,.16);
}
.navstrip-ref.is-fixed .nav{
max-width:1140px;
margin:0 auto;
}
.with-second-menu-light .catalog-inline-links a,
.with-second-menu-light .catalog-inline-links a:hover,
.with-second-menu-light .catalog-inline-links a:focus{
background:#fff !important;
color:#111214 !important;
border:1px solid rgba(17,18,20,.08) !important;
box-shadow:none !important;
text-decoration:none !important;
background-image:none !important;
}
.with-second-menu-light .catalog-inline-links a::before,
.with-second-menu-light .catalog-inline-links a::after{
display:none !important;
content:none !important;
}
@media(max-width:768px){
.navstrip-ref.is-fixed .nav{
max-width:none;
}
}


/* v26: stable sticky nav + unified hero typography */
.navstrip-ref{
position:relative !important;
top:auto !important;
z-index:1300;
}
.navstrip-ref.is-fixed{
position:fixed !important;
top:0 !important;
left:0;
right:0;
width:100%;
z-index:2200;
background:rgba(11,14,20,.96) !important;
backdrop-filter:blur(10px);
-webkit-backdrop-filter:blur(10px);
box-shadow:0 12px 34px rgba(0,0,0,.16);
}
.navstrip-placeholder{
display:none;
height:0;
width:100%;
}
body.navstrip-fixed .navstrip-placeholder{
display:block;
}
.hero,
.hero-slider{
min-height:620px !important;
}
.hero .hero-slide .container{
min-height:620px !important;
padding-top:108px !important;
padding-bottom:96px !important;
align-items:center !important;
}
.hero .hero-copy{
width:min(600px, 100%) !important;
max-width:600px !important;
transform:none !important;
margin-top:0 !important;
}
.hero .hero-copy h1,
.hero .hero-slide .hero-copy h1{
width:100% !important;
max-width:100% !important;
margin:0 !important;
font-size:clamp(46px, 3.8vw, 54px) !important;
line-height:0.99 !important;
letter-spacing:-0.052em !important;
}
.hero .hero-kicker{
font-size:10px !important;
line-height:1.2 !important;
letter-spacing:.14em !important;
margin-bottom:14px !important;
}
.hero .hero-copy .lead,
.hero .hero-slide .hero-copy .lead{
width:min(470px, 100%) !important;
margin-top:20px !important;
font-size:15px !important;
line-height:1.55 !important;
}
.hero .hero-actions{
margin-top:24px !important;
gap:12px !important;
flex-wrap:wrap !important;
}
.hero .hero-actions .btn{
min-height:38px;
}
@media(max-width:1100px){
.hero .hero-slide .container{
min-height:580px !important;
padding-top:96px !important;
padding-bottom:86px !important;
}
.hero .hero-copy{
width:min(560px, 100%) !important;
max-width:560px !important;
}
.hero .hero-copy h1,
.hero .hero-slide .hero-copy h1{
font-size:clamp(42px, 4.2vw, 50px) !important;
}
}
@media(max-width:768px){
.hero,
.hero-slider{
min-height:unset !important;
}
.hero .hero-slide .container{
min-height:auto !important;
padding-top:84px !important;
padding-bottom:72px !important;
align-items:flex-start !important;
}
.hero .hero-copy{
width:100% !important;
max-width:100% !important;
}
.hero .hero-copy h1,
.hero .hero-slide .hero-copy h1{
font-size:clamp(34px, 8vw, 44px) !important;
line-height:1.01 !important;
}
.hero .hero-copy .lead,
.hero .hero-slide .hero-copy .lead{
width:100% !important;
font-size:14px !important;
}
.hero .hero-actions{
flex-direction:row !important;
flex-wrap:wrap !important;
}
}


/* v27: hero text fits inside banner + durable fixed category menu */
.hero .hero-slide .container{
min-height:620px !important;
padding-top:92px !important;
padding-bottom:92px !important;
align-items:center !important;
}
.hero .hero-copy{
width:min(540px, 100%) !important;
max-width:540px !important;
transform:none !important;
margin-top:0 !important;
}
.hero .hero-copy h1,
.hero .hero-slide .hero-copy h1{
width:100% !important;
max-width:540px !important;
font-size:clamp(40px, 3.15vw, 46px) !important;
line-height:1.04 !important;
letter-spacing:-0.048em !important;
margin:0 !important;
}
.hero .hero-kicker{
font-size:9px !important;
line-height:1.2 !important;
letter-spacing:.14em !important;
margin-bottom:13px !important;
}
.hero .hero-copy .lead,
.hero .hero-slide .hero-copy .lead{
width:min(430px, 100%) !important;
margin-top:18px !important;
font-size:14px !important;
line-height:1.5 !important;
}
.hero .hero-actions{
margin-top:22px !important;
gap:10px !important;
flex-wrap:wrap !important;
}
.hero .hero-actions .btn{
height:36px !important;
min-height:36px !important;
padding:0 22px !important;
}
.navstrip-ref.is-fixed{
position:fixed !important;
top:0 !important;
left:0 !important;
right:0 !important;
width:100% !important;
z-index:9999 !important;
}
.navstrip-placeholder{height:0;display:none;}
body.navstrip-fixed .navstrip-placeholder{display:block;}
@media(max-width:1180px){
.hero .hero-copy h1,
.hero .hero-slide .hero-copy h1{
font-size:clamp(38px, 3.8vw, 44px) !important;
}
}
@media(max-width:768px){
.hero .hero-slide .container{
padding-top:80px !important;
padding-bottom:72px !important;
min-height:auto !important;
}
.hero .hero-copy h1,
.hero .hero-slide .hero-copy h1{
font-size:clamp(32px, 8vw, 40px) !important;
line-height:1.06 !important;
}
}



/* ===== v28 popular categories refresh ===== */
#catalog.catalog-mosaic-section{
padding:84px 0 96px !important;
background:
  linear-gradient(180deg, #f7f8fb 0%, #f3f4f7 100%) !important;
border-top:1px solid rgba(17,24,39,.08) !important;
overflow:visible !important;
}

#catalog.catalog-mosaic-section:before{
content:"";
position:absolute;
inset:0;
background:
  linear-gradient(118deg, rgba(250,201,92,.12) 0%, rgba(250,201,92,.08) 9%, transparent 9.5% 100%),
  radial-gradient(circle at 14% 24%, rgba(255,191,0,.08), transparent 32%),
  radial-gradient(circle at 82% 78%, rgba(255,166,0,.06), transparent 22%);
pointer-events:none;
}

#catalog .container{ position:relative; z-index:1; }

#catalog .mosaic-head{
align-items:flex-start !important;
justify-content:flex-start !important;
gap:18px !important;
margin-bottom:26px !important;
}

#catalog .mosaic-head > div:first-child{
max-width:680px;
}

#catalog .eyebrow{
color:#f3a600 !important;
font-size:12px !important;
font-weight:900 !important;
text-transform:uppercase;
letter-spacing:.16em !important;
margin-bottom:8px !important;
}

#catalog .mosaic-head h2{
margin:0 0 10px !important;
color:#111827 !important;
font-size:30px !important;
line-height:1.06 !important;
letter-spacing:-.045em !important;
}

#catalog .mosaic-head p{
max-width:660px !important;
color:#667085 !important;
font-size:18px !important;
line-height:1.45 !important;
margin-bottom:0 !important;
}


#catalog .category-mosaic{
grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
grid-auto-rows:260px !important;
gap:18px !important;
align-items:stretch !important;
}

#catalog .mosaic-card,
#catalog .mosaic-card-wide{ min-height:260px !important; }
#catalog .mosaic-card-large,
#catalog .mosaic-card-tall{ min-height:538px !important; }

#catalog .mosaic-card{
border-radius:24px !important;
border:1px solid rgba(17,24,39,.10) !important;
box-shadow:0 16px 42px rgba(15,23,42,.08) !important;
overflow:hidden !important;
transform:translateY(0);
}

#catalog .mosaic-card:before{
transform:scale(1.02) !important;
filter:saturate(.95) contrast(1.02) brightness(.86) !important;
}

#catalog .mosaic-card:hover:before,
#catalog .mosaic-card.is-open:before{
transform:scale(1.06) !important;
filter:saturate(1) contrast(1.04) brightness(.92) !important;
}

#catalog .mosaic-card:after{
background:
  linear-gradient(180deg, rgba(11,15,24,.02) 0%, rgba(11,15,24,.24) 34%, rgba(11,15,24,.84) 100%),
  linear-gradient(96deg, rgba(9,12,20,.88) 0%, rgba(9,12,20,.54) 38%, rgba(9,12,20,.08) 74%) !important;
z-index:-2 !important;
}

#catalog .mosaic-card:hover,
#catalog .mosaic-card.is-open{
transform:translateY(-4px) !important;
border-color:rgba(255,176,0,.38) !important;
box-shadow:
  0 18px 52px rgba(17,24,39,.16),
  0 0 0 1px rgba(255,186,31,.08),
  0 0 0 6px rgba(255,186,31,.06) !important;
}

#catalog .mosaic-card:hover::after,
#catalog .mosaic-card.is-open::after{
background:
  linear-gradient(180deg, rgba(11,15,24,.02) 0%, rgba(11,15,24,.18) 34%, rgba(11,15,24,.80) 100%),
  linear-gradient(96deg, rgba(9,12,20,.90) 0%, rgba(31,23,8,.46) 36%, rgba(255,191,0,.10) 68%, rgba(9,12,20,.06) 100%) !important;
}

#catalog .mosaic-card-content{
left:20px !important;
right:20px !important;
bottom:22px !important;
display:flex !important;
flex-direction:column !important;
gap:10px !important;
}

#catalog .mosaic-card h3{
margin:0 !important;
color:#fff !important;
font-size:16px !important;
line-height:1.12 !important;
letter-spacing:-.02em !important;
}

#catalog .mosaic-card-large h3,
#catalog .mosaic-card-wide h3,
#catalog .mosaic-card-tall h3{
font-size:19px !important;
}

#catalog .mosaic-card p{
margin:0 !important;
max-width:none !important;
color:rgba(255,255,255,.82) !important;
font-size:12px !important;
line-height:1.45 !important;
}

#catalog .mosaic-card-large p,
#catalog .mosaic-card-wide p,
#catalog .mosaic-card-tall p{
font-size:13px !important;
}

#catalog .mosaic-tag{
align-self:flex-start;
height:24px !important;
margin:0 !important;
padding:0 10px !important;
border-radius:999px !important;
background:rgba(255,185,0,.18) !important;
border:1px solid rgba(255,185,0,.24) !important;
color:#ffd15b !important;
font-size:9px !important;
font-weight:900 !important;
letter-spacing:.1em !important;
}

#catalog .mosaic-chips{
display:flex !important;
flex-wrap:wrap !important;
gap:8px !important;
margin-top:2px !important;
}

#catalog .mosaic-chips span,
#catalog .mosaic-more-chip{
min-height:31px !important;
padding:7px 11px !important;
border-radius:999px !important;
background:rgba(255,255,255,.92) !important;
border:1px solid rgba(255,255,255,.96) !important;
box-shadow:0 6px 18px rgba(15,23,42,.10) !important;
color:#1f2937 !important;
font-size:11px !important;
font-weight:800 !important;
line-height:1 !important;
transition:background .2s ease, color .2s ease, transform .2s ease, box-shadow .2s ease !important;
}

#catalog .mosaic-more-chip{
background:rgba(255,243,214,.96) !important;
border-color:rgba(255,210,114,.82) !important;
color:#9a6500 !important;
}

#catalog .mosaic-chips span:hover,
#catalog .mosaic-more-chip:hover,
#catalog .mosaic-card.is-open .mosaic-chips span,
#catalog .mosaic-card.is-open .mosaic-more-chip{
background:#fff6df !important;
border-color:rgba(255,198,75,.72) !important;
color:#7f4b00 !important;
transform:translateY(-1px);
box-shadow:0 10px 22px rgba(240,164,0,.18) !important;
}

#catalog .mosaic-more-panel{
margin-top:4px !important;
padding:14px 0px 0 0 !important;
background:transparent !important;
}

#catalog .mosaic-more-panel strong{ color:#fff !important; }

#catalog .mosaic-more-panel span{
border-radius:999px !important;
background:rgba(255,255,255,.16) !important;
border:1px solid rgba(255,255,255,.22) !important;
color:#fff !important;
box-shadow:none !important;
}

#catalog .mosaic-panel-close{
top:2px !important;
right:0 !important;
background:rgba(255,255,255,.14) !important;
border:1px solid rgba(255,255,255,.22) !important;
}

@media (max-width: 1200px){
#catalog .category-mosaic{
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
}
#catalog .mosaic-card-large{
  grid-column:span 2 !important;
  grid-row:span 2 !important;
}
#catalog .mosaic-card-wide{
  grid-column:span 2 !important;
}
#catalog .mosaic-card-tall{
  grid-row:span 2 !important;
}
}

@media (max-width: 980px){
#catalog.catalog-mosaic-section{
  padding:72px 0 80px !important;
}
#catalog .mosaic-head{
  flex-direction:column !important;
  align-items:flex-start !important;
  margin-bottom:22px !important;
}
#catalog .mosaic-all-btn{
  align-self:flex-start;
}
#catalog .category-mosaic{
  grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  grid-auto-rows:240px !important;
  gap:16px !important;
}
#catalog .mosaic-card,
#catalog .mosaic-card-wide{ min-height:240px !important; }
#catalog .mosaic-card-large,
#catalog .mosaic-card-tall{ min-height:496px !important; }
#catalog .mosaic-card-large,
#catalog .mosaic-card-wide,
#catalog .mosaic-card-tall{
  grid-column:span 2 !important;
  grid-row:span 1 !important;
}
#catalog .mosaic-card-tall,
#catalog .mosaic-card-large{ min-height:300px !important; }
}

@media (max-width: 640px){
#catalog.catalog-mosaic-section{
  padding:56px 0 68px !important;
}
#catalog .mosaic-head h2{
  font-size:28px !important;
}
#catalog .mosaic-head p{
  font-size:15px !important;
  max-width:none !important;
}
#catalog .mosaic-all-btn{
  width:100% !important;
  justify-content:center !important;
}
#catalog .category-mosaic{
  grid-template-columns:1fr !important;
  grid-auto-rows:auto !important;
  gap:14px !important;
}
#catalog .mosaic-card,
#catalog .mosaic-card-large,
#catalog .mosaic-card-wide,
#catalog .mosaic-card-tall{
  grid-column:span 1 !important;
  grid-row:span 1 !important;
  min-height:258px !important;
}
#catalog .mosaic-card-content{
  left:16px !important;
  right:16px !important;
  bottom:16px !important;
  gap:8px !important;
}
#catalog .mosaic-card h3,
#catalog .mosaic-card-large h3,
#catalog .mosaic-card-wide h3,
#catalog .mosaic-card-tall h3{
  font-size:18px !important;
}
#catalog .mosaic-card p,
#catalog .mosaic-card-large p,
#catalog .mosaic-card-wide p,
#catalog .mosaic-card-tall p{
  font-size:12px !important;
}
#catalog .mosaic-chips{
  gap:7px !important;
}
#catalog .mosaic-chips span,
#catalog .mosaic-more-chip{
  font-size:10px !important;
  padding:7px 10px !important;
}
}


/* v33: solution cards linked pages */
.solutions-head-btn,
.solution-cta{
text-decoration:none !important;
display:inline-flex !important;
align-items:center !important;
justify-content:center !important;
}
.solution-card .solution-cta{
width:max-content;
}


/* v72 — About company block after certificates */
.about-company-v72{
  position:relative;
  overflow:hidden;
  padding:92px 0;
  background:
    radial-gradient(circle at 24% 50%, rgba(246,145,39,.22), transparent 36%),
    radial-gradient(circle at 82% 22%, rgba(45,118,255,.08), transparent 30%),
    linear-gradient(180deg,#08090d 0%, #090a0e 48%, #06070a 100%);
  border-top:1px solid rgba(255,255,255,.08);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.about-company-v72:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(112deg, transparent 0 18%, rgba(255,255,255,.026) 18.4% 20.6%, transparent 21% 100%),
    linear-gradient(112deg, transparent 0 70%, rgba(246,145,39,.055) 70.4% 73%, transparent 73.6% 100%);
  opacity:.7;
  pointer-events:none;
}
.about-company-v72 .container{
  position:relative;
  z-index:2;
}
.about-company-v72__inner{
  display:grid;
  grid-template-columns:minmax(320px, 480px) minmax(0, 1fr);
  gap:72px;
  align-items:center;
}
.about-company-v72__visual{
  min-height:470px;
  display:grid;
  place-items:center;
  position:relative;
}
.about-company-v72__visual:before{
  content:"";
  position:absolute;
  width:470px;
  height:470px;
  border-radius:50%;
  background:
    radial-gradient(circle, rgba(246,145,39,.18), transparent 63%),
    radial-gradient(circle, rgba(255,255,255,.04), transparent 58%);
  border:1px solid rgba(246,145,39,.22);
  box-shadow:inset 0 0 70px rgba(246,145,39,.08);
}
.about-company-v72__visual:after{
  content:"";
  position:absolute;
  width:360px;
  height:360px;
  border-radius:50%;
  border:1px dashed rgba(246,145,39,.22);
  opacity:.7;
}
.about-company-v72__visual img{
  position:relative;
  z-index:2;
  width:min(420px, 94%);
  height:auto;
  display:block;
  filter:
    drop-shadow(0 0 42px rgba(246,145,39,.42))
    drop-shadow(0 26px 64px rgba(0,0,0,.58));
}
.about-company-v72__copy{
  max-width:820px;
}
.about-company-v72__copy h2{
  margin:14px 0 18px;
  max-width:720px;
  color:#fff;
  font-size:clamp(34px, 4vw, 58px);
  line-height:.98;
  letter-spacing:-.06em;
}
.about-company-v72__copy p{
  max-width:720px;
  color:#d7d1c9;
  font-size:17px;
  line-height:1.75;
  margin:0 0 28px;
}
.about-company-v72__features{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  margin:0 0 28px;
}
.about-company-v72__feature{
  display:grid;
  grid-template-columns:48px minmax(0,1fr);
  gap:10px 14px;
  align-items:center;
  padding:18px;
  border-radius:20px;
  border:1px solid rgba(255,255,255,.09);
  background:linear-gradient(180deg,rgba(255,255,255,.052),rgba(255,255,255,.022));
  box-shadow:0 18px 46px rgba(0,0,0,.18);
}
.about-company-v72__feature i{
  grid-row:span 2;
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border-radius:15px;
  border:1px solid rgba(246,145,39,.38);
  background:rgba(246,145,39,.12);
  color:#f6a13d;
  font-style:normal;
  font-weight:950;
  font-size:18px;
}
.about-company-v72__feature b{
  color:#fff;
  font-size:18px;
  line-height:1.12;
}
.about-company-v72__feature span{
  color:#bdb4aa;
  font-size:14px;
  line-height:1.45;
}
.about-company-v72__actions{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}
.about-company-v72__btn{
  min-height:46px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 22px;
  border-radius:999px;
  border:1px solid rgba(246,145,39,.38);
  background:linear-gradient(180deg,rgba(246,145,39,.20),rgba(246,145,39,.09));
  color:#fff3e4;
  font-size:13px;
  font-weight:900;
}
.about-company-v72__note{
  color:#8f98a7;
  font-size:13px;
  line-height:1.45;
}
@media(max-width:1050px){
  .about-company-v72__inner{grid-template-columns:1fr;gap:28px}
  .about-company-v72__visual{min-height:360px}
  .about-company-v72__visual:before{width:360px;height:360px}
  .about-company-v72__visual:after{width:280px;height:280px}
  .about-company-v72__visual img{width:min(340px, 90%)}
}
@media(max-width:680px){
  .about-company-v72{padding:68px 0}
  .about-company-v72__visual{min-height:300px}
  .about-company-v72__visual:before{width:300px;height:300px}
  .about-company-v72__visual:after{width:230px;height:230px}
  .about-company-v72__features{grid-template-columns:1fr}
  .about-company-v72__feature{padding:16px}
  .about-company-v72__copy p{font-size:15px}
}


/* v73 — compact light about-company block, Variant A */
.about-company-v72{
  padding:64px 0 66px;
  background:
    radial-gradient(circle at 22% 50%, rgba(246,145,39,.13), transparent 30%),
    linear-gradient(180deg,#ffffff 0%, #fbfaf7 100%);
  border-top:1px solid rgba(15,23,42,.08);
  border-bottom:1px solid rgba(15,23,42,.08);
}
.about-company-v72:before{
  background:
    linear-gradient(112deg, transparent 0 72%, rgba(246,145,39,.08) 72.4% 74.5%, transparent 75% 100%);
  opacity:.75;
}
.about-company-v72__inner{
  grid-template-columns:minmax(260px, 380px) minmax(0, 1fr);
  gap:62px;
}
.about-company-v72__visual{
  min-height:340px;
}
.about-company-v72__visual:before{
  width:330px;
  height:330px;
  background:radial-gradient(circle,rgba(246,145,39,.16),transparent 64%);
  border-color:rgba(246,145,39,.18);
  box-shadow:none;
}
.about-company-v72__visual:after{
  display:none;
}
.about-company-v72__visual img{
  width:min(300px, 86%);
  filter:
    drop-shadow(0 0 24px rgba(246,145,39,.25))
    drop-shadow(0 18px 40px rgba(15,23,42,.20));
}
.about-company-v72__copy{
  max-width:780px;
}
.about-company-v72__copy .eyebrow{
  color:#f28c17;
}
.about-company-v72__copy h2{
  margin:12px 0 16px;
  max-width:680px;
  color:#10141b;
  font-size:clamp(32px, 3.3vw, 48px);
  line-height:1.02;
  letter-spacing:-.06em;
}
.about-company-v72__copy p{
  max-width:760px;
  color:#5f6978;
  font-size:16px;
  line-height:1.68;
  margin:0 0 24px;
}
.about-company-v72__features{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px 28px;
  margin:0 0 26px;
}
.about-company-v72__feature{
  display:grid;
  grid-template-columns:38px minmax(0,1fr);
  gap:4px 12px;
  align-items:start;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.about-company-v72__feature i{
  grid-row:span 2;
  width:38px;
  height:38px;
  border-radius:12px;
  border:1px solid rgba(246,145,39,.35);
  background:rgba(246,145,39,.10);
  color:#f28c17;
  font-size:15px;
}
.about-company-v72__feature b{
  color:#10141b;
  font-size:17px;
  line-height:1.16;
}
.about-company-v72__feature span{
  color:#6d7482;
  font-size:13px;
  line-height:1.42;
}
.about-company-v72__btn{
  min-height:44px;
  padding:0 22px;
  border-radius:999px;
  border:1px solid rgba(246,145,39,.30);
  background:linear-gradient(180deg,#ffb21b,#ff8a1a);
  box-shadow:0 18px 40px rgba(255,138,26,.22);
  color:#11141b;
  font-size:13px;
  font-weight:950;
}
.about-company-v72__note{
  color:#7a8290;
  font-size:13px;
}
@media(max-width:1050px){
  .about-company-v72__inner{grid-template-columns:1fr;gap:20px}
  .about-company-v72__visual{min-height:280px}
  .about-company-v72__visual:before{width:280px;height:280px}
  .about-company-v72__visual img{width:min(260px, 82%)}
}
@media(max-width:680px){
  .about-company-v72{padding:56px 0}
  .about-company-v72__features{grid-template-columns:1fr;gap:16px}
  .about-company-v72__visual{min-height:250px}
  .about-company-v72__visual:before{width:250px;height:250px}
  .about-company-v72__visual img{width:min(230px, 82%)}
  .about-company-v72__copy h2{font-size:30px}
  .about-company-v72__copy p{font-size:15px}
}


/* v75 — compact grouped certificates */
.certificates-compact-v75{
  padding:72px 0 74px;
  background:
    radial-gradient(circle at 13% 14%, rgba(255,178,27,.10), transparent 30%),
    linear-gradient(180deg,#f8f9fb 0%,#ffffff 100%);
  border-top:1px solid rgba(15,23,42,.08);
  border-bottom:1px solid rgba(15,23,42,.08);
}
.certificates-compact-v75 .certificates-premium-head{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  gap:36px;
  align-items:end;
  margin-bottom:28px;
}
.certificates-compact-v75 h2{
  color:#10141b;
  font-size:clamp(34px, 4vw, 52px);
  line-height:1.02;
  letter-spacing:-.06em;
  margin:0 0 12px;
}
.certificates-compact-v75 p{
  color:#657083;
}
.certificates-compact-v75 .certificates-premium-btn{
  height:46px;
  min-width:250px;
  border-radius:999px;
  background:linear-gradient(180deg,#ffb21b,#ff8a1a);
  color:#11141b;
  box-shadow:0 16px 38px rgba(255,138,26,.18);
}
.certificates-compact-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
}
.certificate-compact-card{
  overflow:hidden;
  border-radius:24px;
  background:#fff;
  border:1px solid rgba(15,23,42,.10);
  box-shadow:0 22px 60px rgba(15,23,42,.08);
  cursor:pointer;
  transition:transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}
.certificate-compact-card:hover{
  transform:translateY(-4px);
  border-color:rgba(255,138,26,.36);
  box-shadow:0 28px 72px rgba(15,23,42,.12);
}
.certificate-compact-preview{
  position:relative;
  height:210px;
  overflow:hidden;
  background:
    radial-gradient(circle at 18% 18%, rgba(255,178,27,.08), transparent 38%),
    linear-gradient(180deg,#f3f5f8 0%, #ffffff 100%);
  display:grid;
  place-items:center;
  padding:18px;
}
.certificate-compact-preview:before{
  content:"";
  position:absolute;
  inset:10px;
  border-radius:18px;
  border:8px solid #2c3037;
  pointer-events:none;
  opacity:.95;
}
.certificate-compact-preview img{
  position:relative;
  z-index:1;
  width:78%;
  height:100%;
  object-fit:contain;
  display:block;
  filter:drop-shadow(0 8px 18px rgba(15,23,42,.12));
}
.certificate-compact-count{
  position:absolute;
  z-index:2;
  right:16px;
  bottom:14px;
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:0 11px;
  border-radius:999px;
  background:rgba(16,20,27,.86);
  color:#fff;
  font-size:11px;
  font-weight:900;
  backdrop-filter:blur(8px);
}
.certificate-compact-body{
  padding:18px 20px 20px;
}
.certificate-compact-body h3{
  margin:0 0 8px;
  color:#10141b;
  font-size:21px;
  line-height:1.08;
  letter-spacing:-.045em;
}
.certificate-compact-body p{
  margin:0;
  color:#687386;
  font-size:13px;
  line-height:1.45;
}
.certificate-compact-body span{
  display:inline-flex;
  align-items:center;
  min-height:32px;
  padding:0 12px;
  border-radius:999px;
  background:#f4f6f9;
  color:#10141b;
  font-size:12px;
  font-weight:900;
}
.cert-lightbox-frame figcaption{
  display:block;
  margin-top:10px;
  color:#d9e2f2;
  font-size:13px;
  text-align:center;
}
@media(max-width:1120px){
  .certificates-compact-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .certificates-compact-v75 .certificates-premium-head{grid-template-columns:1fr;}
  .certificates-compact-v75 .certificates-premium-btn{width:max-content;}
}
@media(max-width:640px){
  .certificates-compact-v75{padding:56px 0;}
  .certificates-compact-grid{grid-template-columns:1fr;}
  .certificate-compact-preview{height:220px;}
  .certificates-compact-v75 .certificates-premium-btn{width:100%;min-width:0;}
}


/* v76 — certificates cleanup: no request button + modal arrows by document */
.certificates-compact-v75 .certificates-premium-head{
  grid-template-columns:minmax(0, 760px);
  align-items:start;
  margin-bottom:30px;
}
.certificates-compact-v75 .certificates-premium-side{
  display:none !important;
}

.cert-lightbox{
  gap:18px;
}
.cert-lightbox-prev,
.cert-lightbox-next{
  position:static;
  flex:0 0 auto;
  transform:none;
  width:48px;
  height:48px;
  border-radius:999px;
  border:1px solid rgba(255,178,27,.30);
  background:
    linear-gradient(180deg, rgba(255,178,27,.18), rgba(255,138,26,.10)),
    rgba(10,13,18,.72);
  color:#fff;
  box-shadow:0 18px 44px rgba(0,0,0,.28);
  backdrop-filter:blur(10px);
  font-size:30px;
  font-weight:800;
}
.cert-lightbox-prev:hover,
.cert-lightbox-next:hover{
  background:linear-gradient(180deg,#ffb21b,#ff8a1a);
  border-color:rgba(255,178,27,.65);
  color:#11141b;
  transform:translateY(-1px);
  box-shadow:0 20px 48px rgba(255,138,26,.22);
}
.cert-lightbox-frame{
  margin:0;
}
.cert-lightbox-close{
  top:28px;
  right:28px;
  background:rgba(7,9,13,.82);
  border-color:rgba(255,255,255,.10);
  box-shadow:0 18px 42px rgba(0,0,0,.28);
}
.cert-lightbox-close:hover{
  background:linear-gradient(180deg,#ffb21b,#ff8a1a);
  border-color:rgba(255,178,27,.65);
  color:#11141b;
}

@media(max-width:760px){
  .cert-lightbox{
    gap:0;
  }
  .cert-lightbox-prev,
  .cert-lightbox-next{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    width:42px;
    height:42px;
    font-size:27px;
  }
  .cert-lightbox-prev{left:10px;}
  .cert-lightbox-next{right:10px;}
  .cert-lightbox-prev:hover,
  .cert-lightbox-next:hover{
    transform:translateY(-50%);
  }
  .cert-lightbox-close{
    top:12px;
    right:12px;
  }
}


/* v77 — clean brand marquee + light promo cards */
.brands-promos-v77{
  position:relative;
  overflow:hidden;
  padding:70px 0 64px;
  background:
    radial-gradient(circle at 14% 0%, rgba(255,178,27,.10), transparent 28%),
    linear-gradient(180deg,#ffffff 0%, #f7f9fc 100%);
  border-top:1px solid rgba(15,23,42,.08);
  border-bottom:1px solid rgba(15,23,42,.08);
}
.brands-promos-v77:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(112deg, transparent 0 18%, rgba(255,178,27,.055) 18.4% 20.3%, transparent 20.8% 100%),
    linear-gradient(112deg, transparent 0 74%, rgba(36,118,255,.045) 74.4% 76.2%, transparent 76.8% 100%);
  pointer-events:none;
}
.brands-promos-v77 .container{
  position:relative;
  z-index:2;
}
.brands-promos-head{
  display:grid;
  grid-template-columns:minmax(0, 1fr) 420px;
  gap:42px;
  align-items:end;
  margin-bottom:30px;
}
.brands-promos-head h2{
  margin:0;
  max-width:760px;
  color:#10141b;
  font-size:clamp(30px, 3.4vw, 46px);
  line-height:1.02;
  letter-spacing:-.06em;
}
.brands-promos-head p{
  margin:0;
  color:#657083;
  font-size:15px;
  line-height:1.7;
}
.brand-marquee-v77{
  padding:12px 0 34px;
}
.brand-marquee-label{
  margin-bottom:18px;
  text-align:center;
  color:#8b94a5;
  font-size:13px;
  line-height:1.4;
}
.brand-marquee-window{
  position:relative;
  overflow:hidden;
  padding:12px 0;
  -webkit-mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
  mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}
.brand-marquee-track{
  display:flex;
  align-items:center;
  gap:58px;
  width:max-content;
  animation:brand-marquee-v77 34s linear infinite;
}
.brand-marquee-window:hover .brand-marquee-track{
  animation-play-state:paused;
}
@keyframes brand-marquee-v77{
  from{transform:translateX(0);}
  to{transform:translateX(-50%);}
}
.brand-logo-v77{
  flex:0 0 auto;
  min-width:135px;
  display:grid;
  place-items:center;
  text-align:center;
  color:#9aa1ac;
  opacity:.82;
  font-size:21px;
  font-weight:950;
  line-height:.95;
  letter-spacing:-.055em;
  filter:grayscale(1);
  transition:opacity .22s ease, color .22s ease, transform .22s ease;
  white-space:nowrap;
}
.brand-logo-v77 small{
  display:block;
  margin-top:8px;
  color:#b8bec7;
  font-size:7px;
  line-height:1;
  letter-spacing:.02em;
  font-weight:800;
  text-transform:none;
}
.brand-logo-v77:hover{
  opacity:1;
  color:#343943;
  transform:translateY(-2px);
}
.brand-logo-v77.hammer{font-size:19px;letter-spacing:-.04em;}
.brand-logo-v77.preсor,
.brand-logo-v77.precor,
.brand-logo-v77.hoist,
.brand-logo-v77.matrix,
.brand-logo-v77.okpro{font-size:22px;}
.brand-logo-v77.vertex,
.brand-logo-v77.fanatics{font-style:italic;}
.brand-logo-v77.gymmaster{
  min-width:150px;
  padding:7px 16px;
  border:2px solid currentColor;
  border-radius:8px;
  font-size:16px;
  letter-spacing:.01em;
}

.promo-grid-v77{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.promo-card-v77{
  position:relative;
  min-height:178px;
  padding:26px 28px 24px;
  border-radius:26px;
  border:1px solid rgba(15,23,42,.10);
  background:
    radial-gradient(circle at 90% 0%, rgba(255,178,27,.12), transparent 34%),
    linear-gradient(180deg,#ffffff 0%, #fbfcfe 100%);
  box-shadow:0 24px 70px rgba(15,23,42,.08);
  overflow:hidden;
  transition:transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}
.promo-card-v77:after{
  content:"";
  position:absolute;
  right:-36px;
  bottom:-46px;
  width:140px;
  height:140px;
  border-radius:38px;
  transform:rotate(24deg);
  background:linear-gradient(135deg, rgba(255,178,27,.28), rgba(255,138,26,.10));
}
.promo-card-v77:hover{
  transform:translateY(-4px);
  border-color:rgba(255,138,26,.30);
  box-shadow:0 30px 82px rgba(15,23,42,.12);
}
.promo-icon-v77{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  margin-bottom:20px;
  border-radius:14px;
  border:1px solid rgba(255,138,26,.32);
  background:rgba(255,178,27,.10);
  color:#f28c17;
  font-size:18px;
  font-weight:950;
}
.promo-card-v77 h3{
  position:relative;
  z-index:2;
  margin:0 0 10px;
  color:#10141b;
  font-size:23px;
  line-height:1.06;
  letter-spacing:-.045em;
}
.promo-card-v77 p{
  position:relative;
  z-index:2;
  max-width:330px;
  margin:0 0 18px;
  color:#687386;
  font-size:14px;
  line-height:1.55;
}
.promo-card-v77 a{
  position:relative;
  z-index:2;
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:0 13px;
  border-radius:999px;
  background:#f4f6f9;
  color:#10141b;
  font-size:12px;
  font-weight:950;
  text-decoration:none;
}
.promo-card-v77 a:hover{
  background:linear-gradient(180deg,#ffb21b,#ff8a1a);
}
@media(max-width:980px){
  .brands-promos-head{grid-template-columns:1fr;gap:16px;}
  .promo-grid-v77{grid-template-columns:1fr;}
  .brand-marquee-track{gap:38px;}
  .brand-logo-v77{min-width:118px;font-size:18px;}
}
@media(max-width:640px){
  .brands-promos-v77{padding:54px 0;}
  .brand-marquee-v77{padding-bottom:26px;}
  .promo-card-v77{min-height:0;padding:22px;}
}


/* v78 — services block cleanup, keep animation */
.services-keyturn-primary{
  background:linear-gradient(180deg,#ffb21b,#ff8a1a) !important;
  border-color:rgba(255,138,26,.75) !important;
  color:#10141b !important;
  box-shadow:0 18px 42px rgba(255,138,26,.28) !important;
}
.services-keyturn-primary:hover{
  background:linear-gradient(180deg,#ffc24c,#ff9b2d) !important;
  border-color:rgba(255,138,26,.90) !important;
  color:#10141b !important;
  box-shadow:0 22px 52px rgba(255,138,26,.34) !important;
  transform:translateY(-2px);
}
.services-keyturn-secondary{
  background:#fff !important;
  border-color:rgba(15,23,42,.12) !important;
  color:#10141b !important;
  box-shadow:0 14px 34px rgba(15,23,42,.12) !important;
}
.services-keyturn-secondary:hover{
  background:#fff7e8 !important;
  border-color:rgba(255,138,26,.38) !important;
  color:#10141b !important;
  box-shadow:0 18px 42px rgba(255,138,26,.14) !important;
  transform:translateY(-2px);
}
.services-keyturn-card button{
  background:transparent !important;
  border-color:transparent !important;
  color:#c47a00 !important;
  box-shadow:none !important;
  padding:0 !important;
  height:auto !important;
  text-transform:uppercase;
  letter-spacing:.055em;
}
.services-keyturn-card button:hover{
  color:#ff8a1a !important;
  transform:none !important;
}
.services-keyturn-card:hover{
  border-color:rgba(255,138,26,.42) !important;
  box-shadow:0 30px 90px rgba(0,0,0,.32), 0 0 0 1px rgba(255,138,26,.10) !important;
}
.services-keyturn-card:before{
  background:rgba(255,138,26,.18) !important;
}
.services-keyturn-icon{
  border-color:rgba(255,138,26,.34) !important;
  background:rgba(255,178,27,.10) !important;
  color:#f28c17 !important;
}
.services-keyturn-card:hover .services-keyturn-icon{
  background:linear-gradient(180deg,#ffb21b,#ff8a1a) !important;
  border-color:rgba(255,138,26,.8) !important;
  color:#10141b !important;
}
.services-keyturn-card div > span{
  color:#f28c17 !important;
}
.services-keyturn-label{
  color:#f28c17 !important;
  border-color:rgba(255,138,26,.38) !important;
  background:rgba(255,178,27,.10) !important;
}
.services-keyturn-hero-content{
  padding-bottom:42px;
}
.services-keyturn-cta-row{
  margin-top:22px;
}


/* v79 — client edits */
.with-second-menu-light .logo-ref img{
  max-width:190px !important;
  max-height:56px !important;
  object-fit:contain !important;
  margin: 0;
}
.projects-presentation .section-title p.presentation-note{
  max-width:560px !important;
  color:#4f5b6d !important;
  font-size:14px !important;
  line-height:1.55 !important;
  font-weight:600 !important;
}
.projects-presentation .project-card{
  min-width:260px !important;
  height:360px !important;
  border-radius:10px !important;
  overflow:hidden !important;
  background:#10141b !important;
  box-shadow:0 20px 56px rgba(15,23,42,.16) !important;
}
.projects-presentation .project-card:after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(180deg, rgba(0,0,0,.10) 0%, rgba(0,0,0,.28) 42%, rgba(0,0,0,.86) 100%),
    linear-gradient(90deg, rgba(0,0,0,.34), transparent 50%);
  pointer-events:none;
}
.projects-presentation .project-card img{
  filter:brightness(.88) contrast(1.08) saturate(.98) !important;
}
.projects-presentation .project-info{
  z-index:2 !important;
  padding:0 20px 22px !important;
  color:#fff !important;
  text-shadow:0 8px 24px rgba(0,0,0,.45) !important;
}
.projects-presentation .project-info h3{
  font-size:22px !important;
  line-height:1.04 !important;
  letter-spacing:-.035em !important;
  margin-bottom:7px !important;
  color:#fff !important;
  font-weight:950 !important;
}
.projects-presentation .project-info .city{
  color:#fff !important;
  opacity:.94 !important;
  font-size:13px !important;
  font-weight:800 !important;
  margin-bottom:9px !important;
}
.projects-presentation .project-meta{
  display:grid !important;
  gap:4px !important;
  margin:0 0 10px !important;
}
.projects-presentation .project-meta span{
  color:#fff !important;
  font-size:12px !important;
  line-height:1.2 !important;
  font-weight:800 !important;
}
.projects-presentation .project-meta span:before{
  content:"";
  display:inline-block;
  width:5px;
  height:5px;
  border-radius:50%;
  background:#ffb21b;
  margin-right:6px;
  vertical-align:middle;
  box-shadow:0 0 0 3px rgba(255,178,27,.13);
}
.projects-presentation .project-info p{
  color:#f2f4f8 !important;
  font-size:12.5px !important;
  line-height:1.42 !important;
  font-weight:700 !important;
  margin:0 !important;
}
#catalog .mosaic-card.is-open .mosaic-more-panel strong::after{
  content:"";
}
#catalog .mosaic-more-panel div span:first-child,
#catalog .mosaic-more-panel div span:nth-child(2),
#catalog .mosaic-more-panel div span:nth-child(3){
  border-color:rgba(255,178,27,.34) !important;
  background:linear-gradient(180deg, rgba(74,55,23,.96), rgba(42,31,17,.98)) !important;
}
@media(max-width:640px){
  .projects-presentation .project-card{min-width:82vw !important;height:360px !important;}
  .with-second-menu-light .logo-ref img{max-width:160px !important;}
}


/* v80 — client polish round */
.brandline-ref .logo-ref img,
.logo-ref img{
  max-width:235px !important;
  max-height:72px !important;
  width:auto !important;
  height:auto !important;
}
.brandline-ref__inner{
  min-height:92px !important;
  gap:26px !important;
}
.footer-logo-image{
  display:flex !important;
  align-items:center !important;
  margin-bottom:22px !important;
}
.footer-logo-image img{
  width:235px !important;
  max-width:100% !important;
  height:auto !important;
  display:block !important;
  object-fit:contain !important;
  filter:drop-shadow(0 0 18px rgba(255,138,26,.14));
}

.projects-presentation .section-title h2{
  font-size:32px !important;
  line-height:1.05 !important;
  letter-spacing:-.055em !important;
  color:#10141b !important;
  font-weight:950 !important;
  margin-bottom:10px !important;
}
.projects-presentation .section-title p.presentation-note{
  max-width:620px !important;
  color:#4f5b6d !important;
  font-size:15px !important;
  line-height:1.55 !important;
  font-weight:600 !important;
  letter-spacing:0 !important;
}
.projects-presentation .project-card:after{
  background:
    linear-gradient(180deg, rgba(0,0,0,.08) 0%, rgba(0,0,0,.30) 34%, rgba(0,0,0,.90) 100%),
    linear-gradient(90deg, rgba(0,0,0,.48), rgba(0,0,0,.10) 58%) !important;
}
.projects-presentation .project-info h3{
  font-size:24px !important;
  line-height:1.02 !important;
  letter-spacing:-.04em !important;
  text-shadow:0 10px 26px rgba(0,0,0,.68) !important;
}
.projects-presentation .project-info .city,
.projects-presentation .project-meta span,
.projects-presentation .project-info p{
  text-shadow:0 8px 22px rgba(0,0,0,.70) !important;
}
.projects-presentation .project-info p{
  color:#fff !important;
  font-size:12px !important;
  line-height:1.38 !important;
  font-weight:800 !important;
}

#catalog .mosaic-more-panel{
  background:rgba(9,12,18,.78) !important;
  border:1px solid rgba(255,255,255,.16) !important;
}
#catalog .mosaic-more-panel div{
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:flex-start !important;
  gap:8px !important;
}
#catalog .mosaic-more-panel span,
#catalog .mosaic-card.is-expanded .mosaic-more-panel span{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:auto !important;
  min-width:max-content !important;
  min-height:32px !important;
  padding:8px 13px !important;
  border-radius:999px !important;
  background:#fff !important;
  color:#10141b !important;
  border:1px solid rgba(15,23,42,.10) !important;
  box-shadow:0 10px 24px rgba(0,0,0,.12) !important;
  opacity:1 !important;
  visibility:visible !important;
  font-size:12px !important;
  font-weight:900 !important;
  line-height:1 !important;
  white-space:nowrap !important;
  text-indent:0 !important;
  overflow:visible !important;
}
#catalog .mosaic-panel-close{
  background:#10141b !important;
  color:#fff !important;
  border:1px solid rgba(255,255,255,.18) !important;
}

.services-keyturn-hero-layer{
  background-image:
    linear-gradient(180deg, rgba(5,7,11,.14), rgba(5,7,11,.54) 45%, rgba(5,7,11,.88)),
    linear-gradient(90deg, rgba(4,8,18,.82), rgba(4,8,18,.38) 58%, rgba(4,8,18,.16)),
    var(--service-image) !important;
}
.services-keyturn-hero-content h3{
  color:#fff !important;
  text-shadow:0 14px 34px rgba(0,0,0,.82) !important;
}
.services-keyturn-hero-content p{
  color:#e8edf7 !important;
  text-shadow:0 10px 28px rgba(0,0,0,.72) !important;
}

.stat b{
  color:#ff9a0a !important;
  font-size:36px !important;
  line-height:.95 !important;
  font-weight:950 !important;
  letter-spacing:-.07em !important;
  text-shadow:
    0 1px 0 rgba(255,255,255,.65),
    0 12px 30px rgba(255,138,26,.20),
    0 -1px 0 rgba(120,71,0,.18) !important;
}
.stat span{
  color:#687386 !important;
  font-size:12px !important;
  line-height:1.35 !important;
  font-weight:600 !important;
}
.stat-delivery b{
  font-size:25px !important;
  letter-spacing:-.035em !important;
  margin-top:8px !important;
  color:#ff9a0a !important;
}
.stat-delivery span{
  color:#687386 !important;
}


/* v81 — final client cleanup */
.services-keyturn-hero-content h3{
  display:inline !important;
  padding:2px 7px 4px !important;
  color:#fff !important;
  background:linear-gradient(90deg, rgba(8,11,18,.86), rgba(8,11,18,.66)) !important;
  -webkit-box-decoration-break:clone !important;
  box-decoration-break:clone !important;
  border-radius:8px !important;
  text-shadow:0 10px 26px rgba(0,0,0,.74) !important;
  line-height:1.12 !important;
}
.services-keyturn-hero-content p{
  margin-top:22px !important;
  max-width:620px !important;
  color:#fff !important;
  text-shadow:0 8px 22px rgba(0,0,0,.75) !important;
}

#catalog .mosaic-card.is-expanded .mosaic-chip,
#catalog .mosaic-card.is-expanded .mosaic-more-panel .mosaic-chip,
#catalog .mosaic-card.is-expanded .mosaic-more-panel span,
#catalog .mosaic-more-panel span,
#catalog .mosaic-card.is-expanded [class*="chip"]{
  background:#fff !important;
  color:#10141b !important;
  border:1px solid rgba(15,23,42,.10) !important;
  box-shadow:0 10px 24px rgba(0,0,0,.12) !important;
  opacity:1 !important;
  filter:none !important;
}
#catalog .mosaic-card.is-expanded .mosaic-chip:before,
#catalog .mosaic-card.is-expanded .mosaic-chip:after,
#catalog .mosaic-more-panel span:before,
#catalog .mosaic-more-panel span:after{
  display:none !important;
}


/* v82 — popular categories: keep previous card view, only normalize expanded pills */
#catalog .mosaic-more-panel{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

#catalog .mosaic-more-panel div{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:8px !important;
  align-items:flex-start !important;
}

#catalog .mosaic-more-panel span,
#catalog .mosaic-card.is-expanded .mosaic-more-panel span,
#catalog .mosaic-card.is-expanded .mosaic-more-panel .mosaic-chip{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:auto !important;
  min-width:max-content !important;
  min-height:32px !important;
  padding:8px 13px !important;
  border-radius:999px !important;
  background:#fff !important;
  color:#10141b !important;
  border:1px solid rgba(15,23,42,.10) !important;
  box-shadow:0 10px 24px rgba(0,0,0,.12) !important;
  font-size:12px !important;
  font-weight:900 !important;
  line-height:1 !important;
  white-space:nowrap !important;
  opacity:1 !important;
  visibility:visible !important;
  filter:none !important;
  text-indent:0 !important;
  overflow:visible !important;
}

#catalog .mosaic-more-panel span:before,
#catalog .mosaic-more-panel span:after{
  display:none !important;
}


/* v83 — popular categories: every expanded pill must be white */
#catalog .mosaic-card.is-expanded .mosaic-chip,
#catalog .mosaic-card.is-expanded .mosaic-more,
#catalog .mosaic-card.is-expanded .mosaic-more-panel span,
#catalog .mosaic-card.is-expanded .mosaic-more-panel .mosaic-chip,
#catalog .mosaic-card.is-expanded button.mosaic-chip,
#catalog .mosaic-card.is-expanded a.mosaic-chip,
#catalog .mosaic-card.is-expanded .mosaic-tags span,
#catalog .mosaic-card.is-expanded .mosaic-tags button,
#catalog .mosaic-card.is-expanded .mosaic-tags a{
  background:#fff !important;
  background-image:none !important;
  color:#10141b !important;
  border:1px solid rgba(15,23,42,.10) !important;
  box-shadow:0 10px 24px rgba(0,0,0,.12) !important;
  text-shadow:none !important;
  opacity:1 !important;
  filter:none !important;
}

#catalog .mosaic-card.is-expanded .mosaic-chip *,
#catalog .mosaic-card.is-expanded .mosaic-more *,
#catalog .mosaic-card.is-expanded .mosaic-tags span *,
#catalog .mosaic-card.is-expanded .mosaic-tags button *,
#catalog .mosaic-card.is-expanded .mosaic-tags a *{
  color:#10141b !important;
  text-shadow:none !important;
}

#catalog .mosaic-card.is-expanded .mosaic-chip:before,
#catalog .mosaic-card.is-expanded .mosaic-chip:after,
#catalog .mosaic-card.is-expanded .mosaic-more:before,
#catalog .mosaic-card.is-expanded .mosaic-more:after,
#catalog .mosaic-card.is-expanded .mosaic-tags span:before,
#catalog .mosaic-card.is-expanded .mosaic-tags span:after{
  display:none !important;
  content:none !important;
}


:root{
  --page:#f5f6f8 !important;
  --bg:#ffffff !important;
  --bg2:#f3f4f6 !important;
  --card:#ffffff !important;
  --card2:#f8f9fb !important;
  --line:rgba(16,18,22,.12) !important;
  --line-soft:rgba(16,18,22,.08) !important;
  --text:#121317 !important;
  --muted:#697181 !important;
  --blue:#f8a900 !important;
  --blue2:#ffb800 !important;
  --orange:#ff8a00;
  --yellow:#ffbd13;
  --black:#0d0e11;
  --graphite:#242831;
  --shadow:0 20px 60px rgba(15,18,24,.12) !important;
}

html,body{
  background:#f5f6f8 !important;
  color:#121317 !important;
}
body:before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:-1;
  background:
    linear-gradient(115deg, transparent 0 16%, rgba(255,184,0,.06) 16.2% 18.5%, transparent 18.7% 100%),
    radial-gradient(circle at 12% 0%, rgba(255,184,0,.12), transparent 34%),
    radial-gradient(circle at 92% 18%, rgba(16,18,22,.05), transparent 32%);
}
.site{
  background:#fff !important;
  color:#121317 !important;
  box-shadow:none !important;
}
.caption{display:none !important;}
.container{max-width:1320px !important;}

/* Header */
.header,
.header-pro{
  background:rgba(255,255,255,.96) !important;
  color:#111318 !important;
  border-bottom:1px solid rgba(16,18,22,.10) !important;
  box-shadow:0 12px 34px rgba(15,18,24,.07) !important;
  backdrop-filter:blur(14px) !important;
}
.header-pro:after{display:none !important;}
.header-top{
  background:#fff !important;
}
.logo-main,
.footer-logo-main{
  color:#0b0c0f !important;
}
.logo-main::after,
.footer-logo-main::after{
  content:"";
  display:inline-block;
  width:.38em;
  height:.22em;
  margin-left:.02em;
  transform:skewX(-18deg) translateY(-.12em);
  background:linear-gradient(135deg,#ff8a00,#ffc400);
  border-radius:2px;
}
.logo-sub,
.header-descriptor,
.footer-logo-sub,
.footer-muted{
  color:#657083 !important;
}
.header-actions .phone strong,
.header-contacts .phone strong,
.email-top strong,
.phone strong{
  color:#111318 !important;
}
.header-actions .phone span,
.header-contacts .phone span,
.email-top span,
.phone span{
  color:#6f7888 !important;
}
.email-top strong{color:#f59f00 !important;}
.header-icons button{
  color:#111318 !important;
  border-color:rgba(16,18,22,.16) !important;
  background:#fff !important;
  box-shadow:0 8px 18px rgba(15,18,24,.08) !important;
}
.header-icons i{background:#ffb800 !important;color:#111 !important;box-shadow:0 0 0 2px #fff !important;}
.header-nav-row{
  background:rgba(255,255,255,.90) !important;
  border-top:1px solid rgba(16,18,22,.08) !important;
  border-bottom:1px solid rgba(16,18,22,.08) !important;
  box-shadow:0 10px 26px rgba(15,18,24,.06) !important;
  backdrop-filter:blur(10px) !important;
}
.header-pro .nav-item > button,
.nav a,
.nav-item > button{
  color:#191b20 !important;
  opacity:.92 !important;
}
.header-pro .nav-item:first-child > button{color:#000 !important;}
.header-pro .nav-item:after,
.header-pro .nav-item:not(:last-child)::after{
  color:rgba(16,18,22,.24) !important;
}
.header-pro .nav-item > button:before,
.nav a:after{
  background:linear-gradient(90deg,#ff8a00,#ffc400) !important;
  height:3px !important;
}
.top-btn,
.btn-blue,
.fitcalc-submit,
.final-cta .btn-blue,
.footer-action,
.services-keyturn-primary,
.mosaic-all-btn,
.solutions-head-btn,
.certificates-premium-btn{
  background:linear-gradient(135deg,#ff8a00,#ffc400) !important;
  color:#111318 !important;
  border:1px solid rgba(202,124,0,.24) !important;
  box-shadow:0 14px 30px rgba(255,152,0,.22) !important;
}
.btn-dark,
.services-keyturn-secondary,
.fitcalc-result-btn{
  background:#fff !important;
  color:#15171d !important;
  border:1px solid rgba(16,18,22,.22) !important;
  box-shadow:0 10px 22px rgba(15,18,24,.06) !important;
}
.header-search{
  background:#f6f7f9 !important;
  border:1px solid rgba(16,18,22,.12) !important;
  color:#121317 !important;
}
.header-search input{color:#121317 !important;}
.header-search input::placeholder{color:#7c8492 !important;}
.submenu,
.header-pro .submenu{
  background:rgba(255,255,255,.98) !important;
  color:#15171d !important;
  border:1px solid rgba(16,18,22,.12) !important;
  box-shadow:0 26px 70px rgba(15,18,24,.16) !important;
}
.header-pro .submenu span,
.submenu span,
.header-pro .submenu-card span{
  color:#242831 !important;
  background:linear-gradient(180deg,#fff,#f5f6f8) !important;
  border-color:rgba(16,18,22,.10) !important;
}
.header-pro .submenu span:hover,
.submenu span:hover{
  background:linear-gradient(180deg,rgba(255,184,0,.20),rgba(255,138,0,.10)) !important;
  border-color:rgba(255,152,0,.42) !important;
  color:#0d0e11 !important;
}
.header-pro .submenu strong{color:#0d0e11 !important;}
.phone-menu{
  background:#fff !important;
  border-color:rgba(16,18,22,.12) !important;
  box-shadow:0 24px 60px rgba(15,18,24,.16) !important;
}
.phone-menu-item{
  background:linear-gradient(180deg,#fff,#f6f7f9) !important;
  border-color:rgba(16,18,22,.10) !important;
}
.phone-menu-item strong{color:#111318 !important;}
.phone-menu-item span{color:#6c7585 !important;}

/* Hero */
.hero,
.hero-slider{
  background:#fff !important;
  border-bottom:1px solid rgba(16,18,22,.10) !important;
}
.hero:before{
  content:"";
  position:absolute;
  right:-120px;
  top:0;
  width:45%;
  height:100%;
  background:linear-gradient(135deg, transparent 0 32%, rgba(255,184,0,.95) 32% 60%, rgba(255,138,0,.95) 60% 100%);
  clip-path:polygon(28% 0,100% 0,100% 100%,0 100%);
  z-index:0;
  opacity:.95;
}
.hero-bg:before{
  background:
    linear-gradient(90deg, rgba(255,255,255,.98) 0%, rgba(255,255,255,.93) 28%, rgba(255,255,255,.56) 50%, rgba(255,255,255,.06) 100%),
    linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.62)) !important;
}
.hero-bg:after{
  background:
    linear-gradient(115deg, transparent 0 13%, rgba(255,184,0,.14) 13.3% 15.2%, transparent 15.4% 100%),
    radial-gradient(circle at 15% 45%, rgba(255,184,0,.16), transparent 34%) !important;
}
.hero-kicker,
.eyebrow{
  color:#f59f00 !important;
}
h1,
.hero-copy h1{
  color:#0d0e11 !important;
  text-shadow:none !important;
}
.lead,
.hero-copy .lead{
  color:#4f5867 !important;
}
.hero-arrow{
  background:#fff !important;
  color:#111318 !important;
  border-color:rgba(16,18,22,.14) !important;
  box-shadow:0 10px 24px rgba(15,18,24,.12) !important;
}
.hero-arrow:hover{background:#ffb800 !important;color:#111 !important;border-color:#ffb800 !important;}
.hero-dot{border-color:rgba(16,18,22,.20) !important;background:#e5e7eb !important;}
.hero-dot.is-active{background:#ffb800 !important;border-color:#ffb800 !important;box-shadow:0 0 0 4px rgba(255,184,0,.18) !important;}

/* Global sections */
section,
.stats,
.brand-section,
.catalog-detail,
.wide-services,
.cases-detail,
.process,
.docs-about,
.certs-products,
.projects-presentation,
.catalog-mosaic-section,
.solutions-section,
.solutions-section-v2,
.services-keyturn-section,
.fitcalc-section,
.process-v2,
.certificates-premium-section{
  background:#fff !important;
  color:#121317 !important;
  border-color:rgba(16,18,22,.10) !important;
}
.catalog-mosaic-section,
.solutions-section-v2,
.fitcalc-section,
.process-v2,
.services-keyturn-section,
.certificates-premium-section{
  background:
    linear-gradient(115deg, transparent 0 16%, rgba(255,184,0,.045) 16.3% 18.2%, transparent 18.4% 100%),
    radial-gradient(circle at 12% 0%, rgba(255,184,0,.10), transparent 32%),
    #f7f8fa !important;
}
section h2,
h2,
h3,
.section-title h2,
.mosaic-head h2,
.solutions-head h2,
.fitcalc-main h2{
  color:#111318 !important;
}
p,
.presentation-note,
.mosaic-head p,
.solutions-head p,
.fitcalc-lead,
.services-keyturn-head p,
.project-info p,
.case p,
.step p{
  color:#5d6676 !important;
}
.outline-link{
  color:#15171d !important;
  border-color:rgba(16,18,22,.18) !important;
  background:#fff !important;
}

/* Stats */
.stats{
  background:#f8f9fb !important;
}
.stat{
  background:#fff !important;
  border-right:1px solid rgba(16,18,22,.10) !important;
}
.stat b,
.stat .icon{
  color:#f59f00 !important;
}
.stat span{color:#5f6878 !important;}

/* Cards, grids */
.project-card,
.case,
.promo-card,
.cat,
.visual-card,
.product,
.cert,
.brand-cell,
.solution-card,
.services-keyturn-hero,
.services-keyturn-card,
.fitcalc-shell,
.fitcalc-form,
.fitcalc-result,
.steps-v2 .step,
.step,
.certificate-preview,
.certificates-gallery-shell,
.catalog-category,
.about-text{
  background:linear-gradient(180deg,#fff,#f8f9fb) !important;
  color:#121317 !important;
  border:1px solid rgba(16,18,22,.10) !important;
  box-shadow:0 18px 44px rgba(15,18,24,.08) !important;
}
.project-card:hover,
.solution-card:hover,
.services-keyturn-card:hover,
.mosaic-card:hover{
  border-color:rgba(255,152,0,.42) !important;
  box-shadow:0 24px 70px rgba(15,18,24,.13),0 0 0 1px rgba(255,184,0,.10) !important;
}
.project-card:after,
.visual-card:after{
  background:linear-gradient(180deg, transparent 20%, rgba(0,0,0,.72) 100%) !important;
}
.project-info h3,
.project-info .city,
.project-info p,
.project-meta,
.case-overlay strong,
.case-overlay span{
  color:#fff !important;
}
.project-meta span:before{background:#ffb800 !important;}
.promo-card:after{
  background:linear-gradient(90deg, rgba(255,255,255,.96), rgba(255,255,255,.72), rgba(255,255,255,.20)) !important;
}
.promo-card h3{color:#111318 !important;}
.promo-card p{color:#5e6675 !important;}
.blue-more{color:#f59f00 !important;}
.project-scroll-btn,
.cert-gallery-arrow{
  background:#fff !important;
  color:#111318 !important;
  border-color:rgba(16,18,22,.16) !important;
  box-shadow:0 8px 18px rgba(15,18,24,.08) !important;
}
.project-scroll-btn:hover,
.cert-gallery-arrow:hover{
  background:#ffb800 !important;
  color:#111 !important;
  border-color:#ffb800 !important;
}

/* Popular categories */
.mosaic-card{
  border:1px solid rgba(16,18,22,.10) !important;
  box-shadow:0 18px 50px rgba(15,18,24,.10) !important;
}
.mosaic-card:before{
  filter:saturate(1.02) contrast(1.08) brightness(1.08) !important;
}
.mosaic-card:after,
#catalog .mosaic-card:after{
  background:
    linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.20) 38%, rgba(0,0,0,.58) 100%),
    linear-gradient(100deg, rgba(255,255,255,.58) 0%, rgba(255,255,255,.20) 46%, rgba(255,184,0,.12) 100%) !important;
}
.mosaic-tag,
.solution-label,
.services-keyturn-label{
  background:rgba(255,184,0,.16) !important;
  border:1px solid rgba(255,152,0,.32) !important;
  color:#a26200 !important;
}
.mosaic-card h3,
.mosaic-card p{color:#fff !important;text-shadow:0 8px 22px rgba(0,0,0,.34) !important;}
.mosaic-chips span,
.mosaic-more-chip,
#catalog .mosaic-chips span,
#catalog .mosaic-more-chip,
#catalog .mosaic-more-panel span{
  background:rgba(255,255,255,.92) !important;
  color:#15171d !important;
  border:1px solid rgba(16,18,22,.12) !important;
  box-shadow:0 8px 18px rgba(15,18,24,.10) !important;
}
.mosaic-more-chip,
#catalog .mosaic-more-chip{
  background:linear-gradient(135deg,#ff8a00,#ffc400) !important;
  color:#111318 !important;
  border-color:rgba(255,152,0,.44) !important;
}
#catalog .mosaic-card.is-open:after{
  background:linear-gradient(180deg, rgba(255,255,255,.18), rgba(15,18,24,.62)) !important;
}
#catalog .mosaic-panel-close{
  background:#111318 !important;
  color:#fff !important;
  border-color:#111318 !important;
}

/* Solutions */
.solutions-section-v2 .solution-card{
  background:linear-gradient(180deg,#fff,#f8f9fb) !important;
  border-color:rgba(16,18,22,.10) !important;
}
.solution-icon,
.solutions-section-v2 .solution-icon,
.services-keyturn-icon{
  background:rgba(255,184,0,.14) !important;
  border-color:rgba(255,152,0,.32) !important;
  color:#f59f00 !important;
}
.solution-card h3,
.solutions-section-v2 .solution-card h3{color:#111318 !important;}
.solution-card p,
.solutions-section-v2 .solution-card p{color:#5f6878 !important;}
.solution-cta,
.solutions-section-v2 .solution-cta{
  background:#111318 !important;
  color:#fff !important;
  border-color:#111318 !important;
}
.solution-cta:after,
.solutions-section-v2 .solution-cta:after{color:#ffb800 !important;}
.solution-glow{background:rgba(255,184,0,.18) !important;}

/* Services */
.services-keyturn-section:before,
.solutions-section:before,
.fitcalc-section:before{
  opacity:.35 !important;
}
.services-keyturn-hero{
  background:
    linear-gradient(115deg,#fff 0 60%, rgba(255,184,0,.14) 60% 100%) !important;
}
.services-keyturn-head h2,
.services-keyturn-hero h3,
.services-keyturn-card h3{
  color:#111318 !important;
}
.services-keyturn-points span{
  background:#fff !important;
  color:#111318 !important;
  border-color:rgba(16,18,22,.12) !important;
}
.services-keyturn-card span,
.steps-v2 .step strong{color:#f59f00 !important;}
.services-keyturn-card button{
  color:#a26200 !important;
}

/* Calculator */
.fitcalc-shell{
  background:linear-gradient(180deg,#fff,#f8f9fb) !important;
}
.fitcalc-form,
.fitcalc-result{
  background:#fff !important;
}
.fitcalc-result{
  border-color:rgba(255,152,0,.34) !important;
}
.fitcalc-input-grid label,
.fitcalc-number-grid label,
.fitcalc-option,
.fitcalc-chip{
  background:#fff !important;
  color:#697181 !important;
  border-color:rgba(16,18,22,.12) !important;
  box-shadow:0 8px 18px rgba(15,18,24,.05) !important;
}
.fitcalc-input-grid input,
.fitcalc-number-grid input{
  color:#111318 !important;
}
.fitcalc-label,
.fitcalc-result h3,
.fitcalc-result-block > span,
.fitcalc-result-list > span,
.fitcalc-result-metrics span{
  color:#111318 !important;
}
.fitcalc-option b,
.fitcalc-chip{color:#111318 !important;}
.fitcalc-option span{color:#f59f00 !important;}
.fitcalc-option.is-active,
.fitcalc-chip.is-active{
  background:linear-gradient(180deg,rgba(255,184,0,.22),rgba(255,138,0,.10)) !important;
  border-color:rgba(255,152,0,.70) !important;
  box-shadow:0 0 0 4px rgba(255,184,0,.14),0 8px 18px rgba(15,18,24,.06) !important;
}
.fitcalc-option.is-active:after{background:#111318 !important;color:#ffb800 !important;}
.fitcalc-budget input[type="range"]{accent-color:#ffb800 !important;}
.fitcalc-scale,
.fitcalc-consent,
.fitcalc-safe,
.fitcalc-manager p,
.fitcalc-result-metrics small{color:#697181 !important;}
.fitcalc-result-metrics strong,
.fitcalc-result-icon,
.fitcalc-manager span,
.fitcalc-manager b{color:#f59f00 !important;}
.fitcalc-result-zones em,
.fitcalc-manager{
  background:#f6f7f9 !important;
  color:#111318 !important;
  border-color:rgba(16,18,22,.10) !important;
}
.fitcalc-result-list li{color:#242831 !important;}
.fitcalc-result-list li:before{color:#f59f00 !important;}

/* Process and certificates */
.steps-v2 .step,
.step{
  background:linear-gradient(180deg,#fff,#f8f9fb) !important;
}
.step:before{color:#f59f00 !important;}
.certificates-premium-head h2,
.certificates-premium-section h2{color:#111318 !important;}
.certificate-preview{
  background:#fff !important;
}
.certificate-preview img,
.cert img{
  filter:none !important;
}
.certificates-premium-side{
  background:#111318 !important;
  color:#fff !important;
  border-radius:18px !important;
}
.certificates-premium-side h3,
.certificates-premium-side p{color:#fff !important;}

/* CTA + footer */
.final-cta{
  background:
    linear-gradient(90deg, rgba(13,14,17,.96), rgba(13,14,17,.82)),
    url("assets/real_service_supply.jpg") center/cover !important;
  border-top:0 !important;
  color:#fff !important;
}
.final-cta h2,
.final-cta p{color:#fff !important;}
.site-footer,
footer{
  background:#fff !important;
  color:#111318 !important;
  border-top:1px solid rgba(16,18,22,.10) !important;
}
.footer-brand-text,
.footer-links a,
.footer-address,
.footer-bottom,
.footer-bottom a,
footer p{
  color:#697181 !important;
}
.footer-col h3,
footer h3,
.footer-phone{
  color:#111318 !important;
}
.footer-mail{color:#f59f00 !important;}
.footer-socials a{
  background:#111318 !important;
  color:#fff !important;
}

/* Orange diagonal accents on larger blocks */
.project-card:before,
.promo-card:before,
.solution-card:after,
.services-keyturn-hero:after,
.fitcalc-shell:after,
.steps-v2 .step:after,
.certificate-preview:after{
  content:"";
  position:absolute;
  right:-24px;
  bottom:-24px;
  width:80px;
  height:80px;
  background:linear-gradient(135deg,#ff8a00,#ffc400);
  clip-path:polygon(55% 0,100% 0,100% 100%,0 100%);
  opacity:.86;
  pointer-events:none;
}
.project-card,
.promo-card,
.solution-card,
.services-keyturn-hero,
.fitcalc-shell,
.steps-v2 .step,
.certificate-preview{position:relative;overflow:hidden;}
.project-card:before{z-index:2;opacity:.72;}
.project-info{z-index:3 !important;}

@media(max-width:900px){
  .header-pro,
  .header{background:#fff !important;}
  .hero:before{opacity:.55;width:70%;}
  .hero-bg:before{
    background:linear-gradient(180deg, rgba(255,255,255,.44), rgba(255,255,255,.94)) !important;
  }
  .burger span{background:#111318 !important;}
}
@media(max-width:560px){
  .hero:before{right:-200px;width:100%;opacity:.35;}
  h1,.hero-copy h1{font-size:36px !important;}
  .stat{border-bottom:1px solid rgba(16,18,22,.10) !important;}
}


/* =========================================================
   SECOND MENU TRANSFER — LIGHT ORANGE/BLACK STYLE
   Перенесённая шапка и каталог из второго комплекта.
   Структура меню сохранена, визуально адаптировано под светлый стиль.
   ========================================================= */
.with-second-menu-light .header-reference,
.with-second-menu-light .header-reference *{
  box-sizing:border-box;
}
.with-second-menu-light .header-reference{
  position:sticky !important;
  top:0 !important;
  z-index:9999 !important;
  background:#fff !important;
  color:#151515 !important;
  box-shadow:0 14px 36px rgba(20,20,20,.08) !important;
  overflow:visible !important;
  font-family: Montserrat, Arial, sans-serif;
}
.with-second-menu-light .header-reference a{color:inherit;text-decoration:none}
.with-second-menu-light .header-reference button{font-family:inherit}
.with-second-menu-light .header-reference .container{
  width:min(1320px, calc(100% - 72px)) !important;
  margin:0 auto !important;
}
.with-second-menu-light .topline-ref{
  background:#ffffff !important;
  border-bottom:1px solid rgba(16,18,22,.08) !important;
}
.with-second-menu-light .topline-ref__inner{
  min-height:52px;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:18px !important;
}
.with-second-menu-light .phone-drop{position:relative;flex:0 0 auto}
.with-second-menu-light .phone-trigger{
  height:36px;
  padding:0 20px;
  border-radius:999px;
  border:1px solid rgba(20,20,20,.16);
  background:#101010;
  color:#fff;
  font-size:13px;
  font-weight:900;
  letter-spacing:.01em;
  cursor:pointer;
  box-shadow:0 9px 20px rgba(0,0,0,.12);
}
.with-second-menu-light .phone-trigger:after{content:"▾";margin-left:8px;color:#ffb000;font-size:11px}
.with-second-menu-light .phone-menu{
  position:absolute;
  left:0;
  top:calc(100% + 10px);
  min-width:238px;
  padding:10px;
  background:#fff;
  border:1px solid rgba(0,0,0,.12);
  border-radius:16px;
  box-shadow:0 22px 70px rgba(0,0,0,.18);
  opacity:0;
  visibility:hidden;
  transform:translateY(8px);
  transition:.2s ease;
  z-index:10050;
}
.with-second-menu-light .phone-drop:hover .phone-menu,
.with-second-menu-light .phone-drop.is-open .phone-menu{opacity:1;visibility:visible;transform:translateY(0)}
.with-second-menu-light .phone-menu a{
  display:block;
  padding:12px 13px;
  border-radius:12px;
  background:#f7f7f7;
  border:1px solid rgba(0,0,0,.06);
  margin-bottom:8px;
}
.with-second-menu-light .phone-menu a:last-child{margin-bottom:0}
.with-second-menu-light .phone-menu b{display:block;font-size:15px;color:#111;line-height:1.15}
.with-second-menu-light .phone-menu span{display:block;margin-top:4px;font-size:11px;color:#777}
.with-second-menu-light .call-top{
  height:38px;
  padding:0 22px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:linear-gradient(180deg,#ffc42d,#ff9f00);
  color:#141414 !important;
  font-size:12px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.06em;
  box-shadow:0 12px 26px rgba(255,166,0,.28);
  white-space:nowrap;
}
.with-second-menu-light .messengers-ref{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.with-second-menu-light .messengers-ref a{
  width:36px;height:36px;border-radius:50%;display:grid;place-items:center;
  background:#111;color:#ffb000;border:1px solid rgba(0,0,0,.12);
}
.with-second-menu-light .messengers-ref svg{width:17px;height:17px;fill:currentColor}
.with-second-menu-light .address-ref{
  flex:1 1 auto;
  text-align:center;
  color:#202020;
  font-size:12px;
  line-height:1.35;
  font-weight:800;
}
.with-second-menu-light .mail-ref{
  height:36px;
  padding:0 18px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  background:#fff7df;
  color:#111 !important;
  border:1px solid rgba(255,176,0,.45);
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  white-space:nowrap;
}
.with-second-menu-light .login-ref{
  display:inline-flex;align-items:center;gap:8px;color:#222 !important;font-weight:800;font-size:13px;white-space:nowrap;
}
.with-second-menu-light .login-ref svg{width:17px;height:17px;fill:none;stroke:#111;stroke-width:1.8}
.with-second-menu-light .brandline-ref{
  background:linear-gradient(180deg,#fff,#f7f8fa) !important;
  border-bottom:1px solid rgba(16,18,22,.08);
}
.with-second-menu-light .brandline-ref__inner{
  min-height:88px;
  display:grid !important;
  grid-template-columns:260px 180px minmax(320px,1fr) !important;
  align-items:center !important;
  gap:26px !important;
}
.with-second-menu-light .logo-ref{display:flex;align-items:center;min-width:0}
.with-second-menu-light .logo-ref img{display:block;max-width:210px;max-height:56px;width:auto;height:auto}
.with-second-menu-light .descriptor-ref{
  padding-left:22px;
  border-left:1px solid rgba(0,0,0,.12);
  color:#1a1a1a;
  font-size:13px;
  line-height:1.18;
  font-weight:900;
}
.with-second-menu-light .search-ref{
  height:46px;
  display:flex !important;
  align-items:center;
  gap:12px;
  border:1px solid rgba(20,20,20,.14);
  background:#fff;
  border-radius:6px;
  padding:0 15px;
  box-shadow:0 8px 20px rgba(0,0,0,.04);
}
.with-second-menu-light .search-ref input{flex:1;border:0;outline:0;background:transparent;color:#111;font-size:14px;min-width:0}
.with-second-menu-light .search-ref input::placeholder{color:#7d7d7d}
.with-second-menu-light .search-ref svg{width:20px;height:20px;fill:none;stroke:#111;stroke-width:2;flex:0 0 auto}
.with-second-menu-light .navstrip-ref{
  background:#ffffff !important;
  border-bottom:1px solid rgba(0,0,0,.10) !important;
  position:relative;
  z-index:9998;
}
.with-second-menu-light .navstrip-ref .nav{
  min-height:60px !important;
  display:flex !important;
  align-items:stretch !important;
  position:relative !important;
}
.with-second-menu-light .nav-main{
  display:flex !important;
  align-items:stretch !important;
  justify-content:space-between !important;
  gap:0 !important;
  width:100%;
}
.with-second-menu-light .nav-main > a,
.with-second-menu-light .nav-item > button{
  min-height:60px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 clamp(12px,1.35vw,24px);
  border:0;
  background:transparent;
  color:#111 !important;
  font-size:13px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.03em;
  white-space:nowrap;
  cursor:pointer;
  transition:.2s ease;
}
.with-second-menu-light .nav-item{position:relative;display:flex;align-items:stretch}
.with-second-menu-light .nav-main > a:hover,
.with-second-menu-light .nav-item:hover > button,
.with-second-menu-light .nav-item.is-open > button{
  color:#000 !important;
  background:#fff2cf;
}
.with-second-menu-light .nav-item-catalog > button{
  background:#111 !important;
  color:#fff !important;
  min-width:190px;
}
.with-second-menu-light .nav-item-catalog:hover > button,
.with-second-menu-light .nav-item-catalog.is-open > button{
  background:linear-gradient(180deg,#ffc42d,#ff9f00) !important;
  color:#111 !important;
}
.with-second-menu-light .catalog-icon{
  width:22px;height:22px;display:grid;grid-template-columns:repeat(3,1fr);gap:3px;margin-right:12px;flex:0 0 auto;
}
.with-second-menu-light .catalog-icon i{display:block;width:5px;height:5px;background:currentColor;border-radius:1px}
.with-second-menu-light .mega.small{
  position:absolute;
  top:100%;
  left:0;
  min-width:250px;
  padding:10px;
  background:#fff;
  border:1px solid rgba(0,0,0,.11);
  border-radius:0 0 14px 14px;
  box-shadow:0 24px 70px rgba(0,0,0,.16);
  opacity:0;visibility:hidden;transform:translateY(8px);
  transition:.2s ease;
  z-index:10020;
}
.with-second-menu-light .mega.small.right{left:auto;right:0}
.with-second-menu-light .nav-item:hover .mega.small,
.with-second-menu-light .nav-item.is-open .mega.small{opacity:1;visibility:visible;transform:translateY(0)}
.with-second-menu-light .mega.small a{
  display:block;padding:12px 14px;border-radius:10px;color:#222 !important;font-size:13px;font-weight:800;background:#f7f7f7;margin-bottom:7px;
}
.with-second-menu-light .mega.small a:hover{background:#fff0c9;color:#000 !important}
.with-second-menu-light .catalog-list-menu{
  position:absolute;
  left:0;
  top:100%;
  width:min(1320px, calc(100vw - 72px));
  min-height:540px;
  display:none;
  background:#fff;
  border:1px solid rgba(0,0,0,.10);
  border-top:4px solid #ffb000;
  box-shadow:0 30px 90px rgba(0,0,0,.18);
  z-index:10010;
  overflow:hidden;
}
.with-second-menu-light .nav-item-catalog:hover .catalog-list-menu,
.with-second-menu-light .nav-item-catalog.is-open .catalog-list-menu{display:flex}
.with-second-menu-light .catalog-list-side{
  position:relative;
  width:300px;
  flex:0 0 300px;
  min-height:540px;
  background:#f5f6f8;
  border-right:1px solid rgba(0,0,0,.08);
  padding:10px 0;
}
.with-second-menu-light .catalog-list-row{position:static}
.with-second-menu-light .catalog-list-row > a{
  min-height:42px;
  display:flex;
  align-items:center;
  padding:10px 18px;
  color:#222 !important;
  font-size:13px;
  font-weight:900;
  line-height:1.2;
  border-left:4px solid transparent;
  transition:.18s ease;
}
.with-second-menu-light .catalog-list-row:hover > a,
.with-second-menu-light .catalog-list-row.is-active > a{
  background:#fff;
  color:#000 !important;
  border-left-color:#ffb000;
}
.with-second-menu-light .catalog-list-panel{
  position:absolute;
  left:300px;
  top:0;
  right:0;
  bottom:0;
  display:none;
  padding:22px;
  overflow:auto;
  background:#fff;
}
.with-second-menu-light .catalog-list-side:hover .catalog-list-row.is-active:not(:hover) .catalog-list-panel{display:none}
.with-second-menu-light .catalog-list-row:hover .catalog-list-panel,
.with-second-menu-light .catalog-list-row.is-active .catalog-list-panel{display:block}
.with-second-menu-light .catalog-rich-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  align-items:start;
}
.with-second-menu-light .catalog-rich-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.with-second-menu-light .catalog-rich-grid--scroll{padding-bottom:20px}
.with-second-menu-light .catalog-rich-card{
  min-height:118px;
  display:grid;
  grid-template-columns:82px 1fr;
  gap:14px;
  align-items:start;
  padding:14px;
  border:1px solid rgba(0,0,0,.08);
  border-radius:14px;
  background:linear-gradient(180deg,#fff,#fafafa);
  box-shadow:0 10px 26px rgba(0,0,0,.055);
  transition:.18s ease;
}
.with-second-menu-light .catalog-rich-card:hover{
  border-color:rgba(255,176,0,.55);
  box-shadow:0 18px 38px rgba(0,0,0,.09);
  transform:translateY(-2px);
}
.with-second-menu-light .catalog-thumb-img{
  width:82px;height:82px;object-fit:contain;display:block;background:#f2f3f5;border-radius:12px;padding:6px;
}
.with-second-menu-light .catalog-rich-card h4{
  margin:0 0 8px;
  color:#111;
  font-size:14px;
  line-height:1.18;
  font-weight:950;
}
.with-second-menu-light .catalog-rich-card ul{list-style:none;margin:0;padding:0;display:grid;gap:5px}
.with-second-menu-light .catalog-rich-card li a{
  color:#5f6670 !important;
  font-size:11.5px;
  line-height:1.22;
  font-weight:700;
}
.with-second-menu-light .catalog-rich-card li a:hover{color:#111 !important;text-decoration:underline;text-decoration-color:#ffb000}
.with-second-menu-light .catalog-promo-card{
  min-height:180px;
  padding:22px;
  border-radius:18px;
  background:linear-gradient(135deg,#111 0%,#282828 56%,#ffb000 56%,#ffc83d 100%);
  color:#fff;
  box-shadow:0 18px 44px rgba(0,0,0,.16);
}
.with-second-menu-light .catalog-promo-card h4{margin:0 0 10px;font-size:20px;color:#fff}
.with-second-menu-light .catalog-promo-card p{margin:0 0 16px;font-size:13px;line-height:1.45;color:rgba(255,255,255,.82)}
.with-second-menu-light .catalog-inline-links{display:flex;flex-wrap:wrap;gap:8px}
.with-second-menu-light .catalog-inline-links a{padding:8px 10px;border-radius:999px;background:#fff;color:#111 !important;font-size:11px;font-weight:900}
.with-second-menu-light .mobile-quick-actions{display:none !important}
@media(max-width:1180px){
  .with-second-menu-light .topline-ref__inner{gap:10px}
  .with-second-menu-light .address-ref{display:none}
  .with-second-menu-light .brandline-ref__inner{grid-template-columns:220px 150px 1fr !important}
  .with-second-menu-light .nav-main{overflow-x:auto;justify-content:flex-start !important;scrollbar-width:none}
  .with-second-menu-light .nav-main::-webkit-scrollbar{display:none}
  .with-second-menu-light .nav-main > a,.with-second-menu-light .nav-item > button{padding:0 16px}
  .with-second-menu-light .catalog-list-menu{width:calc(100vw - 40px)}
  .with-second-menu-light .catalog-rich-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .with-second-menu-light .header-reference .container{width:calc(100% - 28px) !important}
  .with-second-menu-light .topline-ref__inner{min-height:48px;justify-content:flex-start !important;overflow-x:auto;scrollbar-width:none}
  .with-second-menu-light .topline-ref__inner::-webkit-scrollbar{display:none}
  .with-second-menu-light .call-top{height:34px;padding:0 14px;font-size:10px}
  .with-second-menu-light .mail-ref,.with-second-menu-light .login-ref{display:none}
  .with-second-menu-light .brandline-ref__inner{min-height:74px;display:flex !important;gap:14px !important}
  .with-second-menu-light .logo-ref img{max-width:160px;max-height:44px}
  .with-second-menu-light .descriptor-ref{display:none}
  .with-second-menu-light .search-ref{flex:1;height:40px}
  .with-second-menu-light .navstrip-ref .nav{width:100% !important}
  .with-second-menu-light .nav-main{padding-left:14px;padding-right:14px}
  .with-second-menu-light .catalog-list-menu{
    left:14px;
    width:calc(100vw - 28px);
    min-height:420px;
    max-height:72vh;
    overflow:auto;
  }
  .with-second-menu-light .catalog-list-side{width:100%;flex-basis:100%;min-height:auto}
  .with-second-menu-light .catalog-list-panel{position:relative;left:auto;right:auto;top:auto;bottom:auto;padding:14px;background:#fff}
  .with-second-menu-light .catalog-list-row .catalog-list-panel{display:none}
  .with-second-menu-light .catalog-list-row:hover .catalog-list-panel,
  .with-second-menu-light .catalog-list-row.is-active .catalog-list-panel{display:block}
  .with-second-menu-light .catalog-rich-grid{grid-template-columns:1fr}
  .with-second-menu-light .catalog-rich-card{grid-template-columns:64px 1fr;min-height:96px}
  .with-second-menu-light .catalog-thumb-img{width:64px;height:64px}
  .with-second-menu-light .mobile-quick-actions{display:flex !important;gap:10px;padding:10px 14px;overflow-x:auto;background:#fff;border-top:1px solid rgba(0,0,0,.08)}
  .with-second-menu-light .mobile-quick-actions a{flex:0 0 auto;padding:8px 10px;border-radius:999px;background:#fff4d6;color:#111 !important;font-size:11px;font-weight:850}
}

/* =========================================================
   HEADER REFINEMENT v2 — верхнее меню без изменений ниже hero
   ========================================================= */
.with-second-menu-light .header-reference{
  --hdr-yellow:#ffb000;
  --hdr-orange:#ff8a00;
  --hdr-black:#111214;
  --hdr-line:rgba(17,18,20,.10);
  --hdr-soft:#f6f7f9;
  overflow:visible !important;
}
.with-second-menu-light .topline-ref{
  background:#fff !important;
  min-height:54px !important;
}
.with-second-menu-light .topline-ref__inner{
  min-height:54px !important;
  display:grid !important;
  /*grid-template-columns:auto auto auto auto minmax(260px,1fr) auto auto !important;*/
  grid-template-columns:auto auto auto auto auto auto auto auto !important;
  align-items:center !important;
  gap:14px !important;
}
.with-second-menu-light .phone-drop{
  z-index:10080 !important;
  min-width:188px !important;
}
.with-second-menu-light .phone-trigger{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:188px !important;
  min-width:188px !important;
  height:38px !important;
  padding:0 18px !important;
  border-radius:999px !important;
  border:1px solid rgba(255,176,0,.58) !important;
  background:linear-gradient(180deg,#fffdf6,#fff4d9) !important;
  color:#111214 !important;
  font-size:13px !important;
  font-weight:950 !important;
  line-height:1 !important;
  letter-spacing:.01em !important;
  box-shadow:0 10px 24px rgba(255,176,0,.16), inset 0 1px 0 rgba(255,255,255,.8) !important;
  opacity:1 !important;
  visibility:visible !important;
  text-indent:0 !important;
  overflow:visible !important;
}
.with-second-menu-light .phone-trigger::before{
  content:"☎" !important;
  margin-right:8px !important;
  color:#ff9f00 !important;
  font-size:13px !important;
}
.with-second-menu-light .phone-trigger::after{
  content:"▾" !important;
  margin-left:8px !important;
  color:#111214 !important;
  font-size:10px !important;
  transform:translateY(-1px) !important;
}
.with-second-menu-light .phone-drop:hover .phone-trigger,
.with-second-menu-light .phone-drop.is-open .phone-trigger{
  background:linear-gradient(180deg,#ffc83d,#ff9f00) !important;
  border-color:#ff9f00 !important;
  box-shadow:0 14px 28px rgba(255,154,0,.28) !important;
}
.with-second-menu-light .phone-menu{
  left:0 !important;
  top:calc(100% + 12px) !important;
  width:260px !important;
  min-width:260px !important;
  padding:12px !important;
  border-radius:20px !important;
  border:1px solid rgba(17,18,20,.12) !important;
  background:rgba(255,255,255,.98) !important;
  box-shadow:0 26px 76px rgba(17,18,20,.18) !important;
}
.with-second-menu-light .phone-menu:before{
  content:"";
  position:absolute;
  left:26px;
  top:-7px;
  width:14px;
  height:14px;
  background:#fff;
  border-left:1px solid rgba(17,18,20,.10);
  border-top:1px solid rgba(17,18,20,.10);
  transform:rotate(45deg);
}
.with-second-menu-light .phone-menu a{
  position:relative !important;
  display:block !important;
  padding:13px 14px 13px 42px !important;
  border-radius:14px !important;
  background:linear-gradient(180deg,#fff,#f6f7f9) !important;
  border:1px solid rgba(17,18,20,.08) !important;
  margin-bottom:8px !important;
  transition:.18s ease !important;
}
.with-second-menu-light .phone-menu a:before{
  content:"";
  position:absolute;
  left:14px;
  top:50%;
  width:16px;
  height:16px;
  transform:translateY(-50%);
  border-radius:50%;
  background:linear-gradient(180deg,#ffc83d,#ff9f00);
  box-shadow:0 0 0 4px rgba(255,176,0,.14);
}
.with-second-menu-light .phone-menu a:hover{
  transform:translateY(-1px);
  border-color:rgba(255,176,0,.55) !important;
  box-shadow:0 12px 26px rgba(17,18,20,.08) !important;
}
.with-second-menu-light .phone-menu b{font-size:15px !important;color:#111214 !important;}
.with-second-menu-light .phone-menu span{font-size:11.5px !important;color:#667085 !important;}
.with-second-menu-light .call-top{
  height:38px !important;
  padding:0 24px !important;
  border-radius:999px !important;
}
.with-second-menu-light .messengers-ref a{
  width:38px !important;
  height:38px !important;
  background:#111214 !important;
  color:#ffb000 !important;
  box-shadow:0 10px 22px rgba(17,18,20,.14) !important;
}
.with-second-menu-light .address-ref{
  text-align:center !important;
  font-size:12px !important;
  line-height:1.35 !important;
  color:#111214 !important;
  font-weight:850 !important;
}
.with-second-menu-light .mail-ref{
  height:38px !important;
  border-radius:999px !important;
  background:#fff !important;
  border:1px solid rgba(255,176,0,.55) !important;
  box-shadow:0 8px 18px rgba(17,18,20,.05) !important;
}
.with-second-menu-light .login-ref{height:38px !important;}

/* Логотип и поиск — компактнее, чтобы шапка не давила на первый экран */
.with-second-menu-light .brandline-ref__inner{
  min-height:76px !important;
  grid-template-columns:230px 170px minmax(320px,1fr) !important;
  gap:24px !important;
}
.with-second-menu-light .logo-ref img{max-width:190px !important;max-height:52px !important;}
.with-second-menu-light .search-ref{
  height:44px !important;
  border-radius:10px !important;
  background:#fff !important;
  border-color:rgba(17,18,20,.12) !important;
  box-shadow:0 10px 28px rgba(17,18,20,.05) !important;
}

/* Основное меню — меньше высота, аккуратные hover */
.with-second-menu-light .navstrip-ref{
  position:relative !important;
  z-index:10000 !important;
  background:#fff !important;
}
.with-second-menu-light .navstrip-ref .nav{
  min-height:54px !important;
  position:relative !important;
}
.with-second-menu-light .nav-main > a,
.with-second-menu-light .nav-item > button{
  min-height:54px !important;
  padding:0 clamp(12px,1.15vw,20px) !important;
  font-size:12.5px !important;
  letter-spacing:.025em !important;
  position:relative !important;
}
.with-second-menu-light .nav-main > a:after,
.with-second-menu-light .nav-item > button:after{
  content:"";
  position:absolute;
  left:16px;
  right:16px;
  bottom:9px;
  height:3px;
  border-radius:999px;
  background:linear-gradient(90deg,#ff8a00,#ffc83d);
  transform:scaleX(0);
  transition:.22s ease;
}
.with-second-menu-light .nav-main > a:hover:after,
.with-second-menu-light .nav-item:hover > button:after,
.with-second-menu-light .nav-item.is-open > button:after{
  transform:scaleX(1);
}
.with-second-menu-light .nav-main > a:hover,
.with-second-menu-light .nav-item:hover > button,
.with-second-menu-light .nav-item.is-open > button{
  background:#fff7df !important;
}
.with-second-menu-light .nav-item-catalog{
  position:static !important;
}
.with-second-menu-light .nav-item-catalog > button{
  min-width:170px !important;
  background:#111214 !important;
  color:#fff !important;
  border-radius:0 !important;
  box-shadow:inset 0 -3px 0 #ffb000 !important;
}
.with-second-menu-light .nav-item-catalog > button:after{display:none !important;}
.with-second-menu-light .nav-item-catalog:hover > button,
.with-second-menu-light .nav-item-catalog.is-open > button{
  background:linear-gradient(180deg,#1b1c20,#111214) !important;
  color:#fff !important;
}
.with-second-menu-light .catalog-icon{width:21px !important;height:21px !important;gap:3px !important;margin-right:11px !important;}
.with-second-menu-light .catalog-icon i{background:#fff !important;}
.with-second-menu-light .nav-item-catalog:hover .catalog-icon i{background:#ffb000 !important;}

/* Малые выпадающие меню */
.with-second-menu-light .mega.small{
  top:100% !important;
  min-width:260px !important;
  padding:12px !important;
  border-radius:0 0 18px 18px !important;
  background:rgba(255,255,255,.98) !important;
  border:1px solid rgba(17,18,20,.10) !important;
  border-top:3px solid #ffb000 !important;
  box-shadow:0 28px 78px rgba(17,18,20,.16) !important;
}
.with-second-menu-light .mega.small a{
  margin:0 0 8px !important;
  padding:12px 14px !important;
  border-radius:12px !important;
  background:#f6f7f9 !important;
  color:#25272d !important;
  border:1px solid rgba(17,18,20,.06) !important;
}
.with-second-menu-light .mega.small a:hover{
  background:#fff2cf !important;
  border-color:rgba(255,176,0,.45) !important;
}

/* Каталог — широкое mega-menu с изображениями и подкатегориями */
.with-second-menu-light .catalog-list-menu{
  left:0 !important;
  top:100% !important;
  width:100% !important;
  min-height:0 !important;
  height:min(620px, calc(100vh - 210px)) !important;
  max-height:620px !important;
  display:flex !important;
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
  transform:translateY(10px) !important;
  transition:opacity .22s ease, transform .22s ease, visibility .22s ease !important;
  background:#fff !important;
  border:1px solid rgba(17,18,20,.10) !important;
  border-top:4px solid #ffb000 !important;
  border-radius:0 0 24px 24px !important;
  box-shadow:0 34px 100px rgba(17,18,20,.18) !important;
  overflow:hidden !important;
  z-index:10040 !important;
}
.with-second-menu-light .nav-item-catalog:hover .catalog-list-menu,
.with-second-menu-light .nav-item-catalog.is-open .catalog-list-menu{
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
  transform:translateY(0) !important;
}
.with-second-menu-light .catalog-list-side{
  width:270px !important;
  flex:0 0 270px !important;
  height:100% !important;
  min-height:0 !important;
  padding:12px !important;
  background:linear-gradient(180deg,#f7f8fa,#eef1f5) !important;
  border-right:1px solid rgba(17,18,20,.08) !important;
  overflow:auto !important;
}
.with-second-menu-light .catalog-list-side::-webkit-scrollbar,
.with-second-menu-light .catalog-list-panel::-webkit-scrollbar{width:8px;height:8px;}
.with-second-menu-light .catalog-list-side::-webkit-scrollbar-thumb,
.with-second-menu-light .catalog-list-panel::-webkit-scrollbar-thumb{background:#d9dde5;border-radius:999px;}
.with-second-menu-light .catalog-list-row{position:static !important;}
.with-second-menu-light .catalog-list-row > a{
  min-height:44px !important;
  padding:11px 14px !important;
  margin-bottom:6px !important;
  border-radius:13px !important;
  background:transparent !important;
  border:1px solid transparent !important;
  border-left:0 !important;
  color:#262932 !important;
  font-size:13px !important;
  font-weight:900 !important;
  line-height:1.15 !important;
}
.with-second-menu-light .catalog-list-row > a:after{
  content:"›";
  margin-left:auto;
  color:#a1a8b3;
  font-size:18px;
  line-height:1;
}
.with-second-menu-light .catalog-list-row:hover > a,
.with-second-menu-light .catalog-list-row.is-active > a{
  background:linear-gradient(180deg,#fff7dd,#ffe7a7) !important;
  border-color:rgba(255,176,0,.50) !important;
  color:#0f1115 !important;
  box-shadow:0 10px 22px rgba(255,176,0,.13) !important;
}
.with-second-menu-light .catalog-list-row:hover > a:after,
.with-second-menu-light .catalog-list-row.is-active > a:after{color:#111214;}
.with-second-menu-light .catalog-list-panel{
  left:270px !important;
  top:0 !important;
  right:0 !important;
  bottom:0 !important;
  display:none !important;
  padding:22px !important;
  overflow:auto !important;
  background:
    radial-gradient(circle at 92% 0%, rgba(255,176,0,.10), transparent 26%),
    #fff !important;
}
.with-second-menu-light .catalog-list-row:hover .catalog-list-panel,
.with-second-menu-light .catalog-list-row.is-active .catalog-list-panel{
  display:block !important;
}
.with-second-menu-light .catalog-list-side:hover .catalog-list-row.is-active:not(:hover) .catalog-list-panel{display:none !important;}
.with-second-menu-light .catalog-rich-grid,
.with-second-menu-light .catalog-rich-grid.cols-3{
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0,1fr)) !important;
  gap:14px !important;
  align-items:start !important;
}
.with-second-menu-light .catalog-rich-card{
  min-height:106px !important;
  grid-template-columns:72px 1fr !important;
  gap:13px !important;
  padding:13px !important;
  border-radius:16px !important;
  background:linear-gradient(180deg,#ffffff,#f8f9fb) !important;
  border:1px solid rgba(17,18,20,.08) !important;
  box-shadow:0 12px 28px rgba(17,18,20,.055) !important;
  overflow:hidden !important;
}
.with-second-menu-light .catalog-rich-card:hover{
  transform:translateY(-2px) !important;
  border-color:rgba(255,176,0,.58) !important;
  box-shadow:0 18px 42px rgba(17,18,20,.09), inset 0 0 0 1px rgba(255,176,0,.10) !important;
}
.with-second-menu-light .catalog-thumb-img{
  width:72px !important;
  height:72px !important;
  object-fit:contain !important;
  border-radius:14px !important;
  padding:7px !important;
  background:#fff !important;
  border:1px solid rgba(17,18,20,.06) !important;
  box-shadow:0 8px 18px rgba(17,18,20,.05) !important;
}
.with-second-menu-light .catalog-rich-card h4{
  margin:0 0 8px !important;
  color:#111214 !important;
  font-size:13.5px !important;
  line-height:1.15 !important;
  font-weight:950 !important;
}
.with-second-menu-light .catalog-rich-card ul{
  display:grid !important;
  gap:5px !important;
}
.with-second-menu-light .catalog-rich-card li a{
  display:inline !important;
  color:#5d6675 !important;
  font-size:11.3px !important;
  line-height:1.22 !important;
  font-weight:700 !important;
}
.with-second-menu-light .catalog-rich-card li a:hover{
  color:#111214 !important;
  text-decoration:underline !important;
  text-decoration-color:#ffb000 !important;
}
.with-second-menu-light .catalog-promo-card{
  border-radius:20px !important;
  background:
    linear-gradient(135deg,#111214 0%,#24262b 54%,#ffb000 54%,#ffc83d 100%) !important;
}

@media(max-width:1180px){
  .with-second-menu-light .topline-ref__inner{
    grid-template-columns:auto auto auto auto auto auto !important;
  }
  .with-second-menu-light .address-ref{display:none !important;}
  .with-second-menu-light .brandline-ref__inner{grid-template-columns:210px 145px 1fr !important;}
  .with-second-menu-light .nav-main{overflow-x:auto !important;justify-content:flex-start !important;scrollbar-width:none;}
  .with-second-menu-light .nav-main::-webkit-scrollbar{display:none;}
  .with-second-menu-light .catalog-list-menu{width:calc(100vw - 40px) !important;left:20px !important;}
  .with-second-menu-light .catalog-rich-grid,.with-second-menu-light .catalog-rich-grid.cols-3{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}
@media(max-width:760px){
  .with-second-menu-light .topline-ref__inner{
    display:flex !important;
    justify-content:flex-start !important;
    overflow-x:auto !important;
    padding-top:7px !important;
    padding-bottom:7px !important;
  }
  .with-second-menu-light .phone-trigger{width:174px !important;min-width:174px !important;height:36px !important;font-size:12px !important;}
  .with-second-menu-light .brandline-ref__inner{min-height:72px !important;display:flex !important;}
  .with-second-menu-light .logo-ref img{max-width:150px !important;}
  .with-second-menu-light .descriptor-ref{display:none !important;}
  .with-second-menu-light .search-ref{height:40px !important;}
  .with-second-menu-light .catalog-list-menu{
    left:14px !important;
    width:calc(100vw - 28px) !important;
    height:min(72vh,620px) !important;
    display:block !important;
    overflow:auto !important;
  }
  .with-second-menu-light .catalog-list-side{width:100% !important;flex-basis:auto !important;height:auto !important;overflow:visible !important;}
  .with-second-menu-light .catalog-list-panel{position:relative !important;left:auto !important;right:auto !important;top:auto !important;bottom:auto !important;padding:12px !important;border-radius:14px !important;}
  .with-second-menu-light .catalog-rich-grid,.with-second-menu-light .catalog-rich-grid.cols-3{grid-template-columns:1fr !important;}
}

/* ===== FIX v3: show right catalog panels with images/subcategories ===== */
.with-second-menu-light .catalog-list-menu{
  overflow:visible !important;
  height:min(640px, calc(100vh - 205px)) !important;
  max-height:640px !important;
}
.with-second-menu-light .catalog-list-side{
  position:static !important;
  overflow:visible !important;
  height:100% !important;
  background:linear-gradient(180deg,#f8f9fb,#eef1f5) !important;
}
.with-second-menu-light .catalog-list-panel{
  position:absolute !important;
  left:270px !important;
  top:0 !important;
  right:0 !important;
  bottom:0 !important;
  width:auto !important;
  min-width:0 !important;
  z-index:2 !important;
  overflow:auto !important;
  padding:22px !important;
  background:
    radial-gradient(circle at 92% 0%, rgba(255,176,0,.10), transparent 28%),
    linear-gradient(180deg,#ffffff,#fbfcfe) !important;
  border-left:1px solid rgba(17,18,20,.07) !important;
}
.with-second-menu-light .catalog-list-row:hover .catalog-list-panel,
.with-second-menu-light .catalog-list-row.is-active .catalog-list-panel{
  display:block !important;
}
.with-second-menu-light .catalog-rich-grid,
.with-second-menu-light .catalog-rich-grid.cols-3{
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0,1fr)) !important;
  gap:14px !important;
  align-items:start !important;
}
.with-second-menu-light .catalog-rich-card{
  display:grid !important;
  grid-template-columns:76px minmax(0,1fr) !important;
  min-height:112px !important;
  gap:14px !important;
}
.with-second-menu-light .catalog-thumb-img{
  display:block !important;
  width:76px !important;
  height:76px !important;
  object-fit:contain !important;
}
.with-second-menu-light .catalog-rich-card ul{
  list-style:none !important;
  margin:0 !important;
  padding:0 !important;
}
.with-second-menu-light .catalog-rich-card li{
  margin:0 !important;
  padding:0 !important;
}
.with-second-menu-light .catalog-promo-card{
  display:block !important;
}
@media(max-width:1100px){
  .with-second-menu-light .catalog-list-menu{overflow:hidden !important;}
  .with-second-menu-light .catalog-list-side{overflow:auto !important;}
  .with-second-menu-light .catalog-list-panel{left:270px !important;}
  .with-second-menu-light .catalog-rich-grid,
  .with-second-menu-light .catalog-rich-grid.cols-3{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}
@media(max-width:760px){
  .with-second-menu-light .catalog-list-menu{overflow:auto !important;}
  .with-second-menu-light .catalog-list-side{overflow:visible !important;}
  .with-second-menu-light .catalog-list-panel{position:relative !important;left:auto !important;right:auto !important;top:auto !important;bottom:auto !important;}
}

/* === Menu refinement v4: clean light mega-menu without card frames === */
.with-second-menu-light .catalog-list-menu{
  border-top:3px solid #ffb000 !important;
  background:#fff !important;
}
.with-second-menu-light .catalog-list-side{
  background:linear-gradient(180deg,#f7f8fa,#eef1f5) !important;
  padding:14px 12px !important;
}
.with-second-menu-light .catalog-list-row > a{
  min-height:42px !important;
  padding:11px 14px !important;
  margin-bottom:5px !important;
  border-radius:12px !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  color:#24262b !important;
  font-size:13px !important;
  font-weight:900 !important;
  overflow:hidden !important;
  white-space:nowrap !important;
  text-overflow:ellipsis !important;
}
.with-second-menu-light .catalog-list-row > a:after{
  display:none !important;
  content:none !important;
}
.with-second-menu-light .catalog-list-row:hover > a,
.with-second-menu-light .catalog-list-row.is-active > a{
  background:linear-gradient(180deg,#fff3c7,#ffdf7d) !important;
  color:#0e1014 !important;
  border:0 !important;
  box-shadow:none !important;
}
.with-second-menu-light .catalog-list-panel{
  background:
    radial-gradient(circle at 94% 0%, rgba(255,176,0,.08), transparent 28%),
    #fff !important;
  padding:28px 32px !important;
}
.with-second-menu-light .catalog-rich-grid,
.with-second-menu-light .catalog-rich-grid.cols-3{
  grid-template-columns:repeat(3, minmax(0,1fr)) !important;
  column-gap:38px !important;
  row-gap:34px !important;
}
.with-second-menu-light .catalog-rich-card{
  min-height:0 !important;
  display:grid !important;
  grid-template-columns:112px 1fr !important;
  gap:18px !important;
  align-items:start !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  overflow:visible !important;
  transition:transform .18s ease !important;
}
.with-second-menu-light .catalog-rich-card:hover{
  transform:translateY(-2px) !important;
  border:0 !important;
  box-shadow:none !important;
}
.with-second-menu-light .catalog-thumb-img{
  width:112px !important;
  height:92px !important;
  object-fit:contain !important;
  display:block !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  filter:drop-shadow(0 10px 18px rgba(17,18,20,.14)) !important;
}
.with-second-menu-light .catalog-rich-card h4{
  margin:0 0 9px !important;
  color:#111214 !important;
  font-size:15px !important;
  line-height:1.12 !important;
  font-weight:950 !important;
}
.with-second-menu-light .catalog-rich-card ul{
  list-style:none !important;
  margin:0 !important;
  padding:0 !important;
  display:grid !important;
  gap:5px !important;
}
.with-second-menu-light .catalog-rich-card li a{
  display:inline !important;
  color:#596270 !important;
  font-size:12px !important;
  line-height:1.22 !important;
  font-weight:750 !important;
}
.with-second-menu-light .catalog-rich-card li a:hover{
  color:#111214 !important;
  text-decoration:none !important;
}
.with-second-menu-light .catalog-rich-card:hover h4{
  color:#f0a000 !important;
}
.with-second-menu-light .catalog-promo-card{
  border-radius:16px !important;
}
@media(max-width:1180px){
  .with-second-menu-light .catalog-rich-grid,
  .with-second-menu-light .catalog-rich-grid.cols-3{
    grid-template-columns:repeat(2, minmax(0,1fr)) !important;
  }
}
@media(max-width:760px){
  .with-second-menu-light .catalog-rich-card{
    grid-template-columns:82px 1fr !important;
    gap:14px !important;
  }
  .with-second-menu-light .catalog-thumb-img{
    width:82px !important;
    height:74px !important;
  }
}


/* === Menu refinement v5: hover-only categories, compact nav, fixed phone dropdown === */
.with-second-menu-light .topline-ref,
.with-second-menu-light .topline-ref__inner,
.with-second-menu-light .brandline-ref,
.with-second-menu-light .navstrip-ref,
.with-second-menu-light .header-reference{
  overflow:visible !important;
}

/* phone: visible dropdown, no small black arrow */
.with-second-menu-light .phone-drop{
  position:relative !important;
  z-index:10090 !important;
  padding-bottom:10px !important;
  margin-bottom:-10px !important;
}
.with-second-menu-light .phone-drop:before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:100%;
  height:12px;
}
.with-second-menu-light .phone-trigger::after{
  display:none !important;
  content:none !important;
}
.with-second-menu-light .phone-menu{
  display:block !important;
  position:absolute !important;
  left:0 !important;
  top:calc(100% + 8px) !important;
  z-index:10100 !important;
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
  transform:translateY(8px) !important;
}
.with-second-menu-light .phone-drop:hover .phone-menu,
.with-second-menu-light .phone-drop:focus-within .phone-menu,
.with-second-menu-light .phone-drop.is-open .phone-menu{
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
  transform:translateY(0) !important;
}

/* main nav: thinner row, no underline strips */
.with-second-menu-light .navstrip-ref .nav{
  min-height:42px !important;
}
.with-second-menu-light .nav-main > a,
.with-second-menu-light .nav-item > button{
  min-height:42px !important;
  height:42px !important;
  padding:0 clamp(10px,1vw,18px) !important;
  font-size:12px !important;
}
.with-second-menu-light .nav-main > a:after,
.with-second-menu-light .nav-item > button:after,
.with-second-menu-light .nav-main > a:before,
.with-second-menu-light .nav-item > button:before{
  display:none !important;
  content:none !important;
}
.with-second-menu-light .nav-item-catalog > button{
  min-width:150px !important;
  box-shadow:none !important;
}
.with-second-menu-light .catalog-icon{
  width:18px !important;
  height:18px !important;
  margin-right:9px !important;
}
.with-second-menu-light .mega.small{
  border-top:0 !important;
}

/* left catalog list: no default active state, hover-only highlight, no arrows/lines */
.with-second-menu-light .catalog-list-row > a:after,
.with-second-menu-light .catalog-list-row > a:before{
  display:none !important;
  content:none !important;
}
.with-second-menu-light .catalog-list-row > a{
  min-height:38px !important;
  padding:10px 13px !important;
  margin-bottom:4px !important;
  border-radius:11px !important;
  background:transparent !important;
  color:#25272d !important;
  box-shadow:none !important;
  border:0 !important;
}
.with-second-menu-light .catalog-list-row.is-active:not(:hover) > a{
  background:transparent !important;
  color:#25272d !important;
  box-shadow:none !important;
  border:0 !important;
}
.with-second-menu-light .catalog-list-row:hover > a{
  background:linear-gradient(180deg,#fff4ca,#ffe083) !important;
  color:#0e1014 !important;
  box-shadow:none !important;
  border:0 !important;
}
.with-second-menu-light .catalog-list-row.is-active:not(:hover) .catalog-list-panel{
  display:none !important;
}
.with-second-menu-light .catalog-list-row:hover .catalog-list-panel{
  display:block !important;
}

/* right mega-menu: open airy layout, no card frames, no text overlaps */
.with-second-menu-light .catalog-list-menu{
  border-top:0 !important;
  height:min(590px, calc(100vh - 195px)) !important;
  max-height:590px !important;
}
.with-second-menu-light .catalog-list-side{
  width:260px !important;
  flex:0 0 260px !important;
  padding:12px !important;
}
.with-second-menu-light .catalog-list-panel{
  left:260px !important;
  padding:28px 34px !important;
  background:radial-gradient(circle at 94% 0%, rgba(255,176,0,.07), transparent 28%), #fff !important;
}
.with-second-menu-light .catalog-rich-grid,
.with-second-menu-light .catalog-rich-grid.cols-3{
  display:grid !important;
  grid-template-columns:repeat(4, minmax(0,1fr)) !important;
  column-gap:32px !important;
  row-gap:28px !important;
  align-items:start !important;
}
.with-second-menu-light .catalog-rich-card{
  display:grid !important;
  grid-template-columns:86px minmax(0,1fr) !important;
  gap:14px !important;
  align-items:start !important;
  min-width:0 !important;
  min-height:0 !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  overflow:visible !important;
}
.with-second-menu-light .catalog-thumb-img{
  width:86px !important;
  height:78px !important;
  object-fit:contain !important;
  flex:0 0 auto !important;
}
.with-second-menu-light .catalog-rich-card > div{
  min-width:0 !important;
  max-width:100% !important;
  overflow:visible !important;
}
.with-second-menu-light .catalog-rich-card h4{
  max-width:100% !important;
  margin:0 0 7px !important;
  font-size:13.2px !important;
  line-height:1.12 !important;
  font-weight:950 !important;
  color:#111214 !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
  word-break:normal !important;
}
.with-second-menu-light .catalog-rich-card ul{
  display:grid !important;
  gap:4px !important;
  max-width:100% !important;
  overflow:visible !important;
}
.with-second-menu-light .catalog-rich-card li,
.with-second-menu-light .catalog-rich-card li a{
  max-width:100% !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
  word-break:normal !important;
}
.with-second-menu-light .catalog-rich-card li a{
  font-size:11.1px !important;
  line-height:1.22 !important;
  color:#5d6675 !important;
}
.with-second-menu-light .catalog-rich-card:hover h4{
  color:#111214 !important;
}
@media(max-width:1360px){
  .with-second-menu-light .catalog-rich-grid,
  .with-second-menu-light .catalog-rich-grid.cols-3{
    grid-template-columns:repeat(3, minmax(0,1fr)) !important;
  }
}
@media(max-width:1180px){
  .with-second-menu-light .catalog-list-panel{left:250px !important;}
  .with-second-menu-light .catalog-list-side{width:250px !important;flex-basis:250px !important;}
  .with-second-menu-light .catalog-rich-grid,
  .with-second-menu-light .catalog-rich-grid.cols-3{
    grid-template-columns:repeat(2, minmax(0,1fr)) !important;
  }
}


/* === Menu refinement v6: Montserrat, compact black nav, stable mega menu, unified top buttons === */
.with-second-menu-light,
.with-second-menu-light .site,
.with-second-menu-light .header-reference,
.with-second-menu-light .header-reference *,
.with-second-menu-light button,
.with-second-menu-light input,
.with-second-menu-light textarea{
  font-family: Montserrat, Arial, sans-serif;
}
.with-second-menu-light{font-family: Montserrat, Arial, sans-serif;}

/* unified top buttons */
.with-second-menu-light .phone-trigger,
.with-second-menu-light .call-top,
.with-second-menu-light .mail-ref{
  height:38px !important;
  border-radius:999px !important;
  border:1px solid rgba(255,176,0,.55) !important;
  background:linear-gradient(180deg,#fffdf6,#fff4d9) !important;
  color:#111214 !important;
  box-shadow:0 9px 20px rgba(255,176,0,.14), inset 0 1px 0 rgba(255,255,255,.85) !important;
  font-size:12px !important;
  font-weight:800 !important;
  letter-spacing:.02em !important;
  text-transform:uppercase !important;
}
.with-second-menu-light .phone-trigger{width:188px !important;min-width:188px !important;}
.with-second-menu-light .phone-trigger::after{display:none !important;content:none !important;}
.with-second-menu-light .phone-trigger::before{content:"☎" !important;margin-right:8px !important;color:#ff9f00 !important;font-size:12px !important;}
.with-second-menu-light .call-top{padding:0 24px !important;}
.with-second-menu-light .mail-ref{padding:0 20px !important;}
.with-second-menu-light .phone-trigger:hover,
.with-second-menu-light .phone-drop:hover .phone-trigger,
.with-second-menu-light .phone-drop.is-open .phone-trigger,
.with-second-menu-light .call-top:hover,
.with-second-menu-light .mail-ref:hover{
  background:linear-gradient(180deg,#fff6d8,#ffe49b) !important;
  border-color:#ffb000 !important;
  box-shadow:0 12px 24px rgba(255,176,0,.2) !important;
}

/* phone dropdown is click/hover friendly */
.with-second-menu-light .phone-drop{padding-bottom:16px !important;margin-bottom:-16px !important;}
.with-second-menu-light .phone-drop:before{content:"" !important;position:absolute !important;left:0 !important;right:0 !important;top:100% !important;height:18px !important;}
.with-second-menu-light .phone-menu{
  top:calc(100% + 6px) !important;
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
  transform:translateY(8px) !important;
  transition:opacity .18s ease, transform .18s ease, visibility .18s ease !important;
}
.with-second-menu-light .phone-drop:hover .phone-menu,
.with-second-menu-light .phone-drop:focus-within .phone-menu,
.with-second-menu-light .phone-drop.is-open .phone-menu{
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
  transform:translateY(0) !important;
}

/* compact black nav strip with equal visual cells */
.with-second-menu-light .navstrip-ref{
  background:#111214 !important;
  border-bottom:0 !important;
  box-shadow:none !important;
}
.with-second-menu-light .navstrip-ref .nav{
  min-height:42px !important;
  height:42px !important;
}
.with-second-menu-light .nav-main{gap:0 !important;align-items:stretch !important;}
.with-second-menu-light .nav-main > a,
.with-second-menu-light .nav-item > button{
  min-height:42px !important;
  height:42px !important;
  min-width:128px !important;
  padding:0 18px !important;
  background:#17181b !important;
  color:#fff !important;
  border-left:1px solid rgba(255,255,255,.08) !important;
  border-right:1px solid rgba(0,0,0,.22) !important;
  font-size:11.5px !important;
  line-height:1 !important;
  font-weight:800 !important;
  letter-spacing:.025em !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06) !important;
}
.with-second-menu-light .nav-main > a:before,
.with-second-menu-light .nav-main > a:after,
.with-second-menu-light .nav-item > button:before,
.with-second-menu-light .nav-item > button:after{
  display:none !important;
  content:none !important;
}
.with-second-menu-light .nav-main > a:hover,
.with-second-menu-light .nav-item:hover > button,
.with-second-menu-light .nav-item.is-open > button{
  background:#222327 !important;
  color:#ffcf52 !important;
}
.with-second-menu-light .nav-item-catalog > button{
  min-width:160px !important;
  background:#1d1e22 !important;
  color:#fff !important;
  border-left:0 !important;
  box-shadow:none !important;
}
.with-second-menu-light .nav-item-catalog:hover > button,
.with-second-menu-light .nav-item-catalog.is-open > button{
  background:#222327 !important;
  color:#fff !important;
}
.with-second-menu-light .catalog-icon i{background:#ffb000 !important;}

/* no yellow stripe on dropdowns */
.with-second-menu-light .mega.small,
.with-second-menu-light .catalog-list-menu{
  border-top:0 !important;
}
.with-second-menu-light .mega.small{
  margin-top:0 !important;
}
.with-second-menu-light .mega.small a,
.with-second-menu-light .mega.small a:hover{
  border-top:0 !important;
  box-shadow:none !important;
}

/* stable hover bridge: menu should not close while moving cursor down */
.with-second-menu-light .nav-item-catalog{position:static !important;}
.with-second-menu-light .nav-item-catalog:after{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  top:100% !important;
  height:18px !important;
  display:block !important;
  background:transparent !important;
  z-index:10039 !important;
}
.with-second-menu-light .catalog-list-menu{
  top:100% !important;
  transform:translateY(0) !important;
  transition:opacity .16s ease, visibility .16s ease !important;
  border-radius:0 0 18px 18px !important;
  box-shadow:0 30px 80px rgba(17,18,20,.16) !important;
}
.with-second-menu-light .nav-item-catalog:hover .catalog-list-menu,
.with-second-menu-light .nav-item-catalog:focus-within .catalog-list-menu,
.with-second-menu-light .nav-item-catalog.is-open .catalog-list-menu{
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
  transform:translateY(0) !important;
}

/* left categories: clean hover only, no default highlight, no arrows/stripes */
.with-second-menu-light .catalog-list-row > a,
.with-second-menu-light .catalog-list-row.is-active > a,
.with-second-menu-light .catalog-list-row.is-active:not(:hover) > a{
  background:transparent !important;
  border:0 !important;
  color:#25272d !important;
  box-shadow:none !important;
  border-left:0 !important;
}
.with-second-menu-light .catalog-list-row > a:before,
.with-second-menu-light .catalog-list-row > a:after{
  display:none !important;
  content:none !important;
}
.with-second-menu-light .catalog-list-row:hover > a,
.with-second-menu-light .catalog-list-row:focus-within > a{
  background:linear-gradient(180deg,#fff4ca,#ffe083) !important;
  color:#0e1014 !important;
  border:0 !important;
}
.with-second-menu-light .catalog-list-row.is-active:not(:hover):not(:focus-within) .catalog-list-panel{
  display:none !important;
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
}
.with-second-menu-light .catalog-list-row:hover .catalog-list-panel,
.with-second-menu-light .catalog-list-row:focus-within .catalog-list-panel{
  display:block !important;
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
}
.with-second-menu-light .catalog-list-side{
  padding:14px !important;
  width:250px !important;
  flex-basis:250px !important;
  background:#f2f4f7 !important;
}
.with-second-menu-light .catalog-list-row > a{
  min-height:34px !important;
  padding:8px 12px !important;
  margin-bottom:4px !important;
  border-radius:10px !important;
  font-size:12px !important;
  line-height:1.15 !important;
  font-weight:800 !important;
}
.with-second-menu-light .catalog-list-panel{
  left:250px !important;
  padding:24px 34px !important;
}

/* right mega menu typography/spacing: Montserrat from real site, prevent overlaps */
.with-second-menu-light .catalog-rich-grid,
.with-second-menu-light .catalog-rich-grid.cols-3{
  grid-template-columns:repeat(3, minmax(0,1fr)) !important;
  column-gap:46px !important;
  row-gap:32px !important;
}
.with-second-menu-light .catalog-rich-card{
  grid-template-columns:94px minmax(0,1fr) !important;
  gap:16px !important;
  align-items:start !important;
}
.with-second-menu-light .catalog-thumb-img{
  width:94px !important;
  height:82px !important;
  object-fit:contain !important;
}
.with-second-menu-light .catalog-rich-card h4{
  font-family: Montserrat, Arial, sans-serif;
  font-size:13px !important;
  line-height:1.18 !important;
  font-weight:800 !important;
  letter-spacing:-.01em !important;
  color:#111214 !important;
  margin:0 0 7px !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
  hyphens:none !important;
}
.with-second-menu-light .catalog-rich-card li a{
  font-family: Montserrat, Arial, sans-serif;
  font-size:11.5px !important;
  line-height:1.45 !important;
  font-weight:600 !important;
  color:#555 !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
  hyphens:none !important;
}
.with-second-menu-light .catalog-rich-card li a:hover{color:#ff8a00 !important;}
@media(max-width:1360px){
  .with-second-menu-light .catalog-rich-grid,
  .with-second-menu-light .catalog-rich-grid.cols-3{grid-template-columns:repeat(3, minmax(0,1fr)) !important;column-gap:30px !important;}
  .with-second-menu-light .catalog-rich-card{grid-template-columns:86px minmax(0,1fr) !important;gap:14px !important;}
  .with-second-menu-light .catalog-thumb-img{width:86px !important;height:76px !important;}
  .with-second-menu-light .catalog-rich-card h4{font-size:12.4px !important;}
  .with-second-menu-light .catalog-rich-card li a{font-size:10.8px !important;line-height:1.38 !important;}
}

/* call modal */
.with-second-menu-light.call-modal-lock{overflow:hidden !important;}
.call-modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;z-index:20000;padding:24px;background:rgba(17,18,20,.42);backdrop-filter:blur(3px);}
.call-modal.is-open{display:flex;}
.call-modal__dialog{width:min(560px,100%);background:#fff;border-radius:18px;box-shadow:0 28px 90px rgba(17,18,20,.28);padding:34px 38px 32px;position:relative;color:#333;font-family: Montserrat, Arial, sans-serif;}
.call-modal__close{position:absolute;right:20px;top:16px;width:36px;height:36px;border:0;background:transparent;color:#aaa;font-size:32px;line-height:1;cursor:pointer;}
.call-modal__close:hover{color:#111;}
.call-modal h2{margin:0 0 26px;font-size:26px;line-height:1.2;font-weight:500;color:#333;letter-spacing:-.02em;}
.call-form{display:grid;gap:22px;}
.call-form label{display:grid;gap:8px;font-size:13px;color:#8b8f98;font-weight:400;}
.call-form label span{color:#f26b21;}
.call-form input{height:48px;border:1px solid #e4e6ea;border-radius:4px;background:#fff;padding:0 14px;font-size:15px;color:#333;outline:0;}
.call-form input:focus{border-color:#ff9f00;box-shadow:0 0 0 3px rgba(255,176,0,.16);}
.call-form__captcha{height:46px;display:flex;align-items:center;justify-content:flex-end;padding-right:36px;color:#f26b21;font-size:28px;}
.call-form__agree{display:flex !important;grid-template-columns:none !important;align-items:center;gap:14px;color:#999;font-size:13px;}
.call-form__agree input{display:none;}
.call-form__toggle{width:34px;height:18px;border-radius:999px;background:#f26b21;position:relative;flex:0 0 auto;}
.call-form__toggle:after{content:"";position:absolute;width:14px;height:14px;top:2px;right:2px;border-radius:50%;background:#fff;}
.call-form__agree a{color:#f26b21;text-decoration:none;}
.call-form__bottom{display:flex;align-items:center;gap:28px;margin-top:4px;}
.call-form__submit{height:50px;padding:0 34px;border:0;border-radius:3px;background:#f26b21;color:#fff;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;cursor:pointer;}
.call-form__submit:hover{background:#e65e17;}
.call-form__note{font-size:13px;color:#999;}.call-form__note span{color:#f26b21;font-weight:700;}
@media(max-width:640px){.call-modal__dialog{padding:28px 22px}.call-form__bottom{align-items:flex-start;flex-direction:column;gap:12px}.call-form__submit{width:100%;}}

/* v8 rollback-safe fixes: keep v6 geometry, repair hover stability and menu overflow */
.with-second-menu-light{
  font-family: Montserrat, Arial, sans-serif;
}
.with-second-menu-light .header-reference,
.with-second-menu-light .header-reference *{
  font-family: Montserrat, Arial, sans-serif;
}

/* Keep black nav strip compact, centered and stable */
.with-second-menu-light .navstrip-ref{
  height:42px !important;
  min-height:42px !important;
  background:#101113 !important;
  border:0 !important;
  overflow:visible !important;
}
.with-second-menu-light .navstrip-ref .nav{
  height:42px !important;
  min-height:42px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:visible !important;
}
.with-second-menu-light .nav-main{
  height:42px !important;
  min-height:42px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:0 !important;
  overflow:visible !important;
}
.with-second-menu-light .nav-item,
.with-second-menu-light .nav-main > a{
  position:relative !important;
  height:42px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin:0 !important;
  padding:0 !important;
}
.with-second-menu-light .nav-main > a,
.with-second-menu-light .nav-item > button{
  height:38px !important;
  min-height:38px !important;
  min-width:112px !important;
  padding:0 16px !important;
  margin:2px 0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:#17181b !important;
  color:#fff !important;
  border:1px solid rgba(255,255,255,.075) !important;
  border-left-color:rgba(255,255,255,.11) !important;
  border-right-color:rgba(0,0,0,.35) !important;
  border-radius:0 !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07), inset 0 -1px 0 rgba(0,0,0,.35) !important;
  font-size:11.5px !important;
  line-height:1 !important;
  font-weight:800 !important;
  letter-spacing:.02em !important;
  transform:none !important;
  top:auto !important;
}
.with-second-menu-light .nav-main > a:hover,
.with-second-menu-light .nav-item:hover > button,
.with-second-menu-light .nav-item.is-open > button{
  background:#222327 !important;
  color:#ffcf52 !important;
}
.with-second-menu-light .nav-item-catalog > button{
  min-width:150px !important;
  color:#fff !important;
}
.with-second-menu-light .nav-item-catalog:hover > button,
.with-second-menu-light .nav-item-catalog.is-open > button{
  color:#fff !important;
}

/* Remove every yellow hover/active stripe from nav and dropdowns */
.with-second-menu-light .nav-main > a:before,
.with-second-menu-light .nav-main > a:after,
.with-second-menu-light .nav-item > button:before,
.with-second-menu-light .nav-item > button:after,
.with-second-menu-light .mega.small a:before,
.with-second-menu-light .mega.small a:after,
.with-second-menu-light .catalog-list-row > a:before,
.with-second-menu-light .catalog-list-row > a:after{
  display:none !important;
  content:none !important;
  width:0 !important;
  height:0 !important;
  border:0 !important;
  box-shadow:none !important;
}
.with-second-menu-light .mega.small,
.with-second-menu-light .catalog-list-menu{
  border-top:0 !important;
}
.with-second-menu-light .mega.small a,
.with-second-menu-light .mega.small a:hover,
.with-second-menu-light .catalog-list-row > a,
.with-second-menu-light .catalog-list-row:hover > a{
  border-top:0 !important;
  box-shadow:none !important;
}

/* Small dropdowns: attach directly to the button and keep them hoverable */
.with-second-menu-light .nav-item:not(.nav-item-catalog){
  padding-bottom:12px !important;
  margin-bottom:-12px !important;
}
.with-second-menu-light .nav-item:not(.nav-item-catalog)::after{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  top:100% !important;
  height:12px !important;
  display:block !important;
  background:transparent !important;
  z-index:10040 !important;
}
.with-second-menu-light .mega.small{
  top:42px !important;
  margin-top:0 !important;
  transform:translateY(0) !important;
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
  transition:opacity .14s ease, visibility .14s ease !important;
}
.with-second-menu-light .nav-item:hover .mega.small,
.with-second-menu-light .nav-item:focus-within .mega.small,
.with-second-menu-light .nav-item.is-open .mega.small{
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
  transform:translateY(0) !important;
}
.with-second-menu-light .mega.small a{
  min-height:34px !important;
  padding:9px 14px !important;
  background:#f7f8fa !important;
  color:#22252b !important;
  border:1px solid rgba(17,18,20,.06) !important;
  border-radius:9px !important;
  font-size:12px !important;
  font-weight:800 !important;
}
.with-second-menu-light .mega.small a:hover{
  background:#fff1bd !important;
  border-color:#ffcc4d !important;
}

/* Catalog mega menu: no gap, stable hover, compact content */
.with-second-menu-light .nav-item-catalog{
  position:static !important;
  padding-bottom:14px !important;
  margin-bottom:-14px !important;
}
.with-second-menu-light .nav-item-catalog::after{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  top:42px !important;
  height:14px !important;
  display:block !important;
  background:transparent !important;
  z-index:10039 !important;
}
.with-second-menu-light .catalog-list-menu{
  top:42px !important;
  left:50% !important;
  right:auto !important;
  width:min(1180px, calc(100vw - 84px)) !important;
  min-height:390px !important;
  max-height:calc(100vh - 190px) !important;
  transform:translateX(-50%) translateY(0) !important;
  margin:0 !important;
  display:flex !important;
  align-items:stretch !important;
  overflow:hidden !important;
  background:#fff !important;
  border-radius:0 0 18px 18px !important;
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
}
.with-second-menu-light .nav-item-catalog:hover .catalog-list-menu,
.with-second-menu-light .nav-item-catalog:focus-within .catalog-list-menu,
.with-second-menu-light .nav-item-catalog.is-open .catalog-list-menu{
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
  transform:translateX(-50%) translateY(0) !important;
}
.with-second-menu-light .catalog-list-side{
  width:230px !important;
  flex:0 0 230px !important;
  padding:14px 12px !important;
  background:#f2f4f7 !important;
  border-right:1px solid rgba(17,18,20,.06) !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
}
.with-second-menu-light .catalog-list-row > a,
.with-second-menu-light .catalog-list-row.is-active > a,
.with-second-menu-light .catalog-list-row.is-active:not(:hover) > a{
  display:flex !important;
  align-items:center !important;
  min-height:32px !important;
  width:100% !important;
  padding:7px 10px !important;
  margin:0 0 5px !important;
  background:transparent !important;
  border:0 !important;
  color:#25272d !important;
  border-radius:9px !important;
  font-size:11.7px !important;
  line-height:1.16 !important;
  font-weight:800 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
.with-second-menu-light .catalog-list-row:hover > a,
.with-second-menu-light .catalog-list-row:focus-within > a,
.with-second-menu-light .catalog-list-row.menu-row-open > a{
  background:linear-gradient(180deg,#fff4ca,#ffe18a) !important;
  color:#101114 !important;
}
.with-second-menu-light .catalog-list-row.is-active:not(:hover):not(:focus-within):not(.menu-row-open) .catalog-list-panel{
  display:none !important;
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
}
.with-second-menu-light .catalog-list-panel{
  left:230px !important;
  top:0 !important;
  right:0 !important;
  bottom:0 !important;
  padding:22px 30px 26px !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  background:#fff !important;
}
.with-second-menu-light .catalog-list-row:hover .catalog-list-panel,
.with-second-menu-light .catalog-list-row:focus-within .catalog-list-panel,
.with-second-menu-light .catalog-list-row.menu-row-open .catalog-list-panel{
  display:block !important;
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
}
.with-second-menu-light .catalog-rich-grid,
.with-second-menu-light .catalog-rich-grid.cols-3,
.with-second-menu-light .catalog-rich-grid--scroll{
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0,1fr)) !important;
  column-gap:26px !important;
  row-gap:24px !important;
  width:100% !important;
  max-width:100% !important;
}
.with-second-menu-light .catalog-rich-card{
  display:grid !important;
  grid-template-columns:76px minmax(0,1fr) !important;
  align-items:start !important;
  gap:12px !important;
  min-width:0 !important;
  padding:0 !important;
  margin:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  overflow:hidden !important;
}
.with-second-menu-light .catalog-thumb-img{
  width:76px !important;
  height:68px !important;
  object-fit:contain !important;
  display:block !important;
  filter:drop-shadow(0 10px 14px rgba(17,18,20,.08)) !important;
}
.with-second-menu-light .catalog-rich-card > div{min-width:0 !important;max-width:100% !important;overflow:hidden !important;}
.with-second-menu-light .catalog-rich-card h4{
  margin:0 0 6px !important;
  color:#101114 !important;
  font-size:12.2px !important;
  line-height:1.18 !important;
  font-weight:800 !important;
  letter-spacing:-.01em !important;
  white-space:normal !important;
  overflow-wrap:break-word !important;
  word-break:normal !important;
  max-width:100% !important;
}
.with-second-menu-light .catalog-rich-card ul{margin:0 !important;padding:0 !important;list-style:none !important;max-width:100% !important;}
.with-second-menu-light .catalog-rich-card li{margin:0 0 2px !important;max-width:100% !important;}
.with-second-menu-light .catalog-rich-card li a{
  display:block !important;
  color:#58606d !important;
  font-size:10.6px !important;
  line-height:1.32 !important;
  font-weight:700 !important;
  white-space:normal !important;
  overflow-wrap:break-word !important;
  word-break:normal !important;
  max-width:100% !important;
}
.with-second-menu-light .catalog-rich-card li a:hover{color:#e48700 !important;}
@media(max-width:1280px){
  .with-second-menu-light .catalog-list-menu{width:calc(100vw - 44px) !important;}
  .with-second-menu-light .catalog-list-side{width:215px !important;flex-basis:215px !important;}
  .with-second-menu-light .catalog-list-panel{left:215px !important;padding:20px 24px !important;}
  .with-second-menu-light .catalog-rich-grid,
  .with-second-menu-light .catalog-rich-grid.cols-3,
  .with-second-menu-light .catalog-rich-grid--scroll{column-gap:20px !important;row-gap:22px !important;}
  .with-second-menu-light .catalog-rich-card{grid-template-columns:68px minmax(0,1fr) !important;gap:10px !important;}
  .with-second-menu-light .catalog-thumb-img{width:68px !important;height:62px !important;}
  .with-second-menu-light .catalog-rich-card h4{font-size:11.7px !important;}
  .with-second-menu-light .catalog-rich-card li a{font-size:10.1px !important;}
}
@media(max-width:1100px){
  .with-second-menu-light .catalog-rich-grid,
  .with-second-menu-light .catalog-rich-grid.cols-3,
  .with-second-menu-light .catalog-rich-grid--scroll{grid-template-columns:repeat(2, minmax(0,1fr)) !important;}
}

/* =========================================================
   V9 — compact dropdowns and catalog menu tuning
   Scope: верхнее меню, каталог, телефон, форма обратного звонка
   ========================================================= */
.with-second-menu-light .phone-trigger::after{display:none !important;content:none !important;}
.with-second-menu-light .phone-menu{
  width:230px !important;
  min-width:230px !important;
  padding:8px !important;
  border-radius:16px !important;
  top:calc(100% + 8px) !important;
  box-shadow:0 18px 44px rgba(17,18,20,.14) !important;
}
.with-second-menu-light .phone-menu:before{
  width:12px !important;
  height:12px !important;
  left:28px !important;
  top:-6px !important;
}
.with-second-menu-light .phone-menu a{
  min-height:0 !important;
  height:auto !important;
  padding:9px 10px !important;
  margin:0 0 6px !important;
  border-radius:12px !important;
  gap:8px !important;
}
.with-second-menu-light .phone-menu a:before{
  width:16px !important;
  height:16px !important;
  margin-top:1px !important;
  flex:0 0 16px !important;
}
.with-second-menu-light .phone-menu b{
  font-size:13.2px !important;
  line-height:1.15 !important;
}
.with-second-menu-light .phone-menu span{
  margin-top:1px !important;
  font-size:10.5px !important;
  line-height:1.15 !important;
}
.with-second-menu-light .nav-main > a:after,
.with-second-menu-light .nav-item > button:after,
.with-second-menu-light .nav-main > a::after,
.with-second-menu-light .nav-item > button::after{
  display:none !important;
  content:none !important;
}
.with-second-menu-light .nav-main > a,
.with-second-menu-light .nav-item > button{
  height:40px !important;
  min-height:40px !important;
  padding:0 24px !important;
  border-left:1px solid rgba(255,255,255,.08) !important;
  border-right:1px solid rgba(0,0,0,.42) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05), inset 0 -1px 0 rgba(0,0,0,.42) !important;
}
.with-second-menu-light .nav-main > a:hover,
.with-second-menu-light .nav-item:hover > button,
.with-second-menu-light .nav-item.is-open > button{
  color:#ffb000 !important;
  background:linear-gradient(180deg,#181a1f,#101116) !important;
}
.with-second-menu-light .mega.small{
  top:100% !important;
  margin-top:0 !important;
  padding:8px !important;
  width:240px !important;
  border-radius:0 0 16px 16px !important;
}
.with-second-menu-light .mega.small a{
  min-height:0 !important;
  padding:10px 12px !important;
  border-radius:10px !important;
  font-size:12px !important;
  line-height:1.2 !important;
}
.with-second-menu-light .catalog-list-menu{
  top:100% !important;
  margin-top:0 !important;
  width:min(1120px, calc(100vw - 40px)) !important;
  height:500px !important;
  max-height:calc(100vh - 190px) !important;
  min-height:0 !important;
  border-top:2px solid #ffb000 !important;
  border-radius:0 0 16px 16px !important;
  box-shadow:0 24px 70px rgba(17,18,20,.16) !important;
}
.with-second-menu-light .catalog-list-side{
  width:220px !important;
  flex-basis:220px !important;
  padding:10px !important;
}
.with-second-menu-light .catalog-list-row > a{
  min-height:32px !important;
  padding:8px 10px !important;
  margin-bottom:4px !important;
  border-radius:10px !important;
  font-size:12px !important;
  line-height:1.15 !important;
  white-space:normal !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  display:flex !important;
  align-items:center !important;
}
.with-second-menu-light .catalog-list-row > a:after,
.with-second-menu-light .catalog-list-row > a::after{
  display:none !important;
  content:none !important;
}
.with-second-menu-light .catalog-list-row:hover > a,
.with-second-menu-light .catalog-list-row.menu-row-open > a,
.with-second-menu-light .catalog-list-row.is-active > a{
  background:linear-gradient(180deg,#fff4c9,#ffe295) !important;
  border-color:transparent !important;
  box-shadow:none !important;
}
.with-second-menu-light .catalog-list-panel{
  left:220px !important;
  padding:18px 20px !important;
  overflow:auto !important;
}
.with-second-menu-light .catalog-rich-grid,
.with-second-menu-light .catalog-rich-grid.cols-3{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  column-gap:26px !important;
  row-gap:18px !important;
  align-items:start !important;
}
.with-second-menu-light .catalog-rich-card{
  display:grid !important;
  grid-template-columns:78px minmax(0,1fr) !important;
  gap:10px !important;
  min-height:0 !important;
  height:auto !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  overflow:visible !important;
  transform:none !important;
}
.with-second-menu-light .catalog-rich-card:hover{
  transform:none !important;
  border-color:transparent !important;
  box-shadow:none !important;
}
.with-second-menu-light .catalog-thumb-img{
  width:78px !important;
  height:66px !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  border-radius:0 !important;
  object-fit:contain !important;
}
.with-second-menu-light .catalog-rich-card h4{
  margin:0 0 7px !important;
  font-size:12.6px !important;
  line-height:1.16 !important;
  font-weight:900 !important;
  color:#111214 !important;
  max-width:100% !important;
  overflow-wrap:anywhere !important;
}
.with-second-menu-light .catalog-rich-card ul{
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
}
.with-second-menu-light .catalog-rich-card li{
  display:block !important;
  margin:0 0 3px !important;
  padding:0 !important;
  min-height:0 !important;
  line-height:1.18 !important;
}
.with-second-menu-light .catalog-rich-card li a{
  display:block !important;
  font-size:10.7px !important;
  line-height:1.18 !important;
  font-weight:700 !important;
  color:#667085 !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
}
.with-second-menu-light .catalog-rich-card li a:hover{
  color:#111214 !important;
  text-decoration:none !important;
}
.with-second-menu-light .call-modal__dialog{
  width:min(500px, calc(100% - 28px)) !important;
  padding:28px 32px 26px !important;
  border-radius:16px !important;
}
.with-second-menu-light .call-modal h2{font-size:24px !important;margin-bottom:20px !important;}
.with-second-menu-light .call-form{gap:16px !important;}
.with-second-menu-light .call-form input{height:42px !important;}
.with-second-menu-light .call-form__captcha{height:34px !important;}
.with-second-menu-light .call-form__bottom{margin-top:0 !important;gap:20px !important;}
.with-second-menu-light .call-form__submit{height:44px !important;padding:0 28px !important;}
@media(max-width:1180px){
  .with-second-menu-light .catalog-rich-grid,
  .with-second-menu-light .catalog-rich-grid.cols-3{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .with-second-menu-light .catalog-list-menu{width:calc(100vw - 28px) !important;}
}

/* =========================================================
   V10 — точечные правки меню после проверки
   ========================================================= */
/* Каталог открывается только от кнопки Каталог, скрытое меню не ловит курсор */
.with-second-menu-light .catalog-list-menu{
  pointer-events:none !important;
  opacity:0 !important;
  visibility:hidden !important;
  transform:translateY(4px) !important;
  transition:opacity .14s ease, transform .14s ease, visibility .14s ease !important;
}
.with-second-menu-light .nav-item-catalog:hover > .catalog-list-menu,
.with-second-menu-light .nav-item-catalog:focus-within > .catalog-list-menu,
.with-second-menu-light .nav-item-catalog.is-open > .catalog-list-menu{
  pointer-events:auto !important;
  opacity:1 !important;
  visibility:visible !important;
  transform:translateY(0) !important;
}
/* Убираем жёлтые линии/подчёркивания полностью */
.with-second-menu-light .nav-main > a:before,
.with-second-menu-light .nav-main > a:after,
.with-second-menu-light .nav-item > button:before,
.with-second-menu-light .nav-item > button:after,
.with-second-menu-light .mega.small a:before,
.with-second-menu-light .mega.small a:after,
.with-second-menu-light .catalog-list-row > a:before,
.with-second-menu-light .catalog-list-row > a:after,
.with-second-menu-light .catalog-rich-card a:before,
.with-second-menu-light .catalog-rich-card a:after{
  display:none !important;
  content:none !important;
  width:0 !important;
  height:0 !important;
  border:0 !important;
  background:none !important;
}
.with-second-menu-light .nav-main > a,
.with-second-menu-light .nav-item > button,
.with-second-menu-light .mega.small a,
.with-second-menu-light .catalog-list-row > a,
.with-second-menu-light .catalog-rich-card a{
  text-decoration:none !important;
  border-bottom:0 !important;
  box-shadow:none !important;
}
/* Плотнее ссылки внутри карточек подкатегорий */
.with-second-menu-light .catalog-rich-grid,
.with-second-menu-light .catalog-rich-grid.cols-3{
  column-gap:28px !important;
  row-gap:18px !important;
  align-items:start !important;
}
.with-second-menu-light .catalog-rich-card{
  display:grid !important;
  grid-template-columns:72px minmax(0,1fr) !important;
  gap:8px !important;
  align-items:start !important;
  align-content:start !important;
  min-height:0 !important;
  height:auto !important;
  margin:0 !important;
}
.with-second-menu-light .catalog-rich-card > div{
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-start !important;
  align-items:flex-start !important;
  gap:3px !important;
  min-width:0 !important;
  max-width:100% !important;
  height:auto !important;
}
.with-second-menu-light .catalog-thumb-img{
  width:72px !important;
  height:58px !important;
  object-fit:contain !important;
  margin:0 !important;
}
.with-second-menu-light .catalog-rich-card h4{
  margin:0 0 3px !important;
  padding:0 !important;
  line-height:1.12 !important;
  font-size:12.3px !important;
  max-width:100% !important;
}
.with-second-menu-light .catalog-rich-card h4 a{
  color:#111214 !important;
  font-weight:900 !important;
  font-size:inherit !important;
  line-height:inherit !important;
  display:inline !important;
}
.with-second-menu-light .catalog-rich-card h4 a:hover{color:#f2a000 !important;}
.with-second-menu-light .catalog-rich-card ul{
  display:flex !important;
  flex-direction:column !important;
  gap:2px !important;
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
  width:100% !important;
}
.with-second-menu-light .catalog-rich-card li{
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  min-height:0 !important;
  height:auto !important;
  line-height:1.12 !important;
}
.with-second-menu-light .catalog-rich-card li a{
  display:inline !important;
  font-size:10.8px !important;
  line-height:1.14 !important;
  font-weight:700 !important;
  color:#687386 !important;
  padding:0 !important;
  margin:0 !important;
}
.with-second-menu-light .catalog-rich-card li a:hover{color:#f2a000 !important;}
/* Телефонное меню — компактно, по ширине кнопки, без жёлтых кружков */
.with-second-menu-light .phone-drop{position:relative !important;}
.with-second-menu-light .phone-menu{
  width:170px !important;
  min-width:170px !important;
  max-width:170px !important;
  padding:6px !important;
  border-radius:13px !important;
  left:0 !important;
  top:calc(100% + 7px) !important;
}
.with-second-menu-light .phone-menu:before{left:20px !important;}
.with-second-menu-light .phone-menu a{
  padding:8px 9px !important;
  margin:0 0 5px !important;
  border-radius:10px !important;
  gap:0 !important;
}
.with-second-menu-light .phone-menu a:last-child{margin-bottom:0 !important;}
.with-second-menu-light .phone-menu a:before,
.with-second-menu-light .phone-menu a::before{display:none !important;content:none !important;}
.with-second-menu-light .phone-menu b{
  font-size:12.5px !important;
  line-height:1.1 !important;
  white-space:nowrap !important;
}
.with-second-menu-light .phone-menu span{
  font-size:10px !important;
  line-height:1.15 !important;
}

/* =========================================================
   V11 — fix catalog dropdown position only
   Возвращаем mega-menu каталога под кнопку "Каталог", сохраняя плотные ссылки v10.
   ========================================================= */
.with-second-menu-light .nav-item-catalog{
  position:relative !important;
  padding-bottom:14px !important;
  margin-bottom:-14px !important;
}
.with-second-menu-light .nav-item-catalog::after{
  left:0 !important;
  right:0 !important;
  top:100% !important;
  height:14px !important;
}
.with-second-menu-light .catalog-list-menu{
  left:0 !important;
  right:auto !important;
  top:100% !important;
  transform:translateY(4px) !important;
  width:min(1120px, calc(100vw - 40px)) !important;
  margin:0 !important;
}
.with-second-menu-light .nav-item-catalog:hover > .catalog-list-menu,
.with-second-menu-light .nav-item-catalog:focus-within > .catalog-list-menu,
.with-second-menu-light .nav-item-catalog.is-open > .catalog-list-menu{
  transform:translateY(0) !important;
}
@media(max-width:1280px){
  .with-second-menu-light .catalog-list-menu{
    left:0 !important;
    width:calc(100vw - 28px) !important;
  }
}

/* =========================================================
   V12 — small polish: larger menu images, calmer link weight,
   wider phone dropdown. Other layout rules remain from v11.
   ========================================================= */
.with-second-menu-light .catalog-rich-card{
  grid-template-columns:86px minmax(0,1fr) !important;
  gap:10px !important;
}
.with-second-menu-light .catalog-thumb-img{
  width:86px !important;
  height:70px !important;
  max-width:86px !important;
  object-fit:contain !important;
}
.with-second-menu-light .catalog-rich-card h4,
.with-second-menu-light .catalog-rich-card h4 a{
  font-size:12.5px !important;
  line-height:1.15 !important;
  font-weight:800 !important;
  color:#111214 !important;
}
.with-second-menu-light .catalog-rich-card li a{
  font-size:10.8px !important;
  line-height:1.18 !important;
  font-weight:500 !important;
  color:#667085 !important;
}
.with-second-menu-light .catalog-rich-card li a:hover{
  color:#f2a000 !important;
}
.with-second-menu-light .phone-menu{
  width:190px !important;
  min-width:190px !important;
  max-width:190px !important;
}
.with-second-menu-light .phone-menu b{
  font-size:12.8px !important;
  font-weight:800 !important;
}
.with-second-menu-light .phone-menu span{
  font-size:10.2px !important;
}

/* v13: catalog hover cleanup + icon alignment + slightly larger thumbs */
.with-second-menu-light .nav-item,
.with-second-menu-light .nav-item > button,
.with-second-menu-light .nav-main > a,
.with-second-menu-light .nav-item-catalog,
.with-second-menu-light .nav-item-catalog > button{
  box-shadow:none !important;
}

/* remove residual hover line/underline in top nav */
.with-second-menu-light .nav-item > button::before,
.with-second-menu-light .nav-item > button::after,
.with-second-menu-light .nav-main > a::before,
.with-second-menu-light .nav-main > a::after,
.with-second-menu-light .nav-item-catalog > button::before,
.with-second-menu-light .nav-item-catalog > button::after{
  display:none !important;
  content:none !important;
  border:0 !important;
  box-shadow:none !important;
}
.with-second-menu-light .nav-item:hover > button,
.with-second-menu-light .nav-item.is-open > button,
.with-second-menu-light .nav-main > a:hover,
.with-second-menu-light .nav-item-catalog:hover > button,
.with-second-menu-light .nav-item-catalog.is-open > button{
  border-bottom-color:transparent !important;
  box-shadow:none !important;
}
.with-second-menu-light .catalog-list-menu{
  border-top:0 !important;
}

/* center catalog icon with text */
.with-second-menu-light .nav-item-catalog > button{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
}
.with-second-menu-light .catalog-icon{
  width:21px !important;
  height:21px !important;
  margin:0 !important;
  flex:0 0 21px !important;
  display:grid !important;
  grid-template-columns:repeat(3, 1fr) !important;
  gap:3px !important;
  align-self:center !important;
  transform:translateY(0) !important;
}
.with-second-menu-light .catalog-icon i{
  width:5px !important;
  height:5px !important;
}

/* slightly larger images in catalog cards */
.with-second-menu-light .catalog-rich-card{
  grid-template-columns:102px minmax(0,1fr) !important;
  gap:18px !important;
}
.with-second-menu-light .catalog-thumb-img{
  width:102px !important;
  height:88px !important;
}
@media(max-width:1360px){
  .with-second-menu-light .catalog-rich-card{
    grid-template-columns:94px minmax(0,1fr) !important;
    gap:16px !important;
  }
  .with-second-menu-light .catalog-thumb-img{
    width:94px !important;
    height:82px !important;
  }
}

/* v14: hero banner fit + lighter banner + smoother staged tile animation */
.with-second-menu-light .hero,
.with-second-menu-light .hero-slider{
  min-height:560px !important;
  overflow:hidden !important;
  background:#fff !important;
}
.with-second-menu-light .hero .container{
  min-height:560px !important;
  padding-top:78px !important;
  padding-bottom:74px !important;
}
.with-second-menu-light .hero-slide{
  transform:translate3d(0,0,0) scale(1) !important;
  transition:opacity 1.25s cubic-bezier(.22,.61,.36,1), visibility 1.25s ease !important;
}
.with-second-menu-light .hero-bg{
  transform:none !important;
  background-size:100% 100% !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
  filter:brightness(1.12) saturate(.92) contrast(.92) !important;
}
.with-second-menu-light .hero-bg:before{
  background:
    linear-gradient(90deg, rgba(255,255,255,.99) 0%, rgba(255,255,255,.94) 31%, rgba(255,255,255,.66) 53%, rgba(255,255,255,.28) 74%, rgba(255,255,255,.16) 100%),
    linear-gradient(180deg, rgba(255,255,255,.20), rgba(255,255,255,.72)) !important;
}
.with-second-menu-light .hero-bg:after{
  background:
    linear-gradient(115deg, transparent 0 13%, rgba(255,184,0,.12) 13.3% 15.2%, transparent 15.4% 100%),
    radial-gradient(circle at 15% 45%, rgba(255,184,0,.13), transparent 34%) !important;
}
.with-second-menu-light .hero-tiles{
  z-index:4 !important;
  background:transparent !important;
}
.with-second-menu-light .hero-tile{
  background-repeat:no-repeat !important;
  will-change:transform, opacity, filter !important;
  opacity:1 !important;
  filter:brightness(1.08) saturate(.92) contrast(.92) blur(0) !important;
  transform:translate3d(0,0,0) scale(1) rotate(0deg) !important;
}
.with-second-menu-light .hero-tile--coarse{
  transition:
    transform 1.12s cubic-bezier(.2,.72,.22,1),
    opacity .96s ease,
    filter .96s ease !important;
}
.with-second-menu-light .hero-tile--fine{
  transition:
    transform 1.28s cubic-bezier(.18,.72,.18,1),
    opacity 1.16s ease,
    filter 1.16s ease !important;
}
.with-second-menu-light .hero-tiles.is-exploding .hero-tile--coarse{
  opacity:.06 !important;
  transform:translate3d(var(--tx), var(--ty), 0) scale(var(--hero-tile-scale)) rotate(var(--rot)) !important;
  filter:brightness(1.16) saturate(.86) contrast(.88) blur(1.2px) !important;
}
.with-second-menu-light .hero-tiles.is-exploding .hero-tile--fine{
  opacity:0 !important;
  transform:translate3d(var(--tx), var(--ty), 0) scale(var(--hero-tile-scale)) rotate(var(--rot)) !important;
  filter:brightness(1.18) saturate(.84) contrast(.86) blur(2px) !important;
}
@media(max-width:900px){
  .with-second-menu-light .hero,
  .with-second-menu-light .hero-slider,
  .with-second-menu-light .hero .container{
    min-height:520px !important;
  }
  .with-second-menu-light .hero-bg{
    background-size:cover !important;
    background-position:center center !important;
  }
}


/* v16: clean hero background-only banners + stable overlay text */
.with-second-menu-light .hero,
.with-second-menu-light .hero-slider{
  min-height:560px !important;
  background:#f7f7f5 !important;
  overflow:hidden !important;
}

.with-second-menu-light .hero .container{
  min-height:560px !important;
  padding-top:78px !important;
  padding-bottom:74px !important;
}

.with-second-menu-light .hero-slide{
  transform:none !important;
  transition:opacity 1.15s ease, visibility 1.15s ease !important;
}

.with-second-menu-light .hero-slide.is-active{
  transform:none !important;
}

.with-second-menu-light .hero-bg{
  transform:none !important;
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
  filter:brightness(1.06) saturate(1.02) contrast(1.04) !important;
}

.with-second-menu-light .hero-bg:before{
  background:
    linear-gradient(90deg,
      rgba(255,255,255,.98) 0%,
      rgba(255,255,255,.96) 28%,
      rgba(255,255,255,.74) 43%,
      rgba(255,255,255,.30) 59%,
      rgba(255,255,255,.06) 78%,
      rgba(255,255,255,0) 100%),
    linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.20)) !important;
}

.with-second-menu-light .hero-bg:after{
  background:
    linear-gradient(115deg, transparent 0 12%, rgba(255,184,0,.10) 12.2% 14%, transparent 14.2% 100%),
    radial-gradient(circle at 15% 45%, rgba(255,184,0,.11), transparent 34%) !important;
}

.with-second-menu-light .hero-arrow{
  display:none !important;
}

/* staged cube animation: 2s large fragments, then 2s fine fragments */
.with-second-menu-light .hero-tile{
  background-repeat:no-repeat !important;
  will-change:transform, opacity, filter !important;
  opacity:1 !important;
  filter:blur(0) !important;
  transition:
    transform var(--tile-duration, 2s) cubic-bezier(.22,.61,.36,1),
    opacity var(--tile-duration, 2s) ease,
    filter var(--tile-duration, 2s) ease !important;
}

.with-second-menu-light .hero-tile--coarse,
.with-second-menu-light .hero-tile--fine{
  transition:
    transform var(--tile-duration, 2s) cubic-bezier(.22,.61,.36,1),
    opacity var(--tile-duration, 2s) ease,
    filter var(--tile-duration, 2s) ease !important;
}

.with-second-menu-light .hero-tiles.is-exploding .hero-tile--coarse{
  opacity:.08 !important;
  transform:translate3d(var(--tx), var(--ty), 0) scale(var(--tile-scale, .92)) rotate(var(--rot)) !important;
  filter:blur(var(--tile-blur, 1.8px)) brightness(1.04) !important;
}

.with-second-menu-light .hero-tiles.is-exploding .hero-tile--fine{
  opacity:0 !important;
  transform:translate3d(var(--tx), var(--ty), 0) scale(var(--tile-scale, .86)) rotate(var(--rot)) !important;
  filter:blur(var(--tile-blur, 2.6px)) brightness(1.05) !important;
}

@media(max-width:900px){
  .with-second-menu-light .hero,
  .with-second-menu-light .hero-slider,
  .with-second-menu-light .hero .container{
    min-height:520px !important;
  }
  .with-second-menu-light .hero-bg{
    background-size:cover !important;
    background-position:center center !important;
  }
}

/* === v85: unified typography fallback for external stylesheet === */
:root{
  --fitvl-font-family: Montserrat, Arial, sans-serif !important;
  --fitvl-title-size: clamp(32px, 2.9vw, 42px);
  --fitvl-subtitle-size: 16px;
  --fitvl-text-size: 14px;
  --fitvl-small-size: 12px;
  --fitvl-card-title-size: 22px;
}
html, body, body *, button, input, textarea, select{
  font-family: Montserrat, Arial, sans-serif !important;
}
body{font-size:var(--fitvl-text-size) !important;line-height:1.55 !important;}
h1,h2,.section-title h2,.deep-title h2,.mosaic-head h2,.solutions-head h2,.fitcalc-main h2,.about-text h2,.cta-box h2{
  font-size:var(--fitvl-title-size) !important;line-height:1.12 !important;font-weight:800 !important;letter-spacing:-.025em !important;
}
.lead,.section-lead,.presentation-note,.deep-title p,.mosaic-head p,.solutions-head p,.fitcalc-lead,.cta-box p{
  font-size:var(--fitvl-subtitle-size) !important;line-height:1.6 !important;font-weight:400 !important;
}
h3,.project-info h3,.case-body h3,.service-icon h3,.promo-card h3,.cat h3,.step h3,.mosaic-card h3,.solution-card h3{
  font-size:var(--fitvl-card-title-size) !important;line-height:1.2 !important;font-weight:700 !important;
}
p,li,span,a,.project-info p,.service-icon p,.promo-card p,.case-body p,.step p,.mosaic-card p,.solution-card p,footer p{
  font-size:var(--fitvl-text-size) !important;line-height:1.55 !important;
}
@media(max-width:760px){:root{--fitvl-title-size:30px;--fitvl-subtitle-size:14px;--fitvl-text-size:13px;--fitvl-small-size:11px;--fitvl-card-title-size:20px;}}



/* FITVL v89: header microtext softer */
.with-second-menu-light .descriptor-ref{
  color:#3a414d !important;
  font-size:14px !important;
  line-height:1.24 !important;
  font-weight:650 !important;
  letter-spacing:-.006em !important;
}
.with-second-menu-light .address-ref,
.with-second-menu-light .address-ref strong{
  color:#3a414d !important;
  font-size:13px !important;
  line-height:1.38 !important;
  font-weight:600 !important;
  letter-spacing:-.004em !important;
}


/* ===== FITVL v96: real active dropdowns flush to nav bar ===== */
.with-second-menu-light .nav-item{
  position:relative !important;
}

/* Малые выпадающие меню: Услуги / Как купить / Компания / Дилерам */
.with-second-menu-light .mega.small,
.with-second-menu-light .mega.small.right{
  top:calc(100% - 1px) !important;
  margin-top:0 !important;
  transform:none !important;
  border-top-left-radius:0 !important;
  border-top-right-radius:0 !important;
}

.with-second-menu-light .nav-item:hover .mega.small,
.with-second-menu-light .nav-item.is-open .mega.small{
  transform:none !important;
}

/* Большое меню Каталог */
.with-second-menu-light .catalog-list-menu{
  top:calc(100% - 1px) !important;
  margin-top:0 !important;
  transform:none !important;
  border-top-left-radius:0 !important;
  border-top-right-radius:0 !important;
}

.with-second-menu-light .nav-item-catalog:hover .catalog-list-menu,
.with-second-menu-light .nav-item-catalog.is-open .catalog-list-menu{
  transform:none !important;
}


/* ===== FITVL v97: FINAL menu dropdown no-gap fix =====
   Причина зазора была в padding-bottom у пунктов меню.
   Убираем визуальный зазор, выпадающие блоки ставим вплотную к черной полосе. */
.with-second-menu-light .nav-item:not(.nav-item-catalog),
.with-second-menu-light .nav-item-catalog{
  padding-bottom:0 !important;
  margin-bottom:0 !important;
}

.with-second-menu-light .nav-item:not(.nav-item-catalog)::after,
.with-second-menu-light .nav-item-catalog::after{
  top:100% !important;
  height:2px !important;
  bottom:auto !important;
  background:transparent !important;
  pointer-events:auto !important;
}

.with-second-menu-light .mega.small,
.with-second-menu-light .mega.small.right{
  top:100% !important;
  margin-top:0 !important;
  transform:translateY(0) !important;
  border-top-left-radius:0 !important;
  border-top-right-radius:0 !important;
}

.with-second-menu-light .nav-item:hover .mega.small,
.with-second-menu-light .nav-item:focus-within .mega.small,
.with-second-menu-light .nav-item.is-open .mega.small{
  transform:translateY(0) !important;
}

.with-second-menu-light .catalog-list-menu{
  top:100% !important;
  margin-top:0 !important;
  transform:translateY(0) !important;
  border-top-left-radius:0 !important;
  border-top-right-radius:0 !important;
}

.with-second-menu-light .nav-item-catalog:hover .catalog-list-menu,
.with-second-menu-light .nav-item-catalog:focus-within .catalog-list-menu,
.with-second-menu-light .nav-item-catalog.is-open .catalog-list-menu{
  transform:translateY(0) !important;
}


/* ===== FITVL v98: dropdowns lowered by 2px =====
   После v97 выпадающее меню стало вплотную, но визуально чуть заходило на черную полосу.
   Опускаем малые меню и каталог на 2px ниже, сохраняя прозрачную hover-зону. */
.with-second-menu-light .mega.small,
.with-second-menu-light .mega.small.right{
  top:calc(100% + 2px) !important;
  margin-top:0 !important;
  transform:translateY(0) !important;
}

.with-second-menu-light .catalog-list-menu{
  top:calc(100% + 2px) !important;
  margin-top:0 !important;
  transform:translateY(0) !important;
}

.with-second-menu-light .nav-item:hover .mega.small,
.with-second-menu-light .nav-item:focus-within .mega.small,
.with-second-menu-light .nav-item.is-open .mega.small,
.with-second-menu-light .nav-item-catalog:hover .catalog-list-menu,
.with-second-menu-light .nav-item-catalog:focus-within .catalog-list-menu,
.with-second-menu-light .nav-item-catalog.is-open .catalog-list-menu{
  transform:translateY(0) !important;
}

.with-second-menu-light .nav-item:not(.nav-item-catalog)::after,
.with-second-menu-light .nav-item-catalog::after{
  height:4px !important;
}


/* FITVL v105: unified orange block labels */
body :is(.hero-kicker,.eyebrow,.services-keyturn-label,.solution-label,.kicker,.corp-kicker,.crossfit-mini-kicker,.studio-mini-kicker,.summary-kicker,.gym-eyebrow,.gym-section-kicker){font-family:Montserrat,Arial,sans-serif!important;font-size:11px!important;line-height:1.35!important;font-weight:700!important;color:#f59f00!important;letter-spacing:.02em!important;text-transform:uppercase!important;text-shadow:none!important;}

/* ===== FITVL v130: unified decorative stage digits =====
   Эталон: цифры в блоке "Как мы работаем над проектом".
   Цифра — мягкий фоновый декоративный слой внутри карточки, не активный оранжевый элемент. */
body .services-keyturn-card,
body .steps-v2 .step,
body .process-card,
body .solution-page-main .process .card,
body .solution-page-main :is(.crossfit-card,.crossfit-zone-card,.crossfit-note-card,.studio-design-card,.audience-card,.principle-card,.equipment-card,.zone-card,.format-card,.composition-card,.summary-card,.gym-scenario-card,.gym-zone-card,.rehab-zone-card){
  position:relative !important;
  overflow:hidden !important;
  isolation:isolate !important;
}

/* Главная: 01–04 в блоке "Комплексное оснащение фитнес-пространств" */
body .services-keyturn-card > div{
  position:relative !important;
  z-index:1 !important;
  isolation:isolate !important;
}
body .services-keyturn-card span{
  position:absolute !important;
  top:18px !important;
  right:20px !important;
  margin:0 !important;
  padding:0 !important;
  width:auto !important;
  height:auto !important;
  min-width:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:none !important;
  box-shadow:none !important;
  font-family:Montserrat, Arial, sans-serif !important;
  font-size:44px !important;
  line-height:.92 !important;
  font-weight:900 !important;
  letter-spacing:-.05em !important;
  color:rgba(255,179,0,.18) !important;
  text-shadow:none !important;
  pointer-events:none !important;
  user-select:none !important;
  z-index:0 !important;
}
body .services-keyturn-card h3,
body .services-keyturn-card p,
body .services-keyturn-card button{
  position:relative !important;
  z-index:2 !important;
}
body .services-keyturn-card h3{
  padding-right:48px !important;
}

/* Блоки процесса: приводим все явные номера к тому же виду */
body .steps-v2 .step strong,
body .solution-page-main :is(.crossfit-card,.crossfit-zone-card,.crossfit-note-card,.audience-card,.principle-card,.equipment-card,.zone-card,.format-card,.composition-card,.summary-card,.gym-scenario-card,.gym-zone-card,.rehab-zone-card) > .num,
body .solution-page-main :is(.crossfit-zone-body,.crossfit-format-body,.studio-format-body,.gym-zone-body,.rehab-zone-body,.zone-body) > .num,
body .solution-page-main .studio-design-number{
  position:absolute !important;
  top:18px !important;
  right:20px !important;
  margin:0 !important;
  padding:0 !important;
  width:auto !important;
  height:auto !important;
  min-width:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:none !important;
  box-shadow:none !important;
  font-family:Montserrat, Arial, sans-serif !important;
  font-size:44px !important;
  line-height:.92 !important;
  font-weight:900 !important;
  letter-spacing:-.05em !important;
  color:rgba(255,179,0,.18) !important;
  text-shadow:none !important;
  pointer-events:none !important;
  user-select:none !important;
  z-index:0 !important;
}

body .solution-page-main .process .card:before,
body .process-card:before{
  right:20px !important;
  top:18px !important;
  font-family:Montserrat, Arial, sans-serif !important;
  font-size:44px !important;
  line-height:.92 !important;
  font-weight:900 !important;
  letter-spacing:-.05em !important;
  color:rgba(255,179,0,.18) !important;
  text-shadow:none !important;
  z-index:0 !important;
}

body .solution-page-main :is(.crossfit-card,.crossfit-zone-card,.crossfit-note-card,.studio-design-card,.audience-card,.principle-card,.equipment-card,.zone-card,.format-card,.composition-card,.summary-card,.gym-scenario-card,.gym-zone-card,.rehab-zone-card) h3,
body .solution-page-main :is(.crossfit-card,.crossfit-zone-card,.crossfit-note-card,.studio-design-card,.audience-card,.principle-card,.equipment-card,.zone-card,.format-card,.composition-card,.summary-card,.gym-scenario-card,.gym-zone-card,.rehab-zone-card) p,
body .solution-page-main :is(.crossfit-card,.crossfit-zone-card,.crossfit-note-card,.studio-design-card,.audience-card,.principle-card,.equipment-card,.zone-card,.format-card,.composition-card,.summary-card,.gym-scenario-card,.gym-zone-card,.rehab-zone-card) .badge-row,
body .solution-page-main :is(.crossfit-card,.crossfit-zone-card,.crossfit-note-card,.studio-design-card,.audience-card,.principle-card,.equipment-card,.zone-card,.format-card,.composition-card,.summary-card,.gym-scenario-card,.gym-zone-card,.rehab-zone-card) .crossfit-tags,
body .steps-v2 .step h3,
body .steps-v2 .step p{
  position:relative !important;
  z-index:2 !important;
}

@media (max-width:900px){
  body .services-keyturn-card span,
  body .steps-v2 .step strong,
  body .solution-page-main .process .card:before,
  body .process-card:before,
  body .solution-page-main :is(.crossfit-card,.crossfit-zone-card,.crossfit-note-card,.audience-card,.principle-card,.equipment-card,.zone-card,.format-card,.composition-card,.summary-card,.gym-scenario-card,.gym-zone-card,.rehab-zone-card) > .num,
  body .solution-page-main :is(.crossfit-zone-body,.crossfit-format-body,.studio-format-body,.gym-zone-body,.rehab-zone-body,.zone-body) > .num,
  body .solution-page-main .studio-design-number{
    top:16px !important;
    right:16px !important;
    font-size:38px !important;
    color:rgba(255,179,0,.16) !important;
  }
  body .services-keyturn-card h3{
    padding-right:42px !important;
  }
}


/* fitvl-v132-stage-digits-bottom-right-fix */
/* FITVL v132 — точечный override: декоративные цифры 01/02/03/04 вниз вправо.
   Не меняем структуру карточек, баннеры, меню и мобильную логику. */
body .services-keyturn-card,
body .steps-v2 .step,
body .process-card,
body .solution-page-main .process .card,
body .solution-page-main :is(.crossfit-card,.crossfit-zone-card,.crossfit-note-card,.studio-design-card,.audience-card,.principle-card,.equipment-card,.zone-card,.format-card,.composition-card,.summary-card,.gym-scenario-card,.gym-zone-card,.rehab-zone-card){
  position:relative !important;
  overflow:hidden !important;
  isolation:isolate !important;
}

body .services-keyturn-card > div{
  position:relative !important;
  z-index:1 !important;
  isolation:isolate !important;
  height:100% !important;
}

body .services-keyturn-card span,
body .steps-v2 .step strong,
body .solution-page-main :is(.crossfit-card,.crossfit-zone-card,.crossfit-note-card,.audience-card,.principle-card,.equipment-card,.zone-card,.format-card,.composition-card,.summary-card,.gym-scenario-card,.gym-zone-card,.rehab-zone-card) > .num,
body .solution-page-main :is(.crossfit-zone-body,.crossfit-format-body,.studio-format-body,.gym-zone-body,.rehab-zone-body,.zone-body) > .num,
body .solution-page-main .studio-design-number{
  position:absolute !important;
  top:auto !important;
  bottom:18px !important;
  right:20px !important;
  margin:0 !important;
  padding:0 !important;
  width:auto !important;
  height:auto !important;
  min-width:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:none !important;
  box-shadow:none !important;
  font-family:Montserrat, Arial, sans-serif !important;
  font-size:44px !important;
  line-height:.92 !important;
  font-weight:900 !important;
  letter-spacing:-.05em !important;
  color:rgba(255,179,0,.18) !important;
  text-shadow:none !important;
  pointer-events:none !important;
  user-select:none !important;
  z-index:0 !important;
}

body .solution-page-main .process .card:before,
body .process-card:before{
  top:auto !important;
  bottom:18px !important;
  right:20px !important;
  font-family:Montserrat, Arial, sans-serif !important;
  font-size:44px !important;
  line-height:.92 !important;
  font-weight:900 !important;
  letter-spacing:-.05em !important;
  color:rgba(255,179,0,.18) !important;
  text-shadow:none !important;
  z-index:0 !important;
}

body .services-keyturn-card h3{
  padding-right:0 !important;
}

body .services-keyturn-card h3,
body .services-keyturn-card p,
body .services-keyturn-card button,
body .solution-page-main :is(.crossfit-card,.crossfit-zone-card,.crossfit-note-card,.studio-design-card,.audience-card,.principle-card,.equipment-card,.zone-card,.format-card,.composition-card,.summary-card,.gym-scenario-card,.gym-zone-card,.rehab-zone-card) h3,
body .solution-page-main :is(.crossfit-card,.crossfit-zone-card,.crossfit-note-card,.studio-design-card,.audience-card,.principle-card,.equipment-card,.zone-card,.format-card,.composition-card,.summary-card,.gym-scenario-card,.gym-zone-card,.rehab-zone-card) p,
body .solution-page-main :is(.crossfit-card,.crossfit-zone-card,.crossfit-note-card,.studio-design-card,.audience-card,.principle-card,.equipment-card,.zone-card,.format-card,.composition-card,.summary-card,.gym-scenario-card,.gym-zone-card,.rehab-zone-card) .badge-row,
body .solution-page-main :is(.crossfit-card,.crossfit-zone-card,.crossfit-note-card,.studio-design-card,.audience-card,.principle-card,.equipment-card,.zone-card,.format-card,.composition-card,.summary-card,.gym-scenario-card,.gym-zone-card,.rehab-zone-card) .crossfit-tags,
body .steps-v2 .step h3,
body .steps-v2 .step p{
  position:relative !important;
  z-index:2 !important;
}

@media (max-width:900px){
  body .services-keyturn-card span,
  body .steps-v2 .step strong,
  body .solution-page-main .process .card:before,
  body .process-card:before,
  body .solution-page-main :is(.crossfit-card,.crossfit-zone-card,.crossfit-note-card,.audience-card,.principle-card,.equipment-card,.zone-card,.format-card,.composition-card,.summary-card,.gym-scenario-card,.gym-zone-card,.rehab-zone-card) > .num,
  body .solution-page-main :is(.crossfit-zone-body,.crossfit-format-body,.studio-format-body,.gym-zone-body,.rehab-zone-body,.zone-body) > .num,
  body .solution-page-main .studio-design-number{
    top:auto !important;
    bottom:16px !important;
    right:16px !important;
    font-size:38px !important;
    color:rgba(255,179,0,.16) !important;
  }
}

.container:after, .container:before {
   display: none !important;
}
.container {
   padding: 0 !important;
}
img {
   margin-left: unset;
   margin-right: unset;
}
b {
   font-weight: bolder;
}
header a.mail-ref {
   display: flex !important;
}
.with-second-menu-light .catalog-thumb-img {
 filter: none !important;
}
#catalog .mosaic-more-panel {
 overflow-y: auto !important;
 scrollbar-width: none;
}
.personal-link {
 font-weight: bold;
}
.personal-link .svg {
 vertical-align: top !important;
 margin-right: 5px;
}
.auth_wr_inner {
 z-index: 99999;
}
.navstrip-placeholder {
 display: none !important;
}
@media (min-width: 481px) {
  .bottom-icons-panel {
   display: none !important; 
  }
}
@media (max-width: 768px) {
  .with-second-menu-light .hero-bg:before {
      background: linear-gradient(180deg, rgba(255, 255, 255, .98) 0%, rgba(255, 255, 255, .96) 45%, rgba(255, 255, 255, .74) 65%, rgba(255, 255, 255, .30) 80%, rgba(255, 255, 255, .06) 95%, rgba(255, 255, 255, 0) 100%), linear-gradient(180deg, rgba(255, 255, 255, .05), rgba(255, 255, 255, .20)) !important;
  }
}
body .navstrip-ref .nav-main .nav-item-catalog-list {
 position: static !important;
}
.with-second-menu-light .catalog-list-menu {
 min-width: 1320px !important;
}
@media (min-width: 1025px) and (max-width: 1366px) {
  body.with-second-menu-light .nav-item-catalog .catalog-list-menu {
   min-width: 1180px !important;
  }
}
.form_result.success {
 color: green;
}
#subscribe .form_result.success {
 text-align: center;
}

body {
 margin: 0 !important;
}
.with-second-menu-light header {
 height: auto !important;
 border: none !important;
}
section.hero {
 margin-top: -78px;
}
.catalog_item .footer_button .button_block  span.btn {
  display: flex;
}
.catalog_item .footer_button .button_block  a.btn {
  display: flex;
  gap: 0 !important;
}
span.oneclickbuy {
  display: flex !important;
}
@media (min-width: 601px) {
  .catalog_item span.btn-exlg {
    height: 56.7px !important;
    border-radius: 0 !important;
  }
}
.side-block span.btn {
  border-radius: 0 !important;
  width: 100% !important;
}
.product-container .counter_wrapp .button_block .in-cart span {
  line-height: 2.9 !important;
}
section.page-top {
  border: none;
}
#bx-soa-order #bx-soa-orderSave a {
  line-height: 3.5 !important;
}
#ft-badge {
  background: #f59f00 !important;
}
.bx_filter_block .bx_ui_slider_part span {
  white-space: nowrap;
}
.bx_filter_parameters_box_title div {
  width: 100%;
}


/* === v86: clean Montserrat typography system. Safe final layer, no layout/JS changes. === */
:root{
  --fitvl-font-family: Montserrat, Arial, sans-serif !important;
  --fitvl-hero-title-size: 52px;
  --fitvl-inner-hero-title-size: 42px;
  --fitvl-section-title-size: 32px;
  --fitvl-section-lead-size: 15px;
  --fitvl-body-size: 14px;
  --fitvl-card-title-size: 20px;
  --fitvl-card-title-compact-size: 18px;
  --fitvl-small-size: 11px;
  --fitvl-menu-size: 13px;
  --fitvl-line-compact: 1.18;
  --fitvl-line-normal: 1.55;
}

html,
body,
body *,
button,
input,
textarea,
select{
  font-family: Montserrat, Arial, sans-serif !important;
}

body{
  font-size: var(--fitvl-body-size) !important;
  line-height: var(--fitvl-line-normal) !important;
  font-weight: 400 !important;
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision;
}

/* Keep long Russian headings inside their blocks */
h1, h2, h3, h4, p, li, a, span, button{
  max-width: 100%;
  overflow-wrap: anywhere;
}

/* Hero titles are the only larger exception */
body .hero-copy h1{
  font-size: var(--fitvl-hero-title-size) !important;
  line-height: 1.04 !important;
  letter-spacing: -0.035em !important;
  font-weight: 800 !important;
  text-wrap: balance;
}

body :is(.solution-hero-content,
.corp-hero-content,
.crossfit-hero-content,
.studio-hero-content,
.rehab-hero-content,
.gym-hero-card,
.page-hero,
.solution-hero) h1,
body .solution-page h1{
  font-size: var(--fitvl-inner-hero-title-size) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.03em !important;
  font-weight: 800 !important;
  text-wrap: balance;
}

/* Unified section headings across main page and all solutions pages */
body h2,
body section h2,
body main h2,
body .section-title h2,
body .projects-presentation h2,
body .brand-title h2,
body .deep-title h2,
body .mosaic-head h2,
body .solutions-head h2,
body .solutions-section-v2 .solutions-head h2,
body .fitcalc-main h2,
body .equipment-process h2,
body .docs-head h2,
body .certs-head h2,
body .about-company-v72__copy h2,
body .about-text h2,
body .cta-box h2,
body [class*="-head"] h2,
body [class*="section"] h2{
  font-size: var(--fitvl-section-title-size) !important;
  line-height: var(--fitvl-line-compact) !important;
  letter-spacing: -0.025em !important;
  font-weight: 800 !important;
  text-wrap: balance;
  margin-top: 0;
}

/* Section leads and subtitles */
body :is(.lead,
.hero-copy .lead,
.hero-subtitle,
.hero-text,
.section-lead,
.presentation-note,
.deep-title p,
.mosaic-head p,
.solutions-head p,
.fitcalc-lead,
.solution-hero p,
.solution-page .lead,
.docs-head p,
.certs-head p,
.cta-box p,
.corp-hero-content p,
.crossfit-hero-content p,
.studio-hero-content p,
.rehab-hero-content p,
.gym-hero-card p,
[class*="subtitle"],
[class*="lead"]){
  font-size: var(--fitvl-section-lead-size) !important;
  line-height: 1.6 !important;
  letter-spacing: 0 !important;
  font-weight: 400 !important;
}

/* Card and block titles */
body h3,
body :is(.service-icon,
.promo-card,
.promo-card-v77,
.cat,
.visual-card,
.step,
.about-point,
.product,
.mosaic-card,
.solution-card,
.case-body,
.certificate-compact-body,
.fitcalc-result,
.process-card,
.zone-card,
.format-card,
.gallery-card,
.summary-card,
.composition-card,
.card,
.corp-solution-media-body,
.corp-zone-body,
.corp-note-card,
.crossfit-card,
.crossfit-zone-card,
.crossfit-zone-body,
.crossfit-format-body,
.crossfit-note-card,
.studio-format-body,
.studio-design-card,
.gym-scenario-head,
.gym-zone-body,
.rehab-zone-body,
.zone-body,
.audience-card,
.principle-card,
.equipment-card) h3{
  font-size: var(--fitvl-card-title-size) !important;
  line-height: 1.22 !important;
  letter-spacing: -0.018em !important;
  font-weight: 750 !important;
  text-wrap: balance;
}

/* Compact card titles where containers are narrow */
body .project-info h3,
body .case-overlay strong,
body .footer-col h3,
body .footer-contact h3,
body footer h3,
body .call-modal__dialog h2,
body .phone-menu-item strong{
  font-size: var(--fitvl-card-title-compact-size) !important;
  line-height: 1.2 !important;
  letter-spacing: -0.01em !important;
}

/* Standard text */
body p,
body li,
body label,
body input,
body textarea,
body select,
body .project-info p,
body .project-info .city,
body .project-meta,
body .service-icon p,
body .promo-card p,
body .promo-card-v77 p,
body .cat li,
body .case-body p,
body .step p,
body .about-text p,
body .about-point span,
body .cert p,
body .product span,
body .mosaic-card p,
body .solution-card p,
body .fitcalc-form,
body .fitcalc-form label,
body .fitcalc-summary,
body footer p,
body .footer-muted{
  font-size: var(--fitvl-body-size) !important;
  line-height: var(--fitvl-line-normal) !important;
  letter-spacing: 0 !important;
  font-weight: 400 !important;
}

/* Small UI, labels, menu and chips */
body :is(.eyebrow,
.hero-kicker,
.mosaic-tag,
.btn,
.top-btn,
.outline-link,
.nav,
.nav a,
.nav-item > button,
.header-search input,
.phone span,
.email-top span,
.catalog-full-head,
.mosaic-all-btn,
.solutions-head-btn,
.case-overlay span,
.case-region,
.project-scroll-btn,
.mosaic-panel-close,
.image-lightbox-caption,
.phone-menu-item span,
.solution-label,
.solution-cta,
.fitcalc-chip,
.fitcalc-option,
[class*="tag"],
[class*="label"],
[class*="badge"]){
  font-size: var(--fitvl-small-size) !important;
  line-height: 1.35 !important;
  letter-spacing: 0.02em !important;
  font-weight: 700 !important;
}

/* Navigation should stay readable but not oversized */
body .header-pro .nav-item > button,
body .nav-item > button,
body .header-search input{
  font-size: var(--fitvl-menu-size) !important;
  line-height: 1.2 !important;
  font-weight: 600 !important;
}

/* Popular category chips: compact so opened cards keep fitting */
body #catalog .mosaic-chips span,
body #catalog .mosaic-more-chip,
body #catalog .mosaic-more-panel span{
  font-size: 11px !important;
  line-height: 1.14 !important;
  font-weight: 700 !important;
}

/* Stats keep their accent hierarchy */
body .stat b,
body .stat-number,
body .hero-stat-number,
body [class*="metric"] strong{
  font-size: 30px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  letter-spacing: -0.035em !important;
}
body .stat span,
body [class*="metric"] span{
  font-size: 12px !important;
  line-height: 1.35 !important;
  font-weight: 500 !important;
}

/* Logo remains expressive, but still Montserrat */
body .logo-main,
body .footer-logo-main{
  font-family: Montserrat, Arial, sans-serif !important;
  font-weight: 900 !important;
}
body .logo-sub,
body .footer-logo-sub{
  font-family: Montserrat, Arial, sans-serif !important;
  font-size: 9px !important;
  line-height: 1.25 !important;
  letter-spacing: .04em !important;
}

@media(max-width: 1180px){
  :root{
    --fitvl-hero-title-size: 46px;
    --fitvl-inner-hero-title-size: 38px;
    --fitvl-section-title-size: 30px;
    --fitvl-section-lead-size: 14px;
    --fitvl-card-title-size: 19px;
    --fitvl-card-title-compact-size: 17px;
    --fitvl-menu-size: 12px;
  }
}

@media(max-width: 760px){
  :root{
    --fitvl-hero-title-size: 38px;
    --fitvl-inner-hero-title-size: 32px;
    --fitvl-section-title-size: 27px;
    --fitvl-section-lead-size: 14px;
    --fitvl-body-size: 13px;
    --fitvl-card-title-size: 18px;
    --fitvl-card-title-compact-size: 17px;
    --fitvl-small-size: 10px;
    --fitvl-menu-size: 12px;
  }

  body .hero-copy h1,
  body :is(.solution-hero-content,
  .corp-hero-content,
  .crossfit-hero-content,
  .studio-hero-content,
  .rehab-hero-content,
  .gym-hero-card,
  .page-hero,
  .solution-hero) h1{
    line-height: 1.08 !important;
  }

  body #catalog .mosaic-chips span,
  body #catalog .mosaic-more-chip,
  body #catalog .mosaic-more-panel span{
    font-size: 10px !important;
    line-height: 1.12 !important;
  }
}

@media(max-width: 430px){
  :root{
    --fitvl-section-title-size: 25px;
    --fitvl-card-title-size: 17px;
  }
}

/* === v87: rebuilt real projects block with calm typography and text below images === */
.projects-rebuild-v87{
  background:#fff !important;
  padding:52px 0 54px !important;
  border-top:1px solid rgba(15,23,42,.08) !important;
  border-bottom:1px solid rgba(15,23,42,.08) !important;
}

.projects-rebuild-v87 .projects-head-v87,
.brands-promos-v77 .brands-promos-head{
  display:grid !important;
  grid-template-columns:minmax(0, 1fr) auto !important;
  align-items:end !important;
  gap:28px !important;
}

.projects-rebuild-v87 .section-title h2,
.brands-promos-v77 .brands-promos-head h2{
  margin:0 0 10px !important;
  color:#10141b !important;
  font-family:Montserrat, Arial, sans-serif !important;
  font-size:32px !important;
  line-height:1.16 !important;
  letter-spacing:-0.018em !important;
  font-weight:700 !important;
  text-transform:none !important;
  text-shadow:none !important;
}

.projects-rebuild-v87 .presentation-note,
.brands-promos-v77 .brands-promos-head > p{
  max-width:620px !important;
  margin:0 !important;
  color:#4f5b6d !important;
  font-family:Montserrat, Arial, sans-serif !important;
  font-size:15px !important;
  line-height:1.58 !important;
  letter-spacing:0 !important;
  font-weight:400 !important;
}

.projects-rebuild-v87 .project-controls{
  align-self:start !important;
  padding-top:2px !important;
}

.projects-rebuild-v87 .project-scroll-btn{
  width:36px !important;
  height:34px !important;
  border-radius:8px !important;
  border:1px solid rgba(15,23,42,.12) !important;
  background:#fff !important;
  color:#10141b !important;
  font-family:Montserrat, Arial, sans-serif !important;
  font-size:18px !important;
  font-weight:500 !important;
  box-shadow:0 10px 26px rgba(15,23,42,.08) !important;
}

.projects-rebuild-v87 .project-scroll-btn:hover{
  background:#fff7e8 !important;
  border-color:rgba(255,138,26,.34) !important;
  color:#10141b !important;
}

.projects-rebuild-v87 .project-row-v87{
  display:flex !important;
  flex-wrap:nowrap !important;
  gap:18px !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  scroll-snap-type:x mandatory !important;
  scroll-behavior:smooth !important;
  padding:0 0 6px !important;
  scrollbar-width:none !important;
}
.projects-rebuild-v87 .project-row-v87::-webkit-scrollbar{display:none !important;}

.projects-rebuild-v87 .project-card-v87{
  position:relative !important;
  flex:0 0 calc((100% - 54px) / 4) !important;
  min-width:calc((100% - 54px) / 4) !important;
  height:auto !important;
  display:flex !important;
  flex-direction:column !important;
  border-radius:0 !important;
  border:1px solid rgba(15,23,42,.10) !important;
  background:#fff !important;
  overflow:hidden !important;
  box-shadow:none !important;
  scroll-snap-align:start !important;
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease !important;
}
.projects-rebuild-v87 .project-card-v87:after,
.projects-rebuild-v87 .project-card-v87:before{
  display:none !important;
  content:none !important;
}
.projects-rebuild-v87 .project-card-v87:hover{
  transform:translateY(-3px) !important;
  border-color:rgba(255,138,26,.30) !important;
  box-shadow:0 18px 42px rgba(15,23,42,.10) !important;
}

.projects-rebuild-v87 .project-thumb-v87{
  position:relative !important;
  height:245px !important;
  background:#f3f5f8 !important;
  overflow:hidden !important;
}
.projects-rebuild-v87 .project-thumb-v87 img{
  position:relative !important;
  inset:auto !important;
  width:100% !important;
  height:100% !important;
  display:block !important;
  object-fit:cover !important;
  object-position:center !important;
  filter:none !important;
  transform:none !important;
  transition:transform .34s ease !important;
}
.projects-rebuild-v87 .project-card-v87:hover .project-thumb-v87 img{
  transform:scale(1.035) !important;
}

.projects-rebuild-v87 .project-info-v87{
  position:static !important;
  z-index:1 !important;
  left:auto !important;
  right:auto !important;
  bottom:auto !important;
  padding:18px 20px 20px !important;
  color:#10141b !important;
  text-shadow:none !important;
  background:#fff !important;
}
.projects-rebuild-v87 .project-region-v87{
  margin:0 0 8px !important;
  color:#8a94a3 !important;
  font-family:Montserrat, Arial, sans-serif !important;
  font-size:11px !important;
  line-height:1.3 !important;
  letter-spacing:.055em !important;
  font-weight:500 !important;
  text-transform:uppercase !important;
}
.projects-rebuild-v87 .project-info-v87 h3{
  margin:0 0 10px !important;
  color:#10141b !important;
  font-family:Montserrat, Arial, sans-serif !important;
  font-size:17px !important;
  line-height:1.24 !important;
  letter-spacing:-.01em !important;
  font-weight:650 !important;
  text-transform:none !important;
  text-shadow:none !important;
}
.projects-rebuild-v87 .project-info-v87 p{
  margin:0 !important;
  color:#4f5b6d !important;
  font-family:Montserrat, Arial, sans-serif !important;
  font-size:13px !important;
  line-height:1.5 !important;
  letter-spacing:0 !important;
  font-weight:400 !important;
  text-shadow:none !important;
}
.projects-rebuild-v87 .project-facts-v87{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:8px !important;
  margin-top:14px !important;
}
.projects-rebuild-v87 .project-facts-v87 span{
  display:inline-flex !important;
  align-items:center !important;
  min-height:28px !important;
  padding:6px 10px !important;
  border-radius:999px !important;
  border:1px solid rgba(15,23,42,.10) !important;
  background:#f6f7f9 !important;
  color:#465266 !important;
  font-family:Montserrat, Arial, sans-serif !important;
  font-size:11px !important;
  line-height:1 !important;
  letter-spacing:0 !important;
  font-weight:500 !important;
}

@media(max-width:1180px){
  .projects-rebuild-v87 .project-card-v87{
    flex-basis:calc((100% - 36px) / 3) !important;
    min-width:calc((100% - 36px) / 3) !important;
  }
  .projects-rebuild-v87 .project-thumb-v87{height:220px !important;}
}
@media(max-width:860px){
  .projects-rebuild-v87 .projects-head-v87,
  .brands-promos-v77 .brands-promos-head{
    grid-template-columns:1fr !important;
    align-items:start !important;
  }
  .projects-rebuild-v87 .project-card-v87{
    flex-basis:calc((100% - 18px) / 2) !important;
    min-width:calc((100% - 18px) / 2) !important;
  }
  .projects-rebuild-v87 .project-thumb-v87{height:230px !important;}
}
@media(max-width:560px){
  .projects-rebuild-v87{padding:42px 0 46px !important;}
  .projects-rebuild-v87 .project-controls{display:none !important;}
  .projects-rebuild-v87 .section-title h2,
  .brands-promos-v77 .brands-promos-head h2{
    font-size:25px !important;
    line-height:1.18 !important;
    letter-spacing:-0.012em !important;
  }
  .projects-rebuild-v87 .project-card-v87{
    flex-basis:100% !important;
    min-width:100% !important;
  }
  .projects-rebuild-v87 .project-thumb-v87{height:255px !important;}
  .projects-rebuild-v87 .project-info-v87{padding:17px 18px 19px !important;}
}

/* v110 — services block unified cleanup */
.services-keyturn-head h2{
  max-width:860px !important;
  margin:10px 0 12px !important;
  color:#111318 !important;
  font-size:32px !important;
  line-height:1.05 !important;
  letter-spacing:-.055em !important;
  font-weight:950 !important;
}
.services-keyturn-head p{
  max-width:760px !important;
  margin:0 !important;
  color:#5d6676 !important;
  font-size:15px !important;
  line-height:1.55 !important;
  letter-spacing:0 !important;
  font-weight:600 !important;
}

.services-keyturn-hero{
  border:1px solid rgba(16,18,22,.10) !important;
  box-shadow:0 18px 44px rgba(15,18,24,.08) !important;
  background:#0c1018 !important;
}
.services-keyturn-hero::before,
.services-keyturn-hero::after{
  content:none !important;
  display:none !important;
}
.services-keyturn-hero-layer{
  background-image:
    linear-gradient(180deg, rgba(5,7,11,.20), rgba(5,7,11,.56) 44%, rgba(5,7,11,.86)),
    linear-gradient(90deg, rgba(4,8,18,.74), rgba(4,8,18,.34) 58%, rgba(4,8,18,.14)),
    var(--service-image) !important;
}
.services-keyturn-hero-content{
  left:32px !important;
  right:32px !important;
  bottom:32px !important;
  padding:0 !important;
}
.services-keyturn-hero .services-keyturn-label{
  display:inline-flex !important;
  min-height:28px !important;
  padding:7px 12px !important;
  margin-bottom:16px !important;
  border-radius:999px !important;
  background:rgba(255,184,0,.16) !important;
  border:1px solid rgba(255,152,0,.34) !important;
  color:#f59f00 !important;
  font-size:11px !important;
  font-weight:700 !important;
  line-height:1.35 !important;
  letter-spacing:.02em !important;
  text-transform:uppercase !important;
}
.services-keyturn-hero-content h3,
.services-keyturn-hero h3{
  display:block !important;
  width:max-content !important;
  max-width:min(620px, 100%) !important;
  margin:0 0 14px !important;
  padding:10px 14px 12px !important;
  border-radius:14px !important;
  color:#fff !important;
  background:linear-gradient(90deg, rgba(8,11,18,.88), rgba(8,11,18,.70)) !important;
  font-size:34px !important;
  line-height:1.08 !important;
  letter-spacing:-.045em !important;
  font-weight:900 !important;
  text-shadow:0 12px 28px rgba(0,0,0,.58) !important;
  -webkit-box-decoration-break:clone !important;
  box-decoration-break:clone !important;
}
.services-keyturn-hero-content p,
.services-keyturn-hero p{
  max-width:640px !important;
  margin:0 !important;
  color:#eef3fb !important;
  font-size:15px !important;
  line-height:1.55 !important;
  text-shadow:0 8px 22px rgba(0,0,0,.72) !important;
}

.services-keyturn-cards{
  gap:18px !important;
}
.services-keyturn-icon{
  display:none !important;
}
.services-keyturn-card{
  display:flex !important;
  min-height:265px !important;
  padding:28px 24px !important;
  border-radius:24px !important;
  border:1px solid rgba(16,18,22,.10) !important;
  background:linear-gradient(180deg,#fff,#f8f9fb) !important;
  box-shadow:0 18px 44px rgba(15,18,24,.08) !important;
  cursor:pointer !important;
  overflow:hidden !important;
  transition:
    transform .34s cubic-bezier(.22,.61,.36,1),
    border-color .28s ease,
    box-shadow .34s cubic-bezier(.22,.61,.36,1) !important;
}
.services-keyturn-card::before{
  content:none !important;
  display:none !important;
}
.services-keyturn-card:hover{
  transform:translateY(-4px) !important;
  border-color:rgba(255,152,0,.28) !important;
  background:linear-gradient(180deg,#fff,#f8f9fb) !important;
  box-shadow:0 24px 60px rgba(15,18,24,.12), 0 0 0 1px rgba(255,184,0,.08) !important;
}
.services-keyturn-card > div{
  display:flex !important;
  flex-direction:column !important;
  height:100% !important;
}
.services-keyturn-card span{
  display:inline-block !important;
  margin:0 0 10px !important;
  color:#f59f00 !important;
  font-size:14px !important;
  line-height:1.1 !important;
  font-weight:900 !important;
  letter-spacing:.05em !important;
}
.services-keyturn-card h3{
  margin:0 0 12px !important;
  color:#111318 !important;
  font-size:20px !important;
  line-height:1.08 !important;
  letter-spacing:-.03em !important;
  font-weight:900 !important;
}
.services-keyturn-card p{
  min-height:0 !important;
  margin:0 0 20px !important;
  color:#5f6878 !important;
  font-size:14px !important;
  line-height:1.55 !important;
  font-weight:500 !important;
}
.services-keyturn-card button{
  align-self:flex-start !important;
  margin-top:auto !important;
  height:36px !important;
  padding:0 15px !important;
  border-radius:999px !important;
  border:1px solid rgba(16,18,22,.10) !important;
  background:#fff !important;
  color:#111318 !important;
  box-shadow:0 10px 24px rgba(15,18,24,.08) !important;
  font-size:13px !important;
  line-height:1 !important;
  font-weight:800 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
  transition:background .22s ease, border-color .22s ease, box-shadow .22s ease, color .22s ease !important;
}
.services-keyturn-card button em{
  color:#111318 !important;
  font-style:normal !important;
}
.services-keyturn-card button:hover{
  background:#fff7e8 !important;
  border-color:rgba(255,152,0,.24) !important;
  color:#111318 !important;
  box-shadow:0 14px 28px rgba(255,184,0,.10) !important;
  transform:none !important;
}
.services-keyturn-card button:hover em{
  color:#111318 !important;
  transform:none !important;
}

@media (max-width: 900px){
  .services-keyturn-head h2{font-size:28px !important;}
  .services-keyturn-hero-content h3,
  .services-keyturn-hero h3{font-size:28px !important;max-width:100% !important;}
}


/* v114 — services steps cards refined, option 1 digits */
.services-keyturn-hero-content h3,
.services-keyturn-hero h3{
  width:auto !important;
  max-width:620px !important;
  padding:0 !important;
  border-radius:0 !important;
  background:none !important;
  box-shadow:none !important;
  text-shadow:0 14px 34px rgba(0,0,0,.58) !important;
  -webkit-box-decoration-break:slice !important;
  box-decoration-break:slice !important;
}
.services-keyturn-hero-content p,
.services-keyturn-hero p{
  text-shadow:0 10px 26px rgba(0,0,0,.65) !important;
}

.services-keyturn-cards{
  gap:18px !important;
}
.services-keyturn-card{
  position:relative !important;
  background:linear-gradient(180deg,#ffffff 0%, #fbfbfd 100%) !important;
  border:1px solid rgba(16,18,22,.08) !important;
  box-shadow:0 14px 30px rgba(15,18,24,.06) !important;
  overflow:hidden !important;
}
.services-keyturn-card:hover{
  transform:translateY(-3px) !important;
  border-color:rgba(245,159,0,.18) !important;
  box-shadow:0 18px 42px rgba(15,18,24,.10), 0 0 0 1px rgba(245,159,0,.06) !important;
}
.services-keyturn-card > div{
  position:relative !important;
  isolation:isolate !important;
}
.services-keyturn-card span{
  position:absolute !important;
  top:12px !important;
  right:18px !important;
  margin:0 !important;
  z-index:0 !important;
  font-family:Montserrat, Arial, sans-serif !important;
  font-size:88px !important;
  line-height:.9 !important;
  font-weight:900 !important;
  letter-spacing:-0.06em !important;
  color:rgba(245,159,0,.11) !important;
  pointer-events:none !important;
  user-select:none !important;
}
.services-keyturn-card h3,
.services-keyturn-card p,
.services-keyturn-card button{
  position:relative !important;
  z-index:1 !important;
}
.services-keyturn-card h3{
  margin:14px 0 12px !important;
}
.services-keyturn-card button{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:7px !important;
  min-height:34px !important;
  height:34px !important;
  padding:0 14px !important;
  border-radius:999px !important;
  border:1px solid rgba(255,138,26,.10) !important;
  background:#f4f6f9 !important;
  color:#10141b !important;
  box-shadow:none !important;
  font-family:Montserrat, Arial, sans-serif !important;
  font-size:12px !important;
  line-height:1 !important;
  font-weight:800 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
  transition:background .22s ease, color .22s ease, box-shadow .22s ease, border-color .22s ease, transform .22s ease !important;
}
.services-keyturn-card button em{
  color:inherit !important;
  font-style:normal !important;
}
.services-keyturn-card button:hover{
  background:linear-gradient(180deg,#ffbf3f 0%, #ff9b22 100%) !important;
  color:#10141b !important;
  border-color:rgba(255,138,26,.72) !important;
  box-shadow:0 12px 24px rgba(255,138,26,.28) !important;
  transform:translateY(-1px) !important;
}
.services-keyturn-card button:hover em{
  color:inherit !important;
}
@media (max-width:900px){
  .services-keyturn-card span{
    font-size:72px !important;
    top:14px !important;
    right:16px !important;
  }
}

/* Эталон: "Официальные бренды и удобные условия для проекта" */
body .services-keyturn-head h2,
body .fitcalc-main h2,
body .certificates-premium-head h2,
body .docs-about .section-title h2,
body .docs-about h2,
body .about-company-v72__head h2,
body .about-company-v72 h2,
body #about h2{
  font-family: Montserrat, Arial, sans-serif !important;
  font-size: 32px !important;
  font-weight: 700 !important;
  color: #10141b !important;
  line-height: 1.16 !important;
  letter-spacing: -0.01em !important;
  text-transform: none !important;
  text-shadow: none !important;
}

@media(max-width:560px){
  body .services-keyturn-head h2,
  body .fitcalc-main h2,
  body .certificates-premium-head h2,
  body .docs-about .section-title h2,
  body .docs-about h2,
  body .about-company-v72__head h2,
  body .about-company-v72 h2,
  body #about h2{
    font-size:25px !important;
    line-height:1.18 !important;
    letter-spacing:-0.01em !important;
  }
}

/* v115 — soften stage digits + card shadow like "Типовые решения" */
.services-keyturn-card{
  background:linear-gradient(180deg,#ffffff 0%, #fbfbfd 100%) !important;
  border:1px solid rgba(16,18,22,.10) !important;
  box-shadow:0 18px 44px rgba(15,18,24,.08) !important;
}
.services-keyturn-card:hover{
  transform:translateY(-4px) !important;
  border-color:rgba(255,152,0,.42) !important;
  box-shadow:0 24px 70px rgba(15,18,24,.13),0 0 0 1px rgba(255,184,0,.10) !important;
}
.services-keyturn-card span{
  top:16px !important;
  right:18px !important;
  font-size:80px !important;
  line-height:.92 !important;
  font-weight:900 !important;
  letter-spacing:-0.065em !important;
  color:rgba(245,159,0,.075) !important;
}
@media (max-width:900px){
  .services-keyturn-card span{
    font-size:66px !important;
    top:16px !important;
    right:16px !important;
  }
}

.certificate-compact-count{display:none !important;}
.certificate-compact-body > span{display:none !important;}

/* v118 — footer returned to stable contact layout and unified typography */
body .site-footer{
  position:relative !important;
  overflow:hidden !important;
  padding:54px 0 24px !important;
  color:#687386 !important;
  background:
    radial-gradient(circle at 14% 12%, rgba(255,178,27,.10), transparent 30%),
    linear-gradient(180deg,#ffffff 0%,#f8f9fb 100%) !important;
  border-top:1px solid rgba(15,23,42,.08) !important;
  font-family:Montserrat, Arial, sans-serif !important;
}
body .site-footer:before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background:
    linear-gradient(112deg, transparent 0 14%, rgba(255,184,0,.06) 14.4% 16.4%, transparent 17% 100%),
    linear-gradient(112deg, transparent 0 71%, rgba(36,118,255,.045) 71.4% 73.2%, transparent 74% 100%) !important;
  opacity:.65 !important;
  pointer-events:none !important;
}
body .site-footer .container{
  position:relative !important;
  z-index:2 !important;
}
body .footer-main{
  display:grid !important;
  grid-template-columns:minmax(250px,1.25fr) .72fr .84fr .84fr .98fr !important;
  gap:34px !important;
  align-items:start !important;
  padding-bottom:30px !important;
}
body .footer-brand,
body .footer-col,
body .footer-contact{
  min-height:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
body .footer-brand{
  max-width:390px !important;
}
body .footer-logo{
  display:flex !important;
  align-items:center !important;
  gap:16px !important;
  margin-bottom:20px !important;
}
body .footer-logo-image img{
  max-width:150px !important;
  height:auto !important;
}
body .footer-brand-text{
  max-width:350px !important;
  margin:0 !important;
  color:#687386 !important;
  font-size:13px !important;
  line-height:1.65 !important;
  font-weight:500 !important;
  letter-spacing:0 !important;
}
body .footer-socials{
  display:flex !important;
  gap:10px !important;
  margin-top:22px !important;
}
body .footer-socials a{
  width:34px !important;
  height:34px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:999px !important;
  border:1px solid rgba(16,18,22,.08) !important;
  background:#10141b !important;
  color:#fff !important;
  text-decoration:none !important;
  transition:transform .22s ease, background .22s ease, box-shadow .22s ease !important;
}
body .footer-socials a svg{
  width:15px !important;
  height:15px !important;
  display:block !important;
  fill:currentColor !important;
}
body .footer-socials a:hover{
  transform:translateY(-2px) !important;
  background:linear-gradient(180deg,#ffbf3f 0%, #ff9b22 100%) !important;
  color:#10141b !important;
  box-shadow:0 12px 24px rgba(255,138,26,.22) !important;
}
body .site-footer h3,
body .footer-col h3,
body .footer-contact h3{
  margin:0 0 16px !important;
  color:#10141b !important;
  font-size:13px !important;
  line-height:1.2 !important;
  font-weight:800 !important;
  text-transform:uppercase !important;
  letter-spacing:.02em !important;
}
body .footer-links{
  display:grid !important;
  gap:10px !important;
}
body .footer-links a{
  position:relative !important;
  display:block !important;
  min-height:auto !important;
  padding:0 !important;
  color:#566174 !important;
  font-size:13px !important;
  line-height:1.45 !important;
  font-weight:550 !important;
  letter-spacing:0 !important;
  text-decoration:none !important;
  transition:color .22s ease, transform .22s ease !important;
}
body .footer-links a:before{
  display:none !important;
  content:none !important;
}
body .footer-links a:hover,
body .footer-mail:hover{
  color:#f59f00 !important;
  transform:translateX(2px) !important;
}
body .footer-phone{
  display:inline-block !important;
  margin-bottom:6px !important;
  color:#10141b !important;
  font-size:16px !important;
  line-height:1.25 !important;
  font-weight:800 !important;
  letter-spacing:0 !important;
  text-decoration:none !important;
}
body .footer-muted{
  display:block !important;
  margin-bottom:14px !important;
  color:#7a8494 !important;
  font-size:12px !important;
  line-height:1.35 !important;
  font-weight:500 !important;
}
body .footer-mail{
  display:inline-block !important;
  margin-bottom:16px !important;
  color:#f59f00 !important;
  font-size:13px !important;
  line-height:1.3 !important;
  font-weight:700 !important;
  text-decoration:none !important;
}
body .footer-address{
  display:grid !important;
  gap:8px !important;
  margin-bottom:20px !important;
  color:#687386 !important;
  font-size:12px !important;
  line-height:1.45 !important;
  font-weight:500 !important;
}
body .footer-address span{
  display:block !important;
  padding:0 !important;
}
body .footer-address span:before{
  display:none !important;
  content:none !important;
}
body .footer-action{
  min-height:40px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 22px !important;
  border-radius:999px !important;
  border:1px solid rgba(202,124,0,.20) !important;
  background:linear-gradient(135deg,#ff8a00,#ffc400) !important;
  color:#111318 !important;
  box-shadow:0 14px 30px rgba(255,152,0,.18) !important;
  font-size:12px !important;
  line-height:1 !important;
  font-weight:800 !important;
  letter-spacing:.01em !important;
  text-transform:uppercase !important;
  text-decoration:none !important;
  transition:transform .22s ease, box-shadow .22s ease !important;
}
body .footer-action:hover{
  transform:translateY(-2px) !important;
  box-shadow:0 18px 38px rgba(255,152,0,.25) !important;
}
body .footer-bottom{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:16px !important;
  padding-top:22px !important;
  border-top:1px solid rgba(15,23,42,.08) !important;
  color:#7a8494 !important;
  font-size:12px !important;
  line-height:1.4 !important;
}
body .footer-bottom-links{
  display:none !important;
}
@media(max-width:1100px){
  body .footer-main{
    grid-template-columns:1.2fr 1fr 1fr !important;
    gap:30px 34px !important;
  }
  body .footer-brand,
  body .footer-contact{
    grid-column:auto !important;
  }
}
@media(max-width:760px){
  body .site-footer{
    padding:42px 0 22px !important;
  }
  body .footer-main{
    grid-template-columns:1fr 1fr !important;
    gap:28px 22px !important;
  }
  body .footer-brand,
  body .footer-contact{
    grid-column:1 / -1 !important;
  }
}
@media(max-width:520px){
  body .footer-main{
    grid-template-columns:1fr !important;
  }
  body .site-footer h3,
  body .footer-col h3,
  body .footer-contact h3{
    margin-bottom:12px !important;
  }
}

/* v119 — единый футер на всех страницах + банки-партнёры */
body .site-footer{
  position:relative !important;
  overflow:hidden !important;
  padding:54px 0 24px !important;
  color:#687386 !important;
  background:
    radial-gradient(circle at 14% 12%, rgba(255,178,27,.10), transparent 30%),
    linear-gradient(180deg,#ffffff 0%,#f8f9fb 100%) !important;
  border-top:1px solid rgba(15,23,42,.08) !important;
  font-family:Montserrat, Arial, sans-serif !important;
}
body .site-footer:before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background:
    linear-gradient(112deg, transparent 0 14%, rgba(255,184,0,.06) 14.4% 16.4%, transparent 17% 100%),
    linear-gradient(112deg, transparent 0 71%, rgba(36,118,255,.045) 71.4% 73.2%, transparent 74% 100%) !important;
  opacity:.65 !important;
  pointer-events:none !important;
}
body .site-footer .container{position:relative !important;z-index:2 !important;}
body .footer-main{
  display:grid !important;
  grid-template-columns:minmax(250px,1.25fr) .72fr .84fr .84fr .98fr !important;
  gap:34px !important;
  align-items:start !important;
  padding-bottom:28px !important;
}
body .footer-brand, body .footer-col, body .footer-contact{
  min-height:0 !important;padding:0 !important;border:0 !important;border-radius:0 !important;background:transparent !important;box-shadow:none !important;
}
body .footer-brand{max-width:390px !important;}
body .footer-logo{display:flex !important;align-items:center !important;gap:16px !important;margin-bottom:20px !important;}
body .footer-logo-image img{max-width:150px !important;height:auto !important;}
body .footer-brand-text{max-width:350px !important;margin:0 !important;color:#687386 !important;font-size:13px !important;line-height:1.65 !important;font-weight:500 !important;letter-spacing:0 !important;}
body .footer-socials{display:flex !important;gap:10px !important;margin-top:22px !important;}
body .footer-socials a{width:34px !important;height:34px !important;display:inline-flex !important;align-items:center !important;justify-content:center !important;border-radius:999px !important;border:1px solid rgba(16,18,22,.08) !important;background:#10141b !important;color:#fff !important;text-decoration:none !important;transition:transform .22s ease, background .22s ease, box-shadow .22s ease !important;}
body .footer-socials a svg{width:15px !important;height:15px !important;display:block !important;fill:currentColor !important;}
body .footer-socials a:hover{transform:translateY(-2px) !important;background:linear-gradient(180deg,#ffbf3f 0%, #ff9b22 100%) !important;color:#10141b !important;box-shadow:0 12px 24px rgba(255,138,26,.22) !important;}
body .site-footer h3, body .footer-col h3, body .footer-contact h3{margin:0 0 16px !important;color:#10141b !important;font-size:13px !important;line-height:1.2 !important;font-weight:800 !important;text-transform:uppercase !important;letter-spacing:.02em !important;}
body .footer-links{display:grid !important;gap:10px !important;}
body .footer-links a{position:relative !important;display:block !important;min-height:auto !important;padding:0 !important;color:#566174 !important;font-size:13px !important;line-height:1.45 !important;font-weight:550 !important;letter-spacing:0 !important;text-decoration:none !important;transition:color .22s ease, transform .22s ease !important;}
body .footer-links a:before{display:none !important;content:none !important;}
body .footer-links a:hover, body .footer-mail:hover{color:#f59f00 !important;transform:translateX(2px) !important;}
body .footer-phone{display:inline-block !important;margin-bottom:6px !important;color:#10141b !important;font-size:16px !important;line-height:1.25 !important;font-weight:800 !important;letter-spacing:0 !important;text-decoration:none !important;}
body .footer-muted{display:block !important;margin-bottom:14px !important;color:#7a8494 !important;font-size:12px !important;line-height:1.35 !important;font-weight:500 !important;}
body .footer-mail{display:inline-block !important;margin-bottom:16px !important;color:#f59f00 !important;font-size:13px !important;line-height:1.3 !important;font-weight:700 !important;text-decoration:none !important;}
body .footer-address{display:grid !important;gap:8px !important;margin-bottom:20px !important;color:#687386 !important;font-size:12px !important;line-height:1.45 !important;font-weight:500 !important;}
body .footer-address span{display:block !important;padding:0 !important;}
body .footer-address span:before{display:none !important;content:none !important;}
body .footer-action{min-height:40px !important;display:inline-flex !important;align-items:center !important;justify-content:center !important;padding:0 22px !important;border-radius:999px !important;border:1px solid rgba(202,124,0,.20) !important;background:linear-gradient(135deg,#ff8a00,#ffc400) !important;color:#111318 !important;box-shadow:0 14px 30px rgba(255,152,0,.18) !important;font-size:12px !important;line-height:1 !important;font-weight:800 !important;letter-spacing:.01em !important;text-transform:uppercase !important;text-decoration:none !important;transition:transform .22s ease, box-shadow .22s ease !important;}
body .footer-action:hover{transform:translateY(-2px) !important;box-shadow:0 18px 38px rgba(255,152,0,.25) !important;}
body .footer-payments{display:flex !important;align-items:center !important;justify-content:space-between !important;gap:22px !important;padding:18px 0 !important;border-top:1px solid rgba(15,23,42,.07) !important;}
body .footer-payments-title{color:#8a94a3 !important;font-size:11px !important;line-height:1.3 !important;font-weight:650 !important;letter-spacing:.02em !important;text-transform:uppercase !important;white-space:nowrap !important;}
body .footer-payments-list{display:flex !important;align-items:center !important;justify-content:flex-end !important;gap:18px !important;flex-wrap:wrap !important;}
body .pay-logo{min-height:20px !important;display:inline-flex !important;align-items:center !important;justify-content:center !important;color:#969da7 !important;font-family:Montserrat, Arial, sans-serif !important;font-size:13px !important;line-height:1 !important;font-weight:850 !important;letter-spacing:-.02em !important;opacity:.78 !important;filter:grayscale(1) !important;transition:opacity .2s ease, color .2s ease, filter .2s ease, transform .2s ease !important;}
body .pay-logo:hover{opacity:1 !important;color:#10141b !important;filter:grayscale(0) !important;transform:translateY(-1px) !important;}
body .pay-mastercard{position:relative !important;width:34px !important;gap:0 !important;}
body .pay-mastercard i{width:17px !important;height:17px !important;border-radius:50% !important;display:block !important;background:#9aa0a8 !important;}
body .pay-mastercard i + i{margin-left:-7px !important;background:#b3b7bd !important;}
body .pay-mastercard:hover i:first-child{background:#e51b24 !important;}
body .pay-mastercard:hover i + i{background:#f5a000 !important;}
body .pay-sber i{width:20px !important;height:20px !important;border-radius:50% !important;border:2px solid currentColor !important;display:inline-flex !important;align-items:center !important;justify-content:center !important;font-size:12px !important;font-style:normal !important;line-height:1 !important;}
body .pay-sber:hover{color:#20b85a !important;}
body .pay-visa:hover{color:#0066b3 !important;}
body .pay-alfa:hover{color:#ef233c !important;}
body .pay-mir:hover{color:#1fa463 !important;}
body .pay-tinkoff:hover{color:#10141b !important;}
body .footer-bottom{display:flex !important;align-items:center !important;justify-content:flex-start !important;gap:16px !important;padding-top:0 !important;border-top:0 !important;color:#7a8494 !important;font-size:12px !important;line-height:1.4 !important;}
body .footer-bottom-links{display:none !important;}
@media(max-width:1100px){body .footer-main{grid-template-columns:1.2fr 1fr 1fr !important;gap:30px 34px !important;}body .footer-brand,body .footer-contact{grid-column:auto !important;}body .footer-payments{align-items:flex-start !important;flex-direction:column !important;}}
@media(max-width:760px){body .site-footer{padding:42px 0 22px !important;}body .footer-main{grid-template-columns:1fr 1fr !important;gap:28px 22px !important;}body .footer-brand,body .footer-contact{grid-column:1 / -1 !important;}body .footer-payments-list{justify-content:flex-start !important;gap:14px 16px !important;}}
@media(max-width:520px){body .footer-main{grid-template-columns:1fr !important;}body .site-footer h3,body .footer-col h3,body .footer-contact h3{margin-bottom:12px !important;}body .footer-payments-title{white-space:normal !important;}}

/* v121 — unified action buttons across the project. Category chips, menu buttons and carousel arrows are not affected. */
:root{
  --fitvl-btn-radius:10px;
  --fitvl-btn-orange-1:#ffb21b;
  --fitvl-btn-orange-2:#ff9800;
  --fitvl-btn-text:#111318;
  --fitvl-btn-border:rgba(255,152,0,.38);
}

:is(
  .btn,
  .btn-blue,
  .btn-dark,
  .btn-primary,
  .primary-btn,
  .secondary-btn,
  .corp-btn,
  .gym-btn-primary,
  .gym-btn-secondary,
  .mosaic-all-btn,
  .solutions-head-btn,
  .solution-cta,
  .promo-card-v77 > a,
  .services-complex-btn,
  .services-keyturn-primary,
  .services-keyturn-secondary,
  .services-keyturn-card button,
  .fitcalc-submit,
  .fitcalc-result-btn,
  .about-company-v72__btn,
  .certificates-premium-btn,
  .footer-action,
  .call-form__submit,
  .final-cta a
){
  position:relative !important;
  isolation:isolate !important;
  overflow:hidden !important;
  display:inline-flex;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  min-height:42px !important;
  height:auto !important;
  padding:0 22px !important;
  border-radius:var(--fitvl-btn-radius) !important;
  border:1px solid var(--fitvl-btn-border) !important;
  background:linear-gradient(180deg,var(--fitvl-btn-orange-1) 0%,var(--fitvl-btn-orange-2) 100%) !important;
  color:var(--fitvl-btn-text) !important;
  font-family:Montserrat, Arial, sans-serif !important;
  font-size:13px !important;
  line-height:1 !important;
  font-weight:800 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
  text-decoration:none !important;
  box-shadow:0 14px 30px rgba(255,152,0,.18) !important;
  transform:none !important;
  transition:
    transform .22s ease,
    box-shadow .22s ease,
    border-color .22s ease,
    background .22s ease,
    color .22s ease !important;
  cursor:pointer !important;
  -webkit-tap-highlight-color:transparent;
}

:is(
  .btn,
  .btn-blue,
  .btn-dark,
  .btn-primary,
  .primary-btn,
  .secondary-btn,
  .corp-btn,
  .gym-btn-primary,
  .gym-btn-secondary,
  .mosaic-all-btn,
  .solutions-head-btn,
  .solution-cta,
  .promo-card-v77 > a,
  .services-complex-btn,
  .services-keyturn-primary,
  .services-keyturn-secondary,
  .services-keyturn-card button,
  .fitcalc-submit,
  .fitcalc-result-btn,
  .about-company-v72__btn,
  .certificates-premium-btn,
  .footer-action,
  .call-form__submit,
  .final-cta a
)::before{
  content:"" !important;
  position:absolute !important;
  left:var(--ripple-x,50%) !important;
  top:var(--ripple-y,50%) !important;
  width:0 !important;
  height:0 !important;
  border-radius:50% !important;
  background:radial-gradient(circle, rgba(255,255,255,.62) 0%, rgba(255,255,255,.30) 36%, rgba(255,255,255,0) 70%) !important;
  transform:translate(-50%,-50%) !important;
  opacity:0 !important;
  z-index:0 !important;
  pointer-events:none !important;
  transition:width .58s cubic-bezier(.22,.61,.36,1), height .58s cubic-bezier(.22,.61,.36,1), opacity .58s ease !important;
}

:is(
  .btn,
  .btn-blue,
  .btn-dark,
  .btn-primary,
  .primary-btn,
  .secondary-btn,
  .corp-btn,
  .gym-btn-primary,
  .gym-btn-secondary,
  .mosaic-all-btn,
  .solutions-head-btn,
  .solution-cta,
  .promo-card-v77 > a,
  .services-complex-btn,
  .services-keyturn-primary,
  .services-keyturn-secondary,
  .services-keyturn-card button,
  .fitcalc-submit,
  .fitcalc-result-btn,
  .about-company-v72__btn,
  .certificates-premium-btn,
  .footer-action,
  .call-form__submit,
  .final-cta a
):hover{
  transform:translateY(-1px) !important;
  border-color:rgba(255,152,0,.58) !important;
  box-shadow:0 18px 38px rgba(255,152,0,.24) !important;
  color:var(--fitvl-btn-text) !important;
}

:is(
  .btn,
  .btn-blue,
  .btn-dark,
  .btn-primary,
  .primary-btn,
  .secondary-btn,
  .corp-btn,
  .gym-btn-primary,
  .gym-btn-secondary,
  .mosaic-all-btn,
  .solutions-head-btn,
  .solution-cta,
  .promo-card-v77 > a,
  .services-complex-btn,
  .services-keyturn-primary,
  .services-keyturn-secondary,
  .services-keyturn-card button,
  .fitcalc-submit,
  .fitcalc-result-btn,
  .about-company-v72__btn,
  .certificates-premium-btn,
  .footer-action,
  .call-form__submit,
  .final-cta a
):hover::before{
  width:240% !important;
  height:240% !important;
  opacity:1 !important;
}

:is(
  .btn-dark,
  .secondary-btn,
  .corp-btn-light,
  .gym-btn-secondary,
  .services-keyturn-secondary,
  .promo-card-v77 > a,
  .services-keyturn-card button,
  .solution-cta
){
  background:#fff !important;
  color:#111318 !important;
  border-color:rgba(16,18,22,.12) !important;
  box-shadow:0 12px 26px rgba(15,18,24,.08) !important;
}

:is(
  .btn-dark,
  .secondary-btn,
  .corp-btn-light,
  .gym-btn-secondary,
  .services-keyturn-secondary,
  .promo-card-v77 > a,
  .services-keyturn-card button,
  .solution-cta
)::before{
  background:radial-gradient(circle, rgba(255,178,27,.44) 0%, rgba(255,178,27,.18) 34%, rgba(255,178,27,0) 72%) !important;
}

:is(
  .btn-dark,
  .secondary-btn,
  .corp-btn-light,
  .gym-btn-secondary,
  .services-keyturn-secondary,
  .promo-card-v77 > a,
  .services-keyturn-card button,
  .solution-cta
):hover{
  background:#fff !important;
  border-color:rgba(255,152,0,.28) !important;
  box-shadow:0 16px 34px rgba(15,18,24,.10),0 0 0 1px rgba(255,178,27,.08) !important;
}

/* Keep non-action UI untouched */
.project-scroll-btn,
.hero-arrow,
.hero-dot,
.mosaic-chip,
.mosaic-more-chip,
.category-chip,
.fitcalc-chip,
.fitcalc-option,
.nav-item > button,
.header-icons button,
.footer-socials a,
.payment-logo,
.lightbox-close,
.image-lightbox-close,
.modal-close,
button[aria-label*="Назад"],
button[aria-label*="Впер"],
.swiper-button-prev,
.swiper-button-next{
  border-radius:inherit;
}

@media(max-width:680px){
  :is(
    .btn,
    .btn-blue,
    .btn-dark,
    .btn-primary,
    .primary-btn,
    .secondary-btn,
    .corp-btn,
    .gym-btn-primary,
    .gym-btn-secondary,
    .mosaic-all-btn,
    .solutions-head-btn,
    .solution-cta,
    .promo-card-v77 > a,
    .services-complex-btn,
    .services-keyturn-primary,
    .services-keyturn-secondary,
    .services-keyturn-card button,
    .fitcalc-submit,
    .fitcalc-result-btn,
    .about-company-v72__btn,
    .certificates-premium-btn,
    .footer-action,
    .call-form__submit,
    .final-cta a
  ){
    min-height:40px !important;
    padding:0 18px !important;
    border-radius:9px !important;
    font-size:12px !important;
  }
}

/* v122 — убрать непонятные мини-значки в блоке "О компании" */
.about-company-v72__feature{
  display:block !important;
  grid-template-columns:none !important;
  gap:0 !important;
  padding:0 !important;
}
.about-company-v72__feature i{
  display:none !important;
}
.about-company-v72__feature b{
  display:block !important;
  margin:0 0 6px !important;
}
.about-company-v72__feature span{
  display:block !important;
  max-width:260px !important;
}
@media(max-width:760px){
  .about-company-v72__feature span{
    max-width:none !important;
  }
}

.region_wrapper {
  padding-right: 0 !important;
  padding-left: 20px !important;
}
.region_wrapper .arrow {
  bottom: 9px;
}
.wicons .region_wrapper > .io_wrapper > .svg {
  top: 3px;
}

@media (max-width: 1373px) {
  .with-second-menu-light .topline-ref__inner {
    gap: 8px !important;
  }
  .tg-header-text {
    max-width: 100px;
  }
}

.tg-header-text {
  max-width: 100px;
}

@media (max-width: 1367px) {
  .with-second-menu-light .topline-ref__inner {
    gap: 8px !important;
  }
  .with-second-menu-light .phone-drop {
    min-width: unset !important;
  }
  .with-second-menu-light .header-reference button {
    width: unset !important;
    min-width: unset !important;
  }
  .with-second-menu-light .call-top {
    padding: 0 12px !important;
  }
  .with-second-menu-light .messengers-ref {
    gap: 4px !important;
  }
}
@media (max-width: 1210px and min-width: 1180px) {
  .tg-header-text {
    display: none !important;
  }
}
@media (max-width: 925px) {
  .tg-header-text {
    display: none !important;
  }
}

.search-button-div .close-block {
  display: none;
}
.search-input {
  height: 44px !important;
  border-radius: 10px !important;
  background: #fff !important;
  border-color: rgba(17, 18, 20, .12) !important;
  box-shadow: 0 10px 28px rgba(17, 18, 20, .05) !important;
}
#title-search_fixed div.title-search-result {
  z-index: 99999 !important;
  margin-top: 5px;
}
#title-search_fixed .search-button-div button {
  padding: 0 !important;
  border: none !important;
  background: none !important;
  padding-right: 15px !important;
  box-shadow: none !important;
}
#title-search_fixed .search-button-div button:hover {
  background: none !important;
  box-shadow: none !important;
}
.title-search-result .bx_item_element {
  text-align: center;
}
.title-search-result .bx_item_element a {
  margin: 5px !important;
}
.mobile-header-v124 {
  padding-bottom: 1px;
}
body header .logo .region_wrapper {
  display: none;
}
body header .mobile-header-v124__actions {
  display: none;
}
@media (max-width: 768px) {
  body .header_wrap header.header-reference {
    display: block !important;
  }
  body .header_wrap header.header-reference .brandline-ref {
    display: block !important;
  }
  body .header_wrap header.header-reference .brandline-ref__inner {
    display: block !important;
  }
  body .header_wrap header.header-reference .logo {
    height: 62px;
    justify-content: space-between;
  }
  body .header_wrap header.header-reference .logo a {
    width: auto;
  }
  .brandline-ref {
    padding-bottom: 12px;
  }
  .brandline-ref__inner {
    height: auto !important;
  }
  body .header_wrap .mobile-drawer-v124 {
    z-index: 9999 !important;
  }
  .with-second-menu-light .header-reference button {
    width: 42px !important;
  }
  .topline-ref {
    display: none !important;
  }
  body header .logo .region_wrapper {
    display: block;
  }
  body header .mobile-header-v124__actions {
    display: block;
  }
  body header .navstrip-ref {
    display: none;
  }
}
.mobile-drawer-v124 {
  display: none;
}
#title-search_fixed .item-parent {
  text-align: left;
}
.title-search-result .item-parent {
  display: none;
}

.solution-page-main ul li, .gym-page ul li {
  padding-left: 0 !important;
}