@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sans-cyrillic-300.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/sans-latin-300.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sans-cyrillic-400.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sans-latin-400.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/sans-cyrillic-500.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/sans-latin-500.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sans-cyrillic-600.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/sans-latin-600.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/mono-cyrillic-400.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/mono-latin-400.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/mono-cyrillic-500.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/mono-latin-500.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
/* =====================================================================
   UAV Parts — дизайн-система (светлая, «премиум»)
   ===================================================================== */
:root{
  --bg:#F3F2EE; --bg2:#EAE8E2; --card:#FFFFFF; --soft:#F7F6F3;
  --ink:#14171A; --ink-2:#50565C; --ink-3:#65696E;
  --line:rgba(20,23,26,.12); --line-2:rgba(20,23,26,.07);
  --accent:#AC4318; --accent-2:#E0621F; --accent-soft:#F7E6DC;
  --blue:#2A6AA8; --blue-soft:#E6EEF6;
  --good:#2F6A3A; --bad:#A8322A;
  --sans:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,Consolas,monospace;
  --ease:cubic-bezier(.2,.8,.2,1);
  --pad:clamp(16px,5vw,80px);
  --r:22px; --r2:14px;
  --hd:76px;
  color-scheme:light;
}
@view-transition{navigation:auto}
::view-transition-old(root){animation:.25s ease both vtOut}
::view-transition-new(root){animation:.45s var(--ease) both vtIn}
@keyframes vtOut{to{opacity:0;transform:translateY(-8px)}}
@keyframes vtIn{from{opacity:0;transform:translateY(14px)}}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--hd) + 16px)}
body{margin:0;background:var(--bg);color:var(--ink);font:400 16px/1.6 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto}
a{color:inherit}
p{margin:0}
h1,h2,h3,h4{margin:0;font-weight:500;line-height:1.08;letter-spacing:-.02em;text-wrap:balance}
button{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}
[hidden]{display:none!important}
::selection{background:var(--accent);color:#fff}
.wrap{max-width:1360px;margin:0 auto;padding-inline:var(--pad)}
.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}
.lbl{font:500 11px/1.3 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}
.tag{font:500 12px/1.3 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);display:flex;align-items:center;gap:12px}
.tag:before{content:"";width:28px;height:1px;background:var(--accent);flex:none}
.lead{font-size:clamp(16px,1.35vw,19px);line-height:1.6;color:var(--ink-2);max-width:62ch}
.calc-note{font-size:13px;line-height:1.5;color:var(--ink-3)}
b,strong{font-weight:600}

