/* ============================================================
   MegaNut — COMPONENTS (общий слой для всех страниц)
   Порядок в <head>: fonts → tokens → base → components → pages/<view> → responsive
   Значения строго из design-source/*.dc.html и tokens.css. Допуск ±2px на 1920.
   Именование: mn- BEM (см. docs/FRONTEND_GUIDE.md).
   ============================================================ */

/* ── HEADER (шапка, pill-меню) ──────────────────────────────── */
.mn-header {
  padding: 0 var(--mn-pad-header);
  left: 0;
  right: 0;
}
.mn-header--fixed {
  position: fixed;
  top: 24px;
  z-index: var(--mn-z-header-home);
}
.mn-header--absolute {
  position: absolute;
  top: 24px;
  z-index: var(--mn-z-header);
}
.mn-header--sticky {
  position: sticky;
  top: 0;
  z-index: var(--mn-z-header);
  padding: 20px 28px 0;
}

.mn-header__bar {
  /* box-sizing: макет НЕ resetит box-sizing → pill content-box:
     max-width 1580 + padding (12 + clamp) = 1628 на 1920 (rect x=146 w=1628). */
  box-sizing: content-box;
  max-width: var(--mn-container);
  margin: 0 auto;
  background: var(--mn-bg);
  border-radius: var(--mn-r-pill);
  padding: 12px 12px 12px clamp(20px, 2vw, 36px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--mn-gap-header);
  box-shadow: var(--mn-shadow-header);
}
.mn-header__bar--white {
  background: var(--mn-white);
}

.mn-logo {
  display: flex;
  align-items: baseline;
  gap: 12px;
  flex: 0 0 auto;
  white-space: nowrap;
}
.mn-logo:hover {
  color: var(--mn-ink);
}
.mn-logo__text {
  font-family: var(--mn-font-display);
  font-weight: var(--mn-fw-medium);
  font-size: var(--mn-t-logo);
  letter-spacing: var(--mn-t-logo-ls);
  color: var(--mn-ink);
}
.mn-logo__img {
  height: clamp(24px, 2vw, 32px);
  width: auto;
}

.mn-nav {
  display: flex;
  align-items: center;
  gap: var(--mn-gap-nav);
  font-size: var(--mn-t-nav);
  flex: 0 1 auto;
  min-width: 0;
  white-space: nowrap;
}
.mn-nav__link {
  color: var(--mn-ink);
  border-bottom: 1px solid transparent;
  padding-bottom: 3px;
  transition: border-color var(--mn-dur-260) ease;
}
.mn-nav__link:hover {
  color: var(--mn-ink);
  border-bottom-color: var(--mn-on-ink-35);
}
.mn-nav__link.is-active {
  color: var(--mn-ink);
  border-bottom-color: var(--mn-ink);
}
.mn-nav__sep {
  color: var(--mn-gold);
}

/* ── LANG-SWITCH ────────────────────────────────────────────── */
.mn-lang {
  display: flex;
  align-items: center;
  gap: 6px;
  flex: 0 0 auto;
}
.mn-lang--header {
  margin-left: clamp(8px, 1vw, 16px);
}
.mn-lang__item {
  font-family: var(--mn-font-display);
  font-weight: var(--mn-fw-regular);
  font-size: var(--mn-t-nav);
  color: var(--mn-muted);
  white-space: nowrap;
  border-bottom: 1px solid transparent;
  padding-bottom: 2px;
  transition:
    color var(--mn-dur-260) ease,
    border-color var(--mn-dur-260) ease;
}
.mn-lang__item:hover {
  color: var(--mn-ink);
}
.mn-lang__item.is-active {
  color: var(--mn-ink);
  border-bottom-color: var(--mn-ink);
}
.mn-lang__sep {
  color: var(--mn-gold);
  font-size: 11px;
}

