/* ═══════════════════════════════════════════════════════════════════════════
   MOISEEFWEB — header + hero (макет mw-hero-code-lines)
   Загружается ПОСЛЕДНИМ в site.min.css, поэтому перебивает .cd-header из old.css.
   Все классы с префиксом mw- , чтобы не сталкиваться со старой версткой.
   ═══════════════════════════════════════════════════════════════════════════ */

:root{
  --mw-ink:#0a2033;
  --mw-paper:#eceded;
  --mw-teal:#7fd6dc;
  --mw-violet:#7b5cf0;
  --mw-grey:#6d7c86;
  --mw-pad:clamp(20px, 4vw, 64px);
  --mw-head:84px;
  --mw-display:"Poppins","Helvetica Neue",Arial,sans-serif;
  --mw-mono:"JetBrains Mono",ui-monospace,Menlo,monospace;
}

/* фикс-шапка занимает место у контента на всех страницах */
body{padding-top:var(--mw-head)}

/* ─────────────────────────────  ШАПКА  ───────────────────────────── */
header.mw-head{
  position:fixed; inset:0 0 auto 0; height:var(--mw-head); z-index:10060;
  background:var(--mw-ink);
  display:flex; align-items:center; justify-content:space-between;
  padding:0 var(--mw-pad);
  -webkit-font-smoothing:antialiased;
}
.mw-logo{display:flex; align-items:center; gap:14px; text-decoration:none; color:#fff}
.mw-logo img{height:38px; width:auto; display:block}
.mw-logo b{
  font-family:var(--mw-mono); font-size:10px; letter-spacing:.34em;
  font-weight:500; opacity:.7; white-space:nowrap;
}
@media (max-width:420px){ .mw-logo b{display:none} }

.mw-head__right{display:flex; align-items:center; gap:14px}

/* Бургер. Наследует класс .cd-primary-nav-trigger ради main.js (toggleNav),
   поэтому гасим наследие старого триггера: позиционирование из old.css и
   `display:none !important` на ≥1367px из components.css — теперь бургер
   единственная навигация и обязан быть виден на всех ширинах. */
.mw-burger{
  display:grid !important;
  position:static; top:auto; right:auto; transform:none; margin:0; line-height:normal;
  width:46px; height:46px; border:0; background:transparent; cursor:pointer;
  align-content:center; gap:7px; padding:0 6px;
}
.mw-burger i{
  height:1.5px; background:#fff; border-radius:2px; display:block;
  transition:transform .35s cubic-bezier(.16,1,.3,1), opacity .25s;
}
.mw-burger:hover i:nth-child(1){transform:translateX(6px)}
.mw-burger:hover i:nth-child(3){transform:translateX(-6px)}
/* открытое меню → крестик (main.js вешает body.overflow-hidden) */
body.overflow-hidden .mw-burger i:nth-child(1){transform:translateY(8.5px) rotate(45deg)}
body.overflow-hidden .mw-burger i:nth-child(2){opacity:0}
body.overflow-hidden .mw-burger i:nth-child(3){transform:translateY(-8.5px) rotate(-45deg)}

/* переключатель языка */
.mw-langs{position:relative; font-family:var(--mw-mono)}
.mw-lang-btn{
  display:flex; align-items:center; gap:9px; height:40px; padding:0 15px 0 8px; cursor:pointer;
  border-radius:999px; border:1px solid rgba(255,255,255,.18); background:rgba(255,255,255,.04);
  color:#fff; font-family:inherit; font-size:11px; letter-spacing:.22em; text-transform:uppercase;
  transition:border-color .35s, background .35s;
}
.mw-lang-btn:hover{border-color:var(--mw-teal); background:rgba(127,214,220,.10)}
.mw-lang-btn .mw-chev{width:9px; height:9px; opacity:.6; transition:transform .35s}
.mw-langs.is-open .mw-chev{transform:rotate(180deg)}
.mw-flag{
  width:24px; height:24px; border-radius:50%; overflow:hidden; display:block; flex:none;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.28);
}
.mw-flag svg{width:100%; height:100%; display:block}
.mw-lang-menu{
  position:absolute; top:calc(100% + 12px); right:0; min-width:190px; margin:0; padding:8px;
  list-style:none; background:#08192a; border:1px solid rgba(255,255,255,.10); border-radius:18px;
  box-shadow:0 30px 60px rgba(5,18,30,.45); opacity:0; visibility:hidden;
  transform:translateY(-8px) scale(.98); transform-origin:top right;
  transition:.3s cubic-bezier(.16,1,.3,1);
}
.mw-langs.is-open .mw-lang-menu{opacity:1; visibility:visible; transform:none}
.mw-lang-menu li{margin:0; list-style:none}
/* head_scripts из БД вешают на li::before фиолетовую «галочку» — в этом меню она лишняя:
   текущий язык помечает teal-точка на a[aria-current] ниже. */
