/* ==========================================================================
   MEG: новый презентационный дизайн (режим предпросмотра ?design=next)
   Графит, фирменный синий и светлые поверхности. Тонкие линии, крупные короткие заголовки.
   Все классы начинаются с nx-. Контент виден и без скриптов: скрытое начальное состояние включается только при html.nx-js.
   ========================================================================== */
:root {
  --nx-ink: #0b1118;
  --nx-graphite: #111a24;
  --nx-slate: #1a2633;
  --nx-line: rgba(255, 255, 255, .14);
  --nx-line-dark: rgba(17, 26, 36, .14);
  --nx-blue: #254982;
  --nx-blue-hi: #4f86d6;
  --nx-gold: #c8892b;
  --nx-light: #f3f5f8;
  --nx-paper: #ffffff;
  --nx-text: #1f2933;
  --nx-text-2: #52606d;
  --nx-on-dark: #e8edf3;
  --nx-on-dark-2: #9fb0c1;
  --nx-h: 68px;
  --nx-ease: cubic-bezier(.2, .7, .2, 1);
  --nx-w: min(1320px, calc(100% - 48px));
}
html { scroll-behavior: smooth; }
.meg-next .wrapper { overflow: visible; overflow-x: clip; }
.meg-next { background: var(--nx-paper); }