/* ── BURGER (скрыт на десктопе, показывается ≤1199 в responsive.css) ─ */
.mn-burger {
  display: none;
  flex: 0 0 auto;
  width: 44px;
  height: 44px;
  border-radius: var(--mn-r-circle);
  background: var(--mn-ink);
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 4px;
  transition:
    background var(--mn-dur-260) ease,
    transform var(--mn-dur-260) ease;
}
.mn-burger:hover {
  background: var(--mn-hover-dark);
  transform: var(--mn-hover-lift-2);
}
.mn-burger__line {
  display: block;
  width: 16px;
  height: 2px;
  border-radius: 2px;
  background: var(--mn-bg);
  transition:
    transform var(--mn-dur-260) var(--mn-ease),
    opacity var(--mn-dur-260) ease;
}
.mn-burger[aria-expanded="true"] .mn-burger__line:nth-child(1),
.mn-burger--close .mn-burger__line:nth-child(1) {
  transform: translateY(6px) rotate(45deg);
}
.mn-burger[aria-expanded="true"] .mn-burger__line:nth-child(2),
.mn-burger--close .mn-burger__line:nth-child(2) {
  opacity: 0;
}
.mn-burger[aria-expanded="true"] .mn-burger__line:nth-child(3),
.mn-burger--close .mn-burger__line:nth-child(3) {
  transform: translateY(-6px) rotate(-45deg);
}

/* ── NAV OVERLAY (бургер-меню, RESPONSIVE_DECISIONS §4) ─────── */
.mn-navmenu {
  position: fixed;
  inset: 0;
  z-index: 200;
  background: var(--mn-bg);
  opacity: 0;
  transform: translateY(-12px);
  transition:
    opacity 300ms ease,
    transform 300ms var(--mn-ease);
}
.mn-navmenu[hidden] {
  display: none;
}
.mn-navmenu.is-open {
  opacity: 1;
  transform: translateY(0);
}
.mn-navmenu__inner {
  height: 100%;
  max-width: var(--mn-container);
  margin: 0 auto;
  padding: 20px 28px clamp(28px, 6vh, 56px);
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
}
.mn-navmenu__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.mn-navmenu__top .mn-burger {
  display: flex;
}
.mn-navmenu__nav {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: clamp(20px, 3.5vh, 30px);
}
.mn-navmenu__link {
  font-family: var(--mn-font-display);
  font-weight: var(--mn-fw-regular);
  font-size: clamp(28px, 7vw, 40px);
  letter-spacing: -0.035em;
  line-height: 1.1;
  color: var(--mn-ink);
  align-self: flex-start;
  border-bottom: 2px solid transparent;
  padding-bottom: 4px;
}
.mn-navmenu__link:hover {
  color: var(--mn-muted);
  border-bottom-color: var(--mn-on-ink-35);
}
.mn-navmenu__link.is-active {
  color: var(--mn-ink);
  border-bottom-color: var(--mn-ink);
}
.mn-navmenu__foot {
  border-top: 1px solid var(--mn-on-ink-08);
  padding-top: 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
}
.mn-lang--menu .mn-lang__item {
  font-size: 19px;
}

/* ── EYEBROW-варианты ───────────────────────────────────────── */
.mn-eyebrow--light {
  color: var(--mn-gold-light);
}
.mn-eyebrow--12 {
  font-size: var(--mn-eyebrow-12);
  letter-spacing: var(--mn-ls-eyebrow-16);
}

/* ── CHIP ───────────────────────────────────────────────────── */
.mn-chip {
  border: 1px solid rgba(239, 239, 239, 0.4);
  border-radius: var(--mn-r-pill);
  padding: 10px 18px;
  font-size: var(--mn-t-body-15);
  color: var(--mn-bg);
}

/* ── SLIDER-ARROW (общая круглая стрелка навигации 52px) ─────── */
.mn-slider-arrow {
  /* В макете эта кнопка (nav карусели «Производство» на главной) — border-box:
     rect 52×52 (не в box-sizing-аудите, т.к. computed border-box). Оставляем border-box. */
  box-sizing: border-box;
  width: var(--mn-ic-52);
  height: var(--mn-ic-52);
  border-radius: var(--mn-r-circle);
  border: 1px solid var(--mn-on-ink-18);
  background: var(--mn-white);
  color: var(--mn-ink);
  display: grid;
  place-items: center;
  transition:
    background var(--mn-dur-240) ease,
    color var(--mn-dur-240) ease,
    transform var(--mn-dur-240) ease;
}
.mn-slider-arrow:hover {
  background: var(--mn-ink);
  color: var(--mn-white);
  transform: var(--mn-hover-lift-2);
}