.mw-lang-menu li::before,
.mw-lang-menu li::after{content:none !important; display:none !important}
.mw-lang-menu a{
  display:flex; align-items:center; gap:12px; padding:11px 12px; border-radius:12px;
  text-decoration:none; color:rgba(255,255,255,.76); font-size:11px; letter-spacing:.2em;
  text-transform:uppercase; transition:.24s;
}
.mw-lang-menu a:hover{background:rgba(127,214,220,.13); color:#fff}
.mw-lang-menu a[aria-current="true"]{color:var(--mw-teal)}
.mw-lang-menu a[aria-current="true"]::after{
  content:""; margin-left:auto; width:5px; height:5px; border-radius:50%; background:var(--mw-teal);
}
.mw-lang-menu i{font-style:normal; opacity:.5; font-size:10px; letter-spacing:.12em; text-transform:none}

/* ───────────────  ПОЛНОЭКРАННОЕ МЕНЮ (бургер — единственная навигация)  ───────────────
   site.min.css гасит оверлей на ≥1280px (`#mobile-nav-ny,ul.cd-primary-nav{display:none
   !important}`), потому что раньше там работало горизонтальное меню. Его больше нет —
   значит оверлей обязан открываться на всех ширинах.
   Внутри два <li>-столбца: .mw-nav-links и .mw-nav-aside. */
nav#mobile-nav-ny{display:block !important}
nav#mobile-nav-ny ul.cd-primary-nav{
  position:fixed; inset:0; width:100%; height:100%;
  background:var(--mw-ink); z-index:10020;
  display:flex !important; flex-direction:row; align-items:center; justify-content:space-between;
  gap:clamp(28px, 8vw, 130px);
  margin:0; padding:calc(var(--mw-head) + 6vh) var(--mw-pad) 6vh;
  text-align:left; overflow:auto; -webkit-overflow-scrolling:touch;
  transform:translateY(-100%); transition:transform .5s cubic-bezier(.16,1,.3,1);
}
nav#mobile-nav-ny ul.cd-primary-nav.is-visible{transform:none; z-index:10020}
nav#mobile-nav-ny .cd-primary-nav li{
  margin:0; padding:0; list-style:none; text-transform:none;
  display:flex; flex-direction:column;
}
nav#mobile-nav-ny .cd-primary-nav li::before,
nav#mobile-nav-ny .cd-primary-nav li::after{content:none !important; display:none !important}