/* ---------- кнопки ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:52px;padding:0 26px;border-radius:999px;border:1px solid rgba(20,23,26,.22);background:transparent;color:var(--ink);font:500 15px/1 var(--sans);text-decoration:none;cursor:pointer;transition:background .35s,color .35s,border-color .35s,transform .45s var(--ease);will-change:transform;white-space:nowrap}
.btn:hover{border-color:var(--ink);background:var(--card)}
.btn-primary,.btn-d{background:var(--ink);border-color:var(--ink);color:#fff}
.btn-primary:hover,.btn-d:hover{background:var(--accent);border-color:var(--accent);color:#fff}
.btn-o{background:var(--accent);border-color:var(--accent);color:#fff}
.btn-o:hover{background:var(--ink);border-color:var(--ink)}
.btn-sm{min-height:40px;padding:0 18px;font-size:14px}
.btn .ar{display:inline-grid;place-items:center;width:26px;height:26px;margin-right:-10px;border-radius:50%;background:rgba(255,255,255,.14);transition:transform .45s var(--ease);font-family:var(--sans)}
.btn:not(.btn-primary):not(.btn-d):not(.btn-o) .ar{background:var(--bg2)}
.btn:hover .ar{transform:translateX(3px) rotate(-45deg)}
.linkbtn{background:none;border:0;padding:0;color:var(--accent);font-weight:500;font-size:14px;cursor:pointer;text-decoration:underline;text-underline-offset:4px}
.ib{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;padding:0 14px;border-radius:999px;border:1px solid var(--line);background:var(--card);font:500 13px/1.2 var(--sans);cursor:pointer;white-space:nowrap;text-decoration:none;color:var(--ink);transition:border-color .2s,background .2s,color .2s}
.ib:hover{border-color:var(--ink)}
.ib[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:#fff}
.ib.req[aria-pressed="true"]{background:var(--accent);border-color:var(--accent)}

/* ---------- шапка ---------- */
.hd{position:fixed;top:0;left:0;right:0;z-index:60;height:var(--hd);display:flex;align-items:center;gap:20px;padding:0 var(--pad);transition:background .35s,box-shadow .35s,height .35s}
.hd.scrolled{background:rgba(243,242,238,.82);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);box-shadow:0 1px 0 var(--line)}
.logo{display:flex;align-items:center;gap:10px;font:600 16px/1 var(--sans);letter-spacing:.16em;text-decoration:none;white-space:nowrap;margin-right:auto}
.logo i{width:24px;height:24px;border:2px solid currentColor;border-radius:50%;position:relative;display:block;flex:none}
.logo i:before,.logo i:after{content:"";position:absolute;background:currentColor}
.logo i:before{left:50%;top:-5px;bottom:-5px;width:2px;margin-left:-1px}
.logo i:after{top:50%;left:-5px;right:-5px;height:2px;margin-top:-1px}
.logo i u{position:absolute;inset:6px;border-radius:50%;background:var(--accent)}
.nav{display:flex;gap:2px;padding:5px;border-radius:999px;background:rgba(255,255,255,.6);border:1px solid var(--line);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);position:absolute;left:50%;transform:translateX(-50%)}
.nav a{font-size:14px;padding:9px 15px;border-radius:999px;text-decoration:none;transition:background .3s,color .3s;white-space:nowrap}
.nav a:hover{background:var(--bg2)}
.nav a.on{background:var(--ink);color:#fff}
.hd .tel{font:500 14px var(--mono);text-decoration:none;white-space:nowrap}
.hd-req{position:relative;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 18px;border-radius:999px;background:var(--ink);color:#fff;text-decoration:none;font-size:14px;font-weight:500;transition:background .3s}
.hd-req:hover{background:var(--accent)}
.hd-req b{display:none;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--accent);color:#fff;font:600 12px/22px var(--mono);text-align:center}
.hd-req.has b{display:inline-block}
.hd-req:hover b{background:#fff;color:var(--accent)}
.burger{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:rgba(255,255,255,.6);display:grid;place-items:center;cursor:pointer;flex:none;transition:background .3s}
.burger:hover{background:#fff}
.burger span{display:block;width:16px;height:1.5px;background:var(--ink);position:relative;transition:transform .4s var(--ease),background .2s}
.burger span:before,.burger span:after{content:"";position:absolute;left:0;width:16px;height:1.5px;background:var(--ink);transition:transform .4s var(--ease)}
.burger span:before{top:-5px}.burger span:after{top:5px}
body.menu-open .burger span{background:transparent}
body.menu-open .burger span:before{transform:translateY(5px) rotate(45deg);background:#fff}
body.menu-open .burger span:after{transform:translateY(-5px) rotate(-45deg);background:#fff}
body.menu-open .burger{background:transparent;border-color:rgba(255,255,255,.3)}
body.menu-open .hd .logo,body.menu-open .hd .tel{color:#fff}
body.menu-open .hd{background:transparent;box-shadow:none;backdrop-filter:none}
body.menu-open .hd .nav,body.menu-open .hd-req{opacity:0;pointer-events:none}
@media (max-width:1240px){.nav{display:none}}
@media (max-width:760px){.hd .tel{display:none}:root{--hd:66px}.hd{gap:10px}}
@media (max-width:420px){.hd-req span{display:none}.hd-req{padding:0 14px}.hd-req:before{content:"Заявка"}.logo{font-size:14px;letter-spacing:.12em}}

/* меню на весь экран */
.menu{position:fixed;inset:0;z-index:55;background:#101316;color:#fff;display:grid;grid-template-rows:1fr auto;padding:calc(var(--hd) + 24px) var(--pad) 32px;clip-path:circle(0% at calc(100% - var(--pad) - 22px) calc(var(--hd) / 2));transition:clip-path .8s var(--ease);overflow-y:auto;visibility:hidden}
body.menu-open .menu{clip-path:circle(150% at calc(100% - var(--pad) - 22px) calc(var(--hd) / 2));visibility:visible}
body.menu-open{overflow:hidden}
.menu-l{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 60px;align-content:center;max-width:1200px;width:100%;margin:0 auto}
.menu-l a{display:grid;grid-template-columns:44px 1fr;align-items:baseline;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.1);text-decoration:none;font:300 clamp(22px,2.6vw,34px)/1.2 var(--sans);letter-spacing:-.02em;opacity:0;transform:translateY(24px);transition:opacity .5s,transform .7s var(--ease),color .2s}
.menu-l a span{font:500 12px var(--mono);color:var(--accent-2);letter-spacing:.06em}
.menu-l a:hover{color:var(--accent-2)}
.menu-l a.on{color:var(--accent-2)}
body.menu-open .menu-l a{opacity:1;transform:none}
.menu-f{display:flex;flex-wrap:wrap;gap:12px 40px;justify-content:space-between;align-items:end;max-width:1200px;width:100%;margin:32px auto 0;font-size:14px;color:rgba(255,255,255,.6)}
.menu-f a{color:#fff;text-decoration:none;font:500 18px var(--mono)}
.menu-f .btn{color:#fff;border-color:rgba(255,255,255,.3)}
.menu-f .btn:hover{background:#fff;color:var(--ink)}
@media (max-width:760px){.menu-l{grid-template-columns:1fr}.menu-l a{font-size:22px;padding:10px 0}}

/* ---------- заголовок страницы ---------- */
main{display:block;padding-top:var(--hd)}
.phero{position:relative;padding:clamp(40px,7vw,96px) 0 clamp(28px,4vw,56px);overflow:hidden}
.phero:before{content:"";position:absolute;right:-10%;top:-30%;width:60vw;aspect-ratio:1;border-radius:50%;background:radial-gradient(closest-side,#fff,rgba(255,255,255,0));pointer-events:none}
.phero .wrap{position:relative}
.phero h1{font:500 clamp(34px,4.6vw,68px)/1.02 var(--sans);letter-spacing:-.03em;margin:22px 0 22px;max-width:17ch;hyphens:auto}
.phero h1 b{font-weight:inherit}
.phero .lead{max-width:60ch}
.phero .lead b.mono{white-space:nowrap}
.phero-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.phero-meta{display:flex;flex-wrap:wrap;gap:8px 24px;margin-top:24px;font:500 12px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
.phero .code{font:500 clamp(40px,7vw,104px)/.95 var(--mono);letter-spacing:-.04em;margin:18px 0 16px;color:var(--ink)}
.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font:500 12px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);margin-bottom:26px}
.crumbs a{text-decoration:none;color:var(--ink-2);transition:color .2s}
.crumbs a:hover{color:var(--accent)}
.crumbs span.s{opacity:.5}
.pbody{padding:0 0 clamp(56px,8vw,110px)}
.pbody>.wrap>*+*{margin-top:24px}
.sec{padding:clamp(64px,9vw,130px) 0}
.sec-h{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:24px 40px;align-items:end;margin-bottom:clamp(32px,4vw,56px)}
.sec-h h2{font:500 clamp(28px,3.4vw,52px)/1.05 var(--sans);letter-spacing:-.025em}
.sec-h h2 b{font-weight:inherit}
.sec-h p{font-size:17px;line-height:1.6;color:var(--ink-2);max-width:480px;justify-self:end}
@media (max-width:820px){.sec-h{grid-template-columns:1fr}.sec-h p{justify-self:start}}

/* появление */
.js .rv{opacity:0;transform:translateY(34px);transition:opacity 1s var(--ease),transform 1.1s var(--ease)}
.js .rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.js .rv{opacity:1;transform:none;transition:none}*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}::view-transition-group(*){animation:none!important}}

/* ---------- карточки, поверхности ---------- */
.card,.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--r)}
.plate{background:#fff;border-radius:var(--r2);display:flex;align-items:center;justify-content:center;overflow:hidden}
.plate img{display:block;max-width:100%;max-height:100%;object-fit:contain;mix-blend-mode:multiply}
.plate-dark{background:#0f1a2a}
.plate-dark img{mix-blend-mode:normal}

/* ---------- поля ---------- */
.fld{display:grid;gap:8px;min-width:0}
.fld label,.fld>.lbl{font:500 11px/1.3 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}
.fld input:not([type=radio]):not([type=checkbox]),.fld select,.fld textarea,.cv-in input,.cv-in select{font:400 16px var(--sans);color:var(--ink);background:var(--soft);border:1px solid var(--line);border-radius:12px;height:50px;padding:0 16px;width:100%;min-width:0;transition:border-color .2s,background .2s,box-shadow .2s;-webkit-appearance:none;appearance:none}
.fld select,.cv-in select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%2350565C' fill='none' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:40px}
.fld textarea{height:auto;min-height:110px;padding:14px 16px;resize:vertical;line-height:1.5}
.fld input:not([type=radio]):not([type=checkbox]):focus,.fld select:focus,.fld textarea:focus,.cv-in input:focus,.cv-in select:focus{outline:none;border-color:var(--ink);background:#fff;box-shadow:0 0 0 4px rgba(20,23,26,.06)}
.unit{position:relative}
.unit input{padding-right:52px}
.unit i{position:absolute;right:16px;top:50%;transform:translateY(-50%);font:500 13px var(--mono);color:var(--ink-3);font-style:normal;pointer-events:none}
.seg{display:inline-flex;flex-wrap:wrap;gap:4px;padding:4px;border-radius:999px;background:var(--bg2);max-width:100%}
.seg button{border:0;background:transparent;padding:10px 16px;border-radius:999px;font-size:14px;cursor:pointer;transition:background .3s,color .3s;min-height:40px}
.seg button:hover{background:rgba(255,255,255,.7)}
.seg button[aria-pressed="true"]{background:var(--ink);color:#fff}
.seg button .n{font:500 11px var(--mono);opacity:.75;margin-left:6px}
.radios{display:grid;gap:8px}
.radios label{display:grid;grid-template-columns:20px 1fr;gap:12px;align-items:start;padding:14px 16px;border:1px solid var(--line);border-radius:14px;cursor:pointer;font:400 15px/1.4 var(--sans);color:var(--ink);text-transform:none;letter-spacing:0;transition:border-color .2s,background .2s}
.radios label:hover{border-color:rgba(20,23,26,.3)}
.radios label small{display:block;color:var(--ink-3);font-size:13px;margin-top:2px}
.radios input{margin:2px 0 0;width:18px;height:18px;accent-color:var(--accent)}
.radios label:has(input:checked){border-color:var(--ink);background:var(--soft)}
.chk{display:flex;align-items:center;gap:10px;font-size:14px;min-height:44px;cursor:pointer}
.chk input{width:20px;height:20px;accent-color:var(--accent);flex:none}

/* ---------- таблицы ---------- */
table{border-collapse:collapse;width:100%;font-size:14.5px}
th{text-align:left;font:500 11px/1.3 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);padding:14px 16px;border-bottom:1px solid var(--line);white-space:nowrap;background:var(--card)}
td{padding:14px 16px;border-bottom:1px solid var(--line-2);vertical-align:top}
tbody tr:last-child td,tbody tr:last-child th{border-bottom:0}
.tbl-wrap{overflow:auto;background:var(--card);border:1px solid var(--line);border-radius:var(--r);-webkit-overflow-scrolling:touch}
td.num{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:13.5px}
.pill{display:inline-block;font:500 10.5px/1 var(--mono);text-transform:uppercase;letter-spacing:.08em;padding:6px 9px;border-radius:999px;white-space:nowrap;background:var(--bg2);color:var(--ink-2)}
.pill.jet{background:var(--accent-soft);color:var(--accent)}
.pill.turboprop{background:var(--blue-soft);color:var(--blue)}
.spec{width:100%;font-size:15px}
.spec th{padding:12px 16px 12px 0;width:42%;border:0;border-bottom:1px solid var(--line-2);vertical-align:top;white-space:normal;background:none}
.spec td{padding:12px 0;border-bottom:1px solid var(--line-2);font-family:var(--mono);font-size:14px;overflow-wrap:anywhere}
.spec tr:last-child th,.spec tr:last-child td{border-bottom:0}

/* ---------- карта рынка ---------- */
.map-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.map-plot{padding:22px 22px 12px;min-width:0}
.map-ctrl{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center;margin-bottom:10px}
#mapSvg{width:100%;height:auto;display:block;font-family:var(--mono);touch-action:manipulation;-webkit-tap-highlight-color:transparent}
#mapSvg .gl{stroke:var(--line-2);stroke-width:1}
#mapSvg .ax{stroke:rgba(20,23,26,.35);stroke-width:1}
#mapSvg .tk{fill:var(--ink-3);font-size:11.5px}
#mapSvg .at{fill:var(--ink-2);font-size:11px;letter-spacing:.08em}
#mapSvg .ref{stroke:var(--blue);stroke-width:1;stroke-dasharray:4 5;opacity:.45}
#mapSvg .reft{fill:var(--blue);font-size:11px;paint-order:stroke;stroke:var(--card,#fff);stroke-width:4px;stroke-linejoin:round;pointer-events:none}
#mapSvg .dot{fill:var(--ink);fill-opacity:.82;stroke:#fff;stroke-width:1.5;transition:r .2s var(--ease),fill .2s}
#mapSvg .dot.hl{fill:var(--accent)}
#mapSvg .dot:hover,#mapSvg .dot.act{r:8;fill:var(--accent);fill-opacity:1}
#mapSvg .hit{fill:transparent;cursor:pointer}

.map-side{padding:24px;display:grid;gap:18px;align-content:start;background:var(--soft);border-left:1px solid var(--line)}
.map-side h3{font-size:24px;font-weight:500}
.map-side .kv{display:grid;grid-template-columns:1fr auto;gap:8px 12px;font-size:14px}
.map-side .kv span{color:var(--ink-2)}
.map-side .kv b{font:500 14px var(--mono);text-align:right}
.map-side hr{border:0;border-top:1px solid var(--line);margin:0}
.map-side .how{font-size:14px;color:var(--ink-2)}
.tip{position:fixed;z-index:80;pointer-events:none;background:var(--ink);color:#fff;font:500 12px/1.5 var(--mono);padding:10px 12px;border-radius:12px;max-width:260px;opacity:0;transform:translateY(4px);transition:opacity .15s,transform .15s}
.tip b{font-size:13px;display:block;margin-bottom:2px}
.tip.on{opacity:1;transform:none}
@media (max-width:980px){.map-grid{grid-template-columns:minmax(0,1fr)}.map-side{border-left:0;border-top:1px solid var(--line)}}
@media (max-width:560px){.map-plot{padding:14px 10px 8px}#mapSvg .dot.act,#mapSvg .dot:hover{r:10}}

/* ---------- подбор ---------- */
.calc{display:grid;grid-template-columns:400px minmax(0,1fr);background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.calc-in{padding:28px;display:grid;gap:22px;align-content:start;background:var(--soft);border-right:1px solid var(--line)}
.calc-cond{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.calc-out{padding:28px;display:grid;gap:22px;align-content:start;min-width:0}
.need{display:grid;grid-template-columns:auto 1fr;gap:24px;align-items:center;padding-bottom:22px;border-bottom:1px solid var(--line)}
.need>b{font:500 clamp(40px,5vw,64px)/1 var(--sans);letter-spacing:-.03em;color:var(--accent);white-space:nowrap}
.need p{color:var(--ink-2);font-size:15px}
.formula{font:500 13px/1.6 var(--mono);color:var(--blue);background:var(--blue-soft);padding:12px 16px;border-radius:12px}
.cond-note{font-size:14px;color:var(--ink-2);border-left:2px solid var(--blue);padding:2px 0 2px 14px}
.recs{display:grid;gap:8px}
.rec{display:grid;grid-template-columns:minmax(0,1fr) 92px 176px auto;min-width:0;gap:18px;align-items:center;padding:14px 16px;border:1px solid var(--line);border-radius:16px;background:var(--card);transition:border-color .2s,transform .4s var(--ease)}
.rec:hover{border-color:rgba(20,23,26,.35);transform:translateX(3px)}
.rec .m{font:500 15px var(--mono);min-width:0;white-space:nowrap}
.rec .m small{white-space:normal}
.rec .m small{display:block;font:400 13px var(--sans);color:var(--ink-3);margin-top:2px}
.rec .v{font:500 14px var(--mono);text-align:right;white-space:nowrap}
.rec .v span{display:block;color:var(--ink-3);font-size:11.5px;font-weight:400}
.acts{display:flex;gap:6px}
.calc-acts{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
.calcbar{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:45;display:flex;align-items:center;gap:12px;padding:10px 10px 10px 18px;background:var(--ink);color:#fff;border-radius:999px;box-shadow:0 14px 40px rgba(0,0,0,.25)}
.calcbar .lbl{color:rgba(255,255,255,.55)}
.calcbar b{font:500 20px var(--mono);color:var(--accent-2);margin-right:auto}
.calcbar .btn{min-height:40px;background:var(--accent);border-color:var(--accent);color:#fff}
@media (max-width:980px){.calc{grid-template-columns:minmax(0,1fr)}.calc-in{border-right:0;border-bottom:1px solid var(--line)}}
@media (max-width:560px){.calc-in,.calc-out{padding:20px}.rec{grid-template-columns:minmax(0,1fr) auto}.rec .v.f{display:none}.rec .acts{grid-column:1/-1}.rec .acts .ib{flex:1;min-height:42px}.need{grid-template-columns:1fr;gap:10px}}

/* ---------- каталог ---------- */
.cat-tools{display:grid;gap:14px}
.pdf-dl,.recent,.blank-dl{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;padding:16px 20px;background:var(--card);border:1px solid var(--line);border-radius:18px}
.recent{display:grid;grid-template-columns:auto minmax(0,1fr) auto}
.sim{display:flex;flex-wrap:wrap;gap:6px}
.banner{position:relative;margin:0;border-radius:var(--r);overflow:hidden;aspect-ratio:1600/560;max-height:460px;width:100%;background:#0d1520}
.banner img{width:100%;height:100%;object-fit:cover;object-position:50% 45%;display:block;transform:scale(1.04);transition:transform 1.6s var(--ease)}
.banner:hover img{transform:scale(1.0)}
.banner figcaption{position:absolute;left:0;bottom:0;right:0;display:grid;gap:6px;padding:28px 30px;background:linear-gradient(0deg,rgba(10,14,20,.75),rgba(10,14,20,0));color:#fff}
.banner figcaption .lbl{color:rgba(255,255,255,.7)}
.banner figcaption b{font:500 clamp(20px,2.4vw,32px)/1.1 var(--sans);letter-spacing:-.02em}
.filters{display:flex;flex-wrap:wrap;gap:14px 18px;align-items:end;padding:20px;background:var(--card);border:1px solid var(--line);border-radius:var(--r)}
.range-f{display:flex;gap:8px;align-items:center}
.range-f input{width:96px}
.search{flex:1 1 240px}
.fmore{flex:1 1 100%;order:10;border-top:1px solid var(--line);padding-top:6px}
.fmore summary{cursor:pointer;list-style:none;padding:8px 0;font-weight:500;font-size:14px;display:inline-flex;align-items:center;gap:8px}
.fmore summary::-webkit-details-marker{display:none}
.fmore summary::before{content:"+";display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--bg2);font:500 14px var(--mono);color:var(--accent)}
.fmore[open] summary::before{content:"−"}
.fmore summary span{color:var(--accent);font-family:var(--mono)}
.fmore-b{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:14px;align-items:end;padding:10px 0 4px}
.sortf{display:none}
.cat-meta{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;color:var(--ink-3);font-size:14px;padding:0 6px}
.cat-meta .warn{color:var(--bad);font-weight:600}
.cat .tbl-wrap{max-height:760px}
.cat table{min-width:0}
.cat th{white-space:normal;vertical-align:bottom}
.cat th,.cat td{padding:14px 12px}
.cat thead th{position:sticky;top:0;z-index:2}
.cat th button{all:unset;cursor:pointer;display:inline-flex;gap:6px;align-items:center}
.cat th .arr{opacity:.35}
.cat th[aria-sort] .arr{opacity:1;color:var(--accent)}
.cat tbody tr{transition:background .2s}
.cat tbody tr:hover td{background:var(--soft)}
.cat td.model button,.cat td.model a{all:unset;cursor:pointer;font:500 14.5px/1.3 var(--mono);white-space:nowrap;border-bottom:1px solid transparent;transition:color .2s,border-color .2s}
.cat td.model button:hover,.cat td.model a:hover{color:var(--accent);border-color:var(--accent)}
.cat td.conf{max-width:190px}
.cat td.num{max-width:150px;white-space:normal}
.cat td.note{color:var(--ink-2);font-size:13px;min-width:180px;max-width:300px}
.empty{padding:48px!important;text-align:center;color:var(--ink-3)}
.cmpbar{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:45;background:var(--ink);color:#fff;display:flex;gap:14px;align-items:center;padding:8px 8px 8px 22px;border-radius:999px;font-size:14px;box-shadow:0 14px 40px rgba(0,0,0,.28);max-width:calc(100% - 24px);animation:barIn .5s var(--ease)}
@keyframes barIn{from{transform:translate(-50%,120%)}}
.cmpbar b{font-family:var(--mono)}
.cmpbar .btn{min-height:40px;background:var(--accent);border-color:var(--accent);color:#fff}
.cmpbar .x{background:none;border:0;color:rgba(255,255,255,.7);cursor:pointer;font-size:13px;text-decoration:underline;padding:0 8px}
@media (min-width:701px){.cat .acts{flex-direction:column;align-items:stretch}.cat td.act-cell{width:136px;min-width:136px}.cat .acts .ib{width:100%}.cat td.note{max-width:260px}}
@media (min-width:701px) and (max-width:1100px){.cat thead th:nth-child(2),.cat td.kind{display:none}.cat table{min-width:0}}
@media (max-width:760px){.fmore-b{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.fmore-b .fld:first-child{grid-column:1/-1}.recent{grid-template-columns:minmax(0,1fr) auto}.recent .sim{grid-column:1/-1;grid-row:2}}
@media (max-width:700px){
  .sortf{display:grid;flex:1 1 160px}
  .filters{padding:16px}
  .cat .tbl-wrap{max-height:none;overflow:visible;border:0;background:transparent;border-radius:0}
  .cat table{min-width:0;display:block}
  .cat thead{display:none}
  .cat tbody{display:grid;gap:10px}
  .cat tbody tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:16px}
  .cat tbody tr:hover td{background:none}
  .cat td{display:block;border:0;padding:0;max-width:none!important;min-width:0!important}
  .cat td.model{grid-column:1}
  .cat td.model a,.cat td.model button{font-size:17px;padding:4px 0}
  .cat td.kind{grid-column:2;align-self:center}
  .cat td.conf{grid-column:1/-1;color:var(--ink-2);font-size:14px}
  .cat td.num{grid-column:1/-1;display:grid;grid-template-columns:120px minmax(0,1fr);gap:8px;font-size:14px}
  .cat td.num::before{content:attr(data-l);font:500 11px/1.9 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}
  .cat td.note{grid-column:1/-1;font-size:13px}
  .cat td.act-cell{grid-column:1/-1;margin-top:6px}
  .cat td.act-cell .acts{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .cat td.act-cell .ib{min-height:44px;font-size:14px}
  .cat td.empty{grid-column:1/-1}
  .cmpbar{left:12px;right:12px;transform:none;max-width:none;justify-content:space-between;animation:none}
}

/* ---------- диалог: техпаспорт и сравнение ---------- */
dialog{border:0;background:var(--card);color:var(--ink);padding:0;width:min(960px,calc(100% - 24px));max-height:calc(100% - 40px);border-radius:26px;box-shadow:0 40px 120px rgba(0,0,0,.35)}
dialog[open]{animation:dlgIn .5s var(--ease)}
@keyframes dlgIn{from{opacity:0;transform:translateY(24px) scale(.98)}}
dialog::backdrop{background:rgba(16,19,22,.55);backdrop-filter:blur(4px)}
.dlg-head{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 20px 18px 28px;border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);z-index:2}
.dlg-head div{display:grid;gap:4px}
.dlg-head h3{font:500 28px/1.1 var(--mono);letter-spacing:-.02em}
.dlg-close{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:var(--card);font-size:22px;cursor:pointer;flex:none;transition:background .2s,color .2s,transform .4s var(--ease)}
.dlg-close:hover{background:var(--ink);color:#fff;transform:rotate(90deg)}
.pp{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.pp>div{padding:24px 28px;display:grid;gap:14px;align-content:start;min-width:0}
.pp>div+div{border-left:1px solid var(--line);background:var(--soft)}
.pp-photo{margin:0;display:grid;gap:8px}
.pp-photo .plate{height:220px;padding:14px}
.pp-photo figcaption{font-size:12.5px;color:var(--ink-3)}
.pp-foot{border-top:1px solid var(--line);padding:16px 28px;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;align-items:center}
.cmp-wrap{overflow-x:auto}
.cmp{min-width:560px}
.cmp th,.cmp td{padding:12px 20px;border-bottom:1px solid var(--line-2);background:none}
.cmp thead th{font:500 16px var(--mono);text-transform:none;letter-spacing:0;color:var(--ink);border-bottom:1px solid var(--line)}
.cmp tbody th{white-space:nowrap}
.cmp td{font-family:var(--mono);font-size:14px}
.cmp td.best{color:var(--good);font-weight:600}
.cmp td.best::after{content:" ▲";font-size:10px}
.linkbox{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:12px 28px;border-top:1px solid var(--line);background:var(--soft)}
.linkbox input{font:13px var(--mono);height:40px;padding:0 12px;border:1px solid var(--line);border-radius:10px;background:#fff;min-width:0}
.sketch{margin:8px 0 0;display:grid;gap:8px}
.sketch svg{width:100%;height:auto;display:block;font-family:var(--mono);background:var(--soft);border-radius:12px}
.sketch .sk-b{fill:#fff;stroke:var(--ink);stroke-width:1.5}
.sketch .sk-s{fill:var(--ink-3)}
.sketch .sk-l{stroke:var(--ink-3);stroke-width:1;stroke-dasharray:3 3}
.sketch .sk-ax{stroke:var(--ink-3);stroke-width:1;stroke-dasharray:10 3 2 3}
.sketch .sk-d line{stroke:var(--blue);stroke-width:1}
.sketch .sk-t{fill:var(--blue);font-size:12px;font-weight:500}
.sketch figcaption{font-size:12.5px;color:var(--ink-3)}
@media (max-width:760px){.pp{grid-template-columns:minmax(0,1fr)}.pp>div+div{border-left:0;border-top:1px solid var(--line)}.pp>div,.pp-foot{padding:20px}.dlg-head{padding:16px 16px 14px 20px}.dlg-head h3{font-size:22px}dialog{border-radius:22px}.linkbox{grid-template-columns:minmax(0,1fr) auto;padding:12px 20px}.linkbox .lbl{grid-column:1/-1}}

/* ---------- сравнение классов ---------- */
.vs{overflow-x:auto;background:var(--card);border:1px solid var(--line);border-radius:var(--r)}
.vs table{min-width:720px}
.vs th,.vs td{padding:18px 22px;border-bottom:1px solid var(--line-2);vertical-align:top}
.vs thead th{font:500 20px/1.2 var(--sans);letter-spacing:-.01em;text-transform:none;color:var(--ink);border-bottom:1px solid var(--line)}
.vs thead th:first-child{font:500 11px var(--mono);color:var(--ink-3);letter-spacing:.12em;text-transform:uppercase}
.vs tbody th{width:22%;white-space:normal}
.vs td b{font-family:var(--mono);font-weight:500}
.vs td small{display:block;color:var(--ink-3);font-size:13px;margin-top:4px}
.vs-ph .plate{height:200px;padding:12px;background:var(--soft)}
.verdict{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.verdict div{padding:26px 28px;border-radius:var(--r);background:var(--card);border:1px solid var(--line)}
.verdict div:last-child{background:var(--ink);color:#fff;border-color:var(--ink)}
.verdict div:last-child p{color:rgba(255,255,255,.72)}
.verdict h4{font-size:22px;font-weight:500;margin-bottom:10px}
.verdict p{color:var(--ink-2);font-size:15.5px}
@media (max-width:700px){.verdict{grid-template-columns:1fr}}

/* ---------- схемы ---------- */
.how{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:20px;align-items:start}
.scheme{margin:0;background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:grid;min-width:0}
.scheme-h{padding:22px 26px 6px;display:grid;gap:6px}
.scheme-h h3{font-size:24px;font-weight:500}
.scheme-art{padding:18px 22px}
.scheme-art svg{width:100%;height:auto;display:block;font-family:var(--mono)}
.scheme .cs{fill:#fff;stroke:var(--ink);stroke-width:2}
.scheme .cs-in{fill:none;stroke:var(--ink);stroke-width:1.5}
.scheme .axis{stroke:var(--ink-3);stroke-width:1;stroke-dasharray:12 4 2 4}
.scheme .shaft{fill:var(--ink-3)}
.scheme .part{fill:var(--soft);stroke:var(--ink);stroke-width:1.5}
.scheme .blade{fill:none;stroke:var(--ink-2);stroke-width:1.5}
.scheme .hat{fill:url(#hatch);stroke:var(--ink-2);stroke-width:1}
.scheme .cc{fill:var(--accent-soft);stroke:var(--accent);stroke-width:1.5}
.scheme .flame{fill:none;stroke:var(--accent);stroke-width:2;stroke-dasharray:6 4;animation:flame 1s linear infinite}
@keyframes flame{to{stroke-dashoffset:-20}}
.scheme .inj{fill:var(--blue)}
.scheme .flowB{stroke:var(--blue);stroke-width:2.5;fill:none;stroke-dasharray:10 6;animation:flow 1.2s linear infinite}
.scheme .flowA{stroke:var(--accent);stroke-width:2.5;fill:none;stroke-dasharray:10 6;animation:flow .8s linear infinite}
@keyframes flow{to{stroke-dashoffset:-32}}
.scheme .ecu{fill:var(--blue-soft);stroke:var(--blue);stroke-width:1.5}
.scheme .wire{stroke:var(--blue);stroke-width:1.5;stroke-dasharray:3 3}
.scheme .lab{fill:var(--blue);font-size:13px;font-weight:500}
.scheme .lab2{fill:var(--blue);font-size:12px}
.scheme .lab2.a{fill:var(--accent)}
.scheme .co-n circle{fill:var(--ink);stroke:var(--ink);stroke-width:1.5}
.scheme .co-n text{fill:#fff;font-size:12px;font-weight:500;text-anchor:middle}
.scheme .co-n path{stroke:var(--ink-2);stroke-width:1;fill:none}
.scheme .fin{stroke:var(--ink-2);stroke-width:3}
.scheme .bore{fill:var(--soft);stroke:var(--ink-2);stroke-width:1}
.scheme .piston{fill:var(--bg2);stroke:var(--ink);stroke-width:1.5}
.scheme .ring{stroke:var(--ink-2);stroke-width:1}
.scheme .pin{fill:#fff;stroke:var(--ink);stroke-width:1.5}
.scheme .rod{stroke:var(--ink);stroke-width:6;stroke-linecap:round}
.scheme .crank{fill:var(--soft);stroke:var(--ink-2);stroke-width:1.5}
.scheme .port{fill:var(--accent-soft);stroke:var(--accent)}
.scheme .xfer{fill:none;stroke:var(--blue);stroke-width:3}
.scheme .spark{fill:none;stroke:var(--accent);stroke-width:1.5}
.scheme .hub{fill:var(--ink)}
.legend{margin:0;padding:6px 26px 24px 50px;display:grid;gap:8px;font-size:15px;color:var(--ink-2)}
.legend li::marker{font:500 13px var(--mono);color:var(--accent)}
.legend b{color:var(--ink);font-weight:500}
.parts{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:18px;align-items:center;padding:0 26px 26px}
.parts .plate{aspect-ratio:560/188}
.parts .plate img{width:100%;height:100%;object-fit:cover}
.parts p{font-size:14px;color:var(--ink-2);display:grid;gap:6px}
.scroll-hint{display:none;margin:0 0 8px;font:500 11px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}
@media (max-width:1100px){.how{grid-template-columns:minmax(0,1fr)}}
@media (max-width:640px){.scheme-art{overflow-x:auto;-webkit-overflow-scrolling:touch}.scheme-art svg[viewBox^="0 0 820"]{min-width:700px}.scheme-art svg[viewBox^="0 0 420"]{min-width:420px}.scroll-hint{display:block}.parts{grid-template-columns:minmax(0,1fr)}}

/* ---------- документы ---------- */
.docs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.doc{background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:grid;grid-template-rows:auto 1fr;transition:transform .6s var(--ease),box-shadow .6s var(--ease)}
.doc:hover{transform:translateY(-6px);box-shadow:0 30px 60px -24px rgba(20,23,26,.2)}
.doc-art{aspect-ratio:4/3;padding:22px;background:var(--soft);display:flex;align-items:center;justify-content:center}
.doc-art svg{width:100%;height:100%}
.doc-art svg .pg{fill:#fff;stroke:var(--line)}
.doc-art svg .ln{stroke:var(--bg2);stroke-width:2}
.doc-art svg .ln2{stroke:var(--ink-3);stroke-width:2}
.doc-art svg .cv{stroke:var(--accent);stroke-width:2;fill:none}
.doc-art svg .ax{stroke:var(--ink-3);stroke-width:1}
.doc-art svg .bl{fill:var(--blue-soft);stroke:var(--blue)}
.doc-art svg .tx{fill:var(--blue);font:500 9px var(--mono)}
.doc-b{padding:22px;display:grid;gap:8px;align-content:start}
.doc-b h4{font-size:19px;font-weight:500}
.doc-b p{font-size:14.5px;color:var(--ink-2)}
@media (max-width:1000px){.docs{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.docs{grid-template-columns:minmax(0,1fr)}}

/* ---------- тестовые образцы ---------- */
.test{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:20px;align-items:start}
.flow{display:grid;gap:10px;counter-reset:f}
.fs{display:grid;grid-template-columns:64px minmax(0,1fr);align-items:start;background:var(--card);border:1px solid var(--line);border-radius:18px;overflow:hidden;position:relative}
.fs .n{font:500 15px var(--mono);color:var(--accent);padding:22px 0 0 22px}
.fs div{padding:20px 22px 20px 0}
.fs h4{font-size:18px;font-weight:500;margin-bottom:4px}
.fs p{font-size:14.5px;color:var(--ink-2)}
.proto{background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.proto-h{display:flex;justify-content:space-between;gap:16px;padding:20px 22px;border-bottom:1px solid var(--line);background:var(--soft)}
.proto-h b{font:500 17px var(--sans)}
.proto-h div+div{text-align:right}
.proto td{font-size:14px}
.proto td:first-child{font-weight:500}
@media (max-width:900px){.test{grid-template-columns:minmax(0,1fr)}}

/* ---------- ошибки ---------- */
.mis{display:grid;gap:12px}
.mi{display:grid;grid-template-columns:90px minmax(0,1fr) minmax(0,1fr);background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.mi>*{min-width:0}
.mi .n{font:300 44px/1 var(--sans);letter-spacing:-.04em;color:var(--accent);padding:24px 0 0 24px}
.mi .what,.mi .fix{padding:24px 26px}
.mi .fix{background:var(--soft);border-left:1px solid var(--line)}
.mi h4{font-size:20px;font-weight:500;margin-bottom:8px}
.mi p{font-size:15px;color:var(--ink-2)}
.mi .fix .lbl{color:var(--good);margin-bottom:8px;display:block}
@media (max-width:760px){.mi{grid-template-columns:56px minmax(0,1fr)}.mi .n{font-size:28px;padding:20px 0 0 18px}.mi .what{padding:20px 20px 16px 0}.mi .fix{grid-column:1/-1;border-left:0;border-top:1px solid var(--line);padding:18px 20px}}

/* ---------- справочник ---------- */
.ref{display:grid;grid-template-columns:420px minmax(0,1fr);gap:20px;align-items:start}
.conv{background:var(--ink);color:#fff;border-radius:var(--r);overflow:hidden;position:sticky;top:calc(var(--hd) + 16px)}
.conv-h{padding:22px 24px 0}
.conv-h .lbl{color:rgba(255,255,255,.55)}
.conv-b{padding:18px 24px 24px;display:grid;gap:20px}
.conv .fld label{color:rgba(255,255,255,.55)}
.cv-row{display:grid;gap:8px}
.cv-in{display:grid;grid-template-columns:minmax(0,1fr) 110px;gap:6px}
.conv .cv-in input,.conv .cv-in select{background-color:rgba(255,255,255,.08);border-color:rgba(255,255,255,.14);color:#fff}
.conv .cv-in select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23ffffff' fill='none' stroke-width='1.5'/%3E%3C/svg%3E")}
.conv .cv-in select option{color:var(--ink)}
.conv .cv-in input:focus,.conv .cv-in select:focus{background-color:rgba(255,255,255,.14);border-color:rgba(255,255,255,.5);box-shadow:none}
.cv-out{font:500 13.5px/1.6 var(--mono);color:#FFB48A;display:block}
.conv .calc-note{color:rgba(255,255,255,.5)}
.gloss{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.gloss>div{padding:22px 24px;background:var(--card);border:1px solid var(--line);border-radius:18px}
.gloss dt{font:500 15px var(--mono);margin-bottom:6px}
.gloss dd{margin:0;font-size:14.5px;color:var(--ink-2)}
@media (max-width:1000px){.ref{grid-template-columns:minmax(0,1fr)}.conv{position:static}}
@media (max-width:640px){.gloss{grid-template-columns:minmax(0,1fr)}}

/* ---------- статьи ---------- */
.art-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.art-card{position:relative;display:grid;gap:12px;align-content:start;padding:28px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);text-decoration:none;color:inherit;min-height:280px;transition:transform .6s var(--ease),box-shadow .6s var(--ease),background .4s}
.art-card:hover{transform:translateY(-6px);box-shadow:0 30px 60px -24px rgba(20,23,26,.2)}
.art-card h3{font-size:22px;font-weight:500;line-height:1.2;hyphens:auto}
.art-card p{font-size:14.5px;color:var(--ink-2)}
.art-card .more{margin-top:auto;display:inline-flex;align-items:center;gap:10px;font-weight:500;color:var(--ink);font-size:14px;align-self:end}
.art-card .more:after{content:"→";display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;border:1px solid var(--line);transition:background .4s,color .4s,transform .5s var(--ease)}
.art-card:hover .more:after{background:var(--ink);color:#fff;transform:rotate(-45deg)}
@media (max-width:1000px){.art-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.art-grid{grid-template-columns:minmax(0,1fr)}.art-card{min-height:0}}

/* текст статьи и юридические страницы */
.legal{max-width:780px;display:grid;gap:14px}
.legal p,.legal li{font-size:17px;line-height:1.75;color:#2B3035}
.legal h3{font-size:26px;font-weight:500;letter-spacing:-.02em;margin-top:26px}
.legal ul{margin:0;padding-left:22px;display:grid;gap:8px}
.legal a{color:var(--accent)}
.legal .tbl-wrap{margin:10px 0}
.art-tbl table{min-width:520px}
.art-tbl td{font-size:14.5px}
.art-layout{display:grid;grid-template-columns:minmax(0,780px) minmax(0,1fr);gap:60px;align-items:start}
.art-aside{position:sticky;top:calc(var(--hd) + 24px);display:grid;gap:14px}
.art-aside .card{padding:24px;display:grid;gap:12px}
.art-aside h4{font-size:20px;font-weight:500}
.art-aside p{font-size:14.5px;color:var(--ink-2)}
.legal-back{display:flex;gap:10px;flex-wrap:wrap;margin-top:36px}
@media (max-width:1100px){.art-layout{grid-template-columns:minmax(0,1fr)}.art-aside{position:static}}
@media (max-width:560px){.legal p,.legal li{font-size:16px}.legal h3{font-size:22px}}
.read-prog{position:fixed;left:0;top:0;height:2px;background:var(--accent);z-index:70;transform-origin:left;transform:scaleX(0)}

/* ---------- условия ---------- */
.terms{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.term{padding:28px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);display:grid;gap:10px;align-content:start;transition:transform .6s var(--ease)}
.term:hover{transform:translateY(-4px)}
.term h4{font:300 30px/1.1 var(--sans);letter-spacing:-.03em}
.term p{font-size:15px;color:var(--ink-2)}
.term:nth-child(3){background:var(--ink);color:#fff;border-color:var(--ink)}
.term:nth-child(3) p{color:rgba(255,255,255,.7)}
.term:nth-child(3) .lbl{color:rgba(255,255,255,.5)}
@media (max-width:1000px){.terms{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.terms{grid-template-columns:minmax(0,1fr)}}

/* ---------- вопросы ---------- */
.faq{display:grid;gap:10px;max-width:1000px}
.faq details{background:var(--card);border:1px solid var(--line);border-radius:18px;transition:border-color .3s}
.faq details[open]{border-color:rgba(20,23,26,.3)}
.faq summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:56px minmax(0,1fr) 44px;align-items:center;gap:0;padding:6px 16px 6px 0;font-weight:500;font-size:18px;letter-spacing:-.01em}
.faq summary::-webkit-details-marker{display:none}
.faq summary .n{font:500 12px var(--mono);color:var(--accent);padding:18px 0 18px 22px}
.faq summary span:nth-child(2){padding:16px 0}
.faq summary::after{content:"+";display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--bg2);font:400 20px var(--mono);color:var(--ink);transition:transform .4s var(--ease),background .3s,color .3s}
.faq details[open] summary::after{transform:rotate(45deg);background:var(--ink);color:#fff}
.faq .a{padding:0 60px 22px 56px;color:var(--ink-2);font-size:16px}
@media (max-width:560px){.faq summary{grid-template-columns:44px minmax(0,1fr) 44px;font-size:16px}.faq summary .n{padding-left:16px}.faq .a{padding:0 20px 20px 44px}}

/* ---------- заявка ---------- */
div.req{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:20px;align-items:start}
.req-l{display:grid;gap:14px;position:sticky;top:calc(var(--hd) + 16px)}
.contacts{display:grid;background:var(--ink);color:#fff;border-radius:var(--r);overflow:hidden}
.contact{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 12px;padding:18px 20px;border-bottom:1px solid rgba(255,255,255,.1)}
.contact:last-child{border-bottom:0}
.contact .lbl{grid-column:1;color:rgba(255,255,255,.5)}
.contact b{grid-column:1;font:500 19px var(--mono);white-space:nowrap;user-select:all}
.contact button,.contact a.c-go{grid-column:2;grid-row:1/3;border:1px solid rgba(255,255,255,.25);background:transparent;color:#fff;border-radius:999px;min-height:40px;padding:0 16px;font-size:13px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;transition:background .3s,color .3s}
.contact button:hover,.contact a.c-go:hover{background:#fff;color:var(--ink)}
.blank-dl{display:grid;justify-items:start;gap:10px}
.form{display:grid;gap:18px;padding:32px;background:var(--card);border:1px solid var(--line);border-radius:var(--r)}
.form .row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}
.chips{display:flex;flex-wrap:wrap;gap:8px;min-height:50px;align-items:center;border:1px dashed var(--line);border-radius:12px;padding:8px;background:var(--soft)}
.chip{display:inline-flex;align-items:center;gap:6px;background:var(--accent);color:#fff;font:500 13px/1 var(--mono);padding:7px 6px 7px 12px;border-radius:999px;animation:chipIn .4s var(--ease)}
@keyframes chipIn{from{transform:scale(.7);opacity:0}}
.chip button{border:0;background:rgba(255,255,255,.2);color:inherit;cursor:pointer;font-size:14px;line-height:1;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;padding:0}
.chips .ph{color:var(--ink-3);font-size:14px;padding-left:8px}
.survey{border:1px solid var(--line);border-radius:16px;background:var(--soft)}
.survey summary{cursor:pointer;list-style:none;padding:16px 18px;font-weight:500;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.survey summary::-webkit-details-marker{display:none}
.survey summary::before{content:"+";display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--card);font:500 15px var(--mono);color:var(--accent)}
.survey[open] summary::before{content:"−"}
.survey summary small{font-weight:400;color:var(--ink-3);font-size:13px}
.survey-b{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:0 18px 18px}
.survey-b .full{grid-column:1/-1}
.survey-b .fld input,.survey-b .fld select,.survey-b .fld textarea{background-color:#fff}
.survey-acts{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.consent{align-items:flex-start;font-size:14px;line-height:1.45}
.consent input{margin-top:1px}
.consent a{color:var(--accent)}
.err{color:var(--bad);font-size:14px;background:#FBEAE7;padding:12px 16px;border-radius:12px}
.out{display:grid;gap:14px;border-top:1px solid var(--line);padding-top:20px;animation:fadeUp .6s var(--ease)}
@keyframes fadeUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.out pre{white-space:pre-wrap;font:13px/1.6 var(--mono);background:var(--soft);border:1px solid var(--line);border-radius:14px;padding:16px;margin:0;max-height:320px;overflow:auto}
.out .row2{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.ok{font-size:14px;color:var(--good);font-weight:600}
@media (max-width:980px){div.req{grid-template-columns:minmax(0,1fr)}.req-l{position:static}}
@media (max-width:560px){.form{padding:20px}.form .row,.survey-b{grid-template-columns:minmax(0,1fr)}.contact b{font-size:17px}}

/* ---------- страница модели ---------- */
.mdl{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:20px;align-items:start}
.mdl .card{padding:26px 28px}
.mdl-ph{position:sticky;top:calc(var(--hd) + 16px);display:grid;gap:10px}
.mdl-ph .plate{aspect-ratio:4/3;padding:24px;border:1px solid var(--line);border-radius:var(--r)}
.mdl-ph figcaption{font-size:12.5px;color:var(--ink-3);padding:0 6px}
.mdl-acts{display:flex;flex-wrap:wrap;gap:10px}
.mdl-sim{display:grid;gap:12px}
@media (max-width:900px){.mdl{grid-template-columns:minmax(0,1fr)}.mdl-ph{position:static;order:-1}}

/* ---------- призыв и подвал ---------- */
.band{position:relative;overflow:hidden;border-radius:28px;background:var(--ink);color:#fff;padding:clamp(34px,6vw,90px);display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:40px;align-items:end;isolation:isolate}
.band:before{content:"";position:absolute;right:-10%;top:-50%;width:70%;aspect-ratio:1;border-radius:50%;background:radial-gradient(closest-side,rgba(224,98,31,.4),transparent);z-index:-1;animation:glow 9s ease-in-out infinite alternate}
@keyframes glow{to{transform:translate(-12%,18%) scale(1.15)}}
.band h2{font:300 clamp(34px,4.4vw,72px)/1 var(--sans);letter-spacing:-.035em}
.band h2 b{font-weight:600;color:var(--accent-2)}
.band p{color:rgba(255,255,255,.65);margin-top:18px;max-width:460px}
.band ul{list-style:none;margin:0;padding:0}
.band li{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.12);font-size:15px;color:rgba(255,255,255,.6)}
.band li b{color:#fff;font-weight:500;text-align:right}
.band li a{text-decoration:none}
.band .btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.band .btn{border-color:rgba(255,255,255,.3);color:#fff}
.band .btn:hover{background:#fff;color:var(--ink)}
.band .btn-o{border-color:var(--accent);background:var(--accent)}
@media (max-width:900px){.band{grid-template-columns:minmax(0,1fr);border-radius:22px}}
.band-wrap{padding:0 0 clamp(56px,8vw,110px)}

.ft{background:#101316;color:rgba(255,255,255,.62);padding:clamp(56px,7vw,96px) 0 32px;position:relative;overflow:hidden}
.ft-top{display:grid;grid-template-columns:minmax(0,1.2fr) repeat(3,minmax(0,1fr));gap:40px}
.ft .logo{color:#fff}
.ft h4{font:500 11px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.62);margin-bottom:16px}
.ft nav{display:grid;gap:8px}
.ft a{text-decoration:none;color:rgba(255,255,255,.8);transition:color .2s;font-size:15px}
.ft a:hover{color:var(--accent-2)}
.ft .big-tel{font:500 22px var(--mono);color:#fff}
.ft-about{display:grid;gap:18px;align-content:start}
.ft-about p{font-size:14px;max-width:340px}
.ft-word{font:600 clamp(60px,17vw,260px)/.8 var(--sans);letter-spacing:-.05em;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.08);white-space:nowrap;margin:60px 0 0;user-select:none;text-align:center}
.ft-legal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 30px;border-top:1px solid rgba(255,255,255,.1);padding-top:24px;margin-top:24px;font-size:12.5px;line-height:1.6}
.ft-legal p{max-width:760px}
.ft-legal a{font-size:12.5px;color:rgba(255,255,255,.7)}
@media (max-width:1000px){.ft-top{grid-template-columns:repeat(2,minmax(0,1fr))}.ft-about{grid-column:1/-1}}
@media (max-width:560px){.ft-top{grid-template-columns:minmax(0,1fr)}}

.ck{position:fixed;left:16px;right:16px;bottom:16px;z-index:90;max-width:560px;margin-inline:auto;background:var(--card);border:1px solid var(--line);border-radius:20px;box-shadow:0 20px 60px rgba(0,0,0,.18);padding:18px 20px;display:grid;gap:12px;font-size:14px;animation:fadeUp .6s var(--ease)}
.ck p{margin:0;color:var(--ink-2)}
.ck a{color:var(--accent)}
.ck-b{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}
body.has-bar .ck{bottom:84px}
body.has-bar main{padding-bottom:70px}

/* ---------- главная ---------- */
.home #hero{position:relative;height:130vh}
.home .stick{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden}
.home .stick:before{content:"";position:absolute;inset:0;background:radial-gradient(55% 60% at 68% 52%,#fff 0%,rgba(255,255,255,0) 70%)}
.bigword{position:absolute;left:0;right:0;bottom:-3.2vw;text-align:center;font:600 22vw/.8 var(--sans);letter-spacing:-.05em;color:transparent;-webkit-text-stroke:1px rgba(20,23,26,.07);white-space:nowrap;user-select:none;pointer-events:none}
#gl{position:absolute;inset:0;width:100%;height:100%;cursor:grab;opacity:0;touch-action:pan-y;transition:opacity 1.2s}
#gl:active{cursor:grabbing}
.home-poster{position:absolute;right:calc(var(--pad) + 2vw);top:50%;width:min(44vw,640px);transform:translateY(-46%);opacity:.0;transition:opacity .8s;pointer-events:none}
.no3d .home-poster{opacity:1}
#rings{position:absolute;right:calc(var(--pad) - 4vw);top:50%;width:min(50vw,760px);aspect-ratio:1;transform:translateY(-50%);pointer-events:none}
#rings i{position:absolute;border-radius:50%;border:1px solid var(--line)}
#rings i:nth-child(1){inset:4%}
#rings i:nth-child(2){inset:15%;border-style:dashed;animation:spin 80s linear infinite}
#rings i:nth-child(3){inset:0;border-color:rgba(196,80,26,.35);clip-path:polygon(50% 50%,100% 0,100% 40%);animation:spin 16s linear infinite}
#rings b{position:absolute;top:calc(4% - 5px);left:50%;width:10px;height:10px;border-radius:50%;background:var(--accent)}
@keyframes spin{to{transform:rotate(360deg)}}
.step{position:absolute;z-index:5;will-change:opacity,transform}
#s1{left:var(--pad);top:50%;transform:translateY(-54%);max-width:660px}
#s1 h1{font:300 clamp(46px,6.2vw,104px)/.96 var(--sans);letter-spacing:-.045em;margin:26px 0}
#s1 h1 b{font-weight:600}
.ln{display:block;overflow:hidden;padding-bottom:.07em}
.ln>span{display:inline-block;transform:translateY(112%) rotate(4deg);transform-origin:0 0;animation:ln 1.3s var(--ease) forwards}
.ln:nth-child(2)>span{animation-delay:.09s}.ln:nth-child(3)>span{animation-delay:.18s}
@keyframes ln{to{transform:none}}
#s1 .u{position:relative;white-space:nowrap}
#s1 .u:after{content:"";position:absolute;left:0;right:0;bottom:.02em;height:.075em;background:var(--accent);transform:scaleX(0);transform-origin:left;animation:ul 1s 1.1s var(--ease) forwards}
@keyframes ul{to{transform:scaleX(1)}}
#s1 .lead{max-width:470px;opacity:0;animation:fadeUp 1s .7s var(--ease) forwards}
#s1 .ctas{display:flex;gap:12px;margin-top:36px;flex-wrap:wrap;opacity:0;animation:fadeUp 1s .85s var(--ease) forwards}
#s2{left:var(--pad);bottom:6vh;max-width:480px;opacity:0}
#s3{left:var(--pad);top:50%;transform:translateY(-50%);width:min(520px,calc(100vw - 2*var(--pad)));opacity:0}
#s2 h2,#s3 h2{font:300 clamp(32px,3.6vw,58px)/1.02 var(--sans);letter-spacing:-.035em;margin:18px 0}
#s2 h2 b,#s3 h2 b{font-weight:600}
#s2 p{font-size:16px;line-height:1.65;color:var(--ink-2)}
#s2 .flow2{display:flex;flex-wrap:wrap;gap:6px 8px;margin-top:18px;font:500 12px var(--mono);letter-spacing:.06em}
#s2 .flow2 span{padding:7px 12px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.7)}
#s2 .flow2 em{font-style:normal;color:var(--accent);align-self:center}
#s2 small{display:block;margin-top:16px;font-size:12px;color:var(--ink-3)}
#s3 .spec2{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);margin:8px 0 30px}
#s3 .spec2 div{padding:16px 0;border-bottom:1px solid var(--line)}
#s3 .spec2 div:nth-child(odd){padding-right:18px;border-right:1px solid var(--line)}
#s3 .spec2 div:nth-child(even){padding-left:18px}
#s3 .spec2 small{display:block;font:500 11px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin-bottom:6px}
#s3 .spec2 b{font:500 28px/1 var(--sans);letter-spacing:-.02em}
#s3 .spec2 b i{font-style:normal;font-size:14px;color:var(--ink-3);margin-left:4px;font-weight:400}
#s3 .ctas{display:flex;gap:12px;flex-wrap:wrap}
#labels{position:absolute;inset:0;pointer-events:none;z-index:4}
.lbl3{position:absolute;left:0;top:0;opacity:0;will-change:transform,opacity}
.lbl3 i{position:absolute;left:-4px;top:-4px;width:9px;height:9px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 5px rgba(196,80,26,.16)}
.lbl3 span{position:absolute;left:0;white-space:nowrap;font:500 13px var(--sans);padding:8px 12px 8px 10px;background:rgba(255,255,255,.9);backdrop-filter:blur(8px);border:1px solid var(--line);border-radius:999px;display:flex;align-items:center;gap:8px;box-shadow:0 6px 20px rgba(20,23,26,.06)}
.lbl3 span small{font:500 10px var(--mono);color:var(--accent)}
.lbl3 span:before{content:"";position:absolute;left:0;width:1px;background:var(--ink);opacity:.35}
.lbl3.up span{bottom:34px}.lbl3.up span:before{top:100%;height:34px}
.lbl3.dn span{top:34px}.lbl3.dn span:before{bottom:100%;height:34px}
.lbl3.up.far span{bottom:84px}.lbl3.up.far span:before{height:84px}
.lbl3.dn.far span{top:84px}.lbl3.dn.far span:before{height:84px}
#hint{position:absolute;left:50%;bottom:28px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:10px;font:500 11px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);z-index:6;white-space:nowrap}
#hint i{width:22px;height:34px;border:1.5px solid var(--ink-3);border-radius:12px;position:relative}
#hint i:after{content:"";position:absolute;left:50%;top:7px;width:2px;height:7px;margin-left:-1px;border-radius:2px;background:var(--accent);animation:wheel 1.8s var(--ease) infinite}
@keyframes wheel{0%{opacity:0;transform:translateY(-3px)}30%{opacity:1}100%{opacity:0;transform:translateY(10px)}}
#prog{position:absolute;right:calc(var(--pad) / 2);top:50%;height:120px;width:2px;margin-top:-60px;background:var(--line);z-index:6}
#prog i{position:absolute;inset:0;background:var(--accent);transform-origin:top;transform:scaleY(0)}
@media (max-width:820px){
  .home #hero{height:130vh}
  #rings{width:120vw;right:-40vw;top:70%}
  #s1{top:calc(var(--hd) + 18px);transform:none;right:var(--pad)}
  #s1 h1{margin:16px 0;font-size:clamp(40px,11vw,64px)}
  #s1 .lead{font-size:15.5px}
  #s1 .ctas{margin-top:22px}
  #s1 .ctas .btn{min-height:48px;padding:0 20px}
  #s2{bottom:auto;top:calc(var(--hd) + 14px);right:var(--pad)}
  #s2 p{font-size:14px}
  #s2 .flow2,#s2 small{display:none}
  #s3{top:calc(var(--hd) + 14px);transform:none}
  #s3 .spec2 b{font-size:21px}
  #s3 .spec2 div{padding:9px 0}
  #s3 .spec2{margin-bottom:18px}
  #hint,#prog{display:none}
  .lbl3.up span,.lbl3.dn span,.lbl3.far span{top:-15px;bottom:auto;left:26px;font-size:11px;padding:5px 9px}
  .lbl3.up span:before,.lbl3.dn span:before,.lbl3.far span:before{top:50%;bottom:auto;left:-26px;width:26px;height:1px}
  .home-poster{width:86vw;right:7vw;top:auto;bottom:6vh;transform:none}
}
@media (max-width:820px) and (max-height:700px){#s1 .lead{display:none}}

.ticker{overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;background:var(--bg);position:relative;z-index:2}
.ticker div{display:flex;gap:60px;width:max-content;animation:tick 45s linear infinite;font:500 13px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2)}
.ticker span:before{content:"✦";color:var(--accent);margin-right:60px}
@keyframes tick{to{transform:translateX(-50%)}}

.cards3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.tcard{position:relative;background:var(--card);border-radius:var(--r);overflow:hidden;border:1px solid var(--line);display:flex;flex-direction:column;min-height:520px;text-decoration:none;transition:transform .7s var(--ease),box-shadow .7s var(--ease)}
.tcard:hover{transform:translateY(-8px);box-shadow:0 40px 70px -28px rgba(20,23,26,.25)}
.tcard .ph{position:relative;flex:1;display:grid;place-items:center;padding:36px 30px 44px;background:radial-gradient(75% 70% at 50% 45%,#fff 0%,#F6F5F1 55%,var(--bg2) 100%);overflow:hidden;min-height:300px}
.tcard .ph:after{content:"";position:absolute;left:18%;right:18%;bottom:30px;height:22px;border-radius:50%;background:radial-gradient(closest-side,rgba(20,23,26,.22),transparent);filter:blur(3px);transition:transform 1.2s var(--ease),opacity 1.2s}
.tcard .ph img{position:relative;z-index:1;width:100%;height:220px;object-fit:contain;filter:drop-shadow(0 18px 22px rgba(20,23,26,.16));transition:transform 1.2s var(--ease)}
.tcard:hover .ph:after{transform:scaleX(.9);opacity:.7}
.tcard:hover .ph img{transform:translateY(-8px) scale(1.04)}
.tcard .bd{padding:26px 28px 28px;border-top:1px solid var(--line)}
.tcard .n{font:500 12px var(--mono);color:var(--accent);letter-spacing:.1em}
.tcard h3{font-size:28px;font-weight:500;margin:10px 0 8px}
.tcard .rng{font-size:15px;color:var(--ink-2)}
.tcard .row{display:flex;justify-content:space-between;align-items:center;margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}
.tcard .row b{font:400 46px/1 var(--sans);letter-spacing:-.04em}
.tcard .row b small{font-size:14px;color:var(--ink-3);margin-left:8px;letter-spacing:0}
.go{width:48px;height:48px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;transition:background .5s var(--ease),color .5s,transform .6s var(--ease);flex:none}
.tcard:hover .go,.tool:hover .go,.idx:hover .go{background:var(--ink);color:#fff;transform:rotate(-45deg)}
.cards3 .rv:nth-child(2){transition-delay:.1s}.cards3 .rv:nth-child(3){transition-delay:.2s}
@media (max-width:1000px){.cards3{grid-template-columns:minmax(0,1fr)}.tcard{min-height:0}}

.tools{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);grid-template-rows:auto auto;gap:18px}
.tool{position:relative;display:grid;align-content:space-between;gap:28px;padding:32px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);text-decoration:none;overflow:hidden;min-height:300px;transition:transform .7s var(--ease),box-shadow .7s var(--ease)}
.tool:hover{transform:translateY(-6px);box-shadow:0 40px 70px -28px rgba(20,23,26,.25)}
.tool:first-child{grid-row:1/3;background:var(--ink);color:#fff;border-color:var(--ink)}
.tool:first-child p{color:rgba(255,255,255,.65)}
.tool:first-child .go{border-color:rgba(255,255,255,.25)}
.tool:first-child:hover .go{background:#fff;color:var(--ink)}
.tool h3{font:300 clamp(28px,3vw,44px)/1.02 var(--sans);letter-spacing:-.03em}
.tool h3 b{font-weight:inherit}
.tool p{font-size:15.5px;color:var(--ink-2);max-width:420px;margin-top:12px}
.tool .top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.tool svg{width:100%;height:auto;display:block}
.tool .vis{position:relative}
.tool .big{font:300 clamp(64px,8vw,120px)/.9 var(--sans);letter-spacing:-.05em;color:var(--accent-2)}
.tool .big small{font-size:.3em;color:rgba(255,255,255,.6);letter-spacing:0;margin-left:10px}
@media (max-width:900px){.tools{grid-template-columns:minmax(0,1fr)}.tool:first-child{grid-row:auto}}

.steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;position:relative}
.steps:before{content:"";position:absolute;left:0;right:0;top:26px;height:1px;background:var(--line)}
.stp{position:relative;padding:0 22px 0 0}
.stp .dot{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--card);border:1px solid var(--line);font:500 13px var(--mono);color:var(--accent);position:relative;z-index:1;transition:background .5s,color .5s}
.stp:hover .dot{background:var(--ink);color:#fff}
.stp h4{font-size:20px;font-weight:500;margin:22px 0 8px}
.stp p{font-size:14.5px;color:var(--ink-2)}
.steps .rv:nth-child(2){transition-delay:.08s}.steps .rv:nth-child(3){transition-delay:.16s}.steps .rv:nth-child(4){transition-delay:.24s}.steps .rv:nth-child(5){transition-delay:.32s}
@media (max-width:1000px){.steps{grid-template-columns:minmax(0,1fr);gap:22px}.steps:before{left:26px;right:auto;top:0;bottom:0;width:1px;height:auto}.stp{display:grid;grid-template-columns:52px minmax(0,1fr);gap:0 20px;padding:0}.stp .dot{grid-row:1/3}.stp h4{margin:12px 0 4px}}

.nums{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.nums div{padding:34px 24px 30px 0;display:grid;gap:10px}
.nums div+div{padding-left:24px;border-left:1px solid var(--line)}
.nums b{font:300 clamp(30px,3vw,48px)/1.05 var(--sans);letter-spacing:-.035em}
.nums b span{font:inherit;color:inherit}
.nums b i{font-style:normal;font-size:15px;color:var(--ink-3);margin-left:6px;letter-spacing:0;display:inline-block;font-weight:400}
.nums>div>span{font-size:14px;color:var(--ink-2)}
@media (max-width:1000px){.nums{grid-template-columns:repeat(2,minmax(0,1fr))}.nums div{padding:24px 16px 22px 0!important;border-left:0!important;border-bottom:1px solid var(--line)}.nums div:nth-child(even){padding-left:16px!important;border-left:1px solid var(--line)!important}.nums div:last-child{grid-column:1/-1;border-bottom:0}}

.idx-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.idx{display:grid;gap:10px;align-content:space-between;min-height:220px;padding:24px;background:var(--card);border:1px solid var(--line);border-radius:20px;text-decoration:none;transition:transform .6s var(--ease),background .4s,color .4s}
.idx:hover{transform:translateY(-4px)}
.idx .no{font:500 12px var(--mono);color:var(--accent)}
.idx h3{font-size:21px;font-weight:500;line-height:1.15}
.idx p{font-size:14px;color:var(--ink-2)}
.idx .ft2{display:flex;justify-content:space-between;align-items:end;gap:10px}
.idx .go{width:40px;height:40px}
@media (max-width:1100px){.idx-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.idx-grid{grid-template-columns:minmax(0,1fr)}.idx{min-height:0}}

/* магнитные кнопки */
.mag{transition:transform .5s var(--ease),background .35s,color .35s,border-color .35s}
/* без WebGL: статичный первый экран */
.no3d .home #hero{height:auto}
.no3d .home .stick{height:auto;min-height:100svh}
.no3d #s2,.no3d #s3,.no3d #hint,.no3d #prog,.no3d #labels,.no3d #gl{display:none}
.no3d #s1{position:relative;left:auto;top:auto;transform:none;padding:calc(var(--hd) + 8vh) var(--pad) 0}
@media (min-width:821px){.no3d .home .stick{display:flex;align-items:center}.no3d #s1{padding-top:0}}

/* ---------- анимации: карта рынка ---------- */
#mapSvg g[data-id]{transition:opacity .35s,transform .45s var(--ease)}
#mapSvg.fall g[data-id]{opacity:0;transform:translateY(var(--dy));transition:opacity .3s,transform .38s cubic-bezier(.6,0,.8,.4)}
#mapSvg.fall .ref,#mapSvg.fall .reft{opacity:0;transition:opacity .3s}
#mapSvg.rise g[data-id]{animation:dotRise .95s var(--ease) both;animation-delay:var(--d)}
@keyframes dotRise{0%{opacity:0;transform:translateY(var(--dy))}60%{opacity:1}100%{opacity:1;transform:none}}
#mapSvg.rise .ref{animation:refIn 1.2s .5s var(--ease) both}
#mapSvg.rise .reft{animation:refIn .8s 1s both}
@keyframes refIn{from{opacity:0}}
#mapSvg.dim g[data-id]:not(.hov){opacity:.22}
#mapSvg g.hov .dot{r:9;fill:var(--accent)}

/* ---------- подбор: силуэт аппарата ---------- */
.need{grid-template-columns:auto minmax(0,1fr) 170px}
.craft{display:grid;justify-items:center;gap:6px;align-self:stretch;align-content:center;min-height:120px}
.craft svg{width:150px;height:auto;overflow:visible;transform:scale(var(--s,.6));transition:transform .7s var(--ease)}
.craft .air{fill:#fff;stroke:var(--ink);stroke-width:1.6;stroke-linejoin:round}
.craft .acc{fill:var(--accent)}
.craft .jet-part,.craft .pis-part{transition:opacity .4s}
.craft[data-k=jet] .pis-part,.craft[data-k=piston] .jet-part{opacity:0}
.craft .prop{transform-box:fill-box;transform-origin:center;animation:prop .25s linear infinite}
@keyframes prop{to{transform:rotate(360deg)}}
.craft .plume{transform-box:fill-box;transform-origin:top center;animation:plume .9s ease-in-out infinite alternate}
@keyframes plume{from{transform:scaleY(.8);opacity:.7}to{transform:scaleY(1.15);opacity:1}}
.need .craft b{font:500 12px var(--mono);color:var(--ink-3);letter-spacing:.06em;white-space:nowrap}
@media (max-width:760px){.need{grid-template-columns:minmax(0,1fr) 110px}.need p{grid-column:1/-1;grid-row:2}.craft svg{width:100px}.craft{min-height:90px}}

/* ---------- каталог: волна строк и «полёт» в заявку ---------- */
.cat tbody.wave tr{animation:rowIn .55s var(--ease) both;animation-delay:calc(var(--i,0) * 28ms)}
@keyframes rowIn{from{opacity:0;transform:translateY(12px)}}
.fly{position:fixed;left:0;top:0;z-index:95;pointer-events:none;background:var(--accent);color:#fff;font:500 13px/1 var(--mono);padding:9px 14px;border-radius:999px;box-shadow:0 10px 30px rgba(196,80,26,.35);white-space:nowrap}

/* ---------- страница модели ---------- */
.mdl-ph .plate{position:relative;perspective:900px}
.mdl-ph .plate img{transition:transform .8s var(--ease);will-change:transform}
.mdl-ph .plate:after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(40% 50% at var(--gx,50%) var(--gy,30%),rgba(255,255,255,.35),transparent 70%);opacity:0;transition:opacity .5s}
.mdl-ph .plate:hover:after{opacity:1}
.mdl-sk{padding:24px 28px}
.mdl-sk .sketch{margin:0;max-width:640px}
.mdl-sk.pre svg path,.mdl-sk.pre svg line,.mdl-sk.pre svg rect,.mdl-sk.draw svg path,.mdl-sk.draw svg line,.mdl-sk.draw svg rect{stroke-dasharray:1;stroke-dashoffset:1}
.mdl-sk.pre .sk-t,.mdl-sk.pre .sk-b{fill-opacity:0}
.mdl-sk.draw svg path,.mdl-sk.draw svg line,.mdl-sk.draw svg rect{animation:skDraw 1.6s var(--ease) forwards}
.mdl-sk.draw .sk-d line{animation-delay:.7s}
.mdl-sk.draw .sk-b{fill-opacity:0;animation:skDraw 1.6s var(--ease) forwards,skFill .8s 1.1s forwards}
.mdl-sk.draw .sk-t{fill-opacity:0;animation:skFill .6s 1.5s forwards}
@keyframes skDraw{to{stroke-dashoffset:0}}
@keyframes skFill{to{fill-opacity:1}}
.mdl-sk.draw .sk-l,.mdl-sk.draw .sk-ax{stroke-dasharray:none;animation:refIn 1s 1.2s both}

/* ---------- «Как устроены»: 3D по узлам ---------- */
.h3d{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:40px;align-items:start}
.h3d-stage{position:sticky;top:calc(var(--hd) + 16px);height:min(calc(100vh - var(--hd) - 32px),720px);border-radius:var(--r);background:radial-gradient(70% 70% at 50% 45%,#fff,var(--bg2));border:1px solid var(--line);overflow:hidden}
.h3d-stage canvas{position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity 1s}
.h3d-stage.ready canvas{opacity:1}
.h3d-cap{position:absolute;left:20px;right:20px;bottom:16px;font-size:12px;color:var(--ink-3);margin:0}
.h3d-lbl{position:absolute;left:0;top:0;pointer-events:none;font:500 13px var(--sans);white-space:nowrap;opacity:0;transition:opacity .4s}
.h3d-lbl.on{opacity:1}
.h3d-lbl:before{content:"";position:absolute;left:-5px;top:-5px;width:10px;height:10px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 6px rgba(196,80,26,.18)}
.h3d-lbl{padding:8px 12px 8px 16px;margin:-40px 0 0 14px;background:rgba(255,255,255,.92);border:1px solid var(--line);border-radius:999px;box-shadow:0 6px 20px rgba(20,23,26,.08)}
.h3d-lbl:before{left:-19px;top:34px}
.h3d-steps{display:grid;gap:0;padding:12vh 0 20vh}
.h3s{min-height:62vh;display:grid;align-content:center;gap:10px;padding:0 4px;opacity:.5;transition:opacity .5s var(--ease),transform .6s var(--ease);transform:translateX(12px)}
.h3s.on{opacity:1;transform:none}
.h3s h3{font:300 clamp(28px,2.8vw,42px)/1.05 var(--sans);letter-spacing:-.03em}
.h3s p{font-size:16.5px;color:var(--ink-2);max-width:44ch}
.h3s .lbl{color:var(--accent)}
.no3d .h3d{display:none}
@media (max-width:900px){
  .h3d{grid-template-columns:minmax(0,1fr);gap:0}
  .h3d-stage{top:var(--hd);height:44vh;z-index:2;border-radius:18px}
  .h3d-cap{display:none}
  .h3d-steps{padding:6vh 0 10vh}
  .h3s{min-height:44vh;padding:18px 4px}
  .h3s h3{font-size:26px}
}
/* ---------- исправления после проверки ---------- */
.h3s{transform:translateY(10px)}
.h3s.on{transform:none}
.recs{container-type:inline-size}
@container (max-width:600px){.rec{grid-template-columns:minmax(0,1fr) auto;gap:10px 16px}.rec .v.f{display:none}.rec .acts{grid-column:1/-1}.rec .acts .ib{flex:1;min-height:40px}}
@media (max-width:1100px){.calc{grid-template-columns:minmax(0,1fr)}.calc-in{border-right:0;border-bottom:1px solid var(--line)}}
.need>b{font-size:clamp(34px,5vw,64px)}
.survey-b>*,.fmore-b>*,.form .row>*{min-width:0}
@media (max-width:420px){
  .phero h1{font-size:min(40px,10.5vw);hyphens:auto;overflow-wrap:break-word}
  .btn{white-space:normal;text-align:center;line-height:1.25;padding:10px 20px}
  .contact b{font-size:15px;white-space:normal;overflow-wrap:anywhere}
  .contact button,.contact a.c-go{padding:0 12px}
}
.craft{overflow:clip}
@media (max-width:420px){.tcard h3{font-size:24px}.tool h3{font-size:26px}}

/* ---------- документация ---------- */
.doc-art svg .pg{transition:transform .6s var(--ease)}
.doc:hover .doc-art svg .pg:first-child{transform:translate(8px,-4px) rotate(4deg);transform-origin:50% 100%}
.doc-art svg .cv{stroke-dasharray:220;stroke-dashoffset:0;transition:stroke-dashoffset 0s}
.doc:hover .doc-art svg .cv{animation:cvDraw 1.2s var(--ease)}
@keyframes cvDraw{from{stroke-dashoffset:220}}
.doc:hover .doc-art svg .bl{fill:var(--accent-soft);stroke:var(--accent);transition:fill .4s,stroke .4s}
.dstages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;position:relative;counter-reset:d}
.dstages:before{content:"";position:absolute;left:8%;right:8%;top:47px;height:1px;background:repeating-linear-gradient(90deg,var(--accent) 0 6px,transparent 6px 12px);opacity:.5}
.dst{position:relative;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:28px;display:grid;gap:10px;align-content:start;transition:transform .6s var(--ease),box-shadow .6s var(--ease)}
.dst:hover{transform:translateY(-5px);box-shadow:0 30px 60px -26px rgba(20,23,26,.2)}
.dst-n{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:#fff;font:500 13px var(--mono);margin-bottom:6px}
.dst:nth-child(2) .dst-n{background:var(--accent)}
.dst h3{font-size:24px;font-weight:500}
.dst ul{margin:4px 0 0;padding:0;list-style:none;display:grid;gap:10px}
.dst li{position:relative;padding-left:22px;font-size:15px;color:var(--ink-2);line-height:1.45}
.dst li:before{content:"";position:absolute;left:0;top:.5em;width:10px;height:10px;border-radius:3px;border:1.5px solid var(--accent)}
.dgrid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:16px;margin-top:16px;align-items:start}
.dcheck{padding:28px;display:grid;gap:18px}
.dcheck-h{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.dcheck-h h3{font:300 clamp(26px,2.4vw,36px)/1.05 var(--sans);letter-spacing:-.03em;margin-top:8px}
.dprog{text-align:right;font-family:var(--mono);color:var(--ink-3);font-size:13px;white-space:nowrap}
.dprog b{display:block;font:300 44px/1 var(--sans);color:var(--ink);letter-spacing:-.04em}
.dbar{height:4px;border-radius:4px;background:var(--bg2);overflow:hidden}
.dbar i{display:block;height:100%;width:0;background:var(--accent);transition:width .6s var(--ease)}
.dcheck.done .dbar i{background:var(--good)}
.dck{display:grid;gap:6px}
.dck-i{display:grid;grid-template-columns:26px minmax(0,1fr);gap:14px;align-items:start;padding:14px 16px;border-radius:14px;border:1px solid var(--line-2);cursor:pointer;transition:background .3s,border-color .3s}
.dck-i:hover{border-color:var(--line);background:var(--soft)}
.dck-i input{position:absolute;opacity:0;pointer-events:none}
.dck-i .box{width:24px;height:24px;border-radius:8px;border:1.5px solid rgba(20,23,26,.3);display:grid;place-items:center;transition:background .3s,border-color .3s;margin-top:1px}
.dck-i .box:after{content:"";width:10px;height:5px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg) scale(0);margin-top:-3px;transition:transform .35s var(--ease)}
.dck-i input:checked+.box{background:var(--accent);border-color:var(--accent)}
.dck-i input:checked+.box:after{transform:rotate(-45deg) scale(1)}
.dck-i input:focus-visible+.box{outline:2px solid var(--accent);outline-offset:3px}
.dck-i b{display:block;font-weight:500;font-size:16px}
.dck-i small{display:block;color:var(--ink-3);font-size:14px;margin-top:2px}
.dck-i:has(input:checked) b{text-decoration:line-through;text-decoration-color:rgba(20,23,26,.35)}
.dcheck .calc-note a{color:var(--accent)}
.dside{display:grid;gap:12px}
.dlink{position:relative;display:grid;gap:8px;padding:24px 70px 24px 24px;background:var(--card);border:1px solid var(--line);border-radius:20px;text-decoration:none;transition:transform .6s var(--ease)}
.dlink:hover{transform:translateX(4px)}
.dlink h4{font-size:20px;font-weight:500}
.dlink p{font-size:14.5px;color:var(--ink-2)}
.dlink .go{position:absolute;right:20px;top:22px;width:40px;height:40px}
.dlink:hover .go{background:var(--ink);color:#fff;transform:rotate(-45deg)}
.dlink.dark{background:var(--ink);color:#fff;border-color:var(--ink)}
.dlink.dark p{color:rgba(255,255,255,.65)}
.dlink.dark .lbl{color:rgba(255,255,255,.5)}
.dlink.dark .go{border-color:rgba(255,255,255,.25)}
.dlink.dark:hover .go{background:#fff;color:var(--ink)}
@media (max-width:1000px){.dstages,.dgrid{grid-template-columns:minmax(0,1fr)}.dstages:before{left:47px;right:auto;top:8%;bottom:8%;width:1px;height:auto;background:repeating-linear-gradient(180deg,var(--accent) 0 6px,transparent 6px 12px)}}
@media (max-width:560px){.dcheck,.dst{padding:20px}.dprog b{font-size:34px}}

/* ---------- статьи ---------- */
.art-body{max-width:780px}
.art-body h2{font:400 clamp(26px,2.4vw,34px)/1.15 var(--sans);letter-spacing:-.025em;margin-top:40px;scroll-margin-top:calc(var(--hd) + 20px)}
.art-body h2:first-of-type{margin-top:28px}
.tldr{background:var(--ink);color:#fff;border-radius:var(--r);padding:26px 28px;display:grid;gap:12px}
.tldr .lbl{color:var(--accent-2)}
.tldr ul{margin:0;padding:0;list-style:none;display:grid;gap:10px}
.tldr li{position:relative;padding-left:26px;font-size:16px;line-height:1.55;color:rgba(255,255,255,.88)}
.tldr li:before{content:"";position:absolute;left:0;top:.55em;width:12px;height:2px;background:var(--accent-2)}
.formula-box{display:grid;gap:6px;padding:20px 24px;border-radius:16px;background:var(--blue-soft);border:1px solid rgba(42,106,168,.18)}
.formula-box b{font:500 clamp(18px,2vw,24px)/1.3 var(--mono);color:var(--blue)}
.formula-box span{font-size:14px;color:#3E5E80}
.callout{padding:20px 24px;border-radius:16px;background:var(--accent-soft);border-left:3px solid var(--accent)}
.callout b{display:block;font-weight:600;margin-bottom:6px}
.callout p{font-size:15.5px!important;line-height:1.6!important;margin:0}
.steps-list{margin:0;padding:0;list-style:none;counter-reset:st;display:grid;gap:12px}
.steps-list[start="4"]{counter-reset:st 3}
.steps-list li{counter-increment:st;position:relative;padding:16px 18px 16px 62px;background:var(--card);border:1px solid var(--line);border-radius:16px}
.steps-list li:before{content:counter(st,decimal-leading-zero);position:absolute;left:18px;top:16px;font:500 13px var(--mono);color:var(--accent)}
.mis-list{margin:0;padding:0;list-style:none;display:grid;gap:10px}
.mis-list li{position:relative;padding-left:22px}
.mis-list li:before{content:"";position:absolute;left:0;top:.65em;width:8px;height:8px;border-radius:50%;background:var(--accent)}
.check-list{margin:0;padding:0;list-style:none;display:grid;gap:8px}
.check-list li{position:relative;padding:12px 16px 12px 48px;background:var(--card);border:1px solid var(--line);border-radius:14px}
.check-list li:before{content:"";position:absolute;left:16px;top:15px;width:18px;height:18px;border-radius:6px;background:var(--good)}
.check-list li:after{content:"";position:absolute;left:21px;top:19px;width:8px;height:4px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg)}
.note-s{font-size:14px!important;color:var(--ink-3)!important}
.sample-req pre{margin:0;white-space:pre-wrap;font:14px/1.7 var(--mono);background:var(--card);border:1px solid var(--line);border-radius:16px;padding:20px 22px;color:var(--ink)}
.mcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;margin:6px 0}
.mcard{position:relative;display:grid;gap:8px;padding:18px 18px 16px;background:var(--card);border:1px solid var(--line);border-radius:16px;text-decoration:none;transition:transform .5s var(--ease),border-color .3s}
.mcard:hover{transform:translateY(-4px);border-color:rgba(20,23,26,.35)}
.mcard .pill{justify-self:start}
.mcard b{font:500 20px var(--mono);letter-spacing:-.02em}
.mc-v{display:flex;gap:14px;font:500 13px var(--mono);color:var(--ink-2)}
.mc-v i{font-style:normal}
.mcard .go{position:absolute;right:14px;top:14px;width:34px;height:34px;font-size:14px}
.mcard:hover .go{background:var(--ink);color:#fff;transform:rotate(-45deg)}
.bars-cmp{display:grid;gap:10px;padding:22px 24px;background:var(--card);border:1px solid var(--line);border-radius:16px}
.bars-cmp div{display:grid;grid-template-columns:70px 1fr;gap:4px 12px;align-items:center}
.bars-cmp span{font:500 12px var(--mono);color:var(--ink-3);grid-row:span 2}
.bars-cmp i{display:block;height:10px;border-radius:6px;width:var(--w);transition:width 1.2s var(--ease)}
.bars-cmp i.j{background:var(--accent)}
.bars-cmp i.p{background:var(--ink)}
.js .bars-cmp.rv:not(.in) i{width:0}
.bars-cmp p{font-size:13px!important;color:var(--ink-3)!important;margin-top:6px}
.bars-cmp b.j{color:var(--accent)}.bars-cmp b.p{color:var(--ink)}
.faq-art{margin-top:6px}
.faq-art summary{font-size:17px}
.toc{padding:22px 24px;display:grid;gap:2px}
.toc .lbl{margin-bottom:8px}
.toc a{display:block;padding:7px 0 7px 14px;border-left:2px solid var(--line);font-size:14px;line-height:1.35;color:var(--ink-2);text-decoration:none;transition:color .2s,border-color .3s}
.toc a:hover{color:var(--ink)}
.toc a.on{color:var(--ink);border-left-color:var(--accent)}
.art-more{margin-top:clamp(60px,8vw,110px)}
@media (max-width:1100px){.toc{display:none}}
@media (max-width:560px){.tldr{padding:20px}.steps-list li{padding:14px 14px 14px 52px}.steps-list li:before{left:14px}}

/* ---------- страницы по типам двигателей ---------- */
.tfacts{grid-template-columns:repeat(4,minmax(0,1fr))}
.tfacts div:first-child{padding-left:0}
.twhy{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:24px 48px;align-items:start;margin:clamp(40px,5vw,64px) 0}
.twhy .lead{color:var(--ink)}
.tguide .dlink{padding:18px 64px 18px 20px}
.tguide .dlink h4{font-size:17px}
.tguide .dlink .go{top:50%;margin-top:-20px}
.cls-chips{margin:0 0 8px}
.st-h2{font:300 clamp(26px,2.6vw,38px)/1.1 var(--sans);letter-spacing:-.03em;margin:48px 0 16px;display:flex;flex-wrap:wrap;gap:6px 14px;align-items:baseline;scroll-margin-top:calc(var(--hd) + 20px)}
.st-h2 .n{font:500 13px var(--mono);color:var(--ink-3);letter-spacing:.04em}
.st-tbl table{min-width:760px}
.st-tbl td.model a{font:500 14.5px var(--mono);text-decoration:none;white-space:nowrap;border-bottom:1px solid transparent}
.st-tbl td.model a:hover{color:var(--accent);border-color:var(--accent)}
.st-tbl td.note{color:var(--ink-2);font-size:13px;min-width:220px}
.st-tbl td.act-cell{width:128px;min-width:128px}
.st-tbl .acts{flex-direction:column;align-items:stretch}
.st-tbl .acts .ib{width:100%}
.st-other{margin:48px 0 16px;display:grid;gap:10px}
@media (max-width:1000px){.tfacts{grid-template-columns:repeat(2,minmax(0,1fr))}.twhy{grid-template-columns:minmax(0,1fr)}}
@media (max-width:700px){
  .st-tbl{overflow:visible;border:0;background:transparent;border-radius:0}
  .st-tbl table{min-width:0;display:block}
  .st-tbl thead{display:none}
  .st-tbl tbody{display:grid;gap:8px}
  .st-tbl tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px 16px}
  .st-tbl td{display:block;border:0;padding:0;min-width:0!important}
  .st-tbl td.model{grid-column:1}
  .st-tbl td.num:nth-child(3){grid-column:2;grid-row:1;text-align:right;font-weight:500}
  .st-tbl td:nth-child(2){grid-column:1/-1;color:var(--ink-2);font-size:14px}
  .st-tbl td.num:nth-child(4){grid-column:1/-1;font-size:13px;color:var(--ink-2)}
  .st-tbl td.num:nth-child(4):before{content:"Масса: ";font-family:var(--sans)}
  .st-tbl td.note{grid-column:1/-1}
  .st-tbl td.act-cell{grid-column:1/-1;width:auto;margin-top:8px}
  .st-tbl td.act-cell .acts{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .st-tbl td.act-cell .ib{min-height:44px;font-size:14px}
}

/* ---------- телефон в шапке не наезжает на меню ---------- */
@media (min-width:1241px) and (max-width:1400px){.hd .tel{display:none}}

/* ---------- закреплённая панель связи на телефоне ---------- */
.mcta{display:none}
@media (max-width:760px){
  .mcta{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:44;display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;padding:6px;border-radius:999px;background:rgba(20,23,26,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 14px 40px -10px rgba(0,0,0,.45);transform:translateY(calc(100% + 30px));transition:transform .5s var(--ease)}
  .mcta.on{transform:none}
  .mcta a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 18px;border-radius:999px;text-decoration:none;font:500 15px var(--sans);color:#fff}
  .mcta-tel{background:rgba(255,255,255,.1)}
  .mcta-tel svg{width:18px;height:18px;fill:currentColor}
  .mcta-req{background:var(--accent)}
  .mcta-req .ar{transition:transform .3s var(--ease)}
  .mcta-req:active .ar{transform:translateX(4px)}
  body{padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))}
  body.no-mcta{padding-bottom:0}
  body.no-mcta .mcta,body:has(#ck:not([hidden])) .mcta,body:has(#calcBar:not([hidden])) .mcta,body:has(#cmpbar:not([hidden])) .mcta,body.menu-open .mcta,body:has(dialog[open]) .mcta{transform:translateY(calc(100% + 30px));pointer-events:none}
}
@media (prefers-reduced-motion:reduce){.mcta{transition:none}}

/* ---------- ошибки полей формы ---------- */
.fld.bad input,.fld.bad select,.fld.bad textarea{border-color:var(--bad)!important;background:#FBF1EF!important;box-shadow:0 0 0 4px rgba(168,50,42,.08)!important}
.fld.bad label{color:var(--bad)}
.ferr{display:flex;gap:6px;align-items:flex-start;font-size:13px;line-height:1.4;color:var(--bad);animation:ferrIn .35s var(--ease)}
.ferr:before{content:"!";flex:none;width:16px;height:16px;margin-top:1px;border-radius:50%;background:var(--bad);color:#fff;font:600 11px/16px var(--mono);text-align:center}
.consent.bad span{color:var(--bad)}
.consent.bad input{outline:2px solid var(--bad);outline-offset:2px}
.fld.ok input{border-color:rgba(47,106,58,.45)}
@keyframes ferrIn{from{opacity:0;transform:translateY(-4px)}}
.fld.shake{animation:shake .4s}
@keyframes shake{20%,60%{transform:translateX(-5px)}40%,80%{transform:translateX(5px)}}

/* ---------- контакты и «спасибо» ---------- */
.ct-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.ct-card{display:grid;align-content:start;gap:10px;padding:26px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.ct-card:hover{transform:translateY(-4px);box-shadow:0 24px 50px -30px rgba(20,23,26,.35)}
.ct-card b{font:400 clamp(20px,1.8vw,26px)/1.2 var(--sans);letter-spacing:-.01em;word-break:break-word}
.ct-card b a{text-decoration:none}
.ct-card p{color:var(--ink-2);font-size:14px}
.ct-card .ib{justify-self:start;margin-top:6px}
.ct-row{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:16px;margin-top:16px}
.ct-block{padding:clamp(24px,3vw,40px);background:var(--card);border:1px solid var(--line);border-radius:var(--r);display:grid;align-content:start;gap:16px}
.ct-block h3{margin:0;font:500 24px/1.2 var(--sans)}
.ct-block p{color:var(--ink-2)}
.ct-block p a{color:var(--accent)}
.ct-legal{background:var(--soft)}
.ct-steps{list-style:none;margin:0;padding:0;display:grid;gap:14px;counter-reset:s}
.ct-steps li{counter-increment:s;display:grid;grid-template-columns:44px minmax(0,1fr);gap:2px 16px}
.ct-steps li:before{content:counter(s,decimal-leading-zero);grid-row:span 2;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;font:500 13px var(--mono);color:var(--accent)}
.ct-steps b{font-weight:500}
.ct-steps span{color:var(--ink-2);font-size:15px}
.ct-block .btn{justify-self:start}
@media (max-width:1100px){.ct-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){.ct-row{grid-template-columns:minmax(0,1fr)}}
@media (max-width:480px){.ct-grid{grid-template-columns:minmax(0,1fr)}}

/* ---------- страница 404 ---------- */
.nf-code{display:flex;align-items:center;gap:clamp(4px,1vw,14px);margin:18px 0 6px;font:200 clamp(110px,19vw,240px)/.9 var(--sans);letter-spacing:-.04em;color:var(--ink)}
.nf-code span{font-weight:300}
.nf-turb{width:clamp(96px,16.5vw,210px);height:clamp(96px,16.5vw,210px);flex:none}
.nf-turb .c1{fill:#fff;stroke:var(--ink);stroke-width:5}
.nf-turb .c2{fill:none;stroke:var(--line);stroke-width:1.5}
.nf-turb .rot{fill:var(--ink);transform-origin:100px 100px;animation:nfSpin 1.1s linear infinite,nfSpool 2.4s var(--ease) both}
.nf-turb .rot path:nth-child(3n){fill:#50565C}
.nf-turb .hub{fill:var(--accent-2)}
.nf-turb .hub2{fill:#fff}
@keyframes nfSpin{to{transform:rotate(360deg)}}
@keyframes nfSpool{from{opacity:0;filter:blur(2px)}}
@media (prefers-reduced-motion:reduce){.nf-turb .rot{animation:none}}
.nf-search{max-width:640px;margin-top:28px;display:grid;gap:10px}
.nf-inp input{font:400 18px var(--sans);width:100%;height:58px;padding:0 20px 0 52px;border-radius:999px;border:1px solid var(--line);background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none' stroke='%2350565C' stroke-width='1.8'%3E%3Ccircle cx='8.5' cy='8.5' r='6.5'/%3E%3Cpath d='m13.5 13.5 5 5'/%3E%3C/svg%3E") no-repeat 20px center;transition:box-shadow .3s,border-color .3s;-webkit-appearance:none;appearance:none}
.nf-inp input:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 5px rgba(20,23,26,.06)}
.nf-res{display:grid;gap:6px}
.nf-res a{display:flex;align-items:center;gap:12px;padding:12px 18px;border-radius:14px;background:#fff;border:1px solid var(--line);text-decoration:none;animation:fadeUp .35s var(--ease) both}
.nf-res a:hover,.nf-res a:focus-visible{border-color:var(--ink)}
.nf-res a small{margin-left:auto;font:500 11px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);white-space:nowrap}
.nf-res .none{color:var(--ink-2);font-size:14px;padding:4px 4px}
.nf-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.nf-l{position:relative;display:grid;gap:8px;padding:24px 26px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);text-decoration:none;transition:transform .5s var(--ease),background .4s,color .4s}
.nf-l b{font:400 22px/1.2 var(--sans)}
.nf-l .go{position:absolute;right:24px;bottom:22px;transition:transform .4s var(--ease)}
.nf-l:hover{background:var(--ink);color:#fff;transform:translateY(-4px)}
.nf-l:hover .lbl{color:rgba(255,255,255,.55)}
.nf-l:hover .go{transform:translateX(6px)}
.nf-rep{margin-top:28px;color:var(--ink-2)}
.nf-rep a{color:var(--accent)}
@media (max-width:760px){.nf-links{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:420px){.nf-links{grid-template-columns:minmax(0,1fr)}}

/* ---------- шапки страниц с фотографией ---------- */
.phero.has-img .phero-img{position:absolute;top:0;right:0;bottom:0;width:min(56vw,980px);z-index:0;pointer-events:none;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.55) 26%,#000 55%),linear-gradient(0deg,transparent 0,#000 22%);mask-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.55) 26%,#000 55%);
  -webkit-mask-composite:source-in;mask-composite:intersect}
.phero.has-img .phero-img img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.85) contrast(.98);animation:pheroImg 1.6s var(--ease) both}
@keyframes pheroImg{from{opacity:0;transform:scale(1.06)}}
.phero.has-img .wrap>*:not(.phero-img){position:relative;z-index:1}
.phero.has-img h1,.phero.has-img .lead{max-width:min(620px,52vw)}
@media (max-width:900px){
  .phero.has-img .phero-img{position:relative;width:auto;height:auto;margin-top:26px;border-radius:var(--r);overflow:hidden;aspect-ratio:16/8;-webkit-mask-image:none;mask-image:none}
  .phero.has-img h1,.phero.has-img .lead{max-width:none}
}
@media (prefers-reduced-motion:reduce){.phero.has-img .phero-img img{animation:none}}
/* шапка с настоящим фото изделия (вырезано, без фона) */
.phero.has-img .phero-img.cut{top:50%;bottom:auto;right:max(var(--pad),calc((100vw - 1280px)/2));width:min(34vw,470px);transform:translateY(-50%);-webkit-mask-image:none;mask-image:none}
.phero.has-img .phero-img.cut:before{content:"";position:absolute;inset:8% 4% 2%;border-radius:50%;background:radial-gradient(closest-side,rgba(224,98,31,.16),rgba(224,98,31,0));z-index:-1}
.phero.has-img .phero-img.cut img{height:auto;object-fit:contain;filter:drop-shadow(0 34px 40px rgba(20,23,26,.22));animation:pheroImg 1.6s var(--ease) both,cutFloat 7s ease-in-out 1.6s infinite}
@keyframes cutFloat{50%{transform:translateY(-8px) rotate(-.6deg)}}
@media (max-width:900px){.phero.has-img .phero-img.cut{display:none}}
@media (prefers-reduced-motion:reduce){.phero.has-img .phero-img.cut img{animation:none}}

/* карта: несколько моделей в одном месте */
#mapSvg .dot.cl{fill:var(--accent);stroke:#fff;stroke-width:2.5}
#mapSvg .dot{pointer-events:none}
#mapSvg{cursor:crosshair}
.clist{display:grid;gap:6px;max-height:340px;overflow:auto}
.clist .ci{display:grid;gap:2px;text-align:left;padding:10px 14px;border-radius:12px;border:1px solid var(--line);background:var(--card);cursor:pointer;font:inherit;color:inherit;transition:border-color .2s,background .2s}
.clist .ci:hover,.clist .ci:focus-visible{border-color:var(--ink);background:#fff}
.clist .ci b{font-size:15px;font-weight:500}
.clist .ci span{font-size:13px;color:var(--ink-2)}

/* ================= облегчённый режим: телефоны и планшеты ================= */
/* главная: вместо 3D — фото двигателя, все три блока идут друг за другом */
.lite .home .stick{position:relative;height:auto;min-height:0;overflow:visible;display:flex;flex-direction:column}
.lite .home #s1{order:1}.lite .home .home-poster{order:2}.lite .home #s2{order:3}.lite .home #s3{order:4}
.lite .home #hero{height:auto}
.lite .home #s2,.lite .home #s3{display:block;position:relative;left:auto;right:auto;top:auto;bottom:auto;transform:none;translate:none;opacity:1;visibility:visible;pointer-events:auto;width:auto;max-width:none;padding:44px var(--pad) 0!important;margin:0}
.lite .home #s1{position:relative;left:auto;right:auto;top:auto;transform:none;translate:none;opacity:1;visibility:visible;width:auto;max-width:none;margin:0;padding:calc(var(--hd) + 5vh) var(--pad) 0!important}
.lite .home .home-poster{position:relative;display:block;right:auto;left:auto;top:auto;bottom:auto;transform:none;width:min(86vw,520px);margin:28px auto 0;opacity:1;animation:posterIn 1.2s var(--ease) both,posterFloat 7s ease-in-out 1.2s infinite}
.lite #rings,.lite #hint,.lite #prog,.lite #labels,.lite #gl,.lite .bigword{display:none}
.lite .home #s3{padding-bottom:28px!important}
@keyframes posterIn{from{opacity:0;transform:translateY(16px) scale(.97)}}
@keyframes posterFloat{50%{transform:translateY(-6px)}}
/* «Как устроены»: без 3D-сцены, шаги видны целиком */
.lite .h3d{display:block}
.lite .h3d-stage{display:none}
.lite .h3d-steps{padding:0}
.lite .h3s{min-height:0;opacity:1;transform:none;padding:22px 0;border-top:1px solid var(--line)}
/* дорогие эффекты на телефонах заменяем простыми */
.lite .hd.scrolled{backdrop-filter:none;-webkit-backdrop-filter:none;background:rgba(243,242,238,.97)}
.lite .mcta{backdrop-filter:none;-webkit-backdrop-filter:none;background:#14171A}
.lite .dlg-head{backdrop-filter:none;-webkit-backdrop-filter:none;background:#fff}
.lite dialog::backdrop{backdrop-filter:none}
.lite .lbl3 span{backdrop-filter:none}
.lite .btn{will-change:auto}
@media (prefers-reduced-motion:reduce){.lite .home-poster{animation:none}}
.lite .h3s:first-child{display:none}
.lite .h3s:nth-child(2){border-top:0}

.tz{padding:24px 28px;margin-top:20px}.tz-lead{margin:6px 0 14px;color:var(--ink-2,#3A3E43);max-width:70ch}
.tz .spec td{font-family:var(--mono);font-size:.92em}.tz-acts{margin:16px 0 4px;flex-wrap:wrap;gap:10px}
.tz-src.tz-show{display:block;width:100%;min-height:180px;margin-top:12px;font:13px/1.5 var(--mono);padding:10px;border:1px solid #D6D3CC;border-radius:8px}
@media (max-width:640px){.tz{padding:18px}}
/* правая колонка модели: ключевые цифры и эскиз вместо иллюстрации */
.mdl-side{position:sticky;top:calc(var(--hd) + 16px);display:grid;gap:14px}
.mdl-side .kf{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.mdl-side .kf>div{background:var(--soft);padding:14px 14px 12px;display:grid;gap:4px}
.mdl-side .kf b{font:500 clamp(22px,2.4vw,32px)/1.05 var(--mono);letter-spacing:-.02em;display:flex;flex-wrap:wrap;align-items:baseline;gap:0 4px}
.mdl-side .kf b i{font-style:normal;font-size:.5em;color:var(--ink-3)}
.mdl-side .kf span{font-size:12.5px;color:var(--ink-3)}
.mdl-side .sketch{margin:0}
.mdl-photo{margin:0;display:grid;gap:6px}.mdl-photo img{width:100%;border-radius:10px;border:1px solid var(--line)}
.mdl-photo figcaption{font-size:12.5px;color:var(--ink-3)}
@media (max-width:900px){.mdl-side{position:static}}
@media (max-width:480px){.mdl-side .kf>div{padding:12px 10px}.mdl-side .kf b{font-size:20px}}
.about{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:clamp(24px,5vw,80px);padding:clamp(28px,4vw,56px) 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.about h2{font:500 clamp(28px,3.4vw,52px)/1.05 var(--sans);letter-spacing:-.025em;margin-top:14px}
.about-t p{font-size:clamp(16px,1.35vw,19px);line-height:1.6;color:var(--ink-2);margin:0 0 14px;max-width:62ch}
@media (max-width:760px){.about{grid-template-columns:minmax(0,1fr)}}

/* =====================================================================
   Страница «Спасибо» (/spasibo/)
   ===================================================================== */
.ty-hero{position:relative;padding:clamp(40px,7vw,96px) 0 clamp(36px,5vw,72px);overflow:hidden}
.ty-hero:before{content:"";position:absolute;right:-10%;top:-30%;width:60vw;aspect-ratio:1;border-radius:50%;background:radial-gradient(closest-side,#fff,rgba(255,255,255,0));pointer-events:none}
.ty-grid{position:relative;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(28px,5vw,80px);align-items:center}
.ty-l h1{font:500 clamp(36px,4.8vw,72px)/1.02 var(--sans);letter-spacing:-.03em;margin:22px 0;max-width:14ch}
.ty-l h1 b{font-weight:inherit;color:var(--accent)}
.ty-l .lead{max-width:52ch}

/* радар на фоне — отсылка к прицелу в логотипе */
.ty-radar{position:absolute;right:clamp(-260px,-12vw,-80px);top:50%;width:min(860px,72vw);aspect-ratio:1;translate:0 -50%;pointer-events:none;opacity:.9}
.ty-radar i{position:absolute;inset:0;border:1px solid var(--line-2);border-radius:50%}
.ty-radar i:nth-child(2){inset:14%}.ty-radar i:nth-child(3){inset:28%}.ty-radar i:nth-child(4){inset:42%;border-color:var(--line)}
.ty-radar b{position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,rgba(172,67,24,.11),rgba(172,67,24,0) 70deg);-webkit-mask:radial-gradient(closest-side,#000 99%,transparent);mask:radial-gradient(closest-side,#000 99%,transparent);animation:tySweep 9s linear infinite}
@keyframes tySweep{to{transform:rotate(360deg)}}

/* «посадочный талон» заявки */
.ty-ticket{position:relative;background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:0 40px 80px -48px rgba(20,23,26,.45),0 2px 0 rgba(20,23,26,.02);padding:clamp(22px,2.4vw,32px);animation:tyIn .9s var(--ease) both .1s}
@keyframes tyIn{from{opacity:0;transform:translateY(26px) rotate(1.2deg)}}
.ty-tk-hd{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px}
.ty-tk-id{display:grid;gap:6px;min-width:0}
.ty-tk-id b{font:500 clamp(17px,1.5vw,21px)/1.15 var(--mono);letter-spacing:-.01em;overflow-wrap:anywhere}
.ty-mark{width:56px;height:56px;flex:none;overflow:visible}
.ty-mark .ty-ring{fill:var(--accent-soft);stroke:var(--accent);stroke-width:2;stroke-dasharray:164;stroke-dashoffset:164;animation:tyDraw .8s var(--ease) forwards .35s;transform:rotate(-90deg);transform-origin:center}
.ty-mark .ty-cross{fill:none;stroke:var(--ink);stroke-width:2;stroke-linecap:round;opacity:0;animation:tyFade .5s ease forwards .9s}
.ty-mark .ty-check{fill:none;stroke:var(--accent);stroke-width:3.4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:36;stroke-dashoffset:36;animation:tyDraw .5s var(--ease) forwards 1s}
@keyframes tyDraw{to{stroke-dashoffset:0}}
@keyframes tyFade{to{opacity:1}}
.ty-status{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;background:var(--soft);border:1px solid var(--line-2);font:500 11px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--good);white-space:nowrap}
.ty-status i{width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 0 0 rgba(47,106,58,.45);animation:tyPulse 2s ease-out infinite}
@keyframes tyPulse{to{box-shadow:0 0 0 9px rgba(47,106,58,0)}}
.ty-perf{position:relative;height:0;border-top:1.5px dashed var(--line);margin:24px calc(-1 * clamp(22px,2.4vw,32px))}
.ty-perf:before,.ty-perf:after{content:"";position:absolute;top:-12px;width:22px;height:22px;border-radius:50%;background:var(--bg);border:1px solid var(--line)}
.ty-perf:before{left:-12px;clip-path:inset(0 0 0 50%)}
.ty-perf:after{right:-12px;clip-path:inset(0 50% 0 0)}
.ty-rows{display:grid;gap:0;margin:0}
.ty-rows>div{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:16px;padding:11px 0;border-bottom:1px solid var(--line-2)}
.ty-rows>div:last-child{border-bottom:0}
.ty-rows dt{font:500 11px/1.6 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}
.ty-rows dd{margin:0;font-size:15px;line-height:1.45;text-align:right;overflow-wrap:anywhere}
.ty-models{display:grid;gap:10px;margin-top:14px;padding-top:16px;border-top:1px solid var(--line-2)}
.ty-chips{display:flex;flex-wrap:wrap;gap:6px}
.ty-chip{font:500 12px/1 var(--mono);padding:7px 10px;border-radius:999px;background:var(--accent-soft);color:var(--accent)}
.ty-tk-ft{margin-top:18px;padding:12px 14px;border-radius:var(--r2);background:var(--soft);font-size:13px;line-height:1.5;color:var(--ink-2)}

/* шкала этапов */
.ty-track{padding:clamp(24px,3vw,40px);background:var(--card);border:1px solid var(--line);border-radius:var(--r)}
.ty-steps{list-style:none;margin:28px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;position:relative}
.ty-steps:before,.ty-steps:after{content:"";position:absolute;left:22px;right:22px;top:21px;height:2px;border-radius:2px;background:var(--line-2)}
.ty-steps:after{background:linear-gradient(90deg,var(--accent),var(--accent-2));right:auto;width:calc((100% - 44px) / 3 * .5);transform-origin:left;animation:tyBar 1.2s var(--ease) both .6s}
@keyframes tyBar{from{transform:scaleX(0)}}
.ty-steps li{position:relative;display:grid;align-content:start;gap:8px;z-index:1}
.ty-steps .n{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--card);border:1px solid var(--line);font:500 13px/1 var(--mono);font-style:normal;color:var(--ink-3);margin-bottom:10px}
.ty-steps .done .n{background:var(--accent);border-color:var(--accent);color:transparent;position:relative}
.ty-steps .done .n:after{content:"";position:absolute;width:14px;height:8px;border:2.5px solid #fff;border-top:0;border-right:0;transform:translateY(-2px) rotate(-45deg)}
.ty-steps .now .n{border-color:var(--accent);color:var(--accent);box-shadow:0 0 0 0 rgba(172,67,24,.3);animation:tyPulse2 2.2s ease-out infinite}
@keyframes tyPulse2{to{box-shadow:0 0 0 12px rgba(172,67,24,0)}}
.ty-steps b{font:500 17px/1.3 var(--sans)}
.ty-steps span{font-size:14px;line-height:1.55;color:var(--ink-2)}
.ty-steps em{font-style:normal;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);justify-self:start;padding:4px 8px;border-radius:6px;background:var(--accent-soft)}

/* «пока ждёте» */
.ty-next{margin-top:clamp(48px,6vw,88px)!important}
.ty-next-hd{display:grid;gap:16px;margin-bottom:28px}
.ty-next-hd h2{font:500 clamp(28px,3vw,44px)/1.05 var(--sans);letter-spacing:-.025em}
.ty-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.ty-cards .rv:nth-child(2){transition-delay:.1s}.ty-cards .rv:nth-child(3){transition-delay:.2s}
.ty-card{position:relative;display:grid;align-content:start;gap:10px;padding:14px 14px 26px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);text-decoration:none;transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.ty-card:hover{transform:translateY(-4px);box-shadow:0 30px 60px -36px rgba(20,23,26,.4)}
.ty-img{display:block;aspect-ratio:16/10;border-radius:calc(var(--r) - 8px);overflow:hidden;background:var(--bg2);margin-bottom:10px}
.ty-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1s var(--ease)}
.ty-card:hover .ty-img img{transform:scale(1.05)}
.ty-card .lbl,.ty-card b,.ty-card .ty-d{padding-inline:12px}
.ty-card b{font:500 21px/1.2 var(--sans);letter-spacing:-.01em}
.ty-d{font-size:14px;line-height:1.55;color:var(--ink-2);padding-right:56px!important}
.ty-go{position:absolute;right:20px;bottom:22px;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--bg2);transition:background .35s,color .35s,transform .45s var(--ease)}
.ty-card:hover .ty-go{background:var(--accent);color:#fff;transform:rotate(-45deg)}

/* срочная связь */
.ty-urgent{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:clamp(16px,3vw,40px);margin-top:16px!important;padding:clamp(24px,3vw,36px) clamp(24px,3vw,40px);border-radius:var(--r);background:#101316;color:#fff}
.ty-urgent .lbl{color:rgba(255,255,255,.5)}
.ty-urgent p{margin-top:8px;color:rgba(255,255,255,.75);max-width:44ch}
.ty-tel{font:500 clamp(22px,2.4vw,32px)/1 var(--mono);letter-spacing:-.02em;text-decoration:none;white-space:nowrap}
.ty-tel:hover{color:var(--accent-2)}
.ty-urgent-b{display:flex;flex-wrap:wrap;gap:10px}
.ty-urgent .btn{color:#fff;border-color:rgba(255,255,255,.28)}
.ty-urgent .btn:hover{background:#fff;color:var(--ink);border-color:#fff}

@media (max-width:1080px){
  .ty-urgent{grid-template-columns:1fr}
}
@media (max-width:900px){
  .ty-grid{grid-template-columns:1fr}
  .ty-l h1{max-width:none}
  .ty-radar{width:130vw;right:-60vw;top:22%}
  .ty-steps{grid-template-columns:1fr;gap:22px}
  .ty-steps:before,.ty-steps:after{left:21px;right:auto;top:22px;bottom:22px;width:2px;height:auto}
  .ty-steps:after{bottom:auto;height:calc((100% - 44px) / 3 * .5);animation-name:tyBarV;transform-origin:top}
  @keyframes tyBarV{from{transform:scaleY(0)}}
  .ty-steps li{grid-template-columns:44px 1fr;column-gap:18px;row-gap:4px}
  .ty-steps .n{grid-row:span 3;margin:0}
  .ty-cards{grid-template-columns:1fr}
}
@media (max-width:520px){
  .ty-tk-hd{grid-template-columns:auto 1fr}
  .ty-status{grid-column:1/-1;justify-self:start}
  .ty-rows>div{grid-template-columns:1fr;gap:2px}
  .ty-rows dd{text-align:left}
  .ty-l .phero-row .btn{flex:1 1 100%}
}
@media (prefers-reduced-motion:reduce){
  .ty-radar b{animation:none;opacity:.6}
  .ty-mark .ty-ring,.ty-mark .ty-check{stroke-dashoffset:0}
  .ty-mark .ty-cross{opacity:1}
}

/* ---------- подсказки по организациям (форма заявки) ---------- */
.co-wrap{position:relative}
.co-list{position:absolute;z-index:30;left:0;right:0;top:calc(100% + 6px);margin:0;padding:6px;list-style:none;background:#fff;border:1px solid var(--line);border-radius:var(--r2);box-shadow:0 24px 50px -24px rgba(20,23,26,.35);max-height:340px;overflow:auto;animation:fadeUp .25s var(--ease)}
.co-list li{display:grid;gap:2px;padding:10px 12px;border-radius:10px;cursor:pointer}
.co-list li b{font:500 15px/1.3 var(--sans);color:var(--ink)}
.co-list li span{font:400 12px/1.4 var(--mono);color:var(--ink-3)}
.co-list li:hover,.co-list li[aria-selected=true]{background:var(--soft)}
.co-list li[aria-selected=true]{box-shadow:inset 3px 0 0 var(--accent)}
.co-list li.closed b{color:var(--ink-3);text-decoration:line-through}
.co-list li.co-own{margin-top:4px;border-top:1px solid var(--line-2);border-radius:0 0 10px 10px;font-size:13px;color:var(--accent)}
.co-hint{font-size:12.5px;line-height:1.45;color:var(--ink-3)}
.co-hint.ok{color:var(--good);font-family:var(--mono);font-size:12px}
.form .row{align-items:start}

/* Telegram-канал на /spasibo/ */
.ty-tg{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:clamp(16px,3vw,40px);margin-top:16px;padding:clamp(20px,2.6vw,30px) clamp(24px,3vw,40px);border-radius:var(--r);background:var(--card);border:1px solid var(--line)}
.ty-tg p{margin-top:8px;color:var(--ink-2);max-width:60ch}
@media (max-width:720px){.ty-tg{grid-template-columns:1fr}}

/* v10.2: реквизиты в подвале и на /kontakty/ */
.ft-legal .ft-req{flex-basis:100%;max-width:none;color:rgba(255,255,255,.55)}
.ct-req{display:grid;grid-template-columns:max-content 1fr;gap:6px 14px;margin:14px 0;font-size:14px;line-height:1.45}
.ct-req dt{color:var(--ink-3);font-family:var(--mono);font-size:12.5px;padding-top:2px;white-space:nowrap}
.ct-req dd{margin:0}
@media (max-width:520px){.ct-req{grid-template-columns:1fr;gap:2px}.ct-req dd{margin-bottom:8px}}

/* цены (v10.5) */
.mprice{display:flex;flex-direction:column;gap:4px;margin:14px 0 20px}
.mprice-v{font-size:clamp(22px,2.2vw,30px);color:var(--ink,#1a1d1f);line-height:1.2}
.mprice-v b{font-weight:700}
.mprice-n{font-size:13px;color:var(--ink-2,#6b6f72)}
td.model small.pr{display:block;margin-top:3px;font-size:12px;font-weight:600;color:var(--accent,#c4521b);white-space:nowrap}
td.price{white-space:nowrap;font-weight:600}

/* как купить (v10.6) */
.buy{margin-top:28px;padding:28px}
.buy-h{margin:8px 0 16px;font-size:clamp(20px,2vw,26px)}
.buy-g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 24px}
.buy-g b{display:block;margin-bottom:4px}
.buy-g p{margin:0;color:var(--ink-2,#6b6f72);font-size:14px;line-height:1.5}
@media(max-width:820px){.buy-g{grid-template-columns:1fr 1fr}}@media(max-width:520px){.buy-g{grid-template-columns:1fr}.buy{padding:20px}}
.art-buy{margin:0 0 32px}.cls-land{margin:6px 0 18px;align-items:center}.cls-land .lbl{margin-right:6px}
/* v10.11: иллюстрация типа двигателя на странице модели */
.phero.has-img .phero-img.mdl-cut{margin:0}
.phero-img.mdl-cut figcaption{margin-top:14px;text-align:center;font-size:12.5px;color:var(--ink-3)}
.phero.has-img .phero-img.mdl-cut-turboprop{width:min(30vw,392px)}
@media (max-width:900px){
  .phero.has-img .phero-img.cut.mdl-cut{display:block;position:relative;top:auto;right:auto;bottom:auto;left:auto;transform:none;width:min(78%,320px);aspect-ratio:auto;overflow:visible;margin:28px auto 0;border-radius:0}
  .phero.has-img .phero-img.mdl-cut img{height:auto;object-fit:contain}
}
/* v10.12: подсказка, что таблица каталога прокручивается вниз */
.cat .tbl-wrap.more{-webkit-mask-image:linear-gradient(to bottom,#000 calc(100% - 90px),rgba(0,0,0,.12));mask-image:linear-gradient(to bottom,#000 calc(100% - 90px),rgba(0,0,0,.12))}

/* v10.13: длинные ссылки-«пилюли» в блоках .sim переносятся на телефоне (убирает горизонтальную прокрутку) */
@media (max-width:640px){.sim .ib{white-space:normal;max-width:100%;text-align:left;justify-content:flex-start;padding:8px 14px;line-height:1.3}}