/* ── BADGE «17 лет» ─────────────────────────────────────────── */
.mn-badge17 {
  position: absolute;
  top: 22px;
  left: 22px;
  background: var(--mn-bg);
  border-radius: var(--mn-r-18);
  padding: 18px 22px;
  display: flex;
  align-items: baseline;
  gap: 12px;
}
.mn-badge17__num {
  font-family: var(--mn-font-display);
  font-size: var(--mn-num-badge-17);
  line-height: 1;
  letter-spacing: var(--mn-num-badge-17-ls);
}
.mn-badge17__label {
  font-size: var(--mn-t-body-14);
  line-height: 1.3;
  color: var(--mn-muted);
  max-width: 11ch;
}

/* ── STAT-CARD (about-статистика) ──────────────────────────── */
.mn-statcard {
  background: var(--mn-on-ink-035);
  border: 1px solid var(--mn-on-ink-08);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-radius: var(--mn-r-18);
  padding: 20px 22px;
}
.mn-statcard__value {
  font-family: var(--mn-font-display);
  font-size: var(--mn-num-stat-about);
  line-height: 1;
  letter-spacing: var(--mn-num-stat-about-ls);
}
.mn-statcard__label {
  margin-top: 10px;
  font-size: var(--mn-t-body-15);
  line-height: 1.4;
  color: var(--mn-muted);
}

/* ── LINK-ARROW (текстовая ссылка со стрелкой) ─────────────── */
.mn-link-arrow {
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--mn-ink);
  font-size: var(--mn-t-body-18);
  border-bottom: 1px solid var(--mn-on-ink-25);
  padding-bottom: 5px;
  transition: border-color var(--mn-dur-260) ease;
}
.mn-link-arrow:hover {
  color: var(--mn-ink);
  border-bottom-color: var(--mn-ink);
}

/* ── PRODUCT-CARD ───────────────────────────────────────────── */
.mn-pcard {
  position: relative;
  display: block;
  overflow: hidden;
}
.mn-pcard--track {
  flex: 0 0 var(--mn-card-track-w);
  height: var(--mn-card-track-h);
  border-radius: var(--mn-r-24);
  scroll-snap-align: start;
}
.mn-pcard--catalog {
  aspect-ratio: 4 / 5;
  border-radius: var(--mn-r-28);
}
.mn-pcard__media {
  position: absolute;
  inset: 0;
}
.mn-pcard__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--mn-dur-620) var(--mn-ease);
}
.mn-pcard:hover .mn-pcard__img {
  transform: var(--mn-hover-img-7);
}
.mn-pcard__grad {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.mn-pcard--track .mn-pcard__grad {
  background: var(--mn-grad-card);
}
.mn-pcard--catalog .mn-pcard__grad {
  background: var(--mn-grad-card-catalog);
}
.mn-pcard__body {
  position: absolute;
  color: var(--mn-white);
  pointer-events: none;
}
.mn-pcard--track .mn-pcard__body {
  inset: auto 22px 22px;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
}
.mn-pcard--catalog .mn-pcard__body {
  inset: auto 0 0;
  padding: 18px 18px 20px;
}
.mn-pcard--track .mn-pcard__title {
  font-family: var(--mn-font-display);
  font-weight: var(--mn-fw-medium);
  font-size: var(--mn-t-card-track);
  letter-spacing: var(--mn-t-card-track-ls);
}
.mn-pcard--track .mn-pcard__desc {
  margin-top: 8px;
  font-size: 13px;
  line-height: 1.45;
  color: var(--mn-on-img-78);
  max-width: 22ch;
}
.mn-pcard--catalog .mn-pcard__title {
  font-family: var(--mn-font-display);
  font-weight: var(--mn-fw-regular);
  font-size: var(--mn-t-card-catalog);
  letter-spacing: var(--mn-t-card-catalog-ls);
}
.mn-pcard--catalog .mn-pcard__desc {
  margin-top: 8px;
  font-size: var(--mn-t-body-14);
  color: var(--mn-on-img-75);
}
.mn-pcard__foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 20px;
}
.mn-pcard__tag {
  border: 1px solid rgba(255, 255, 255, 0.45);
  border-radius: var(--mn-r-pill);
  padding: 7px 14px;
  font-size: var(--mn-eyebrow-11);
  letter-spacing: var(--mn-ls-eyebrow-16);
  text-transform: uppercase;
}
.mn-pcard__arrow {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  border-radius: var(--mn-r-circle);
}
.mn-pcard__arrow--44 {
  width: var(--mn-ic-44);
  height: var(--mn-ic-44);
  background: var(--mn-white);
  color: var(--mn-ink);
  transition:
    transform var(--mn-dur-380) var(--mn-ease),
    background var(--mn-dur-380) ease;
}
.mn-pcard--track:hover .mn-pcard__arrow--44 {
  transform: var(--mn-hover-arrow-scale);
}
.mn-pcard__arrow--38 {
  width: var(--mn-ic-38);
  height: var(--mn-ic-38);
  background: rgba(255, 255, 255, 0.92);
  color: var(--mn-ink);
  transition: transform var(--mn-dur-380) var(--mn-ease);
}
.mn-pcard--catalog:hover .mn-pcard__arrow--38 {
  transform: var(--mn-hover-arrow);
}