/* ---------- Шапка и подвал ---------- */
/* Шапка остаётся светлой с прежним логотипом; тёмными сценами начинаются первые экраны страниц */
.meg-next header { background: rgba(255, 255, 255, .94) !important; border-bottom: 1px solid var(--nx-line-dark) !important; }
@media (min-width: 993px) {
  .meg-next header { backdrop-filter: saturate(140%) blur(14px); -webkit-backdrop-filter: saturate(140%) blur(14px); }
}
.meg-next header .blue_btn { background: var(--nx-blue) !important; color: #fff !important; border-radius: 4px !important; }
.meg-next .footer { margin-top: 0 !important; background: var(--nx-ink) !important; color: var(--nx-on-dark-2); border-top: 1px solid var(--nx-line); }
.meg-next .footer, .meg-next .footer * { color: var(--nx-on-dark-2) !important; text-align: left !important; }
.meg-next .footer .footer_title, .meg-next .footer .footer_menu_title { color: #fff !important; }
.meg-next .footer a:hover { color: #fff !important; }

/* ---------- Общие элементы ---------- */
.nx { color: var(--nx-text); }
.nx *, .nx *::before, .nx *::after { box-sizing: border-box; }
.nx h1, .nx h2, .nx h3, .nx h4, .nx p, .nx ul, .nx ol, .nx figure { margin: 0; padding: 0; }
.nx ul, .nx ol { list-style: none; }
.nx img { max-width: 100%; display: block; }
.nx a { text-decoration: none; }
.nx-wrap { width: var(--nx-w); margin-inline: auto; }
.nx-eyebrow { font-size: 12px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--nx-text-2); display: inline-flex; align-items: center; gap: 12px; }
.nx-eyebrow::before { content: ""; width: 28px; height: 1px; background: currentColor; opacity: .6; }
.nx-dark { background: var(--nx-graphite); color: var(--nx-on-dark); }
.nx-dark .nx-eyebrow { color: var(--nx-on-dark-2); }
.nx-display { font-size: clamp(40px, 6.6vw, 104px); line-height: 1.02; letter-spacing: -.03em; font-weight: 700; text-wrap: balance; }
.nx-h2 { font-size: clamp(30px, 4.2vw, 64px); line-height: 1.06; letter-spacing: -.025em; font-weight: 700; text-wrap: balance; }
.nx-lede { font-size: clamp(16px, 1.35vw, 20px); line-height: 1.55; color: var(--nx-text-2); max-width: 56ch; text-wrap: pretty; }
.nx-dark .nx-lede { color: var(--nx-on-dark-2); }
.nx-btn { display: inline-flex; align-items: center; gap: 12px; min-height: 52px; padding: 0 26px; border-radius: 4px; font-size: 15px; font-weight: 600; letter-spacing: .01em; border: 1px solid transparent; cursor: pointer; transition: background .2s var(--nx-ease), color .2s var(--nx-ease), border-color .2s var(--nx-ease), transform .2s var(--nx-ease); }
.nx-btn svg { width: 18px; height: 18px; transition: transform .25s var(--nx-ease); }
.nx-btn:hover svg, .nx-btn:focus-visible svg { transform: translateX(4px); }
.nx-btn-primary { background: var(--nx-blue-hi); color: #06101d; }
.nx-btn-primary:hover { background: #7ba6e6; }
.nx-btn-ghost { color: #fff; border-color: rgba(255, 255, 255, .35); }
.nx-btn-ghost:hover { border-color: #fff; background: rgba(255, 255, 255, .08); }
.nx-btn-solid { background: var(--nx-blue); color: #fff; }
.nx-btn-solid:hover { background: #1c3a6a; }
.nx-btn-light { background: #fff; color: var(--nx-ink); }
.nx-btn-light:hover { background: #dfe7f1; }
.nx a:focus-visible, .nx button:focus-visible { outline: 3px solid var(--nx-blue-hi); outline-offset: 3px; }
.nx-link { display: inline-flex; align-items: center; gap: 10px; font-weight: 600; color: var(--nx-blue); border-bottom: 1px solid currentColor; padding-bottom: 2px; }
.nx-dark .nx-link { color: var(--nx-blue-hi); }
.nx-sec { padding: clamp(72px, 9vw, 140px) 0; }
.nx-index { font-size: 12px; font-weight: 600; letter-spacing: .18em; color: var(--nx-on-dark-2); }
.nx-tick { position: relative; }
.nx-tick::before, .nx-tick::after { content: ""; position: absolute; width: 18px; height: 18px; border: 1px solid var(--nx-blue-hi); pointer-events: none; z-index: 2; }
.nx-tick::before { top: -1px; left: -1px; border-right: 0; border-bottom: 0; }
.nx-tick::after { bottom: -1px; right: -1px; border-left: 0; border-top: 0; }

.nx-hero .nx-eyebrow, .nx-flag .nx-eyebrow, .nxp-hero .nx-eyebrow, .nxp-scenes .nx-eyebrow { color: var(--nx-on-dark-2); }
.nx-flag .nx-lede, .nxp-hero .nx-lede, .nxp-scenes .nx-lede { color: var(--nx-on-dark-2); }
.nx-eyebrow { margin-bottom: 18px; }
.nx-intro-grid .nx-eyebrow, .nxp-sec-head .nx-eyebrow { margin-bottom: 0; }
/* Появление: только при включённых скриптах */
.nx-js [data-nx] { opacity: 0; transform: translateY(24px); transition: opacity .6s var(--nx-ease), transform .6s var(--nx-ease); transition-delay: var(--d, 0s); }
.nx-js [data-nx].is-in { opacity: 1; transform: none; }

/* ---------- Главная: первый экран ---------- */
.nx-hero { position: relative; padding-top: calc(var(--nx-h) + 56px); display: flex; flex-direction: column; overflow: hidden; background: var(--nx-ink); color: #fff; isolation: isolate; }
.nx-hero::before { content: ""; position: absolute; inset: 0; z-index: -2; background:
  linear-gradient(rgba(255, 255, 255, .045) 1px, transparent 1px) 0 0 / 80px 80px,
  linear-gradient(90deg, rgba(255, 255, 255, .045) 1px, transparent 1px) 0 0 / 80px 80px; }
.nx-hero-media { position: absolute; z-index: -1; right: 0; top: 60px; width: min(82%, 1280px); height: calc(100% - 60px); }
.nx-hero-media img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 62%; -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 38%); mask-image: linear-gradient(90deg, transparent 0, #000 38%); will-change: transform; }
.nx-hero-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, var(--nx-ink) 0, transparent 38%); }
.nx-hero-body { padding-bottom: clamp(32px, 5vw, 72px); }
.nx-hero .nx-eyebrow { color: var(--nx-on-dark-2); margin-bottom: 28px; }
.nx-hero .nx-display { max-width: 12ch; }
.nx-hero-sub { margin-top: 20px; font-size: 13px; font-weight: 600; letter-spacing: .38em; text-transform: uppercase; color: var(--nx-blue-hi); }
.nx-hero .nx-lede { margin-top: 28px; color: var(--nx-on-dark); max-width: 46ch; }
.nx-hero-cta { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 36px; }
.nx-stats { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--nx-line); }
.nx-stat { padding: 26px 0 30px; }
.nx-stat + .nx-stat { padding-left: clamp(16px, 3vw, 40px); border-left: 1px solid var(--nx-line); }
.nx-stat b { display: block; font-size: clamp(34px, 4.6vw, 68px); line-height: 1; font-weight: 600; letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.nx-stat span { display: block; margin-top: 10px; font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--nx-on-dark-2); }
.nx-caption { position: absolute; right: max(24px, calc((100vw - 1320px) / 2)); top: calc(var(--nx-h) + 24px); font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--nx-on-dark); display: flex; gap: 10px; align-items: center; }
.nx-caption a { color: #fff; border-bottom: 1px solid var(--nx-blue-hi); padding-bottom: 2px; }
.nx-caption small { color: var(--nx-on-dark-2); font-size: inherit; }

/* ---------- Главная: компания ---------- */
.nx-intro { background: var(--nx-paper); }
.nx-intro-grid { display: grid; grid-template-columns: 3fr 9fr; gap: clamp(24px, 4vw, 80px); align-items: start; }
.nx-intro-statement { font-size: clamp(26px, 3.4vw, 52px); line-height: 1.18; letter-spacing: -.02em; font-weight: 600; color: var(--nx-ink); text-wrap: balance; max-width: 26ch; }
.nx-intro-cta { margin-top: 40px; display: flex; flex-wrap: wrap; gap: 28px; align-items: center; }

/* ---------- Главная: направления ---------- */
.nx-dirs { background: var(--nx-light); }
.nx-dirs-head { display: flex; justify-content: space-between; align-items: end; gap: 24px; margin-bottom: clamp(32px, 4vw, 56px); }
.nx-dir-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.nx-dir { background: var(--nx-paper); border: 1px solid var(--nx-line-dark); display: flex; flex-direction: column; overflow: hidden; }
.nx-dir-media { aspect-ratio: 16 / 10; overflow: hidden; background: var(--nx-slate); }
.nx-dir-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .9s var(--nx-ease); }
.nx-dir:hover .nx-dir-media img { transform: scale(1.035); }
.nx-dir-body { padding: clamp(24px, 3vw, 44px); display: flex; flex-direction: column; gap: 18px; flex: 1; }
.nx-dir h3 { font-size: clamp(26px, 2.6vw, 38px); line-height: 1.1; letter-spacing: -.02em; font-weight: 700; color: var(--nx-ink); }
.nx-dir p { color: var(--nx-text-2); line-height: 1.55; max-width: 52ch; }
.nx-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 4px; }
.nx-chips a { font-size: 13px; font-weight: 500; color: var(--nx-text); padding: 7px 12px; border: 1px solid var(--nx-line-dark); transition: border-color .2s, background .2s, color .2s; }
.nx-chips a:hover { border-color: var(--nx-blue); background: var(--nx-blue); color: #fff; }
.nx-dir .nx-btn { align-self: flex-start; margin-top: auto; }

/* ---------- Главная: флагманский продукт ---------- */
.nx-flag { position: relative; overflow: hidden; background: var(--nx-ink); color: #fff; }
.nx-flag-grid { display: grid; grid-template-columns: 5fr 7fr; gap: clamp(28px, 5vw, 96px); align-items: center; }
.nx-flag h2 { margin: 22px 0 22px; }
.nx-facts { display: grid; grid-template-columns: repeat(2, 1fr); margin-top: 40px; border-top: 1px solid var(--nx-line); }
.nx-fact { padding: 22px 0 24px; border-bottom: 1px solid var(--nx-line); }
.nx-fact:nth-child(odd) { padding-right: 20px; border-right: 1px solid var(--nx-line); }
.nx-fact:nth-child(even) { padding-left: 24px; }
.nx-fact b { display: block; font-size: clamp(40px, 4.4vw, 72px); line-height: 1; font-weight: 600; letter-spacing: -.03em; font-variant-numeric: tabular-nums; color: #fff; }
.nx-fact span { display: block; margin-top: 10px; font-size: 13px; line-height: 1.4; color: var(--nx-on-dark-2); }
.nx-flag-media { position: relative; background: var(--nx-slate); aspect-ratio: 16 / 10; }
.nx-flag-media img { width: 100%; height: 100%; object-fit: cover; }
.nx-flag-cta { margin-top: 40px; }

/* ---------- Главная: производственные возможности ---------- */
.nx-cap { background: var(--nx-paper); }
.nx-cap-grid { display: grid; grid-template-columns: 6fr 5fr; gap: clamp(28px, 6vw, 110px); margin-top: clamp(32px, 4vw, 64px); align-items: start; }
.nx-cap-list { border-top: 1px solid var(--nx-line-dark); }
.nx-cap-row { display: grid; grid-template-columns: 56px 1fr 32px; gap: 16px; align-items: baseline; padding: 26px 0; border-bottom: 1px solid var(--nx-line-dark); color: var(--nx-ink); transition: padding-left .3s var(--nx-ease), color .2s; }
.nx-cap-row .nx-index { color: var(--nx-text-2); }
.nx-cap-row h3 { font-size: clamp(22px, 2.2vw, 32px); line-height: 1.15; letter-spacing: -.02em; font-weight: 600; }
.nx-cap-row p { margin-top: 8px; font-size: 15px; line-height: 1.5; color: var(--nx-text-2); max-width: 48ch; }
.nx-cap-row svg { width: 22px; height: 22px; color: var(--nx-blue); opacity: 0; transform: translateX(-8px); transition: opacity .25s, transform .25s var(--nx-ease); align-self: center; }
.nx-cap-row:hover, .nx-cap-row:focus-visible, .nx-cap-row.is-on { padding-left: 14px; color: var(--nx-blue); }
.nx-cap-row:hover svg, .nx-cap-row:focus-visible svg, .nx-cap-row.is-on svg { opacity: 1; transform: none; }
.nx-cap-stage { position: sticky; top: calc(var(--nx-h) + 24px); aspect-ratio: 4 / 5; background: var(--nx-graphite); overflow: hidden; }
.nx-cap-stage img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transform: scale(1.04); transition: opacity .5s var(--nx-ease), transform 1s var(--nx-ease); }
.nx-cap-stage img.is-on { opacity: 1; transform: none; }

/* ---------- Главная: проекты и международный опыт ---------- */
.nx-proof { background: var(--nx-light); }
.nx-proof-top { display: grid; grid-template-columns: 6fr 6fr; gap: clamp(28px, 5vw, 90px); align-items: end; margin-bottom: 48px; }
.nx-countries { display: flex; flex-wrap: wrap; gap: 10px; }
.nx-countries span { font-size: 15px; font-weight: 600; padding: 12px 18px; background: var(--nx-paper); border: 1px solid var(--nx-line-dark); color: var(--nx-ink); }
.nx-news { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.nx-card { background: var(--nx-paper); border: 1px solid var(--nx-line-dark); display: flex; flex-direction: column; color: inherit; transition: border-color .25s, transform .3s var(--nx-ease); }
.nx-card:hover, .nx-card:focus-visible { border-color: var(--nx-blue); transform: translateY(-3px); }
.nx-card-media { aspect-ratio: 3 / 2; overflow: hidden; background: var(--nx-slate); }
.nx-card-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--nx-ease); }
.nx-card:hover .nx-card-media img { transform: scale(1.04); }
.nx-card-body { padding: 22px 24px 26px; display: flex; flex-direction: column; gap: 10px; }
.nx-card time { font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--nx-text-2); }
.nx-card h3 { font-size: 20px; line-height: 1.25; letter-spacing: -.01em; font-weight: 600; color: var(--nx-ink); }
.nx-more { margin-top: 36px; }

/* ---------- Главная: обсуждение задачи ---------- */
.nx-cta { position: relative; background: linear-gradient(120deg, #1c3a6a 0, var(--nx-blue) 55%, #2f62ab 100%); color: #fff; overflow: hidden; }
.nx-cta::before { content: ""; position: absolute; inset: 0; background: linear-gradient(rgba(255, 255, 255, .06) 1px, transparent 1px) 0 0 / 80px 80px, linear-gradient(90deg, rgba(255, 255, 255, .06) 1px, transparent 1px) 0 0 / 80px 80px; -webkit-mask-image: linear-gradient(270deg, #000, transparent 70%); mask-image: linear-gradient(270deg, #000, transparent 70%); }
.nx-cta-grid { position: relative; display: grid; grid-template-columns: 8fr 4fr; gap: 40px; align-items: end; }
.nx-cta .nx-eyebrow { color: rgba(255, 255, 255, .75); }
.nx-cta h2 { margin: 22px 0 22px; }
.nx-cta .nx-lede { color: rgba(255, 255, 255, .85); }
.nx-contact { display: flex; flex-direction: column; gap: 10px; font-size: 18px; font-weight: 600; }
.nx-contact a { color: #fff; border-bottom: 1px solid rgba(255, 255, 255, .4); align-self: flex-start; padding-bottom: 2px; }
.nx-contact a:hover { border-color: #fff; }

/* ==========================================================================
   Страница продукта
   ========================================================================== */
.nxp-nav { position: sticky; top: var(--nx-h); z-index: 40; background: rgba(11, 17, 24, .94); backdrop-filter: blur(10px); border-bottom: 1px solid var(--nx-line); }
.nxp-nav ul { display: flex; gap: 4px; overflow-x: auto; scrollbar-width: none; }
.nxp-nav ul::-webkit-scrollbar { display: none; }
.nxp-nav a { display: block; padding: 16px 16px; font-size: 13px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--nx-on-dark-2); white-space: nowrap; border-bottom: 2px solid transparent; transition: color .2s, border-color .2s; }
.nxp-nav a:hover { color: #fff; }
.nxp-nav a.is-on { color: #fff; border-color: var(--nx-blue-hi); }
.nxp-hero { position: relative; background: var(--nx-ink); color: #fff; padding: calc(var(--nx-h) + 36px) 0 0; overflow: hidden; isolation: isolate; }
.nxp-hero::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(rgba(255, 255, 255, .04) 1px, transparent 1px) 0 0 / 80px 80px, linear-gradient(90deg, rgba(255, 255, 255, .04) 1px, transparent 1px) 0 0 / 80px 80px; }
.nxp-back { display: inline-flex; gap: 10px; align-items: center; font-size: 13px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--nx-on-dark-2); }
.nxp-back:hover { color: #fff; }
.nxp-back svg { width: 16px; height: 16px; transform: rotate(180deg); }
.nxp-hero-grid { display: grid; grid-template-columns: 5fr 7fr; gap: clamp(24px, 4vw, 72px); align-items: center; padding: 28px 0 clamp(48px, 6vw, 88px); }
.nxp-hero h1 { font-size: clamp(34px, 4.6vw, 72px); line-height: 1.04; letter-spacing: -.028em; font-weight: 700; margin: 20px 0 22px; text-wrap: balance; }
.nxp-cta { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 34px; }
.nxp-stage { position: relative; background: radial-gradient(120% 90% at 70% 20%, #2a3a4d 0, #16212d 62%); aspect-ratio: 4 / 3; display: grid; place-items: center; }
.nxp-stage img { width: 100%; height: 100%; object-fit: contain; }
.nxp-stage.is-photo img { object-fit: cover; }
.nxp-keyfacts { background: var(--nx-slate); border-top: 1px solid var(--nx-line); }
.nxp-keyfacts .nx-wrap { display: grid; grid-template-columns: repeat(4, 1fr); }
.nxp-kf { padding: 30px 0 34px; }
.nxp-kf + .nxp-kf { padding-left: clamp(16px, 2.4vw, 36px); border-left: 1px solid var(--nx-line); }
.nxp-kf b { display: block; font-size: clamp(28px, 3.6vw, 56px); line-height: 1.02; font-weight: 600; letter-spacing: -.03em; color: #fff; font-variant-numeric: tabular-nums; }
.nxp-kf span { display: block; margin-top: 10px; font-size: 12px; line-height: 1.4; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--nx-on-dark-2); }
.nxp-sec { padding: clamp(64px, 8vw, 120px) 0; scroll-margin-top: calc(var(--nx-h) + 56px); }
.nxp-sec.is-light { background: var(--nx-paper); }
.nxp-sec.is-gray { background: var(--nx-light); }
.nxp-sec-head { display: grid; grid-template-columns: 3fr 9fr; gap: clamp(20px, 4vw, 80px); margin-bottom: clamp(28px, 4vw, 56px); align-items: start; }
.nxp-overview { display: grid; grid-template-columns: 5fr 7fr; gap: clamp(28px, 5vw, 96px); align-items: center; }
.nxp-overview h2 { margin-bottom: 20px; }
.nxp-overview-media { background: var(--nx-graphite); aspect-ratio: 16 / 10; overflow: hidden; }
.nxp-overview-media video, .nxp-overview-media img { width: 100%; height: 100%; object-fit: cover; }
.nxp-layout { display: grid; grid-template-columns: 5fr 7fr; gap: clamp(24px, 5vw, 90px); align-items: start; }
.nxp-layout-img { position: sticky; top: calc(var(--nx-h) + 70px); background: #cfd6de; }
.nxp-layout-img img { width: 100%; height: auto; max-height: calc(100vh - 180px); object-fit: contain; margin: 0 auto; }
.nxp-roles { counter-reset: role; border-top: 1px solid var(--nx-line-dark); }
.nxp-role { display: grid; grid-template-columns: 56px 1fr; gap: 14px; padding: 22px 0; border-bottom: 1px solid var(--nx-line-dark); }
.nxp-role .nx-index { color: var(--nx-blue); font-size: 14px; }
.nxp-role h3 { font-size: 20px; line-height: 1.25; font-weight: 600; letter-spacing: -.01em; color: var(--nx-ink); }
.nxp-role p { margin-top: 6px; font-size: 15px; line-height: 1.55; color: var(--nx-text-2); }
.nxp-text { font-size: clamp(16px, 1.2vw, 19px); line-height: 1.65; color: var(--nx-text-2); max-width: 62ch; }
.nxp-text + .nxp-text { margin-top: 18px; }
.nxp-scenes { position: relative; background: var(--nx-ink); color: #fff; }
.nxp-scenes-grid { display: grid; grid-template-columns: 7fr 5fr; gap: clamp(24px, 5vw, 90px); }
.nxp-scenes-stage { position: sticky; top: calc(var(--nx-h) + 70px); align-self: start; aspect-ratio: 16 / 10; background: var(--nx-slate); overflow: hidden; }
.nxp-scenes-stage img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transform: scale(1.04); transition: opacity .55s var(--nx-ease), transform 1.1s var(--nx-ease); }
.nxp-scenes-stage img.is-on { opacity: 1; transform: none; }
.nxp-scene { min-height: 56vh; display: flex; flex-direction: column; justify-content: center; padding: 28px 0; border-top: 1px solid var(--nx-line); opacity: .45; transition: opacity .4s; }
.nxp-scene.is-on { opacity: 1; }
.nxp-scene h3 { font-size: clamp(26px, 2.8vw, 42px); line-height: 1.08; letter-spacing: -.02em; font-weight: 700; margin: 14px 0 14px; }
.nxp-scene p { color: var(--nx-on-dark-2); line-height: 1.6; max-width: 44ch; }
.nxp-scene-img { display: none; margin-bottom: 18px; }
.nxp-gallery { display: grid; grid-template-columns: repeat(6, 1fr); gap: 12px; }
.nxp-g { position: relative; display: block; padding: 0; border: 0; background: var(--nx-graphite); cursor: zoom-in; overflow: hidden; aspect-ratio: 4 / 3; }
.nxp-g:nth-child(1) { grid-column: span 4; grid-row: span 2; aspect-ratio: auto; }
.nxp-g:nth-child(2), .nxp-g:nth-child(3) { grid-column: span 2; }
.nxp-g:nth-child(n+4) { grid-column: span 3; }
.nxp-g img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--nx-ease); }
.nxp-g:hover img { transform: scale(1.04); }
.nxp-g::after { content: ""; position: absolute; right: 14px; bottom: 14px; width: 34px; height: 34px; background: rgba(11, 17, 24, .7) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.6'%3E%3Cpath d='M4 9V4h5M20 9V4h-5M4 15v5h5M20 15v5h-5'/%3E%3C/svg%3E") center / 18px no-repeat; opacity: 0; transition: opacity .25s; }
.nxp-g:hover::after, .nxp-g:focus-visible::after { opacity: 1; }
.nxp-table { width: 100%; border-collapse: collapse; border-top: 1px solid var(--nx-ink); }
.nxp-table th, .nxp-table td { text-align: left; vertical-align: top; padding: 16px 0; border-bottom: 1px solid var(--nx-line-dark); font-size: 16px; line-height: 1.45; }
.nxp-table th { width: 42%; font-weight: 500; color: var(--nx-text-2); padding-right: 24px; }
.nxp-table td { font-weight: 600; color: var(--nx-ink); font-variant-numeric: tabular-nums; }
.nxp-blocks { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 clamp(24px, 4vw, 72px); border-top: 1px solid var(--nx-line-dark); }
.nxp-block { padding: 26px 0; border-bottom: 1px solid var(--nx-line-dark); }
.nxp-block h3 { font-size: 13px; letter-spacing: .14em; text-transform: uppercase; font-weight: 600; color: var(--nx-blue); margin-bottom: 10px; }
.nxp-block p { line-height: 1.6; color: var(--nx-text-2); white-space: pre-line; }
.nxp-docs a { display: flex; justify-content: space-between; gap: 20px; padding: 20px 0; border-bottom: 1px solid var(--nx-line-dark); color: var(--nx-ink); font-weight: 600; }
.nxp-docs { border-top: 1px solid var(--nx-line-dark); }
.nxp-docs a:hover { color: var(--nx-blue); }
.nxp-rfq { background: linear-gradient(120deg, #1c3a6a 0, var(--nx-blue) 60%, #2f62ab 100%); color: #fff; }
.nxp-rfq-grid { display: grid; grid-template-columns: 8fr 4fr; gap: 40px; align-items: end; }
.nxp-rfq h2 { margin: 18px 0 18px; }
.nxp-rfq .nx-lede { color: rgba(255, 255, 255, .85); }
.nxp-rfq .nx-eyebrow { color: rgba(255, 255, 255, .75); }

/* Просмотр галереи */
.nx-lb { position: fixed; inset: 0; z-index: 100000; display: none; background: rgba(5, 9, 13, .94); align-items: center; justify-content: center; padding: 56px 72px; }
.nx-lb.is-open { display: flex; }
.nx-lb figure { max-width: min(1500px, 100%); max-height: 100%; display: flex; flex-direction: column; gap: 12px; align-items: center; }
.nx-lb img { max-width: 100%; max-height: calc(100vh - 150px); width: auto; height: auto; object-fit: contain; }
.nx-lb figcaption { color: var(--nx-on-dark-2); font-size: 14px; text-align: center; }
.nx-lb button { position: absolute; width: 48px; height: 48px; display: grid; place-items: center; background: rgba(255, 255, 255, .08); border: 1px solid var(--nx-line); color: #fff; cursor: pointer; transition: background .2s; }
.nx-lb button:hover { background: rgba(255, 255, 255, .2); }
.nx-lb button svg { width: 22px; height: 22px; }
.nx-lb .nx-lb-x { top: 16px; right: 16px; }
.nx-lb .nx-lb-p { left: 12px; top: 50%; transform: translateY(-50%); }
.nx-lb .nx-lb-n { right: 12px; top: 50%; transform: translateY(-50%); }

/* ---------- Планшет и телефон ---------- */
@media (max-width: 992px) {
  :root { --nx-h: 60px; }
  .nx-hero { min-height: 0; padding-top: calc(var(--nx-h) + 24px); }
  .nx-hero-media { position: relative; width: 100%; height: 46vh; order: -1; margin-top: -8px; }
  .nx-hero-media img { -webkit-mask-image: linear-gradient(180deg, #000 55%, transparent); mask-image: linear-gradient(180deg, #000 55%, transparent); }
  .nx-hero-media::after { display: none; }
  .nx-caption { position: static; padding: 12px 24px 0; justify-content: flex-start; }
  .nx-hero { display: flex; flex-direction: column; justify-content: flex-start; }
  .nx-hero .nx-display { max-width: none; }
  .nx-intro-grid, .nx-flag-grid, .nx-cap-grid, .nx-proof-top, .nx-cta-grid, .nxp-hero-grid, .nxp-overview, .nxp-layout, .nxp-scenes-grid, .nxp-sec-head, .nxp-rfq-grid { grid-template-columns: minmax(0, 1fr); }
  .nx-dir-grid, .nx-news { grid-template-columns: minmax(0, 1fr); }
  .nx-cap-stage, .nxp-layout-img, .nxp-scenes-stage { position: relative; top: 0; }
  .nx-cap-stage { display: none; }
  .nxp-scenes-stage { display: none; }
  .nxp-scene { min-height: 0; opacity: 1; }
  .nxp-scene-img { display: block; aspect-ratio: 16 / 10; background: var(--nx-slate); }
  .nxp-scene-img img { width: 100%; height: 100%; object-fit: cover; }
  .nxp-keyfacts .nx-wrap { grid-template-columns: repeat(2, 1fr); }
  .nxp-kf:nth-child(3) { padding-left: 0; border-left: 0; }
  .nxp-kf:nth-child(n+3) { border-top: 1px solid var(--nx-line); }
  .nxp-gallery { grid-template-columns: repeat(2, 1fr); }
  .nxp-g, .nxp-g:nth-child(n) { grid-column: span 1; grid-row: auto; aspect-ratio: 4 / 3; }
  .nxp-g:nth-child(1) { grid-column: span 2; }
  .nxp-blocks { grid-template-columns: minmax(0, 1fr); }
  .nx-lb { padding: 56px 16px; }
}
@media (max-width: 600px) {
  .nx-stats { grid-template-columns: 1fr; }
  .nx-stat + .nx-stat { padding-left: 0; border-left: 0; border-top: 1px solid var(--nx-line); }
  .nx-facts { grid-template-columns: 1fr; }
  .nx-fact:nth-child(n) { padding: 20px 0; border-right: 0; }
  .nx-cap-row { grid-template-columns: 40px 1fr; }
  .nx-cap-row svg { display: none; }
  .nxp-table th { width: 46%; }
  .nx-btn { width: 100%; justify-content: center; }
}

/* ---------- Уменьшение движения ---------- */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .nx *, .nx *::before, .nx *::after { transition-duration: .001s !important; animation-duration: .001s !important; transition-delay: 0s !important; }
  .nx-js [data-nx] { opacity: 1; transform: none; }
  .nx-hero-media img { transform: none !important; }
}

/* ==========================================================================
   Страница «О нас»
   ========================================================================== */
.nxa-hero { padding-bottom: clamp(48px, 6vw, 96px); }
.nxa-hero .nx-eyebrow { margin-bottom: 28px; }
.nxa-hero .nx-display { max-width: 18ch; }
.nxa-hero .nx-lede { margin-top: 28px; max-width: 62ch; color: var(--nx-on-dark); }
.nxa-hero .nx-lede strong { color: #fff; font-weight: 600; }
.nxa-film { background: var(--nx-ink); color: #fff; padding: 0 0 clamp(56px, 7vw, 110px); }
.nxa-film-frame { position: relative; aspect-ratio: 16 / 9; background: #000; overflow: hidden; }
.nxa-film-frame video { width: 100%; height: 100%; object-fit: cover; display: block; }
.nxa-film-cap { display: grid; grid-template-columns: 3fr 5fr 4fr; gap: clamp(20px, 3vw, 56px); align-items: start; margin-top: 32px; padding-top: 28px; border-top: 1px solid var(--nx-line); }
.nxa-film-cap .nx-eyebrow { color: var(--nx-on-dark-2); margin: 0; }
.nxa-film-cap .nx-h2 { font-size: clamp(24px, 2.6vw, 40px); }
.nxa-film-cap .nx-lede { color: var(--nx-on-dark-2); font-size: 16px; }
.nxa-acc-img { margin-top: 32px; background: var(--nx-graphite); aspect-ratio: 4 / 3; overflow: hidden; }
.nxa-acc-img img { width: 100%; height: 100%; object-fit: cover; object-position: 62% 50%; }
.nxa-logos { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 1px; margin-top: clamp(32px, 4vw, 56px); background: var(--nx-line-dark); border: 1px solid var(--nx-line-dark); }
.nxa-logos li { background: var(--nx-paper); display: grid; place-items: center; min-height: 110px; padding: 20px; }
.nxa-logos img { max-height: 56px; width: auto; max-width: 100%; object-fit: contain; filter: grayscale(1); opacity: .75; transition: filter .3s, opacity .3s; }
.nxa-logos li:hover img { filter: none; opacity: 1; }
.nxa-docs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.nxa-docs .nxp-g, .nxa-docs .nxp-g:nth-child(n) { grid-column: auto; grid-row: auto; aspect-ratio: 3 / 4; background: var(--nx-light); border: 1px solid var(--nx-line-dark); }
.nxa-docs .nxp-g img { object-fit: contain; padding: 10px; }
.nxa-struct { background: var(--nx-ink); color: #fff; }
.nxa-struct .nx-eyebrow { color: var(--nx-on-dark-2); }
.nxa-struct .nx-lede { color: var(--nx-on-dark-2); }
.nxa-struct-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--nx-line); }
.nxa-struct-grid li { padding: 28px 24px 34px 0; border-bottom: 1px solid var(--nx-line); }
.nxa-struct-grid li:not(:nth-child(4n+1)) { padding-left: 24px; border-left: 1px solid var(--nx-line); }
.nxa-struct-grid img { width: 44px; height: 44px; margin-bottom: 22px; filter: brightness(0) invert(1); opacity: .85; }
.nxa-struct-grid h3 { font-size: 19px; line-height: 1.25; font-weight: 600; letter-spacing: -.01em; color: #fff; }
.nxa-struct-grid p { margin-top: 8px; font-size: 14px; line-height: 1.55; color: var(--nx-on-dark-2); }
@media (max-width: 992px) {
  .nxa-film-cap { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .nxa-docs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nxa-struct-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nxa-struct-grid li:nth-child(n) { padding: 24px 16px 28px 0; border-left: 0; }
  .nxa-struct-grid li:nth-child(2n) { padding-left: 16px; border-left: 1px solid var(--nx-line); }
}
@media (max-width: 600px) {
  .nxa-struct-grid { grid-template-columns: minmax(0, 1fr); }
  .nxa-struct-grid li:nth-child(n) { padding: 22px 0 26px; border-left: 0; }
}


/* ---------- Первый экран главной: смена продуктов ---------- */
.nx-hero-grid { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); gap: clamp(24px, 4vw, 72px); align-items: center; padding-bottom: clamp(40px, 5vw, 72px); }
.nx-hero-grid .nx-hero-body { padding-bottom: 0; }
.nx-rot { position: relative; }
.nx-rot-stage { position: relative; aspect-ratio: 4 / 3; max-height: 62vh; width: 100%; background: radial-gradient(120% 90% at 70% 20%, #f6f8fb 0, #cdd5de 100%); overflow: hidden; }
.nx-rot-slide { position: absolute; inset: 0; display: block; opacity: 0; transition: opacity .9s var(--nx-ease); }
.nx-rot-slide.is-on { opacity: 1; z-index: 1; }
.nx-rot-slide img { width: 100%; height: 100%; object-fit: contain; transform: scale(1.03); transition: transform 12s linear; }
.nx-rot-slide[data-fit="cover"] img { object-fit: cover; }
.nx-rot-slide.is-on img { transform: scale(1); }
.nx-rot-bar { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; margin-top: 18px; }
.nx-rot-cap { position: relative; min-height: 54px; flex: 1; }
.nx-rot-cap p { position: absolute; inset: 0 auto auto 0; display: flex; flex-direction: column; gap: 4px; opacity: 0; transform: translateY(6px); transition: opacity .5s var(--nx-ease), transform .5s var(--nx-ease); pointer-events: none; }
.nx-rot-cap p.is-on { position: relative; opacity: 1; transform: none; pointer-events: auto; }
.nx-rot-cap .nx-index { color: var(--nx-blue-hi); }
.nx-rot-cap a { color: #fff; font-size: 20px; font-weight: 600; letter-spacing: -.01em; line-height: 1.2; }
.nx-rot-cap a:hover { color: var(--nx-blue-hi); }
.nx-rot-cap small { color: var(--nx-on-dark-2); font-size: 12px; letter-spacing: .1em; text-transform: uppercase; }
.nx-rot-ctl { display: flex; align-items: center; gap: 14px; padding-top: 4px; }
.nx-rot-pause { width: 36px; height: 36px; display: grid; place-items: center; background: transparent; border: 1px solid var(--nx-line); color: #fff; cursor: pointer; transition: background .2s, border-color .2s; }
.nx-rot-pause:hover { border-color: #fff; background: rgba(255, 255, 255, .08); }
.nx-rot-pause svg { width: 16px; height: 16px; }
.nx-rot-pause .i-play { display: none; }
.nx-rot.is-paused .nx-rot-pause .i-pause { display: none; }
.nx-rot.is-paused .nx-rot-pause .i-play { display: block; }
.nx-rot-dots { display: flex; gap: 6px; }
.nx-rot-dots button { width: 22px; height: 22px; padding: 0; background: transparent; border: 0; cursor: pointer; position: relative; }
.nx-rot-dots button::before { content: ""; position: absolute; left: 3px; right: 3px; top: 10px; height: 2px; background: rgba(255, 255, 255, .28); transition: background .2s; }
.nx-rot-dots button:hover::before, .nx-rot-dots button[aria-current="true"]::before { background: var(--nx-blue-hi); }
.nx-rot-prog { height: 2px; background: var(--nx-line); margin-top: 18px; overflow: hidden; }
.nx-rot-prog i { display: block; height: 100%; width: 100%; background: var(--nx-blue-hi); transform-origin: left; transform: scaleX(0); }
.nx-rot.is-running .nx-rot-prog i { animation: nx-prog var(--rot-ms, 12s) linear forwards; }
@keyframes nx-prog { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@media (max-width: 992px) {
  .nx-hero-grid { grid-template-columns: minmax(0, 1fr); }
  .nx-rot-stage { max-height: none; }
}
@media (prefers-reduced-motion: reduce) {
  .nx-rot-slide, .nx-rot-slide img, .nx-rot-cap p { transition-duration: .001s !important; }
  .nx-rot.is-running .nx-rot-prog i { animation: none; transform: scaleX(1); }
}

/* ---------- Внутренние страницы: каталог, рубрики, новости, статья, контакты (.nxl-*, .nxc-*) ---------- */
.nxl { background: var(--nx-paper); }
.nx-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.nx-pcard { position: relative; height: 100%; }
.nx-pcard .nx-card-media { aspect-ratio: 4 / 3; }
.nx-card-media.is-empty { background: linear-gradient(135deg, var(--nx-graphite) 0, var(--nx-slate) 60%, #24384d 100%); position: relative; }
.nx-card-media.is-empty::after { content: ""; position: absolute; inset: 0; background: linear-gradient(rgba(255, 255, 255, .06) 1px, transparent 1px) 0 0 / 40px 40px, linear-gradient(90deg, rgba(255, 255, 255, .06) 1px, transparent 1px) 0 0 / 40px 40px; }
.nx-pcard .nx-card-body { flex: 1; padding-right: 64px; position: relative; }
.nx-card-label { font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--nx-blue); font-weight: 600; }
.nx-card-text { font-size: 15px; line-height: 1.55; color: var(--nx-text-2); display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
.nx-card-go { position: absolute; right: 22px; bottom: 24px; width: 34px; height: 34px; display: grid; place-items: center; border: 1px solid var(--nx-line-dark); color: var(--nx-ink); transition: background .25s, color .25s, border-color .25s; }
.nx-card-go svg { width: 16px; height: 16px; }
.nx-pcard:hover .nx-card-go, .nx-pcard:focus-visible .nx-card-go { background: var(--nx-blue); border-color: var(--nx-blue); color: #fff; }
.nxl-intro > div { max-width: 78ch; }
.nxl-intro .nx-h2 { margin-bottom: 20px; }
.nxl-head { display: grid; gap: 14px; margin-bottom: clamp(28px, 4vw, 52px); max-width: 78ch; }
.nxl-head-row { max-width: none; grid-template-columns: 1fr auto; align-items: end; }
.nxl-lead { display: grid; grid-template-columns: 7fr 5fr; border: 1px solid var(--nx-line-dark); background: var(--nx-paper); color: inherit; margin-bottom: 24px; transition: border-color .25s; }
.nxl-lead:hover, .nxl-lead:focus-visible { border-color: var(--nx-blue); }
.nxl-lead .nx-card-media { aspect-ratio: auto; min-height: 340px; height: 100%; }
.nxl-lead:hover .nx-card-media img { transform: scale(1.04); }
.nxl-lead-body { padding: clamp(24px, 3.4vw, 52px); display: flex; flex-direction: column; justify-content: center; gap: 16px; }
.nxl-lead-body time { font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--nx-text-2); }
.nxl-lead-body h2 { font-size: clamp(24px, 2.6vw, 40px); line-height: 1.12; letter-spacing: -.02em; font-weight: 600; color: var(--nx-ink); }
.nxl-lead-body .nx-card-go { position: static; width: auto; height: auto; border: 0; display: inline-flex; gap: 10px; align-items: center; color: var(--nx-blue); font-weight: 600; margin-top: 6px; }
.nxl-lead:hover .nxl-lead-body .nx-card-go { background: none; color: var(--nx-ink); }
.nxl-news .nx-card-body { padding-right: 24px; }
.nxl-news .nx-card-go { display: none; }

/* статья */
.nxl-art-head { max-width: 1040px; }
.nxl-art-title { max-width: 22ch; font-size: clamp(32px, 4.6vw, 68px); }
.nxl-art-wrap { max-width: 860px; }
.nxl-art-img { margin: 0 0 clamp(28px, 4vw, 52px); }
.nxl-art-img img { width: 100%; height: auto; display: block; }
.nx-prose { font-size: clamp(16px, 1.25vw, 19px); line-height: 1.75; color: var(--nx-text); }
.nx-prose > * + * { margin-top: 1.1em; }
.nx-prose h2, .nx-prose h3, .nx-prose h4 { color: var(--nx-ink); font-weight: 600; letter-spacing: -.015em; line-height: 1.2; margin-top: 1.8em; }
.nx-prose h2 { font-size: clamp(24px, 2.4vw, 34px); }
.nx-prose h3 { font-size: clamp(20px, 1.8vw, 26px); }
.nx-prose a { color: var(--nx-blue); text-decoration: underline; text-underline-offset: 3px; }
.nx-prose ul, .nx-prose ol { padding-left: 1.3em; }
.nx-prose ul { list-style: disc; }
.nx-prose ol { list-style: decimal; }
.nx-prose li + li { margin-top: .4em; }
.nx-prose img, .nx-prose video, .nx-prose iframe { max-width: 100%; height: auto; display: block; }
.nx-prose figure { margin-left: 0; margin-right: 0; }
.nx-prose figcaption { font-size: 14px; color: var(--nx-text-2); margin-top: 8px; }
.nx-prose blockquote { border-left: 3px solid var(--nx-blue); padding: 4px 0 4px 22px; color: var(--nx-ink); font-size: 1.1em; }
.nx-prose table { width: 100%; border-collapse: collapse; font-size: .95em; }
.nx-prose th, .nx-prose td { border-bottom: 1px solid var(--nx-line-dark); padding: 12px 10px; text-align: left; }

/* контакты */
.nxc-ways { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; border-top: 1px solid var(--nx-line-dark); }
.nxc-way { display: flex; flex-direction: column; gap: 14px; padding: 32px 28px 34px 0; color: inherit; border-bottom: 1px solid var(--nx-line-dark); transition: color .2s; }
.nxc-way + .nxc-way { padding-left: 28px; border-left: 1px solid var(--nx-line-dark); }
.nxc-way-n { font-size: 13px; letter-spacing: .14em; color: var(--nx-blue); font-weight: 600; }
.nxc-way h3 { font-size: clamp(20px, 1.8vw, 26px); line-height: 1.2; letter-spacing: -.01em; font-weight: 600; color: var(--nx-ink); }
.nxc-way p { font-size: 15px; line-height: 1.6; color: var(--nx-text-2); flex: 1; }
.nxc-way-go { display: inline-flex; align-items: center; gap: 10px; font-weight: 600; color: var(--nx-blue); }
.nxc-way-go svg { width: 18px; height: 18px; transition: transform .25s var(--nx-ease); }
.nxc-way:hover .nxc-way-go svg { transform: translateX(4px); }
.nxc-grid { display: grid; grid-template-columns: 5fr 7fr; gap: clamp(32px, 6vw, 110px); align-items: start; }
.nxc-info { margin-top: 40px; padding-top: 28px; border-top: 1px solid var(--nx-line-dark); }
.nxc-info h3 { font-size: 13px; letter-spacing: .14em; text-transform: uppercase; color: var(--nx-text-2); font-weight: 600; margin-bottom: 14px; }
.nxc-info li + li { margin-top: 10px; }
.nxc-info a { font-size: clamp(17px, 1.5vw, 22px); font-weight: 600; color: var(--nx-ink); border-bottom: 1px solid transparent; transition: border-color .2s, color .2s; }
.nxc-info a:hover { color: var(--nx-blue); border-color: var(--nx-blue); }
.nxc-form { position: relative; background: var(--nx-paper); border: 1px solid var(--nx-line-dark); padding: clamp(22px, 3.4vw, 48px); display: grid; gap: 22px; }
.nxc-form label { display: grid; gap: 8px; }
.nxc-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.nxc-lab { font-size: 13px; font-weight: 600; letter-spacing: .04em; color: var(--nx-text-2); }
.nxc-form input[type="text"], .nxc-form input[type="email"], .nxc-form input[type="tel"], .nxc-form select, .nxc-form textarea { width: 100%; font: inherit; font-size: 16px; color: var(--nx-ink); background: var(--nx-light); border: 1px solid transparent; border-bottom-color: rgba(17, 26, 36, .28); padding: 14px 14px; border-radius: 0; transition: border-color .2s, background .2s; }
.nxc-form textarea { min-height: 130px; resize: vertical; }
.nxc-form input:focus, .nxc-form select:focus, .nxc-form textarea:focus { outline: 2px solid var(--nx-blue); outline-offset: 0; background: #fff; }
.nxc-phone { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 10px; }
.nxc-file input[type="file"] { position: absolute; width: 1px; height: 1px; opacity: 0; overflow: hidden; clip: rect(0 0 0 0); }
.nxc-file-row { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.nxc-file .meg_file_btn { display: inline-block; padding: 12px 20px; border: 1px solid var(--nx-ink); color: var(--nx-ink); font-weight: 600; font-size: 14px; cursor: pointer; transition: background .2s, color .2s; }
.nxc-file:hover .meg_file_btn, .nxc-file:focus-within .meg_file_btn { background: var(--nx-ink); color: #fff; }
.nxc-file:focus-within .meg_file_btn { outline: 2px solid var(--nx-blue); outline-offset: 2px; }
.nxc-file .meg_file_name { font-size: 14px; color: var(--nx-text-2); }
.nxc-file small { font-size: 13px; color: var(--nx-text-2); }
.nxc-consent { grid-template-columns: auto 1fr; align-items: start; gap: 12px !important; font-size: 14px; line-height: 1.5; color: var(--nx-text-2); }
.nxc-consent input { width: 20px; height: 20px; margin-top: 2px; accent-color: var(--nx-blue); }
.nxc-consent a { color: var(--nx-blue); text-decoration: underline; text-underline-offset: 3px; }
.nxc-submit { justify-self: start; border: 0; cursor: pointer; font: inherit; }
.nxc-notice { padding: 14px 18px; background: #e9f3ec; border-left: 3px solid #2f7d4f; color: #1e4a31; font-weight: 600; }
.nxc-notice.is-error { background: #fbeceb; border-left-color: #b3372f; color: #7a211b; }
.nxc-selected { display: grid; gap: 4px; padding: 14px 18px; background: var(--nx-light); border-left: 3px solid var(--nx-blue); font-size: 14px; }
.nxc-selected span { color: var(--nx-text-2); font-size: 12px; letter-spacing: .1em; text-transform: uppercase; }
.nxc-selected strong { color: var(--nx-ink); font-size: 17px; }
.nxc-selected a { color: var(--nx-blue); text-decoration: underline; text-underline-offset: 3px; }

@media (max-width: 992px) {
  .nx-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nxl-lead, .nxc-grid { grid-template-columns: minmax(0, 1fr); }
  .nxl-lead .nx-card-media { min-height: 0; aspect-ratio: 16 / 9; }
  .nxc-ways { grid-template-columns: minmax(0, 1fr); }
  .nxc-way, .nxc-way + .nxc-way { padding: 26px 0; border-left: 0; }
}
@media (max-width: 600px) {
  .nx-grid { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .nxl-head-row { grid-template-columns: minmax(0, 1fr); align-items: start; }
  .nxc-row, .nxc-phone { grid-template-columns: minmax(0, 1fr); }
  .nxc-form { padding: 20px 16px; }
  .nxc-submit { justify-self: stretch; justify-content: center; }
}

/* ---------- О нас: наследие (Е. И. Казеев) ---------- */
.nxa-legacy { background: var(--nx-ink); color: #fff; }
.nxa-legacy .nx-eyebrow { color: var(--nx-on-dark-2); }
.nxa-lg-grid { display: grid; grid-template-columns: 4fr 7fr; gap: clamp(32px, 6vw, 110px); align-items: start; }
.nxa-lg-photo { position: sticky; top: calc(var(--nx-h) + 32px); margin: 0; aspect-ratio: 4 / 5; background: linear-gradient(160deg, var(--nx-graphite) 0, var(--nx-slate) 100%); overflow: hidden; display: grid; place-items: center; }
.nxa-lg-photo img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(.15); }
.nxa-lg-photo.is-empty::before { content: ""; position: absolute; inset: 0; background: linear-gradient(rgba(255, 255, 255, .05) 1px, transparent 1px) 0 0 / 40px 40px, linear-gradient(90deg, rgba(255, 255, 255, .05) 1px, transparent 1px) 0 0 / 40px 40px; }
.nxa-lg-photo svg { position: relative; width: 46%; fill: none; stroke: rgba(159, 176, 193, .38); stroke-width: 1.4; }
.nxa-lg-body .nx-h2 { margin: 18px 0 14px; font-size: clamp(30px, 3.6vw, 56px); }
.nxa-lg-body .nx-lede { color: var(--nx-on-dark-2); max-width: 46ch; }
.nxa-lg-text { margin-top: clamp(28px, 4vw, 52px); max-width: 66ch; border-top: 1px solid var(--nx-line); padding-top: clamp(24px, 3vw, 40px); }
.nxa-lg-p { font-size: clamp(16px, 1.2vw, 18px); line-height: 1.75; color: var(--nx-on-dark); }
.nxa-lg-p + .nxa-lg-p { margin-top: 1.1em; }
.nxa-lg-k { margin: 1.6em 0; padding-left: 22px; border-left: 2px solid var(--nx-blue-hi); font-size: clamp(20px, 1.9vw, 28px); line-height: 1.3; letter-spacing: -.01em; font-weight: 600; color: #fff; }
.nxa-lg-final { margin-top: clamp(48px, 7vw, 110px); padding-top: clamp(28px, 4vw, 56px); border-top: 1px solid var(--nx-line); }
.nxa-lg-f1 { font-size: clamp(26px, 3.6vw, 56px); line-height: 1.1; letter-spacing: -.02em; font-weight: 600; max-width: 20ch; }
.nxa-lg-f2 { margin-top: 18px; font-size: clamp(18px, 1.8vw, 26px); color: var(--nx-blue-hi); }
@media (max-width: 992px) {
  .nxa-lg-grid { grid-template-columns: minmax(0, 1fr); }
  .nxa-lg-photo { position: relative; top: auto; max-width: 340px; width: 100%; }
}

/* Первый экран главной: заголовок в половине ширины, слова не рвутся */
@media (min-width: 993px) {
  .nx-hero-grid .nx-display { font-size: clamp(36px, 4.7vw, 84px); max-width: none; }
}
.nx-hero-grid .nx-display { overflow-wrap: break-word; hyphens: manual; }
.nxl .nxp-hero h1.nx-display:not(.nxl-art-title) { font-size: clamp(38px, 5.2vw, 84px); line-height: 1.04; max-width: 20ch; }

/* Правки по замечаниям: логотипы без серой заливки, ключевые фразы с отступами */
.nxa-logos { display: flex; flex-wrap: wrap; justify-content: center; gap: 0; background: none; border: 0; padding-left: 1px; }
.nxa-logos li { flex: 0 0 20%; min-width: 0; box-sizing: border-box; border: 1px solid var(--nx-line-dark); margin: 0 0 -1px -1px; min-height: 120px; }
@media (max-width: 992px) { .nxa-logos li { flex-basis: 33.333%; } }
@media (max-width: 600px) { .nxa-logos li { flex-basis: 50%; } }
.nxa-legacy .nxa-lg-text .nxa-lg-p { margin: 0 0 1.15em; line-height: 1.8; }
.nxa-legacy .nxa-lg-text .nxa-lg-k { margin: 2em 0 1.4em; padding: .15em 0 .15em 22px; line-height: 1.3; font-weight: 600; color: #fff; }
.nxa-legacy .nxa-lg-text > :first-child { margin-top: 0; }

/* Правки после проверки на сайте: отступы в статье, телефон в форме, ссылка возврата, сетка из двух карточек */
.nx .nx-prose > * + * { margin-top: 1.1em; }
.nx .nx-prose > h2, .nx .nx-prose > h3, .nx .nx-prose > h4 { margin-top: 1.8em; }
.nx .nxl-art-img { margin: 0 0 clamp(28px, 4vw, 52px); }
.nx .nx-prose ul, .nx .nx-prose ol { padding-left: 1.3em; }
.nxc-phone { grid-template-columns: minmax(150px, 5fr) minmax(0, 7fr); }
.nxc-phone select { text-overflow: ellipsis; }
.nxa-hero .nxp-back { display: flex; width: fit-content; margin-bottom: 26px; }
.nx-grid.nx-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 600px) { .nx-grid.nx-grid-2 { grid-template-columns: minmax(0, 1fr); } }
.nx .nx-hero-sub { margin-top: 22px; }

/* ---------- Меню в стиле нового дизайна ---------- */
.meg-next header .header_menu > li > a { color: var(--nx-ink); font-weight: 500; letter-spacing: .01em; }
.meg-next header .header_menu > li > a:hover, .meg-next header .dropdown_menu_btn.active { color: var(--nx-blue); }
.meg-next header .menu_title { pointer-events: none; cursor: default; }
.meg-next header .dropdown_menu_lists .icon { display: none !important; }
.meg-next header .sub_menu { counter-reset: nxm; list-style: none; margin: 0; padding: 0; }
.meg-next header .sub_menu li { counter-increment: nxm; list-style: none; }
.meg-next header .sub_menu li > a { position: relative; }
.meg-next header .sub_menu li > a::before { content: counter(nxm, decimal-leading-zero); font-size: 12px; font-weight: 600; letter-spacing: .14em; color: var(--nx-blue-hi); padding-top: 3px; }
.meg-next header .sub_menu .link_title { font-weight: 600; color: #fff; transition: color .2s; }
.meg-next header .sub_menu .link_info p { margin: 4px 0 0; font-size: 13px; line-height: 1.45; color: var(--nx-on-dark-2); }
.meg-next header .sub_menu li > a:hover .link_title, .meg-next header .sub_menu li > a:focus-visible .link_title { color: var(--nx-blue-hi); }

@media (min-width: 993px) {
  .meg-next header .header_menu { align-items: center; gap: 0 6px; }
  .meg-next header .header_left .header_menu > li { position: static; }
  .meg-next header .header_menu > li > a { position: relative; padding: 10px 14px; border-radius: 4px; }
  .meg-next header .header_menu > li > a::after { content: ""; position: absolute; left: 14px; right: 14px; bottom: 4px; height: 1px; background: var(--nx-blue); transform: scaleX(0); transform-origin: left; transition: transform .3s var(--nx-ease); }
  .meg-next header .header_menu > li > a:hover::after, .meg-next header .dropdown_menu_btn.active::after { transform: scaleX(1); }
  .meg-next header .header_left .dropdown_menu_lists { left: 0 !important; right: 0 !important; width: auto !important; max-width: none !important; margin: 0 !important; transform: none !important; border: 0 !important; border-top: 1px solid var(--nx-line) !important; border-radius: 0 !important; background: var(--nx-ink) !important; box-shadow: 0 32px 60px rgba(5, 10, 16, .35); padding: 36px max(24px, calc((100vw - 1320px) / 2)) 44px !important; max-height: calc(100vh - 90px); overflow-y: auto; }
  .meg-next header .header_left .dropdown_menu_lists .menu_title { display: block; text-align: left; margin: 0 0 22px; font-size: 12px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--nx-on-dark-2); }
  .meg-next header .sub_menu { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 48px !important; border-top: 1px solid var(--nx-line); }
  .meg-next header .sub_menu li { border-bottom: 1px solid var(--nx-line); }
  .meg-next header .sub_menu li > a { display: grid !important; grid-template-columns: 34px minmax(0, 1fr) 20px; gap: 0 12px !important; align-items: start; padding: 20px 0 !important; }
  .meg-next header .sub_menu li > a::after { content: "\2192"; color: var(--nx-on-dark-2); opacity: 0; transform: translateX(-6px); transition: opacity .25s, transform .25s var(--nx-ease), color .2s; font-size: 18px; line-height: 1.2; }
  .meg-next header .sub_menu li > a:hover::after, .meg-next header .sub_menu li > a:focus-visible::after { opacity: 1; transform: none; color: var(--nx-blue-hi); }
  .meg-next header .sub_menu .link_title { font-size: 17px; line-height: 1.25; }
}

@media (max-width: 992px) {
  .meg-next header .header_menu { background: var(--nx-ink) !important; }
  .meg-next header .header_menu > li > a { color: #fff !important; font-size: 22px; font-weight: 600; letter-spacing: -.01em; padding: 18px 20px !important; border-bottom: 1px solid var(--nx-line); }
  .meg-next header .dropdown_menu_btn img { filter: invert(1); }
  .meg-next header .dropdown_menu_lists { position: static !important; width: 100% !important; background: #0e1620 !important; border: 0 !important; border-radius: 0 !important; box-shadow: none; padding: 4px 20px 14px !important; }
  .meg-next header .dropdown_menu_lists .menu_title { display: none; }
  .meg-next header .sub_menu { display: block !important; }
  .meg-next header .sub_menu li { border-bottom: 1px solid var(--nx-line); }
  .meg-next header .sub_menu li:last-child { border-bottom: 0; }
  .meg-next header .sub_menu li > a { display: grid !important; grid-template-columns: 30px minmax(0, 1fr); gap: 0 10px !important; align-items: start; padding: 14px 0 !important; }
  .meg-next header .sub_menu .link_title { font-size: 16px; }
  .meg-next header .header_right.mobile { background: var(--nx-ink); padding: 20px !important; gap: 14px; }
  .meg-next header .header_right.mobile .blue_btn { width: 100%; justify-content: center; text-align: center; }
}

/* Смена продуктов на телефоне: подпись над управлением, точки не выходят за край */
@media (max-width: 600px) {
  .nx-rot-bar { flex-direction: column; gap: 12px; }
  .nx-rot-ctl { gap: 8px; }
  .nx-rot-dots { gap: 0; }
  .nx-rot-dots button { width: 18px; }
}

/* Подвал: описание и значки соцсетей читаются на тёмном фоне */
.meg-next .footer p.footer_description, .meg-next .footer .footer_description { color: var(--nx-on-dark-2) !important; }
.meg-next .footer a img[src*="social"] { filter: invert(1); opacity: .85; transition: opacity .2s; }
.meg-next .footer a:hover img[src*="social"] { opacity: 1; }

/* ---------- Шапка: верхняя полоса, крупное меню, кнопка ---------- */
.nx-topbar { display: none; }
@media (min-width: 993px) {
  :root { --nx-h: 106px; }
  .nx-topbar { display: block; background: var(--nx-ink); color: var(--nx-on-dark-2); font-size: 12px; letter-spacing: .04em; }
  .nx-topbar-in { width: var(--nx-w); margin: 0 auto; height: 34px; display: flex; justify-content: space-between; align-items: center; gap: 24px; }
  .nx-topbar a, .nx-topbar span { color: var(--nx-on-dark-2); transition: color .2s; }
  .nx-topbar a:hover { color: #fff; }
  .nx-topbar-r { display: flex; gap: 28px; }
  .nx-topbar-r a { color: #fff; font-weight: 500; }
  .nx-topbar-r a:hover { color: var(--nx-blue-hi); }
  .meg-next header { padding: 0 !important; box-shadow: none; transition: box-shadow .3s; }
  .meg-next header.is-scrolled { box-shadow: 0 10px 34px rgba(11, 17, 24, .1); }
  .meg-next header .container { width: var(--nx-w); max-width: none; padding: 0; }
  .meg-next header .header { height: 72px; align-items: center; }
  .meg-next header .header_left { align-items: stretch; height: 72px; gap: 56px; }
  .meg-next header .header_logo { display: flex; align-items: center; }
  .meg-next header .header_left > .header_menu { align-items: stretch; gap: 0; height: 72px; }
  .meg-next header .header_left .header_menu > li { display: flex; }
  .meg-next header .header_menu > li > a { font-size: 12.5px; font-weight: 600; letter-spacing: .09em; text-transform: uppercase; padding: 0 16px; height: 72px; display: inline-flex; align-items: center; gap: 8px; }
  .meg-next header .header_menu > li > a::after { left: 16px; right: 16px; bottom: 0; height: 2px; }
  .meg-next header .header_menu > li > a.is-current { color: var(--nx-blue); }
  .meg-next header .header_menu > li > a.is-current::after { transform: scaleX(1); }
  .meg-next header .header_right:not(.mobile) { display: flex; align-items: center; gap: 18px; }
  .meg-next header .header_right.mobile { display: none !important; }
  .meg-next header .header_right .header_menu > li { position: relative; }
  .meg-next header .header_right .header_menu > li > a { height: 44px; padding: 0 12px; border: 1px solid var(--nx-line-dark); border-radius: 2px; letter-spacing: .08em; }
  .meg-next header .header_right .header_menu > li > a::after { display: none; }
  .meg-next header .header_right .header_menu > li > a:hover { border-color: var(--nx-blue); }
  .meg-next header .header_right .dropdown_menu_lists { top: calc(100% + 6px) !important; right: 0 !important; left: auto !important; min-width: 170px; background: #fff !important; border: 1px solid var(--nx-line-dark) !important; border-radius: 2px !important; padding: 6px !important; box-shadow: 0 16px 40px rgba(11, 17, 24, .14); }
  .meg-next header .header_right .dropdown_menu_lists a { display: block; padding: 10px 14px; font-size: 14px; color: var(--nx-ink); border-radius: 2px; }
  .meg-next header .header_right .dropdown_menu_lists a:hover { background: var(--nx-light); }
  .meg-next header .header_right .dropdown_menu_lists a.active { color: var(--nx-blue); font-weight: 600; }
  .meg-next header .header_right .blue_btn { height: 44px; padding: 0 22px !important; display: inline-flex; align-items: center; gap: 10px; font-size: 12.5px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; border-radius: 2px !important; transition: background .2s; }
  .meg-next header .header_right .blue_btn::after { content: "\2192"; font-size: 16px; letter-spacing: 0; transition: transform .25s var(--nx-ease); }
  .meg-next header .header_right .blue_btn:hover { background: #1c3a6a !important; }
  .meg-next header .header_right .blue_btn:hover::after { transform: translateX(4px); }
  .meg-next header .header_left .dropdown_menu_lists { top: 100% !important; }
}
