/* ============ ВЫСОТОМЕР / ALTITUDE ============ */
:root {
  --ink: #eef2f6;
  --dim: rgba(238, 242, 246, .64);
  --faint: rgba(238, 242, 246, .16);
  --hud: #d4ff5c;
  --su: #ff6a55;
  --us: #78b8ff;
  --bg: #0b0b0d;
  --f-disp: 'Unbounded', 'Arial Black', sans-serif;
  --f-it: 'Cormorant Garamond', Georgia, serif;
  --f-body: 'Golos Text', 'Segoe UI', system-ui, sans-serif;
  --f-mono: 'JetBrains Mono', Consolas, monospace;
  --gut: clamp(16px, 4vw, 64px);
  --ease: cubic-bezier(.2, .7, .1, 1);
  color-scheme: dark;
}
html { scroll-behavior: smooth; background: var(--bg); }
body { background: transparent; color: var(--ink); font: 400 16px/1.6 var(--f-body); -webkit-font-smoothing: antialiased; }
::selection { background: var(--hud); color: #111; }
a { text-decoration: none; }
mark.k { color: var(--hud); font-weight: 500; box-shadow: inset 0 -1px 0 rgba(212, 255, 92, .45); }

/* ---------- небо: четыре слоя, меняется только opacity ---------- */
.sky { position: fixed; inset: 0; z-index: -1; pointer-events: none; }
.sky i { position: absolute; inset: 0; will-change: opacity; }
.s0 { background: radial-gradient(130% 70% at 50% 115%, #d9733a 0%, #7a3419 22%, #22140f 52%, #0d0b0c 80%); }
.s1 { background: linear-gradient(180deg, #0f2238 0%, #24486f 55%, #4f7aa1 100%); opacity: 0; }
.s2 { background: linear-gradient(180deg, #05081a 0%, #0f1b40 60%, #1d3566 100%); opacity: 0; }
.s3 { opacity: 0; background:
  radial-gradient(160% 45% at 50% 135%, rgba(110, 170, 255, .38), rgba(40, 80, 160, .12) 45%, transparent 62%),
  radial-gradient(1px 1px at 12% 18%, #fff 50%, transparent 51%), radial-gradient(1px 1px at 28% 62%, #fff 50%, transparent 51%),
  radial-gradient(1.5px 1.5px at 44% 30%, #fff 50%, transparent 51%), radial-gradient(1px 1px at 63% 12%, #fff 50%, transparent 51%),
  radial-gradient(1px 1px at 77% 48%, #fff 50%, transparent 51%), radial-gradient(1.5px 1.5px at 88% 22%, #fff 50%, transparent 51%),
  radial-gradient(1px 1px at 8% 80%, #cfe1ff 50%, transparent 51%), radial-gradient(1px 1px at 52% 74%, #fff 50%, transparent 51%),
  radial-gradient(1px 1px at 93% 70%, #fff 50%, transparent 51%), radial-gradient(1px 1px at 35% 8%, #fff 50%, transparent 51%),
  radial-gradient(1px 1px at 70% 85%, #dfe9ff 50%, transparent 51%), radial-gradient(1px 1px at 19% 44%, #fff 50%, transparent 51%),
  #010205; }
.sky .clouds { opacity: 0; inset: -20% 0; background:
  radial-gradient(40% 9% at 20% 30%, rgba(255,255,255,.22), transparent 70%),
  radial-gradient(35% 7% at 75% 52%, rgba(255,255,255,.18), transparent 70%),
  radial-gradient(50% 10% at 45% 78%, rgba(255,255,255,.16), transparent 70%),
  radial-gradient(28% 6% at 88% 14%, rgba(255,255,255,.14), transparent 70%);
  will-change: transform, opacity; }

/* ---------- шапка ---------- */
.hd { position: fixed; top: 0; left: 0; right: 0; z-index: 50; display: flex; align-items: center; gap: 24px;
  padding: 16px var(--gut); background: linear-gradient(180deg, rgba(5, 6, 9, .72), rgba(5, 6, 9, 0)); }
.brand { display: flex; align-items: center; gap: 12px; font: 700 15px/1 var(--f-disp); letter-spacing: .14em; text-transform: uppercase; }
.fpm { width: 36px; height: 18px; fill: none; stroke: var(--hud); stroke-width: 2; }
.nv { display: flex; gap: 4px; margin: 0 auto; }
.nv a { font: 500 12px/1 var(--f-mono); letter-spacing: .08em; text-transform: uppercase; padding: 9px 12px; color: var(--dim); border: 1px solid transparent; transition: color .2s, border-color .2s; }
.nv a i { font-style: normal; color: var(--hud); opacity: .7; margin-right: 6px; }
.nv a:hover { color: var(--ink); }
.nv a.on { color: var(--ink); border-color: var(--faint); }
.hd-r { display: flex; align-items: center; gap: 12px; margin-left: auto; }
.lang { display: flex; border: 1px solid var(--faint); }
.lang button { font: 600 11px/1 var(--f-mono); letter-spacing: .1em; padding: 8px 10px; color: var(--dim); }
.lang button[aria-pressed="true"] { background: var(--hud); color: #0b0d07; }
.burger { display: none; width: 40px; height: 36px; position: relative; }
.burger i { position: absolute; left: 9px; right: 9px; height: 2px; background: var(--ink); transition: transform .3s var(--ease); }
.burger i:first-child { top: 13px; } .burger i:last-child { top: 21px; }
body.menu .burger i:first-child { transform: translateY(4px) rotate(45deg); }
body.menu .burger i:last-child { transform: translateY(-4px) rotate(-45deg); }

/* ---------- высотомер ---------- */
.hud { position: fixed; right: 18px; top: 50%; z-index: 40; height: 58vh; width: 92px; transform: translateY(-50%); pointer-events: none;
  font-family: var(--f-mono); color: var(--hud); }
.tape { position: absolute; inset: 0; overflow: hidden; border-right: 1px solid rgba(212, 255, 92, .5);
  -webkit-mask: linear-gradient(transparent, #000 18%, #000 82%, transparent); mask: linear-gradient(transparent, #000 18%, #000 82%, transparent); }
.tape-in { position: absolute; right: 0; left: 0; bottom: 50%; height: calc(41 * 28px); will-change: transform;
  background: repeating-linear-gradient(0deg, rgba(212, 255, 92, .45) 0 1px, transparent 1px 5.6px) right bottom / 6px 100% no-repeat; }
.tape-in b { position: absolute; right: 0; bottom: calc(var(--i) * 28px); width: 13px; height: 0; border-top: 1px solid var(--hud); }
.tape-in b.lbl { width: 24px; }
.tape-in b s { position: absolute; right: 30px; top: -7px; font: 500 11px/1 var(--f-mono); text-decoration: none; color: var(--hud); }
.read { position: absolute; right: 6px; top: 50%; transform: translateY(-50%); background: rgba(5, 8, 4, .78); border: 1px solid var(--hud);
  padding: 7px 9px 6px; text-align: right; min-width: 86px; }
.read::after { content: ''; position: absolute; right: -7px; top: 50%; margin-top: -6px; border: 6px solid transparent; border-left-color: var(--hud); border-right: 0; }
.read-m { font: 600 17px/1 var(--f-mono); letter-spacing: .02em; color: #f4ffd8; }
.read small { font-size: 10px; margin-left: 3px; }
.read-ft { display: block; font-size: 9.5px; letter-spacing: .08em; opacity: .7; margin-top: 4px; }
.mach { position: absolute; right: 6px; bottom: -34px; font-size: 11px; letter-spacing: .1em; }
.mach span { color: #f4ffd8; }
.pill { display: none; }

/* ---------- шторка: пролёт сквозь облако ---------- */
.curtain { position: fixed; inset: 0; z-index: 100; pointer-events: none; transform: translate3d(0, 101%, 0); will-change: transform;
  background: linear-gradient(180deg, rgba(232, 240, 248, 0) 0%, #e8eef5 14%, #cfdae6 50%, #e8eef5 86%, rgba(232, 240, 248, 0) 100%);
  display: grid; place-items: center; }
.curtain.go-in { transition: transform .42s cubic-bezier(.6, 0, .4, 1); transform: translate3d(0, -7%, 0); }
.curtain.go-out { transition: transform .5s cubic-bezier(.6, 0, .4, 1); transform: translate3d(0, -110%, 0); }
.c-in { display: grid; gap: 10px; justify-items: center; color: #1a2738; }
.c-k { font: 500 11px/1 var(--f-mono); letter-spacing: .3em; }
.c-t { font: 700 clamp(28px, 5vw, 64px)/1 var(--f-disp); text-transform: uppercase; letter-spacing: .02em; }

/* ---------- типографика ---------- */
.kick { font: 500 12px/1.4 var(--f-mono); letter-spacing: .18em; text-transform: uppercase; color: var(--hud); margin: 0 0 22px; }
.h1 { font: 700 clamp(28px, 8.2vw, 132px)/.94 var(--f-disp); letter-spacing: -.035em; text-transform: uppercase; margin: 0; }
.h1 em, .h2 em { font: italic 500 1.06em/1 var(--f-it); text-transform: none; letter-spacing: -.01em; color: #fff; }
.h2 { font: 700 clamp(30px, 5vw, 72px)/1 var(--f-disp); letter-spacing: -.03em; text-transform: uppercase; margin: 0; }
.lead { font-size: clamp(17px, 1.5vw, 21px); line-height: 1.55; max-width: 40ch; color: var(--dim); margin: 28px 0 0; }
.cta { display: inline-flex; align-self: flex-start; align-items: center; gap: 14px; margin-top: 36px; font: 600 13px/1 var(--f-mono); letter-spacing: .16em; text-transform: uppercase;
  padding: 16px 22px; border: 1px solid var(--hud); color: var(--hud); transition: background .25s, color .25s; }
.cta:hover { background: var(--hud); color: #0b0d07; }
.side { font: 600 10.5px/1 var(--f-mono); letter-spacing: .14em; text-transform: uppercase; padding: 5px 7px 4px; border: 1px solid currentColor; background: rgba(5, 7, 10, .7); white-space: nowrap; }
.side-su { color: var(--su); } .side-us { color: var(--us); }

/* ---------- hero: авиагоризонт ---------- */
.hz-hero { position: relative; height: 100vh; height: 100svh; min-height: 620px; overflow: hidden; }
.hz { position: absolute; inset: -30%; transform: rotate(var(--roll, -4deg)) translate3d(0, var(--pitch, 0px), 0); will-change: transform; }
.hz-h { position: absolute; left: 0; right: 0; height: 50%; overflow: hidden; }
.hz-t { top: 0; } .hz-b { top: 50%; }
/* Каждое фото заходит за линию горизонта с запасом под максимальный крен (±7°): у края экрана линия
   смещается на 50vw·tg7° ≈ 6.2vw, плюс тангаж от мыши — запас 8vw + 40px. По ширине: при крене центр фото уходит вбок
   на (35vh + 60px)·sin7° — запас 5vw + 5vh + 30px с каждой стороны. Щелей (чёрных клиньев) нет на любом экране. */
.hz-w { position: absolute; left: 50%; width: calc(110vw + 10vh + 60px); height: calc(70vh + 16vw + 200px); transform: translate(-50%, -50%) rotate(calc(var(--roll, -4deg) * -1)); }
.hz-t .hz-w { top: calc(100% - 35vh - 60px); }
.hz-b .hz-w { top: calc(35vh + 60px); }
.hz-w img { width: 100%; height: 100%; object-fit: cover; }
.hz-t .hz-w img { object-position: 50% 40%; }
.hz-b .hz-w img { object-position: 50% 50%; }
.hz-h::after { content: ''; position: absolute; inset: 0; background: rgba(6, 8, 12, .42); }
.hz-line { position: absolute; left: 0; right: 0; top: 50%; height: 0; }
.hz-line i { position: absolute; left: 0; right: 0; top: -1px; height: 2px; background: var(--hud); box-shadow: 0 0 14px rgba(212, 255, 92, .5); }
.hz-line b { position: absolute; top: -48px; width: 120px; border-top: 2px solid var(--hud); font: 500 11px/1 var(--f-mono); color: var(--hud); padding-top: 6px; }
.hz-line b:first-of-type { left: calc(50% - 260px); } .hz-line b:last-of-type { left: calc(50% + 140px); text-align: right; }
.hz-tag { position: absolute; z-index: 2; display: flex; gap: 10px; align-items: center; font: 500 12px/1 var(--f-mono); letter-spacing: .1em; text-transform: uppercase; }
.hz-tag-t { top: 96px; right: calc(var(--gut) + 110px); }
.hz-tag-b { bottom: 40px; right: calc(var(--gut) + 110px); }
.hz-txt { position: relative; z-index: 2; height: 100%; display: flex; flex-direction: column; justify-content: center; padding: 90px var(--gut) 40px; max-width: 1200px; }
.h1-x { font-size: clamp(42px, 8.6vw, 136px); text-shadow: 0 4px 40px rgba(0, 0, 0, .5); }
.hz-txt .lead { color: rgba(238, 242, 246, .86); }

/* ---------- эшелоны ---------- */
.fl { position: relative; display: flex; align-items: baseline; gap: 18px; padding: 120px var(--gut) 0; font-family: var(--f-mono); }
.fl i { flex: 1; height: 1px; background: repeating-linear-gradient(90deg, var(--hud) 0 10px, transparent 10px 18px); opacity: .6; transform: translateY(-4px); }
.fl-n { color: var(--hud); font-size: 13px; letter-spacing: .1em; white-space: nowrap; }
.fl-l { color: var(--dim); font-size: 12px; letter-spacing: .14em; text-transform: uppercase; }
.fl-top .fl-n { font-size: 15px; }

.sec { padding: 56px var(--gut) 40px; }
.sec-h { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 32px; align-items: end; margin-bottom: 56px; padding-right: 110px; }
.sec-p { color: var(--dim); max-width: 46ch; margin: 0; font-size: 17px; }

/* экипаж — типографский манифест */
.crew { border-top: 1px solid var(--faint); margin-right: 110px; }
.crew-r { position: relative; display: grid; grid-template-columns: 56px minmax(0, 1.25fr) 120px minmax(0, 1fr) 190px; gap: 20px; align-items: baseline;
  padding: 22px 0; border-bottom: 1px solid var(--faint); transition: padding .4s var(--ease); }
.crew-i { font: 500 12px/1 var(--f-mono); color: var(--hud); }
.crew-n { font: 700 clamp(22px, 3vw, 44px)/1 var(--f-disp); letter-spacing: -.02em; text-transform: uppercase; }
.crew-y { font: 400 13px/1 var(--f-mono); color: var(--dim); }
.crew-t { color: var(--dim); font-size: 14px; }
.crew-p { position: absolute; right: 12px; top: 50%; width: 150px; transform: translate3d(0, -50%, 0) scale(.9); opacity: 0; pointer-events: none; transition: opacity .3s, transform .4s var(--ease); z-index: 2; }
.crew-p img { aspect-ratio: 3/4; object-fit: cover; filter: grayscale(1) contrast(1.1); }
.crew-r:hover .crew-p { opacity: 1; transform: translate3d(0, -50%, 0) rotate(-3deg); }
.crew-r:hover .crew-n { color: var(--hud); }
.crew-r[data-side="su"] .crew-i::after { content: ' ●'; color: var(--su); }
.crew-r[data-side="us"] .crew-i::after { content: ' ●'; color: var(--us); }

/* марки */
.bus { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); border-left: 1px solid var(--faint); margin-right: 110px; }
.bu { display: grid; grid-template-rows: 90px auto auto; gap: 14px; padding: 26px 22px 28px; border-right: 1px solid var(--faint); border-top: 1px solid var(--faint); border-bottom: 1px solid var(--faint); transition: background .3s; }
.bu:hover { background: rgba(255, 255, 255, .04); }
.bu-l { max-height: 74px; width: auto; max-width: 100%; align-self: center; object-fit: contain; opacity: .92; }
.bu-y { font: 800 clamp(36px, 4.6vw, 72px)/1 var(--f-disp); color: transparent; -webkit-text-stroke: 1px var(--ink); letter-spacing: -.03em; }
.bu-n { font: 500 12px/1.3 var(--f-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--dim); }

/* пары: разновысокая сетка */
.tps { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 22px; margin-right: 110px; }
.tp { position: relative; display: block; }
.tp-v { overflow: hidden; }
.tp-v img { width: 100%; aspect-ratio: 4/3; object-fit: cover; transition: transform 1.2s var(--ease); }
.tp:hover .tp-v img { transform: scale(1.04); }
.tp-c { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 12px 0 0; border-top: 1px solid var(--faint); margin-top: 12px; }
.tp-n { font: 700 22px/1 var(--f-disp); text-transform: uppercase; }
.tp-a { font: 500 12px/1 var(--f-mono); color: var(--hud); }
.tp0 { grid-column: 1 / span 5; } .tp1 { grid-column: 7 / span 5; margin-top: 90px; }
.tp2 { grid-column: 2 / span 4; } .tp3 { grid-column: 6 / span 6; margin-top: 50px; }
.tp4 { grid-column: 1 / span 6; } .tp5 { grid-column: 8 / span 4; margin-top: 120px; }
.tp5 .tp-v img { aspect-ratio: 4/5; }
.tp[data-side="su"] .tp-n::before { content: ''; display: inline-block; width: 8px; height: 8px; background: var(--su); margin-right: 10px; vertical-align: middle; }
.tp[data-side="us"] .tp-n::before { content: ''; display: inline-block; width: 8px; height: 8px; background: var(--us); margin-right: 10px; vertical-align: middle; }
.draw-box { aspect-ratio: 4/3; display: grid; place-items: center; padding: 8%; border: 1px solid var(--faint);
  background: repeating-linear-gradient(0deg, rgba(120, 184, 255, .07) 0 1px, transparent 1px 24px), repeating-linear-gradient(90deg, rgba(120, 184, 255, .07) 0 1px, transparent 1px 24px), rgba(14, 30, 60, .5); }
.draw-box img { width: 100%; height: auto; }
.cta-l { margin-top: 70px; }

/* SR-71 */
.wp { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 48px; align-items: center; padding: 56px calc(var(--gut) + 110px) 40px var(--gut); }
.wp-p img { width: 100%; filter: saturate(.8); }
.big { font: 800 clamp(44px, 6vw, 100px)/1 var(--f-disp); letter-spacing: -.04em; margin: 0 0 18px; }
.big small { display: block; font: 500 14px/1 var(--f-mono); letter-spacing: .14em; margin-top: 10px; color: var(--hud); text-transform: uppercase; }
.wp-t p:not(.big) { color: var(--dim); max-width: 44ch; }

/* 37 650 */
.top { position: relative; padding: 40px 0 140px; }
.top-p { position: relative; margin: 0 var(--gut); }
.top-p img { width: 100%; max-height: 82vh; object-fit: cover; }
.top-t { position: relative; padding: 0 calc(var(--gut) + 110px) 0 var(--gut); margin-top: -11vw; }
.mega { font: 800 clamp(70px, 19vw, 330px)/.8 var(--f-disp); letter-spacing: -.06em; margin: 0; color: transparent; -webkit-text-stroke: 2px var(--ink); white-space: nowrap; }
.mega span { font-size: .5em; }
.top .lead { max-width: 52ch; }
.top-i { width: min(360px, 70%); margin: 48px 0 0 auto; transform: rotate(2deg); }
.space { font: italic 500 clamp(30px, 4vw, 56px)/1.1 var(--f-it); margin: 70px 0 0; }

/* ---------- страницы: шапка раздела ---------- */
.ph { padding: 180px calc(var(--gut) + 110px) 40px var(--gut); }
.filt { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 40px; }
.filt button { font: 500 12px/1 var(--f-mono); letter-spacing: .1em; text-transform: uppercase; padding: 11px 14px; border: 1px solid var(--faint); color: var(--dim); }
.filt button[aria-pressed="true"] { border-color: var(--hud); color: var(--hud); }

/* ---------- самолёты: набор высоты ---------- */
.climb { position: relative; padding: 60px calc(var(--gut) + 110px) 40px var(--gut); }
.climb::before { content: ''; position: absolute; left: 50%; top: 0; bottom: 0; width: 1px; margin-left: -55px;
  background: repeating-linear-gradient(180deg, var(--faint) 0 6px, transparent 6px 12px); }
.ac { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) 120px minmax(0, 1fr); align-items: start; margin-bottom: 70px; scroll-margin-top: 90px; }
.ac-alt { grid-column: 2; grid-row: 1; text-align: center; padding-top: 6px; font-family: var(--f-mono); color: var(--hud); position: sticky; top: 50vh; }
.ac-alt span { display: block; font-size: 15px; font-weight: 600; background: var(--bg); background: rgba(5, 8, 10, .8); padding: 4px 6px; border: 1px solid rgba(212, 255, 92, .4); }
.ac-alt small { font-size: 10px; letter-spacing: .14em; }
.ac-su .ac-card { grid-column: 1; grid-row: 1; }
.ac-us .ac-card { grid-column: 3; grid-row: 1; }
.ac-card { display: grid; gap: 18px; }
.ac-v { position: relative; overflow: hidden; }
.ac-v img { width: 100%; aspect-ratio: 3/2; object-fit: cover; }
.ac-ths { display: flex; gap: 8px; }
.ac-th { width: 84px; }
.ac-th img { aspect-ratio: 1; object-fit: cover; opacity: .75; transition: opacity .2s; }
.ac-th img:hover { opacity: 1; }
.ac-dr { aspect-ratio: 3/2; display: grid; place-items: center; padding: 9% 10% 12% 7%; border: 1px solid var(--faint);
  background: repeating-linear-gradient(0deg, rgba(120, 184, 255, .07) 0 1px, transparent 1px 24px), repeating-linear-gradient(90deg, rgba(120, 184, 255, .07) 0 1px, transparent 1px 24px), rgba(14, 30, 60, .55); }
.ac-dr img { width: 100%; height: auto; aspect-ratio: auto; object-fit: contain; }
.dim { position: absolute; font: 500 11px/1 var(--f-mono); color: var(--us); letter-spacing: .06em; }
.dim-l { left: 7%; right: 10%; bottom: 5%; text-align: center; border-top: 1px solid currentColor; padding-top: 5px; }
.dim-l::before, .dim-l::after { content: ''; position: absolute; top: -5px; width: 1px; height: 9px; background: currentColor; }
.dim-l::before { left: 0; } .dim-l::after { right: 0; }
.dim-s { right: 3%; top: 9%; bottom: 12%; writing-mode: vertical-rl; text-align: center; border-left: 1px solid currentColor; padding-left: 5px; }
.ac-radar { aspect-ratio: 3/2; display: grid; place-items: center; border: 1px solid var(--faint); background: radial-gradient(circle, rgba(212, 255, 92, .08), transparent 60%); }
.ac-radar i { position: absolute; width: 60%; aspect-ratio: 1; border-radius: 50%; border: 1px solid rgba(212, 255, 92, .35);
  background: conic-gradient(from 0deg, rgba(212, 255, 92, .35), transparent 22%); animation: sweep 4s linear infinite; }
.ac-radar i::after { content: ''; position: absolute; left: 62%; top: 30%; width: 7px; height: 7px; border-radius: 50%; background: var(--hud); box-shadow: 0 0 10px var(--hud); }
.ac-radar span { position: relative; font: 500 11px/1.5 var(--f-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--dim); text-align: center; max-width: 24ch; margin-top: 62%; }
@keyframes sweep { to { transform: rotate(1turn); } }
.ac-k { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; margin: 0; font: 500 11.5px/1.3 var(--f-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--dim); }
.ac-n { font: 700 clamp(40px, 5vw, 76px)/.9 var(--f-disp); letter-spacing: -.04em; text-transform: uppercase; margin: 14px 0 6px; }
.ac-nick { font: italic 500 22px/1.2 var(--f-it); margin: 0 0 18px; color: #fff; }
.ac-s { display: grid; grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)); margin: 0 0 18px; border-top: 1px solid var(--faint); border-left: 1px solid var(--faint); }
.ac-s div { padding: 10px 12px; border-right: 1px solid var(--faint); border-bottom: 1px solid var(--faint); }
.ac-s dt { font: 500 10px/1.2 var(--f-mono); letter-spacing: .12em; text-transform: uppercase; color: var(--dim); margin-bottom: 6px; }
.ac-s dd { margin: 0; font: 600 14px/1.2 var(--f-mono); color: #f4ffd8; }
.ac-t { margin: 0 0 18px; color: rgba(238, 242, 246, .84); }
.ac-l { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; }
.ac-l a, .chip { font: 500 11.5px/1 var(--f-mono); letter-spacing: .06em; text-transform: uppercase; padding: 8px 10px; border: 1px solid var(--faint); color: var(--ink); transition: border-color .2s, color .2s; }
.ac-l a:hover, .chip:hover { border-color: var(--hud); color: var(--hud); }
.end { padding: 30px var(--gut) 120px; }
.climb .ac:target .ac-card, .ds:target { outline: 1px solid var(--hud); outline-offset: 14px; }

/* ---------- бюро ---------- */
.bsec { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 56px; padding: 90px calc(var(--gut) + 110px) 60px var(--gut); border-top: 1px solid var(--faint); scroll-margin-top: 60px; }
.bsec-l { position: sticky; top: 110px; align-self: start; }
.bsec-logo { max-width: 78%; max-height: 160px; width: auto; }
.bsec-y { font: 800 clamp(80px, 12vw, 200px)/.85 var(--f-disp); letter-spacing: -.06em; margin: 40px 0 0; color: transparent; -webkit-text-stroke: 1.5px var(--ink); }
.bsec .h2 { margin: 18px 0 8px; }
.bsec-now { font: italic 500 22px/1.3 var(--f-it); margin: 0 0 22px; }
.bsec-t { color: rgba(238, 242, 246, .84); max-width: 60ch; }
.path { list-style: none; margin: 36px 0 30px; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)); position: relative; }
.path::before { content: ''; position: absolute; left: 0; right: 0; top: 7px; height: 1px; background: var(--hud); opacity: .5; }
.path li { position: relative; padding: 26px 12px 0 0; font-size: 13.5px; line-height: 1.4; color: var(--dim); }
.path li::before { content: ''; position: absolute; left: 0; top: 2px; width: 9px; height: 9px; border: 1px solid var(--hud); background: var(--bg); transform: rotate(45deg); }
.path b { display: block; font: 600 15px/1 var(--f-mono); color: var(--hud); margin-bottom: 6px; }
.chips { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.chips-l { font: 500 11px/1 var(--f-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--dim); margin-right: 4px; }
.chip-d { border-color: rgba(212, 255, 92, .4); }
.oms { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; margin-right: 110px; border-top: 1px solid var(--faint); }
.om { padding: 28px 28px 30px 0; border-bottom: 1px solid var(--faint); scroll-margin-top: 90px; }
.om:nth-child(odd) { border-right: 1px solid var(--faint); }
.om:nth-child(even) { padding-left: 28px; }
.om-y { font: 500 12px/1 var(--f-mono); color: var(--hud); }
.om h3 { font: 700 26px/1 var(--f-disp); text-transform: uppercase; margin: 10px 0 12px; letter-spacing: -.02em; }
.om p { color: var(--dim); margin: 0 0 16px; }

/* ---------- конструкторы ---------- */
.dg { padding: 80px calc(var(--gut) + 110px) 40px var(--gut); border-top: 1px solid var(--faint); }
.dg-h { display: flex; align-items: baseline; gap: 28px; flex-wrap: wrap; margin-bottom: 50px; }
.dg-n { font: 800 clamp(34px, 9vw, 170px)/.85 var(--f-disp); letter-spacing: -.05em; margin: 0; text-transform: uppercase; }
.dg-mig .dg-n { color: transparent; -webkit-text-stroke: 1.5px var(--ink); }
.dg-s { font: italic 500 24px/1.2 var(--f-it); margin: 0; color: var(--dim); }
.dg-ps { display: grid; gap: 60px; }
.dg-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.dg-2 .ds:nth-child(2) { margin-top: 120px; }
.ds { display: grid; gap: 22px; scroll-margin-top: 90px; }
.dg-1 .ds { grid-template-columns: minmax(0, 4fr) minmax(0, 6fr); gap: 48px; align-items: start; }
.ds-p { position: relative; max-width: 420px; }
.ds-p img { width: 100%; height: auto; max-height: 78vh; object-fit: contain; object-position: left top; filter: grayscale(1) contrast(1.08); transition: filter .6s; }
.ds-p:hover img { filter: grayscale(0); }
.br { position: absolute; inset: -10px; pointer-events: none;
  background: linear-gradient(var(--hud), var(--hud)) 0 0 / 22px 1px, linear-gradient(var(--hud), var(--hud)) 0 0 / 1px 22px,
  linear-gradient(var(--hud), var(--hud)) 100% 0 / 22px 1px, linear-gradient(var(--hud), var(--hud)) 100% 0 / 1px 22px,
  linear-gradient(var(--hud), var(--hud)) 0 100% / 22px 1px, linear-gradient(var(--hud), var(--hud)) 0 100% / 1px 22px,
  linear-gradient(var(--hud), var(--hud)) 100% 100% / 22px 1px, linear-gradient(var(--hud), var(--hud)) 100% 100% / 1px 22px; background-repeat: no-repeat; }
.ds-y { color: var(--ink); }
.ds-n { font: 700 clamp(28px, 3.2vw, 48px)/1 var(--f-disp); letter-spacing: -.03em; text-transform: uppercase; margin: 14px 0 8px; }
.ds-ti { font: italic 500 21px/1.3 var(--f-it); margin: 0 0 16px; }
.ds-t { color: rgba(238, 242, 246, .84); margin: 0 0 20px; max-width: 62ch; }

/* ---------- вооружение ---------- */
.pyl { position: relative; max-width: 760px; margin: 0 auto 70px; padding: 10px; }
.pyl img { width: 100%; opacity: .8; }
.pyl b { position: absolute; width: 26px; height: 26px; margin: -13px 0 0 -13px; border-radius: 50%; border: 1px solid var(--hud); background: rgba(5, 8, 4, .85);
  font: 600 11px/24px var(--f-mono); text-align: center; color: var(--hud); animation: blink 2.4s infinite; }
.pyl b:nth-of-type(2n) { animation-delay: .6s; }
@keyframes blink { 50% { opacity: .35; } }
.slots { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 18px; margin-right: 110px; }
.slot { border: 1px dashed rgba(212, 255, 92, .45); padding: 22px; display: grid; gap: 12px; align-content: start; min-height: 220px; }
.slot-i { font: 600 12px/1 var(--f-mono); color: var(--hud); letter-spacing: .12em; text-transform: uppercase; }
.slot .side { justify-self: start; }
.slot h3 { font: 700 20px/1.15 var(--f-disp); text-transform: uppercase; margin: 6px 0 0; letter-spacing: -.01em; }
.slot-a { color: var(--dim); margin: 0; font-size: 14px; }
.slot-s { font: 500 11px/1.3 var(--f-mono); letter-spacing: .12em; text-transform: uppercase; color: var(--dim); margin: auto 0 0; }
.slot-free { border-style: dotted; opacity: .7; }

/* ---------- подвал ---------- */
.ft { padding: 50px calc(var(--gut) + 110px) 50px var(--gut); border-top: 1px solid var(--faint); display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 30px; align-items: end;
  font: 400 12.5px/1.5 var(--f-mono); color: var(--dim); background: linear-gradient(0deg, rgba(0, 0, 0, .5), transparent); }
.ft-a { max-width: 70ch; }
.ft-v { display: flex; gap: 18px; flex-wrap: wrap; }
.ft-v a { color: var(--ink); text-transform: uppercase; letter-spacing: .08em; }
.ft-v a:hover, .ft-v a[data-ver="v1-altimeter"] { color: var(--hud); }

/* ---------- адаптив ---------- */
@media (max-width: 1100px) {
  .nv a i { display: none; }
  .bu { padding: 22px 16px 24px; }
}
@media (max-width: 900px) {
  .hud { display: none; }
  /* высота — в шапке, чтобы не закрывать текст */
  .pill { display: block; margin-left: auto; font: 600 12px/1 var(--f-mono); color: var(--hud); white-space: nowrap;
    background: rgba(5, 8, 4, .7); border: 1px solid rgba(212, 255, 92, .45); padding: 8px 9px; pointer-events: none; }
  .pill .read-m { font-size: 12px; }
  .pill ~ .hd-r { margin-left: 0; }
  .burger { display: block; }
  .nv { position: fixed; inset: 0; z-index: -1; flex-direction: column; justify-content: center; gap: 0; padding: 80px var(--gut) 40px; margin: 0;
    background: #06080c; opacity: 0; pointer-events: none; transition: opacity .3s; }
  .nv a { font: 700 clamp(26px, 8vw, 44px)/1 var(--f-disp); text-transform: uppercase; letter-spacing: -.02em; padding: 16px 0; border: 0; border-bottom: 1px solid var(--faint); color: var(--ink); }
  .nv a i { display: inline; font: 500 12px/1 var(--f-mono); vertical-align: middle; margin-right: 14px; }
  .nv a.on { color: var(--hud); }
  body.menu .nv { opacity: 1; pointer-events: auto; }
  .sec-h, .crew, .bus, .tps, .slots, .oms { margin-right: 0; padding-right: 0; }
  .sec-h { grid-template-columns: 1fr; gap: 18px; }
  .ph, .climb, .bsec, .dg, .ft, .top-t { padding-right: var(--gut); }
  .wp { grid-template-columns: 1fr; padding-right: var(--gut); }
  .crew-r { grid-template-columns: 40px minmax(0, 1fr) auto; }
  .crew-t { grid-column: 2 / -1; }
  .crew-p { display: none; }
  .bus { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tps { grid-template-columns: 1fr 1fr; gap: 16px; }
  .tps .tp { grid-column: auto; margin-top: 0; }
  .tps .tp:nth-child(even) { margin-top: 40px; }
  .tp-n { font-size: 16px; }
  .climb::before { left: 34px; margin-left: 0; }
  .ac { grid-template-columns: 70px minmax(0, 1fr); }
  .ac-alt { grid-column: 1; position: sticky; top: 72px; }
  .ac-alt span { font-size: 12px; padding: 4px 2px; }
  .ac-su .ac-card, .ac-us .ac-card { grid-column: 2; }
  .bsec { grid-template-columns: 1fr; gap: 24px; }
  .bsec-l { position: static; display: flex; align-items: end; justify-content: space-between; gap: 20px; }
  .bsec-logo { max-width: 55%; max-height: 90px; }
  .bsec-y { margin: 0; font-size: clamp(56px, 16vw, 110px); }
  .path { grid-template-columns: 1fr; }
  .path::before { left: 4px; right: auto; top: 0; bottom: 0; width: 1px; height: auto; }
  .path li { padding: 0 0 18px 28px; }
  .path li::before { top: 4px; }
  .oms { grid-template-columns: 1fr; }
  .om:nth-child(odd) { border-right: 0; }
  .om:nth-child(even) { padding-left: 0; }
  .dg-2 { grid-template-columns: 1fr; }
  .dg-2 .ds:nth-child(2) { margin-top: 0; }
  .dg-1 .ds { grid-template-columns: 1fr; gap: 22px; }
  .ft { grid-template-columns: 1fr; }
  .hz-tag-t, .hz-tag-b { right: var(--gut); }
  .hz-line b { display: none; }
}
@media (max-width: 560px) {
  .brand > span { display: none; }
  .hd { gap: 10px; }
  .bus { grid-template-columns: 1fr 1fr; }
  .bu { padding: 18px 14px; grid-template-rows: 60px auto auto; }
  .bu-l { max-height: 50px; }
  .tps { grid-template-columns: 1fr; }
  .tps .tp:nth-child(even) { margin-top: 0; }
  .ac { grid-template-columns: 54px minmax(0, 1fr); }
  .climb::before { left: 26px; }
  .climb { padding-left: 10px; }
  .ac-s { grid-template-columns: 1fr 1fr; }
  .ac-th { width: 64px; }
  .hz-tag-t { top: 78px; }
  .mega { -webkit-text-stroke-width: 1px; }
  .lead { font-size: 16px; }
}