/* Карточка «Весь каталог» (9-я в треке) */
.mn-pcard--all {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  flex: 0 0 var(--mn-card-track-w);
  height: var(--mn-card-track-h);
  border-radius: var(--mn-r-24);
  overflow: hidden;
  scroll-snap-align: start;
  background: var(--mn-ink);
  color: var(--mn-bg);
  padding: 28px;
  box-sizing: border-box;
  transition:
    background var(--mn-dur-260) ease,
    color var(--mn-dur-260) ease;
}
.mn-pcard--all:hover {
  background: var(--mn-bg);
  color: var(--mn-ink);
}
.mn-pcard--all__top {
  font-size: 13px;
  letter-spacing: var(--mn-ls-eyebrow-18);
  text-transform: uppercase;
  opacity: 0.6;
}
.mn-pcard--all__title {
  font-family: var(--mn-font-display);
  font-weight: var(--mn-fw-regular);
  font-size: var(--mn-t-allcat);
  line-height: var(--mn-t-allcat-lh);
  letter-spacing: var(--mn-t-allcat-ls);
}
.mn-pcard--all__arrow {
  display: grid;
  place-items: center;
  width: var(--mn-ic-52);
  height: var(--mn-ic-52);
  border-radius: var(--mn-r-circle);
  background: currentColor;
  margin-top: 22px;
}
.mn-pcard--all__arrow-svg {
  mix-blend-mode: difference;
}

/* ── NEWS-CARD ──────────────────────────────────────────────── */
.mn-ncard {
  position: relative;
  display: block;
  overflow: hidden;
  border-radius: var(--mn-r-26);
  transition: transform var(--mn-dur-420) var(--mn-ease);
}
.mn-ncard:hover {
  transform: var(--mn-hover-lift-6);
}
.mn-ncard--home,
.mn-ncard--list {
  aspect-ratio: 16 / 10;
}
.mn-ncard--related {
  aspect-ratio: 4 / 5;
}
.mn-ncard__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--mn-dur-620) var(--mn-ease);
}
.mn-ncard:hover .mn-ncard__img {
  transform: var(--mn-hover-img);
}
.mn-ncard__grad {
  position: absolute;
  inset: 0;
  background: var(--mn-grad-card-news);
  pointer-events: none;
}
.mn-ncard__arrow {
  /* content-box: 44 + border 1px = 46 (макет rect 46×46). */
  box-sizing: content-box;
  position: absolute;
  top: 20px;
  right: 20px;
  width: var(--mn-ic-44);
  height: var(--mn-ic-44);
  border-radius: var(--mn-r-circle);
  border: 1px solid rgba(255, 255, 255, 0.6);
  color: var(--mn-white);
  display: grid;
  place-items: center;
  transition: transform var(--mn-dur-420) var(--mn-ease);
  pointer-events: none;
}
.mn-ncard:hover .mn-ncard__arrow {
  transform: var(--mn-hover-arrow);
}
.mn-ncard__body {
  position: absolute;
  inset: auto 26px 26px;
  color: var(--mn-white);
  pointer-events: none;
}
.mn-ncard__meta {
  display: flex;
  align-items: center;
  gap: 14px;
  letter-spacing: var(--mn-ls-eyebrow-16);
  text-transform: uppercase;
  color: var(--mn-on-img-75);
}
.mn-ncard--home .mn-ncard__meta {
  font-size: 12px;
}
.mn-ncard--list .mn-ncard__meta {
  font-size: 11px;
}
.mn-ncard--related .mn-ncard__meta {
  font-size: 11px;
}
.mn-ncard--list .mn-ncard__cat,
.mn-ncard--related .mn-ncard__cat {
  color: var(--mn-gold-light);
}
.mn-ncard__title {
  margin-top: 14px;
  font-family: var(--mn-font-display);
  line-height: var(--mn-t-card-news-lh);
  letter-spacing: var(--mn-t-card-news-ls);
}
.mn-ncard--home .mn-ncard__title {
  font-size: var(--mn-t-card-news-home);
}
.mn-ncard--list .mn-ncard__title,
.mn-ncard--related .mn-ncard__title {
  font-size: var(--mn-t-card-news);
}
.mn-ncard__excerpt {
  margin-top: 12px;
  font-size: var(--mn-t-body-15);
  line-height: 1.55;
  color: var(--mn-on-img-78);
}

