/* station-bosch — «Орбитальная станция»
   Мир: глубокий космос и пульт станции. Живое звёздное небо (canvas), медленные туманности,
   орбиты со спутниками вокруг техники, телеметрия условий. Один акцент — ионный голубой; тёплая вспышка — только точкой. */
:root{
  --void:#05060F;--deep:#0A0D1D;--panel:rgba(13,17,37,.82);--panel-solid:#0D1125;--line:#1E2547;--line-2:#2E386B;
  --ink:#E8EBF7;--ink-2:#BAC1DA;--muted:#929BBB;
  --ion:#FF6FB1;--ion-2:#FFB8D9;--ion-ink:#22030F;--ion-a:rgba(255,111,177,.14);--flare:#FF9A52;--violet:#6C4DFF;
  --f-d:"Exo 2",system-ui,-apple-system,"Segoe UI",sans-serif;--f-b:"Golos Text",system-ui,-apple-system,"Segoe UI",sans-serif;
  --r:10px;--r-lg:18px;--ease:cubic-bezier(.16,1,.3,1);--w:1160px;--hdr:120px;
  color-scheme:dark;
}
*{box-sizing:border-box}
html{background:radial-gradient(1200px 700px at 80% -10%,rgba(108,77,255,.16),transparent 60%) fixed,var(--void);overflow-x:clip;scroll-behavior:smooth;scroll-padding-top:calc(var(--hdr) + 12px);scrollbar-color:#2A3263 var(--void)}
body{margin:0;background:transparent;color:var(--ink);font:400 1rem/1.62 var(--f-b);overflow-x:clip;-webkit-font-smoothing:antialiased}
::selection{background:rgba(255,111,177,.3);color:#fff}
img{max-width:100%;height:auto}
a{color:var(--ion-2);text-underline-offset:4px;text-decoration-thickness:1px;text-decoration-color:rgba(255,184,217,.45)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--ion);outline-offset:3px;border-radius:6px}
input,select{caret-color:var(--ion)}
.wrap{max-width:var(--w);margin:0 auto;padding-inline:16px}
.skip{position:absolute;left:-9999px}.skip:focus{left:16px;top:8px;z-index:100;background:var(--ion);color:var(--ion-ink);padding:8px 12px;border-radius:8px}
h1,h2,h3{font-family:var(--f-d);margin:0;text-wrap:balance;color:#F4F6FF}
h1{font-weight:700;font-size:clamp(2rem,4.4vw,3.4rem);line-height:1.06;letter-spacing:-.015em}
h2{font-weight:600;font-size:clamp(1.45rem,2.6vw,2rem);line-height:1.15;letter-spacing:-.01em}
h3{font-weight:600;font-size:1.0625rem;line-height:1.3}
p{margin:0;text-wrap:pretty}
.mono,td.p,.from b,.readout b,.calc-out b,.phone{font-variant-numeric:tabular-nums lining-nums}

/* Небо: звёзды рисует canvas, туманности — медленные пятна */
.sky{position:fixed;inset:0;width:100vw;height:100vh;z-index:-2;pointer-events:none}
.nebula{position:fixed;inset:0;z-index:-3;pointer-events:none;overflow:hidden}
.nebula i{position:absolute;border-radius:50%;filter:blur(2px);will-change:transform}
.nebula i:nth-child(1){width:70vmax;height:70vmax;left:-25vmax;top:10vh;background:radial-gradient(closest-side,rgba(108,77,255,.20),rgba(108,77,255,.06) 55%,transparent 72%);animation:drift1 60s ease-in-out infinite alternate}
.nebula i:nth-child(2){width:60vmax;height:60vmax;right:-22vmax;top:-18vmax;background:radial-gradient(closest-side,rgba(255,111,177,.12),rgba(255,111,177,.04) 55%,transparent 72%);animation:drift2 74s ease-in-out infinite alternate}
.nebula i:nth-child(3){width:46vmax;height:46vmax;left:40%;bottom:-24vmax;background:radial-gradient(closest-side,rgba(255,120,190,.08),transparent 70%);animation:drift3 52s ease-in-out infinite alternate}
@keyframes drift1{to{transform:translate3d(18vw,-12vh,0) scale(1.1)}}
@keyframes drift2{to{transform:translate3d(-16vw,20vh,0) scale(.92)}}
@keyframes drift3{to{transform:translate3d(-24vw,-14vh,0)}}

/* Шапка */
.top{position:sticky;top:0;z-index:20;background:rgba(5,6,15,.82);-webkit-backdrop-filter:blur(10px) saturate(140%);backdrop-filter:blur(10px) saturate(140%);border-bottom:1px solid var(--line);transition:transform .3s var(--ease)}
.top--away{transform:translateY(-100%)}
.bar{display:flex;align-items:center;gap:18px;min-height:64px;padding-block:8px}
.logo{display:inline-flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font:700 1.125rem/1 var(--f-d);letter-spacing:.01em;white-space:nowrap}
.mark{position:relative;width:30px;height:30px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#BDAFFF,#5F44E0 55%,#1F184B 100%);box-shadow:inset -3px -4px 8px rgba(0,0,0,.45)}
.mark::before{content:"";position:absolute;left:-7px;right:-7px;top:50%;height:9px;margin-top:-4.5px;border-radius:50%;border:1.5px solid var(--ion);transform:rotate(-18deg);border-top-color:transparent}
.mark i{position:absolute;width:5px;height:5px;border-radius:50%;background:var(--flare);right:-6px;top:4px;box-shadow:0 0 0 2px rgba(255,154,82,.18)}
.nav{display:flex;gap:4px 18px;margin-left:auto;font-size:.9375rem}
.nav a{color:var(--ink-2);text-decoration:none;font-weight:500}
.nav a[aria-current],.nav a:hover{color:#fff}
.head-contact{display:flex;flex-direction:column;align-items:flex-end;line-height:1.2}
.phone{color:#fff;text-decoration:none;font:600 1.0625rem var(--f-d);letter-spacing:.01em;white-space:nowrap}
.head-contact span{font-size:.75rem;color:var(--muted)}
.catnav{border-top:1px solid rgba(30,37,71,.7)}
.catnav .wrap{display:flex;gap:4px 22px;flex-wrap:wrap;padding-block:9px}
.catnav a{color:var(--ink-2);text-decoration:none;font-size:.875rem;font-weight:500;padding-block:2px}
.catnav a[aria-current]{color:#fff;box-shadow:inset 0 -2px 0 var(--ion)}
@media (hover:hover){.catnav a:hover{color:#fff}}
.menu-btn{display:none}

/* Кнопки */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:var(--r);padding:13px 22px;cursor:pointer;
  background:linear-gradient(180deg,#FF8CC1,var(--ion));color:var(--ion-ink);font:600 .9375rem var(--f-b);text-decoration:none;
  box-shadow:0 0 0 1px rgba(255,184,217,.5) inset,0 10px 26px -12px rgba(255,111,177,.75);transition:transform .15s var(--ease),box-shadow .25s,filter .2s}
@media (hover:hover){.btn:hover{filter:brightness(1.08);box-shadow:0 0 0 1px rgba(255,184,217,.7) inset,0 14px 32px -12px rgba(255,111,177,.9)}}
.btn:active{transform:scale(.97)}
.btn.ghost{background:rgba(13,17,37,.6);color:var(--ink);box-shadow:inset 0 0 0 1px var(--line-2)}
@media (hover:hover){.btn.ghost:hover{box-shadow:inset 0 0 0 1px var(--ion);color:#fff}}
.btn-sm{padding:10px 16px;font-size:.875rem}

/* Хлебные крошки */
.crumbs{padding-top:18px;font-size:.8125rem;color:var(--muted)}
.crumbs a{color:var(--muted)}

/* Первый экран */
.hero{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:48px;align-items:center;padding-block:44px 40px}
.hero--plain{grid-template-columns:minmax(0,1fr);padding-block:36px 8px}
.hero--plain .hero-copy{max-width:820px}
.hero--doc{align-items:start}
.lead{margin-top:18px;font-size:1.0625rem;line-height:1.66;color:var(--ink-2);max-width:62ch}
.cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.telemetry{list-style:none;margin:24px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;max-width:640px}
.telemetry li{background:rgba(9,12,27,.92);padding:10px 12px;display:flex;flex-direction:column;gap:2px}
.telemetry span{font:600 .6875rem/1.2 var(--f-d);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.telemetry b{font-weight:600;font-size:.875rem;color:#fff}
.telemetry li:first-child b::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--flare);margin-right:6px;vertical-align:1px;animation:blink 2.4s ease-in-out infinite}
@keyframes blink{50%{opacity:.25}}
.readout{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;margin-top:22px}
.readout div{background:rgba(9,12,27,.92);padding:12px 14px;display:flex;flex-direction:column;gap:4px}
.readout span{font:600 .6875rem var(--f-d);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.readout b{color:#fff;font-weight:600}
.readout b a{color:var(--ion-2)}

/* Орбиты вокруг техники */
.orbit{position:relative;width:min(100%,460px);aspect-ratio:1;justify-self:center;display:grid;place-items:center;perspective:900px;isolation:isolate}
.planet{position:absolute;width:62%;aspect-ratio:1;border-radius:50%;z-index:-1;
  background:radial-gradient(circle at 34% 28%,rgba(189,175,255,.55),rgba(95,68,224,.38) 34%,rgba(31,24,75,.85) 66%,rgba(5,6,15,0) 71%);
  box-shadow:inset -18px -26px 60px rgba(0,0,0,.55);animation:rise 1.4s .1s var(--ease) both}
.planet::after{content:"";position:absolute;inset:-2px;border-radius:50%;box-shadow:inset 6px 8px 0 -4px rgba(255,184,217,.35);opacity:.8}
.ring{position:absolute;border-radius:50%;border:1px solid rgba(255,184,217,.26);transform-style:preserve-3d;--tilt:72deg;--rz:0deg;transform:rotateX(var(--tilt)) rotateZ(var(--rz));animation:spin var(--t,26s) linear infinite}
.ring i{position:absolute;left:50%;top:-5px;width:10px;height:10px;margin-left:-5px;border-radius:50%;background:var(--ion-2);box-shadow:0 0 0 3px rgba(255,111,177,.18),0 0 14px rgba(255,111,177,.7)}
.r1{inset:17%;--rz:10deg;--t:22s}
.r2{inset:8%;--rz:-24deg;--t:34s;border-style:dashed;border-color:rgba(255,184,217,.18)}
.r2 i{background:var(--flare);box-shadow:0 0 0 3px rgba(255,154,82,.16),0 0 12px rgba(255,154,82,.6);width:8px;height:8px;margin-left:-4px;top:-4px}
.r3{inset:0;--rz:40deg;--t:48s;border-color:rgba(108,77,255,.25)}
.r3 i{width:6px;height:6px;margin-left:-3px;top:-3px;background:#C4B8FF;box-shadow:0 0 10px rgba(108,77,255,.8)}
@keyframes spin{to{transform:rotateX(var(--tilt)) rotateZ(calc(var(--rz) + 360deg))}}
@keyframes rise{from{opacity:0;transform:scale(.8) translateY(20px)}to{opacity:1;transform:none}}
.hero-img{position:relative;z-index:1;max-width:58%;max-height:66%;width:auto;filter:drop-shadow(0 26px 30px rgba(0,0,0,.6)) drop-shadow(0 0 22px rgba(255,111,177,.12));animation:float 8s 1.4s ease-in-out infinite}
.hero-ico{position:relative;z-index:1;width:42%;color:var(--ion-2);animation:float 8s 1.4s ease-in-out infinite}
.hero-ico svg,.tile-ico svg{width:100%;height:auto;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.fleet{position:relative;z-index:1;display:flex;align-items:flex-end;justify-content:center;gap:8px;width:82%}
.fleet img{width:auto;filter:drop-shadow(0 22px 24px rgba(0,0,0,.6));animation:float 9s ease-in-out infinite}
.fleet img:nth-child(1){max-height:230px;animation-delay:.2s}.fleet img:nth-child(2){max-height:150px;animation-delay:1.1s}.fleet img:nth-child(3){max-height:140px;animation-delay:2s}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}

/* Форма — «стыковочный шлюз» */
.dock{container-type:inline-size;position:relative;background:var(--panel);border:1px solid var(--line-2);border-radius:var(--r-lg);padding:24px;margin-block:8px 12px;
  box-shadow:0 30px 70px -40px rgba(0,0,0,.9),inset 0 1px 0 rgba(255,255,255,.05)}
.dock::before{content:"";position:absolute;left:24px;right:24px;top:-1px;height:2px;background:linear-gradient(90deg,transparent,var(--ion),transparent);opacity:.8}
.dock h2{font-size:1.25rem;margin-bottom:14px}
.form{display:grid;gap:14px}
.form label{display:grid;gap:6px;font-size:.8125rem;font-weight:500;color:var(--ink-2)}
.form input,.form select,.calc-box select{width:100%;background:rgba(5,6,15,.85);border:1px solid var(--line-2);border-radius:var(--r);color:#fff;padding:12px 14px;font:400 1rem var(--f-b);transition:border-color .2s,box-shadow .2s}
.form input::placeholder{color:#6F789B}
.form input:focus,.form select:focus,.calc-box select:focus{border-color:var(--ion);box-shadow:0 0 0 3px var(--ion-a);outline:none}
.form select option,.calc-box select option{background:var(--panel-solid);color:#fff}
.form .note{font-size:.75rem;color:var(--muted)}
.form .note a{color:var(--ink-2)}
.form .ok{background:var(--ion-a);color:#fff;border-radius:var(--r);padding:10px 12px;font-size:.875rem}
.form input[aria-invalid="true"]{border-color:#FF7A7A}
.form input.is-valid{border-color:#5BE3A8}
.field-hint{font-size:.75rem;color:#FF9C9C}
.alt{display:flex;gap:12px;align-items:center;margin-top:14px;padding-top:14px;border-top:1px solid var(--line);font-size:.875rem;color:var(--muted)}
.alt a{color:#fff;font:600 1rem var(--f-d);text-decoration:none}
@container (min-width:760px){
  .dock{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"h a" "f f";column-gap:24px;align-items:center}
  .dock h2{grid-area:h;margin:0}.dock .alt{grid-area:a;margin:0;padding:0;border:0}
  .dock .form{grid-area:f;margin-top:16px;grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end;column-gap:12px}
  .dock .form .btn{height:48px}
  .dock .form .note,.dock .form .ok{grid-column:1/-1}
}
.hero--doc .dock{margin:0}

/* Секции */
.sec{padding-block:56px 20px}
.sec-head{display:grid;gap:10px;margin-bottom:26px}
.sec-head h2{display:flex;align-items:center;gap:12px}
.sec-head h2::before{content:"";flex:none;width:12px;height:12px;border-radius:50%;border:2px solid var(--ion);box-shadow:0 0 0 4px var(--ion-a)}
.sec-head p{color:var(--muted);max-width:70ch}
.prose{display:grid;gap:16px;max-width:76ch;color:var(--ink-2);font-size:1.03rem;line-height:1.7}
.teaser{color:var(--ink-2);max-width:70ch}
.more{margin-top:12px}

/* Плитки техники */
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}
.tile{position:relative;overflow:hidden;display:grid;gap:8px;align-content:start;padding:18px;border-radius:var(--r-lg);background:var(--panel);border:1px solid var(--line);color:var(--ink);text-decoration:none;transition:transform .35s var(--ease),border-color .3s}
.tile::after{content:"";position:absolute;right:-30px;top:-30px;width:110px;height:110px;border-radius:50%;border:1px dashed rgba(255,184,217,.16);transition:transform .8s var(--ease)}
.tile img{height:96px;width:auto;object-fit:contain;justify-self:start;filter:drop-shadow(0 12px 14px rgba(0,0,0,.55))}
.tile-ico{display:block;width:76px;height:96px;color:var(--ion-2)}
.tile h3{font-size:1rem}
.tile .from{font-size:.875rem;color:var(--muted)}.tile .from b{color:var(--ion-2)}
@media (hover:hover){.tile:hover{transform:translateY(-4px);border-color:var(--line-2)}.tile:hover::after{transform:rotate(90deg) scale(1.15)}}

/* Преимущества и правила */
.why{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}
.why li{padding:20px;border-radius:var(--r-lg);background:var(--panel);border:1px solid var(--line);display:grid;gap:8px}
.why li p{color:var(--ink-2);font-size:.95rem}

/* Этапы — траектория миссии */
.mission{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;position:relative}
.mission::before{content:"";position:absolute;left:24px;right:24px;top:23px;height:2px;background:linear-gradient(90deg,var(--ion),rgba(108,77,255,.7),rgba(255,154,82,.6));opacity:.55;transform-origin:left}
.mission li{position:relative;display:grid;gap:8px;align-content:start}
.st-n{position:relative;z-index:1;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--void);border:2px solid var(--ion);color:#fff;font:700 1.125rem var(--f-d);box-shadow:0 0 0 6px rgba(5,6,15,.9)}
.mission p{color:var(--ink-2);font-size:.95rem}
.js .reveal .mission::before{transform:scaleX(0);transition:transform 1.4s var(--ease) .2s}
.js .reveal.in .mission::before{transform:none}
.js .reveal .st-n{opacity:.3;transform:scale(.7);transition:opacity .5s var(--ease),transform .5s var(--ease);transition-delay:calc(var(--i,0) * 220ms + .3s)}
.js .reveal.in .st-n{opacity:1;transform:none}

/* Списки, причины, неисправности */
.routes{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}
.routes a{display:flex;align-items:center;gap:10px;padding:13px 16px;border-radius:var(--r);background:var(--panel);border:1px solid var(--line);color:var(--ink);text-decoration:none;font-weight:500;transition:border-color .25s,color .25s}
.routes a::before{content:"";flex:none;width:7px;height:7px;border-radius:50%;background:var(--ion);box-shadow:0 0 8px rgba(255,111,177,.7)}
@media (hover:hover){.routes a:hover{border-color:var(--ion);color:#fff}}
.faults{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}
.fault{display:grid;gap:6px;padding:16px 18px;border-radius:var(--r);background:var(--panel);border:1px solid var(--line);color:var(--ink);text-decoration:none;transition:border-color .25s,transform .3s var(--ease)}
.fault b{font-family:var(--f-d);font-weight:600;color:#fff}
.fault span{font-size:.875rem;color:var(--muted)}
@media (hover:hover){.fault:hover{border-color:var(--line-2);transform:translateY(-2px)}}
.series{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.series li{padding:18px;border-radius:var(--r-lg);border:1px solid var(--line);background:linear-gradient(160deg,rgba(108,77,255,.12),rgba(13,17,37,.82) 50%);display:grid;gap:8px}
.series b{font-family:var(--f-d);color:#fff}
.series p{color:var(--ink-2);font-size:.95rem}
.causes{list-style:none;counter-reset:c;margin:0;padding:0;display:grid;gap:12px;max-width:860px}
.causes li{counter-increment:c;position:relative;padding:16px 18px 16px 62px;border-radius:var(--r);background:var(--panel);border:1px solid var(--line);display:grid;gap:6px}
.causes li::before{content:counter(c);position:absolute;left:16px;top:16px;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;border:1.5px solid var(--ion);color:var(--ion-2);font:700 .875rem var(--f-d)}
.causes p{color:var(--ink-2);font-size:.95rem}
.checks,.flow{margin:0;padding:0;display:grid;gap:10px;max-width:820px}
.checks{list-style:none}
.checks li{position:relative;padding-left:30px;color:var(--ink-2)}
.checks li::before{content:"";position:absolute;left:4px;top:.5em;width:10px;height:10px;border-radius:50%;border:2px solid var(--ion)}
.flow{list-style:none;counter-reset:f}
.flow li{counter-increment:f;position:relative;padding-left:44px;color:var(--ink-2);min-height:30px}
.flow li::before{content:counter(f);position:absolute;left:0;top:-2px;width:30px;height:30px;border-radius:8px;display:grid;place-items:center;background:var(--ion-a);color:var(--ion-2);font:700 .875rem var(--f-d)}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips a{padding:9px 14px;border-radius:999px;border:1px solid var(--line-2);background:rgba(13,17,37,.6);color:var(--ink);text-decoration:none;font-size:.9rem}
@media (hover:hover){.chips a:hover{border-color:var(--ion);color:#fff}}

/* Таблицы */
.tbl{overflow-x:auto;border-radius:var(--r-lg);border:1px solid var(--line);background:var(--panel)}
table{width:100%;border-collapse:collapse;font-size:.95rem}
caption{text-align:left;padding:14px 16px 0;color:var(--muted)}
th{text-align:left;font:600 .6875rem var(--f-d);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:12px 16px;border-bottom:1px solid var(--line)}
td{padding:12px 16px;border-bottom:1px solid rgba(30,37,71,.6);color:var(--ink);vertical-align:top}
tr:last-child td{border-bottom:0}
td a{color:#fff}
td.p,th.p{text-align:right;white-space:nowrap}
td.p{color:var(--ion-2);font-weight:600}
td.code{font:700 .95rem var(--f-d);color:var(--flare);white-space:nowrap}
@media (hover:hover){tbody tr:hover{background:rgba(255,111,177,.04)}}

/* FAQ */
.faq{display:grid;gap:10px;max-width:900px}
details{border-radius:var(--r);background:var(--panel);border:1px solid var(--line);padding:0 18px;transition:border-color .25s}
details[open]{border-color:var(--line-2)}
summary{list-style:none;cursor:pointer;position:relative;padding:16px 36px 16px 0;font-weight:500;color:#fff}
summary::-webkit-details-marker{display:none}
summary::after{content:"";position:absolute;right:4px;top:50%;width:14px;height:14px;margin-top:-7px;border-radius:50%;border:1.5px solid var(--ion);transition:transform .3s var(--ease),background .3s}
details[open] summary::after{background:var(--ion);transform:scale(.6)}
details p{padding-bottom:16px;color:var(--ink-2)}

/* Калькулятор */
.calc{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:32px;padding:34px;border-radius:22px;background:linear-gradient(150deg,rgba(255,111,177,.08),rgba(13,17,37,.9) 40%,rgba(108,77,255,.1));border:1px solid var(--line-2)}
.calc-copy{display:grid;gap:12px;align-content:start}
.calc-copy p{color:var(--ink-2)}
.calc-box{display:grid;gap:14px}
.calc-box label{display:grid;gap:6px;font-size:.8125rem;font-weight:500;color:var(--ink-2)}
.calc-out{padding:16px 18px;border-radius:var(--r);background:rgba(5,6,15,.8);border:1px solid var(--line);display:grid;gap:4px}
.calc-out span,.calc-out small{color:var(--muted);font-size:.8125rem}
.calc-out b{font:700 2.1rem/1.15 var(--f-d);color:var(--ion-2)}
.calc-out b.bump{animation:bump .45s var(--ease)}
@keyframes bump{from{opacity:.2;transform:translateY(8px)}to{opacity:1;transform:none}}

/* Контакты, документы */
.req{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:10px 22px;margin-top:22px}
.req dt{color:var(--muted)}.req dd{margin:0;color:#fff}
.req a{color:#fff}
.doc-sec{padding-block:26px 0;max-width:820px}
.doc-sec h2{font-size:1.25rem;margin-bottom:10px}
.doc-sec p{color:var(--ink-2)}

/* Подвал */
footer{margin-top:72px;border-top:1px solid var(--line);background:linear-gradient(180deg,rgba(10,13,29,.6),rgba(5,6,15,.95))}
.foot{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:28px;padding-block:44px 24px}
.foot p{color:var(--muted);font-size:.9rem;margin-top:12px}
.foot b{display:block;font-family:var(--f-d);color:#fff;margin-bottom:10px}
.foot ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.foot a{color:var(--ink-2);text-decoration:none;font-size:.9rem}
@media (hover:hover){.foot a:hover{color:#fff}}
.disc{padding-block:18px 28px;border-top:1px solid var(--line)}
.disc p{font-size:.78rem;color:#7D86A8;max-width:900px}
.callbar{display:none}
.lost h1{font-size:clamp(1.8rem,4vw,2.8rem)}

/* Адаптив */
@media (max-width:1024px){
  .hero{grid-template-columns:minmax(0,1fr);gap:24px}
  .orbit{width:min(100%,360px)}
  .calc{grid-template-columns:minmax(0,1fr)}
  .foot{grid-template-columns:1fr 1fr}
  .head-contact{display:none}
}
@media (max-width:860px){
  .nav{display:none;position:absolute;left:12px;right:12px;top:calc(100% + 6px);flex-direction:column;gap:0;padding:8px;border-radius:var(--r-lg);background:var(--panel-solid);border:1px solid var(--line-2);box-shadow:0 30px 60px rgba(0,0,0,.6)}
  .top.menu-open .nav{display:flex}
  .nav a{padding:12px 10px;border-bottom:1px solid var(--line)}.nav a:last-child{border-bottom:0}
  .menu-btn{display:grid;place-items:center;margin-left:auto;width:44px;height:44px;border-radius:var(--r);border:1px solid var(--line-2);background:rgba(13,17,37,.7);cursor:pointer}
  .menu-btn span,.menu-btn span::before,.menu-btn span::after{display:block;width:18px;height:2px;background:#fff;border-radius:2px;position:relative;transition:transform .25s var(--ease)}
  .menu-btn span::before,.menu-btn span::after{content:"";position:absolute;left:0}
  .menu-btn span::before{top:-6px}.menu-btn span::after{top:6px}
  .menu-open .menu-btn span{background:transparent}.menu-open .menu-btn span::before{transform:translateY(6px) rotate(45deg)}.menu-open .menu-btn span::after{transform:translateY(-6px) rotate(-45deg)}
  .bar{position:relative}
  .bar .btn-sm{display:none}
  .mission{grid-template-columns:minmax(0,1fr);gap:18px}
  .mission::before{left:23px;right:auto;top:24px;bottom:24px;width:2px;height:auto;background:linear-gradient(180deg,var(--ion),rgba(108,77,255,.7),rgba(255,154,82,.6))}
  .mission li{grid-template-columns:48px minmax(0,1fr);column-gap:16px}
  .mission li h3{align-self:center}
  .mission li p{grid-column:2}
  .js .reveal .mission::before{transform:scaleY(0);transform-origin:top}
  .telemetry,.readout{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
  .catnav .wrap{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;gap:0 18px}
  .catnav .wrap::-webkit-scrollbar{display:none}
  .catnav a{white-space:nowrap}
  .hero{padding-block:24px 20px}
  .orbit{width:min(86%,300px)}
  .sec{padding-block:44px 12px}
  .calc{padding:20px}
  .foot{grid-template-columns:1fr}
  .req{grid-template-columns:1fr;gap:2px 0}.req dd{margin-bottom:10px}
  .callbar{display:grid;grid-template-columns:1fr 1fr;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:30;padding:8px 8px calc(8px + env(safe-area-inset-bottom));background:rgba(5,6,15,.94);border-top:1px solid var(--line)}
  .callbar a{display:flex;align-items:center;justify-content:center;min-height:46px;border-radius:var(--r);border:1px solid var(--line-2);color:#fff;text-decoration:none;font-weight:600}
  .callbar .cb-call{background:var(--ion);color:var(--ion-ink);border-color:transparent}
  footer{padding-bottom:70px}
  .tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tile img{height:72px}.tile-ico{width:58px;height:72px}
}
@media (max-width:380px){.logo{font-size:1rem}.telemetry b{font-size:.8125rem}}

/* Появление секций */
.js .reveal{opacity:.35;transform:translateY(18px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.js .reveal.in{opacity:1;transform:none}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .js .reveal,.js .reveal .st-n{opacity:1!important;transform:none!important}
  .js .reveal .mission::before{transform:none!important}
}
@media (prefers-reduced-transparency:reduce){.top,.dock,.callbar{background:var(--panel-solid)}}
@media (prefers-contrast:more){:root{--muted:#C9CEE3;--ink-2:#DCE0EF;--line:#4A5590;--line-2:#6470B0}}