/* левая колонка — сама навигация */
.mw-nav-links{gap:.06em; flex:0 1 auto; min-width:0}
.mw-nav-links a{
  display:inline-block; width:-moz-fit-content; width:fit-content;
  font-family:var(--mw-display); font-size:clamp(26px, 4.4vw, 46px); font-weight:800;
  line-height:1.18; letter-spacing:-.02em; text-transform:uppercase;
  padding:.10em 0; color:#fff; background:none; border-radius:0;
  opacity:0; transform:translateY(18px);
  transition:opacity .6s cubic-bezier(.16,1,.3,1), transform .6s cubic-bezier(.16,1,.3,1),
             color .3s;
}
.cd-primary-nav.is-visible .mw-nav-links a{opacity:1; transform:none}
.cd-primary-nav.is-visible .mw-nav-links a:nth-child(1){transition-delay:.10s}
.cd-primary-nav.is-visible .mw-nav-links a:nth-child(2){transition-delay:.16s}
.cd-primary-nav.is-visible .mw-nav-links a:nth-child(3){transition-delay:.22s}
.cd-primary-nav.is-visible .mw-nav-links a:nth-child(4){transition-delay:.28s}
.cd-primary-nav.is-visible .mw-nav-links a:nth-child(5){transition-delay:.34s}
.cd-primary-nav.is-visible .mw-nav-links a:nth-child(6){transition-delay:.40s}
nav#mobile-nav-ny .mw-nav-links a:hover,
nav#mobile-nav-ny .mw-nav-links a:focus{
  background:none; color:var(--mw-teal); transform:translateX(14px);
}