/* ── PAGE-HERO (страничный hero 50vh) ──────────────────────── */
.mn-phero {
  position: relative;
  height: var(--mn-hero-page-h);
  min-height: var(--mn-hero-page-min);
  overflow: hidden;
  display: flex;
}
.mn-phero__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.mn-phero__overlay {
  position: absolute;
  inset: 0;
  background: var(--mn-grad-page-hero);
}
.mn-phero__inner {
  position: relative;
  width: 100%;
  max-width: var(--mn-container);
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.mn-phero--center .mn-phero__inner {
  align-items: center;
  text-align: center;
  padding: 170px var(--mn-pad-hero-side) 40px;
}
.mn-phero--start .mn-phero__inner {
  align-items: flex-start;
  text-align: left;
  padding: 170px clamp(28px, 4vw, 64px) 40px;
}
.mn-phero__title {
  font-family: var(--mn-font-display);
  font-weight: var(--mn-fw-regular);
  font-size: var(--mn-h1-page);
  line-height: var(--mn-h1-page-lh);
  letter-spacing: var(--mn-h1-page-ls);
  color: var(--mn-white);
}
.mn-phero__subtitle {
  margin-top: 16px;
  font-size: var(--mn-t-body-18);
  color: var(--mn-on-img-78);
  max-width: 56ch;
}

/* ── BREADCRUMBS ───────────────────────────────────────────── */
.mn-crumbs {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: var(--mn-t-body-14);
  /* макет: крошки без line-height → normal (body:1.6 инфлейтил высоту шапки статьи) */
  line-height: normal;
  color: var(--mn-muted);
}
.mn-crumbs__link {
  color: var(--mn-muted);
}
.mn-crumbs__link:hover {
  color: var(--mn-ink);
}
.mn-crumbs__current {
  color: var(--mn-ink);
}
.mn-crumbs__sep {
  color: var(--mn-muted);
}

/* ── PAGINATION ────────────────────────────────────────────── */
.mn-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}
.mn-pagination__nav,
.mn-pagination__page {
  width: var(--mn-ic-46);
  height: var(--mn-ic-46);
  border-radius: var(--mn-r-circle);
  display: grid;
  place-items: center;
  background: var(--mn-white);
  transition:
    background var(--mn-dur-260) ease,
    color var(--mn-dur-260) ease;
}
.mn-pagination__nav {
  color: var(--mn-muted);
}
.mn-pagination__nav:hover {
  background: var(--mn-gold);
  color: var(--mn-ink);
}
.mn-pagination__nav.is-disabled {
  opacity: 0.4;
  pointer-events: none;
}
.mn-pagination__page {
  color: var(--mn-ink);
}
.mn-pagination__page:hover {
  background: var(--mn-gold);
  color: var(--mn-ink);
}
.mn-pagination__page.is-active {
  background: var(--mn-ink);
  color: var(--mn-bg);
}

/* ── CTA-БЛОК (форма заявки) ───────────────────────────────── */
.mn-cta {
  position: relative;
  overflow: hidden;
  min-height: 52vh;
  display: flex;
  align-items: center;
}
.mn-cta__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--mn-dur-620) var(--mn-ease);
}
.mn-cta:hover .mn-cta__bg {
  transform: var(--mn-hover-img-7);
}
.mn-cta__overlay {
  position: absolute;
  inset: 0;
  background: var(--mn-grad-cta);
}
.mn-cta__inner {
  /* content-box: max-width 900 + padding 40×2 = 980 (макет rect w=980). */
  box-sizing: content-box;
  position: relative;
  width: 100%;
  max-width: var(--mn-container-cta);
  margin: 0 auto;
  padding: var(--mn-sec-pad-v-cta) 40px;
  text-align: center;
  color: var(--mn-white);
}
.mn-cta__title {
  font-family: var(--mn-font-display);
  font-weight: var(--mn-fw-regular);
  font-size: var(--mn-h2-cta);
  line-height: var(--mn-h2-cta-lh);
  letter-spacing: var(--mn-h2-cta-ls);
}
.mn-cta__subtitle {
  margin: 18px auto 0;
  font-size: var(--mn-t-body);
  line-height: 1.55;
  color: var(--mn-on-img-80);
  max-width: 46ch;
}
.mn-cta__form {
  /* content-box: max-width 760 + padding (22+8) + border 2 = 792 (макет rect w=792). */
  box-sizing: content-box;
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: center;
  margin: 30px auto 0;
  max-width: var(--mn-container-cta-form);
  background: rgba(239, 239, 239, 0.1);
  border: 1px solid rgba(239, 239, 239, 0.28);
  border-radius: var(--mn-r-pill);
  padding: 8px 8px 8px 22px;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.mn-cta__input {
  flex: 1 1 150px;
  min-width: 0;
  background: transparent;
  border: none;
  outline: none;
  color: var(--mn-bg);
  font-family: var(--mn-font-body);
  font-size: var(--mn-t-body);
  /* макет: инпут без line-height → normal (body:1.6 у нас перебивал через font:inherit → H51 vs 45) */
  line-height: normal;
  padding: 12px 4px;
}
.mn-cta__input[name="contact"] {
  flex: 1 1 190px;
}
.mn-cta__input::placeholder {
  color: rgba(239, 239, 239, 0.65);
}
.mn-cta__divider {
  width: 1px;
  height: 24px;
  background: rgba(239, 239, 239, 0.22);
  flex: 0 0 auto;
}
.mn-cta__submit {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  background: var(--mn-bg);
  color: var(--mn-ink);
  border: none;
  cursor: pointer;
  padding: 12px 12px 12px 26px;
  border-radius: var(--mn-r-pill);
  font-family: var(--mn-font-body);
  font-size: var(--mn-t-body);
  transition: background var(--mn-dur-260) ease;
}
.mn-cta__submit:hover {
  background: var(--mn-hover-light);
}
.mn-cta__submit-ic {
  display: grid;
  place-items: center;
  width: var(--mn-ic-38);
  height: var(--mn-ic-38);
  border-radius: var(--mn-r-circle);
  background: var(--mn-ink);
  color: var(--mn-bg);
}
.mn-honeypot {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}
.mn-cta__toast {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-top: 18px;
  background: var(--mn-bg);
  color: var(--mn-ink);
  border-radius: var(--mn-r-pill);
  padding: 12px 24px 12px 14px;
  font-size: 16px;
  opacity: 0;
  transform: translateY(12px);
  transition:
    opacity var(--mn-dur-420) ease,
    transform var(--mn-dur-420) var(--mn-ease);
}
.mn-cta__toast.is-show {
  opacity: 1;
  transform: translateY(0);
}
.mn-cta__toast-ic {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: var(--mn-r-circle);
  background: var(--mn-ink);
  color: var(--mn-bg);
}
.mn-cta__form.is-loading {
  opacity: 0.7;
  pointer-events: none;
}

/* ── FOOTER ─────────────────────────────────────────────────── */
.mn-footer {
  background: var(--mn-ink);
  color: var(--mn-bg);
}
.mn-footer__grid {
  /* content-box: max-width 1580 + padding 68×2 = 1716 (макет rect x=102 w=1716). */
  box-sizing: content-box;
  max-width: var(--mn-container);
  margin: 0 auto;
  padding: 56px var(--mn-pad-side-fixed) 40px;
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) repeat(3, minmax(0, 1fr));
  gap: var(--mn-gap-footer);
}
.mn-footer__logo {
  font-family: var(--mn-font-display);
  font-weight: var(--mn-fw-medium);
  font-size: var(--mn-t-logo-footer);
  letter-spacing: var(--mn-t-logo-ls);
}
.mn-footer__desc {
  margin-top: 22px;
  font-size: var(--mn-t-body);
  line-height: 1.65;
  color: var(--mn-on-dark-60);
  max-width: 34ch;
}
.mn-footer__title {
  font-size: var(--mn-eyebrow-13);
  letter-spacing: var(--mn-ls-eyebrow-16);
  text-transform: uppercase;
  /* макет: заголовок-eyebrow колонки без line-height → normal (body:1.6 давал +4.8px → сдвиг ссылок ниже) */
  line-height: normal;
  color: var(--mn-on-dark-45);
}
.mn-footer__links {
  margin-top: 22px;
  display: flex;
  flex-direction: column;
  gap: 13px;
  font-size: var(--mn-t-body);
  /* макет: ссылки без line-height → normal (line-box ссылок задаёт высоту колонки; body:1.6 инфлейтил колонку/грид) */
  line-height: normal;
}
.mn-footer__links a {
  color: var(--mn-on-dark-85);
}
.mn-footer__links a:hover {
  color: var(--mn-bg);
}
.mn-footer__addr {
  color: var(--mn-on-dark-85);
}
.mn-footer__bottom {
  /* content-box: max-width 1580 + padding 68×2 = 1716 (макет rect x=102 w=1716). */
  box-sizing: content-box;
  max-width: var(--mn-container);
  margin: 0 auto;
  padding: 30px var(--mn-pad-side-fixed) 44px;
  border-top: 1px solid var(--mn-on-dark-14);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  font-size: var(--mn-t-body-15);
  /* макет: копирайт/ссылка без line-height → normal (body:1.6 давал H99 vs 93) */
  line-height: normal;
  color: var(--mn-on-dark-50);
}
.mn-footer__bottom a {
  color: var(--mn-on-dark-50);
}
.mn-footer__bottom a:hover {
  color: var(--mn-bg);
}