/* правая колонка — контакты и соцсети, чтобы пустота работала на композицию */
.mw-nav-aside{
  gap:0; flex:0 1 340px; max-width:340px; align-self:center;
  padding-left:clamp(20px, 3vw, 46px); border-left:1px solid rgba(255,255,255,.10);
  opacity:0; transform:translateY(18px);
  transition:opacity .7s cubic-bezier(.16,1,.3,1) .34s, transform .7s cubic-bezier(.16,1,.3,1) .34s;
}
.cd-primary-nav.is-visible .mw-nav-aside{opacity:1; transform:none}
.mw-nav-label{
  font-family:var(--mw-mono); font-size:10px; font-weight:500; letter-spacing:.3em;
  text-transform:uppercase; color:rgba(255,255,255,.42);
  display:flex; align-items:center; gap:12px; margin:0 0 14px;
}
.mw-nav-label:not(:first-child){margin-top:34px}
.mw-nav-label::before{
  content:""; width:34px; height:1px; flex:none;
  background:linear-gradient(90deg, var(--mw-teal), transparent);
}
nav#mobile-nav-ny .mw-nav-aside a{
  background:none; border-radius:0; padding:0;
  transition:color .3s, transform .35s cubic-bezier(.16,1,.3,1);
}
.mw-nav-mail{
  font-family:var(--mw-display); font-size:clamp(15px, 1.5vw, 18px); font-weight:500;
  color:#fff; margin-bottom:12px; letter-spacing:-.01em;
}
.mw-nav-tel{
  font-family:var(--mw-mono); font-size:13px; color:var(--mw-soft, rgba(236,237,237,.62));
  margin-bottom:7px; letter-spacing:.04em;
}
nav#mobile-nav-ny .mw-nav-aside a:hover{color:var(--mw-teal); transform:translateX(4px)}
.mw-nav-loc{
  margin-top:14px; font-family:var(--mw-mono); font-size:10px; letter-spacing:.2em;
  text-transform:uppercase; color:rgba(255,255,255,.40); display:flex; align-items:center; gap:9px;
}
.mw-nav-loc s{
  width:6px; height:6px; border-radius:50%; background:var(--mw-violet); flex:none;
  text-decoration:none;
}
.mw-nav-soc{display:flex; align-items:center; gap:10px}
nav#mobile-nav-ny .mw-nav-soc a{
  width:38px; height:38px; border-radius:50%; display:grid; place-items:center; font-size:16px;
  border:1px solid rgba(255,255,255,.12); background:rgba(255,255,255,.03); color:#fff;
}
nav#mobile-nav-ny .mw-nav-soc a:hover{transform:translateY(-3px); border-color:var(--mw-teal)}
.mw-nav-soc .bi-facebook{color:#1877f2}
.mw-nav-soc .bi-instagram{
  background:linear-gradient(45deg,#f09433 0%,#e6683c 25%,#dc2743 50%,#cc2366 75%,#bc1888 100%);
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
}

/* узкие экраны: колонки друг под другом */
@media (max-width:860px){
  nav#mobile-nav-ny ul.cd-primary-nav{
    flex-direction:column; align-items:flex-start; justify-content:center; gap:5vh;
  }
  .mw-nav-aside{
    flex:none; max-width:none; width:100%; align-self:stretch;
    padding-left:0; border-left:0; border-top:1px solid rgba(255,255,255,.10); padding-top:26px;
  }
  .mw-nav-label:not(:first-child){margin-top:26px}
}

/* ─────────────────────────────  HERO  ───────────────────────────── */
.mw-hero{
  position:relative; overflow:hidden; isolation:isolate;
  height:calc(100vh - var(--mw-head));
  height:calc(100svh - var(--mw-head));
  min-height:460px;
  background:linear-gradient(180deg,#f2f3f3 0%, #e7e9ea 62%, #dfe2e3 100%);
  color:var(--mw-ink); font-family:var(--mw-display);
}
.mw-hero__gl{
  position:absolute; inset:0; width:100%; height:100%; display:block; z-index:1;
  touch-action:pan-y;
}
/* запасной вариант, если WebGL недоступен */
.mw-hero__fallback{
  position:absolute; inset:0; z-index:1; background-size:cover; background-position:center 22%;
  filter:contrast(1.06); opacity:0; transition:opacity .9s;
}
.mw-hero.is-fallback .mw-hero__fallback{opacity:.9}
.mw-hero.is-fallback .mw-hero__gl{display:none}

.mw-hero__stage{
  position:absolute; z-index:10; left:0; top:0; bottom:0; pointer-events:none;
  display:grid; align-content:center; gap:0;
  padding:0 var(--mw-pad) 40px;
  width:min(720px, 52vw);
}

/* Старый плавающий переключатель языка на главной больше не нужен:
   в новой шапке язык доступен на всех ширинах, а этот кружок висел поверх hero. */
#mobilslide{display:none !important}
.mw-kicker{
  margin:0 0 22px; font-family:var(--mw-mono); font-size:11px; letter-spacing:.3em;
  text-transform:uppercase; color:var(--mw-grey); display:flex; align-items:center; gap:14px;
}
.mw-kicker s{
  width:52px; height:1px; flex:none; text-decoration:none; display:block;
  background:linear-gradient(90deg, var(--mw-teal), transparent);
}
.mw-hero__title{
  margin:0; font-family:var(--mw-display); font-weight:800; line-height:1.02;
  letter-spacing:-.025em; font-size:clamp(34px, 5.4vw, 72px); color:var(--mw-ink);
}
.mw-hero__title .mw-w{display:inline-block; overflow:hidden; vertical-align:bottom; padding-bottom:.08em}
.mw-hero__title .mw-w i{
  display:inline-block; font-style:normal; transform:translateY(115%);
  transition:transform 1s cubic-bezier(.16,1,.3,1); transition-delay:calc(var(--i) * 62ms);
}
.mw-hero.is-in .mw-hero__title .mw-w i{transform:translateY(0)}
.mw-hero__lede{
  margin:24px 0 0; max-width:38ch; font-family:var(--mw-display); font-weight:300;
  font-size:clamp(14px, 1.5vw, 16.5px); line-height:1.65; color:var(--mw-grey);
}
.mw-hero__cta{
  /* justify-self, иначе grid растягивает inline-flex на всю колонку
     и кликабельной становится пустота справа от текста */
  pointer-events:auto; position:relative; margin-top:40px;
  align-self:start; justify-self:start;
  display:inline-flex; align-items:center; gap:18px;
  background:none; border:0; padding:0; cursor:pointer; color:var(--mw-ink);
  font-family:var(--mw-mono); font-size:12px; letter-spacing:.32em; text-transform:uppercase;
  text-decoration:none;
}
.mw-hero__cta .mw-dot{
  position:absolute; left:-28px; width:66px; height:66px; border-radius:50%;
  background:var(--mw-teal); z-index:-1; box-shadow:0 16px 40px rgba(127,214,220,.45);
  transition:transform .5s cubic-bezier(.16,1,.3,1);
}
.mw-hero__cta:hover .mw-dot{transform:scale(1.14)}
.mw-hero__cta .mw-arw{transition:transform .45s cubic-bezier(.16,1,.3,1)}
.mw-hero__cta:hover .mw-arw{transform:translateX(10px)}

/* появление текста слайда */
.mw-js .mw-hero__lede,
.mw-js .mw-hero__cta{opacity:0; transform:translateY(12px)}
.mw-hero__lede{transition:opacity .85s cubic-bezier(.16,1,.3,1) .42s, transform .85s cubic-bezier(.16,1,.3,1) .42s}
.mw-hero__cta{transition:opacity .85s cubic-bezier(.16,1,.3,1) .54s, transform .85s cubic-bezier(.16,1,.3,1) .54s}
.mw-hero.is-in .mw-hero__lede,
.mw-hero.is-in .mw-hero__cta{opacity:1; transform:none}

/* переключатель слайдов */
.mw-hero__dots{
  position:absolute; z-index:12; left:var(--mw-pad); bottom:34px;
  display:flex; align-items:center; gap:10px;
}
.mw-hero__dots button{
  width:26px; height:2px; padding:0; border:0; border-radius:2px; cursor:pointer;
  background:rgba(10,32,51,.22); transition:background .35s, width .45s cubic-bezier(.16,1,.3,1);
}
.mw-hero__dots button:hover{background:rgba(10,32,51,.45)}
.mw-hero__dots button.is-on{width:46px; background:var(--mw-teal)}

/* плавающая кнопка WhatsApp в стиле макета */
.mw-float{
  position:fixed; z-index:10030; right:calc(var(--mw-pad) - 4px);
  bottom:calc(30px + env(safe-area-inset-bottom));
  display:grid; gap:16px; justify-items:center;
}
.mw-float a{
  width:56px; height:56px; border-radius:50%; display:grid; place-items:center;
  text-decoration:none; color:#08303a; background:var(--mw-teal); position:relative;
  box-shadow:0 16px 34px rgba(10,32,51,.20);
  transition:transform .4s cubic-bezier(.16,1,.3,1);
}
.mw-float a:hover{transform:translateY(-4px) scale(1.05)}
.mw-float a::after{
  content:""; position:absolute; inset:-12px; border-radius:50%;
  border:1px solid var(--mw-teal); animation:mw-ping 2.8s ease-out infinite;
}
@keyframes mw-ping{0%{transform:scale(.85); opacity:.6} 100%{transform:scale(1.42); opacity:0}}
.mw-float svg{width:24px; height:24px; display:block}

/* WhatsApp (существующий .pulse-button из header.html) — перерисован под макет:
   теал-круг с ping-кольцами. Позицию (bottom/right) и «подпрыгивание» у футера
   (.pulse-button2 из custom.js) НЕ трогаем — переопределяем только внешний вид. */
.pulse-button{
  width:62px; height:62px; border-radius:50%; padding:0;
  background:var(--mw-teal);
  box-shadow:0 16px 34px rgba(10,32,51,.20);
  transition:transform .4s cubic-bezier(.16,1,.3,1);
  animation:none !important;
}
.pulse-button:hover{transform:translateY(-4px) scale(1.05)}
.pulse-button__icon{width:26px; height:26px}
.pulse-button:hover .pulse-button__icon{opacity:1; visibility:visible; position:static}
.pulse-button__text{display:none}
.pulse-button:hover .pulse-button__text{display:none}
.pulse-button__rings{border:1px solid var(--mw-teal)}
.pulse-button__rings2{border:1px solid var(--mw-teal) !important}

/* ─────────────────────────────  МОБИЛЬНЫЕ  ───────────────────────────── */
@media (max-width:900px){
  .mw-hero__stage{width:auto; right:0; align-content:end; padding-bottom:78px}
  /* «дот» вылетает левее кнопки; без сдвига он прижимался к краю экрана.
     margin-left отодвигает всю кнопку: край кружка в ~22px от кромки. */
  .mw-hero__cta{margin-left:18px}
  .mw-hero__cta .mw-dot{left:-16px; width:56px; height:56px}
  .mw-hero__title{font-size:clamp(30px, 8.6vw, 48px)}
  .mw-hero__lede{display:none}
  .mw-lang-btn{padding:0 12px 0 6px}
  .mw-float a{width:50px; height:50px}
  .mw-hero__dots{bottom:26px}
}

:focus-visible{outline:2px solid var(--mw-violet); outline-offset:5px; border-radius:6px}
@media (prefers-reduced-motion:reduce){
  .mw-float a::after{animation:none}
  .mw-hero__title .mw-w i{transition:none}
}

/* ═══════════════════════════════════════════════════════════════════════════
   ПОДВАЛ (макет mw-footer-3d-compact)
   ═══════════════════════════════════════════════════════════════════════════ */
:root{
  --mw-ink-2:#06121f;
  --mw-line:rgba(255,255,255,.10);
  --mw-soft:rgba(236,237,237,.62);
  --mw-fpad:clamp(20px, 4.5vw, 76px);
}

footer.mw-footer{
  position:relative; overflow:hidden; color:#fff; isolation:isolate;
  font-family:var(--mw-display); border:0; margin:0;
  background:radial-gradient(120% 90% at 78% 0%, #113049 0%, var(--mw-ink) 44%, var(--mw-ink-2) 100%);
}
.mw-footer__gl{position:absolute; inset:0; width:100%; height:100%; z-index:0; pointer-events:none}
.mw-footer .mw-f-inner{position:relative; z-index:2; padding:0 var(--mw-fpad)}

/* бегущая строка */
.mw-ticker{
  position:relative; z-index:2; border-bottom:1px solid var(--mw-line); overflow:hidden;
  height:36px; display:flex; align-items:center;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);
}
.mw-ticker .mw-track{
  display:flex; align-items:center; white-space:nowrap; will-change:transform;
  font-family:var(--mw-mono); font-size:10.5px; letter-spacing:.14em; color:rgba(236,237,237,.34);
}
.mw-ticker .mw-track span{display:inline-flex; align-items:center; gap:9px; padding:0 22px; transition:color .3s}
.mw-ticker .mw-track span::after{
  content:""; width:4px; height:4px; border-radius:50%; background:rgba(255,255,255,.18); margin-left:22px;
}
.mw-ticker:hover .mw-track span{color:rgba(236,237,237,.6)}
.mw-ticker b{color:var(--mw-teal); font-weight:500}
.mw-ticker i{color:var(--mw-violet); font-style:normal}

/* колонки */
.mw-f-cols{
  display:grid; grid-template-columns:1.5fr 1fr 1fr 1.2fr; gap:clamp(20px,2.6vw,40px);
  padding:clamp(26px,3vw,38px) 0 clamp(18px,2.2vw,26px);
}
.mw-f-brand .mw-f-mark{display:flex; align-items:center; gap:12px; margin-bottom:12px}
.mw-f-brand .mw-f-mark img{width:40px; height:auto; display:block}
.mw-f-brand .mw-f-mark b{
  font-family:var(--mw-mono); font-size:9.5px; letter-spacing:.32em; font-weight:500; color:rgba(255,255,255,.6);
}
.mw-f-brand p{margin:0; max-width:30ch; font-weight:300; font-size:13.5px; line-height:1.55; color:var(--mw-soft)}

.mw-f-col h3{
  margin:0 0 12px; font-family:var(--mw-mono); font-size:10px; letter-spacing:.26em;
  text-transform:uppercase; color:rgba(255,255,255,.42); font-weight:500;
}
.mw-f-col ul{list-style:none; margin:0; padding:0; display:grid; gap:8px}
.mw-f-col li{margin:0; list-style:none}
.mw-f-col li::before, .mw-f-col li::after{content:none !important; display:none !important}
.mw-f-col a{
  position:relative; display:inline-flex; align-items:center; gap:10px; text-decoration:none;
  color:var(--mw-soft); font-size:13.5px; font-weight:300;
  transition:color .3s, transform .35s cubic-bezier(.16,1,.3,1);
}
.mw-f-col a .mw-ico{
  width:16px; height:16px; flex:none; color:var(--mw-violet);
  transition:transform .35s cubic-bezier(.16,1,.3,1), filter .3s;
}
.mw-f-col a:hover{color:#fff; transform:translateX(4px)}
.mw-f-col a:hover .mw-ico{transform:scale(1.12); filter:drop-shadow(0 0 8px rgba(123,92,240,.6))}

.mw-f-contacts{justify-self:end; text-align:left}
.mw-f-contacts .mw-big{
  display:flex; align-items:center; gap:10px; margin-bottom:10px; font-weight:500; font-size:15px;
  color:#fff; text-decoration:none; letter-spacing:-.01em; transition:color .3s;
}
.mw-f-contacts .mw-big:hover{color:var(--mw-violet)}
.mw-f-contacts .mw-tel{
  display:flex; align-items:center; gap:10px; margin-bottom:7px; font-family:var(--mw-mono);
  font-size:12.5px; color:var(--mw-soft); text-decoration:none; transition:color .3s;
}
.mw-f-contacts .mw-tel:hover{color:var(--mw-violet)}
.mw-f-contacts .mw-ico{
  width:16px; height:16px; flex:none; color:var(--mw-violet);
  transition:transform .35s cubic-bezier(.16,1,.3,1), filter .3s;
}
.mw-f-contacts a:hover .mw-ico{transform:scale(1.12); filter:drop-shadow(0 0 8px rgba(123,92,240,.6))}
.mw-f-contacts .mw-loc{
  margin:12px 0 0; font-family:var(--mw-mono); font-size:10px; letter-spacing:.2em;
  text-transform:uppercase; color:rgba(255,255,255,.40); display:flex; align-items:center; gap:9px;
}
.mw-f-contacts .mw-loc s{
  width:6px; height:6px; border-radius:50%; background:var(--mw-violet); text-decoration:none; flex:none;
  box-shadow:0 0 0 0 rgba(123,92,240,.6); animation:mw-f-pulse 2.6s ease-out infinite;
}
@keyframes mw-f-pulse{70%{box-shadow:0 0 0 11px rgba(123,92,240,0)}100%{box-shadow:0 0 0 0 rgba(123,92,240,0)}}

/* контурная подпись */
.mw-wordmark{
  position:relative; z-index:1; margin:0; padding:0 var(--mw-fpad); line-height:.74; font-weight:800;
  font-size:clamp(36px,6.6vw,92px); letter-spacing:-.04em; color:transparent;
  -webkit-text-stroke:1px rgba(127,214,220,.15); user-select:none; pointer-events:none;
  height:.26em; overflow:hidden;
}

/* нижняя строка */
.mw-f-bottom{
  position:relative; z-index:2; display:flex; align-items:center; justify-content:space-between;
  gap:18px; flex-wrap:wrap; padding:14px var(--mw-fpad) 16px; border-top:1px solid var(--mw-line);
  font-family:var(--mw-mono); font-size:10.5px; letter-spacing:.14em; color:rgba(255,255,255,.42);
}
.mw-f-bottom .mw-side{display:flex; align-items:center; gap:18px; flex-wrap:wrap}
.mw-f-bottom .mw-sep{width:1px; height:22px; background:var(--mw-line)}
.mw-f-bottom a{color:rgba(255,255,255,.42); text-decoration:none; transition:color .3s}
.mw-f-bottom a:hover{color:var(--mw-teal)}
.mw-f-bottom .mw-made{color:rgba(255,255,255,.72)}
.mw-f-bottom .mw-made:hover{color:var(--mw-teal)}

/* соцсети — из БД, цвет по классу bootstrap-icons */
.mw-socials{display:flex; align-items:center; gap:8px}
.mw-socials .mw-label{
  margin-right:4px; font-family:var(--mw-mono); font-size:10px; letter-spacing:.24em;
  text-transform:uppercase; color:rgba(255,255,255,.34);
}
.mw-socials a{
  width:34px; height:34px; border-radius:50%; display:grid; place-items:center; text-decoration:none;
  border:1px solid var(--mw-line); background:rgba(255,255,255,.03); font-size:15px; line-height:1;
  transition:transform .35s cubic-bezier(.16,1,.3,1), background .3s, border-color .3s, color .3s;
}
.mw-socials a:hover{transform:translateY(-3px); border-color:transparent; color:#fff}
.mw-socials a .bi-facebook{color:#1877f2}
.mw-socials a .bi-linkedin{color:#0a66c2}
.mw-socials a .bi-youtube{color:#ff0000}
.mw-socials a .bi-telegram{color:#26a5e4}
.mw-socials a .bi-whatsapp{color:#25d366}
.mw-socials a .bi-twitter-x{color:#fff}
.mw-socials a .bi-instagram{
  background:linear-gradient(45deg,#f09433 0%,#e6683c 25%,#dc2743 50%,#cc2366 75%,#bc1888 100%);
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:transparent;
}
.mw-socials a:hover .bi-facebook,
.mw-socials a:hover .bi-linkedin,
.mw-socials a:hover .bi-youtube,
.mw-socials a:hover .bi-telegram,
.mw-socials a:hover .bi-whatsapp{color:#fff}
.mw-socials a:has(.bi-facebook):hover{background:#1877f2}
.mw-socials a:has(.bi-linkedin):hover{background:#0a66c2}
.mw-socials a:has(.bi-youtube):hover{background:#ff0000}
.mw-socials a:has(.bi-telegram):hover{background:#26a5e4}
.mw-socials a:has(.bi-whatsapp):hover{background:#25d366}
.mw-socials a:has(.bi-instagram):hover{
  background:radial-gradient(circle at 28% 108%, #fdf497 0%, #fd5949 45%, #d6249f 62%, #285aeb 100%);
}
.mw-socials a:hover .bi-instagram{
  background:none; -webkit-text-fill-color:#fff; color:#fff;
}

/* переключатель языка в подвале */
.mw-f-langs{display:flex; gap:6px}
.mw-f-langs a{
  padding:4px 10px; border-radius:999px; border:1px solid var(--mw-line);
  text-transform:uppercase; letter-spacing:.2em;
}
.mw-f-langs a[aria-current="true"]{color:var(--mw-ink); background:var(--mw-teal); border-color:var(--mw-teal)}

@media (max-width:1024px){
  .mw-f-cols{grid-template-columns:1fr 1fr; gap:22px 26px}
  .mw-f-brand{grid-column:1 / -1}
  .mw-f-contacts{justify-self:start}
}
@media (max-width:640px){
  .mw-f-cols{grid-template-columns:1fr 1fr; gap:20px}
  .mw-f-contacts{grid-column:1 / -1}
  .mw-f-contacts .mw-big{font-size:14px}
  .mw-f-bottom{flex-direction:column-reverse; justify-content:center; text-align:center; gap:12px; padding-bottom:18px}
  .mw-f-bottom .mw-side{justify-content:center}
  .mw-socials .mw-label{display:none}
}
@media (prefers-reduced-motion:reduce){ .mw-f-contacts .mw-loc s{animation:none} }

/* ─────────────────────────  СКРОЛЛБАР МОДАЛКИ  ─────────────────────────
   Скроллит сам <dialog> (overflow:auto в my.css) и только когда форма выше
   90vh — внутренние контейнеры overflow:visible, вторых полос нет. Дефолтный
   системный скроллбар на краю скруглённой модалки выглядел грубо — делаем
   тонкий, без подложки. */
dialog.modal-native{
  scrollbar-width:thin;
  scrollbar-color:rgba(10,32,51,.32) transparent;
}
dialog.modal-native::-webkit-scrollbar{width:6px}
dialog.modal-native::-webkit-scrollbar-track{background:transparent}
dialog.modal-native::-webkit-scrollbar-thumb{
  background:rgba(10,32,51,.30); border-radius:999px;
  border:1px solid rgba(255,255,255,.35); background-clip:padding-box;
}
dialog.modal-native::-webkit-scrollbar-thumb:hover{background:rgba(10,32,51,.55)}