/* ── REVEAL (мягкое появление секций при скролле; JS-driven, off при reduced-motion) ─ */
.mn-reveal {
  opacity: 0;
  transform: translateY(28px);
  transition:
    opacity var(--mn-dur-760) var(--mn-ease),
    transform var(--mn-dur-760) var(--mn-ease);
  will-change: opacity, transform;
}
.mn-reveal.is-in {
  opacity: 1;
  transform: none;
}

/* ── VIDEO-СЕКЦИЯ (общая: О компании §5.5, Производство §6.3) ─── */
.mn-video {
  position: relative;
  overflow: hidden;
}
.mn-video__media {
  position: relative;
  width: 100%;
  height: 100%;
}
.mn-video__poster {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.mn-video__overlay {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.mn-video__frame,
.mn-video__el {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: none;
  background: var(--mn-ink);
  object-fit: cover;
  z-index: 3;
}
.mn-video__play {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border-radius: var(--mn-r-circle);
  display: grid;
  place-items: center;
  z-index: 2;
  transition:
    background var(--mn-dur-260) ease,
    transform var(--mn-dur-260) ease;
}
.mn-video.is-playing .mn-video__poster,
.mn-video.is-playing .mn-video__overlay,
.mn-video.is-playing .mn-video__play,
.mn-video.is-playing .mn-video__pillwrap {
  opacity: 0;
  pointer-events: none;
}

/* ── СТАТИЧНЫЙ ГЛОБУС (≤1199 / reduced-motion) — подписи поверх SVG ─ */
.mn-globe__static {
  position: relative;
}
.mn-gstatic__labels {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.mn-gstatic__label {
  position: absolute;
  font-family: var(--mn-font-display);
  font-weight: var(--mn-fw-regular);
  font-size: calc(14px * var(--gscale, 1));
  letter-spacing: 0.2em;
  color: #fff;
  white-space: nowrap;
  text-shadow:
    0 0 4px rgba(4, 4, 4, 0.65),
    0 0 4px rgba(4, 4, 4, 0.65);
  transform: translateY(-50%);
}
.mn-gstatic__label--start {
  transform: translate(calc(11px * var(--gscale, 1)), -50%);
}
.mn-gstatic__label--end {
  transform: translate(calc(-100% - 11px * var(--gscale, 1)), -50%);
}
.mn-gstatic__label--home {
  font-weight: var(--mn-fw-medium);
  font-size: calc(15px * var(--gscale, 1));
  letter-spacing: 0.22em;
  transform: translate(-50%, calc(28px * var(--gscale, 1)));
}
