/* XENITE — v1-blueprint «Чертёж». Тёмный технический. Один файл = вся тема. */
@font-face{font-family:'Cygre';src:url('/assets/fonts/Cygre-Light.woff') format('woff');font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:'Cygre';src:url('/assets/fonts/Cygre-Regular.woff') format('woff');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Cygre';src:url('/assets/fonts/Cygre-Medium.woff') format('woff');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Cygre';src:url('/assets/fonts/Cygre-Bold.woff') format('woff');font-weight:700;font-style:normal;font-display:swap}
:root{
  --bg:#07090C; --grid:rgba(15,100,184,.10);
  --ink:#CDD7E2; --bright:#EAF3FB; --muted:#7E90A3; --dim:#5E6F82; --faint:#3E5365;
  --line:#15202E; --line2:#111B27; --card:#0A0E14; --card2:#0C1520;
  --accent:#38BDF8; --accent-ink:#04121C; --ok:#33C27A; --warn:#E0A33A;
  --brand-font:'Cygre',Arial,'Helvetica Neue',Helvetica,sans-serif;
  --mono:var(--brand-font);
  --disp:var(--brand-font); --body:var(--brand-font);
  --max:1200px;
  --fs-xxs:12px; --fs-xs:13px; --fs-sm:14px; --fs-md:15px; --fs-base:17px; --fs-lead:18px;
  --ease:cubic-bezier(.16,1,.3,1);
  --z-sticky:30; --z-drawer:39; --z-header:40;
  --photo-plate:#F7F9FB; --photo-line:#DDE6EF; --photo-backdrop:#F7F9FB; --photo-border:#DDE6EF; --photo-inner:#E8EDF3; --border-interactive:#1E2C3C;
}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth}
body{
  background:var(--bg);color:var(--ink);font-family:var(--body);font-size:var(--fs-base);font-weight:400;line-height:1.58;
  background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);
  background-size:46px 46px;-webkit-font-smoothing:antialiased;min-height:100vh;
  display:flex;flex-direction:column;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}
.wrap{width:100%;max-width:var(--max);margin:0 auto;padding:0 40px}
main{flex:1}

/* ---- шапка ---- */
.hd{position:sticky;top:0;z-index:40;background:rgba(7,9,12,.9);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;gap:26px;height:84px}
.brand{flex:0 0 auto;display:flex;align-items:center}
.logo{height:44px;width:auto;display:block}
.flogo{height:50px}
.menu{display:flex;flex:1;align-items:center;gap:28px}
.mlink{display:inline-flex;align-items:baseline;gap:5px;font-family:var(--mono);font-size:13px;letter-spacing:.03em;color:#AEBECE;padding:6px 0;border-bottom:1px solid transparent;transition:.18s;white-space:nowrap}
.mlink i{font-style:normal;color:var(--dim);font-size:12px}
.mlink:hover{color:var(--bright)}.mlink:hover i{color:var(--accent)}
.mlink.on{color:var(--accent);border-bottom-color:var(--accent)}.mlink.on i{color:var(--accent)}
.burger{display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:46px;height:40px;border:1px solid #1E2C3C;background:transparent;cursor:pointer;margin-left:auto}
.burger span{display:block;width:18px;height:2px;background:#AEBECE;transition:.2s}
.burger.on span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger.on span:nth-child(2){opacity:0}
.burger.on span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ---- типовые элементы ---- */
.tag{font-family:var(--mono);font-size:11px;letter-spacing:.08em;color:var(--accent)}
.btn{display:inline-block;font-family:var(--mono);font-size:13px;padding:13px 22px;background:var(--accent);color:var(--accent-ink);font-weight:500;transition:.2s;cursor:pointer;border:0}
.btn:hover{filter:brightness(1.08)}
.btn.o{background:transparent;border:1px solid #1E2C3C;color:#9FB2C4}
.btn.o:hover{border-color:var(--accent);color:var(--accent)}
.crumbs{font-family:var(--mono);font-size:11px;color:var(--dim);padding:22px 0 0;display:flex;gap:8px;flex-wrap:wrap}
.crumbs a:hover{color:var(--accent)}.crumbs span{color:var(--faint)}

/* ---- секции ---- */
.sec{padding-top:72px;padding-bottom:72px}
.shead{display:grid;grid-template-columns:auto 1fr;column-gap:18px;row-gap:12px;align-items:center;margin-bottom:30px}
.shead .tag{grid-column:1 / -1;white-space:nowrap}
.shead h2{grid-column:1;grid-row:2;font-family:var(--disp);font-weight:500;font-size:clamp(24px,3vw,38px);color:var(--bright);text-wrap:balance}
.shead .ln{display:none}

/* ---- hero ---- */
.hero{position:relative;display:grid;grid-template-columns:1.02fr .98fr;gap:40px;align-items:center;padding-top:64px;padding-bottom:76px}
.hero h1{font-family:var(--disp);font-weight:700;font-size:clamp(40px,5.4vw,76px);line-height:1.02;letter-spacing:0;color:var(--bright);margin:18px 0 0}
.hero h1 span{color:var(--accent)}
.lead{color:var(--muted);max-width:460px;margin:22px 0 30px;line-height:1.7}
.hctas{display:flex;gap:14px;flex-wrap:wrap}
.view{position:relative;height:480px;border:1px solid #1B2A3A;background:radial-gradient(120% 120% at 50% 30%,#0c1722,#070a0e)}
#fx{position:absolute;inset:0;width:100%;height:100%;display:block}
.vt{position:absolute;font-family:var(--mono);font-size:10px;letter-spacing:.1em;color:var(--faint)}
.vt.a{top:12px;left:14px}.vt.b{top:12px;right:14px;color:var(--accent)}.vt.c{bottom:12px;left:14px}.vt.d{bottom:12px;right:14px}
.vco{position:absolute;width:14px;height:14px;border:1px solid #2A3E52}
.vco.tl{top:8px;left:8px;border-right:0;border-bottom:0}.vco.tr{top:8px;right:8px;border-left:0;border-bottom:0}
.vco.bl{bottom:8px;left:8px;border-right:0;border-top:0}.vco.br{bottom:8px;right:8px;border-left:0;border-top:0}
.hud{position:absolute;top:50%;left:14px;transform:translateY(-50%);font-family:var(--mono);font-size:10px;color:#52677B;line-height:2}
.hud b{color:var(--accent);font-weight:500}

/* ---- таблица типов (главная) ---- */
.tbl{border:1px solid var(--line)}
.trow{display:grid;grid-template-columns:64px 1.1fr 1.3fr 90px 40px;align-items:center;gap:18px;padding:20px 22px;border-top:1px solid var(--line2);transition:.25s}
.trow .tdesc{color:var(--dim);font-size:12px;letter-spacing:.02em}
.trow:first-child{border-top:0}
.trow:hover{background:var(--card2)}
.trow .ti{font-family:var(--mono);color:var(--faint);font-size:13px}
.trow .tn{font-family:var(--disp);font-size:19px;color:#DCE6F0}
.trow .tc{font-family:var(--mono);font-size:12px;color:#6E8093}
.trow .tr{color:var(--accent);text-align:right}

/* ---- сетка карточек ---- */
.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.sc{min-width:0;border:1px solid var(--line);background:var(--card);display:flex;flex-direction:column;transition:.25s}
.sc:hover{border-color:#27475f;transform:translateY(-2px)}
.sc .ph{aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;padding:20px;border-bottom:1px solid var(--line2);position:relative;background:var(--photo-backdrop);overflow:hidden}
.sc .ph::after{content:'';position:absolute;inset:8px;border:1px solid var(--photo-line);opacity:.45;pointer-events:none;z-index:0}
.sc .ph img{width:100%;height:100%;max-height:100%;object-fit:contain;object-position:center;position:relative;z-index:1;filter:drop-shadow(0 0 8px rgba(0,0,0,.06))}
.sc .ph .sku{color:#516171;background:rgba(247,249,251,.92);padding:3px 6px;border:1px solid var(--photo-line);font-size:10px}
.sc .noimg{font-family:var(--mono);font-size:11px;color:var(--faint)}
.sc .sku{position:absolute;top:10px;left:12px;z-index:2;font-family:var(--mono);color:#516171;background:rgba(247,249,251,.92);padding:3px 6px;border:1px solid var(--photo-line);font-size:10px}
.sc .bd{padding:14px 16px 16px;display:flex;flex-direction:column;flex:1}
.sc .nm{font-family:var(--disp);font-size:14px;color:#DCE6F0;line-height:1.4;min-height:38px}
.sc .sp{margin:12px 0;border-top:1px dashed #1A2734;padding-top:10px;min-height:10px}
.sc .sr{display:flex;justify-content:space-between;gap:10px;font-family:var(--mono);font-size:11px;color:#6E8093;margin-bottom:5px}
.sc .sr b{color:#AFC0D0;font-weight:400;text-align:right}
.sc .ft{display:flex;align-items:center;justify-content:flex-end;border-top:1px solid var(--line2);padding-top:12px;margin-top:auto}
.sc .stk{font-family:var(--mono);font-size:10px;color:var(--ok)}
.sc .stk.out{color:var(--warn)}

/* ---- каталог: карточки категорий ---- */
.ccards{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.ccard{border:1px solid var(--line);background:var(--card);padding:26px 24px;display:flex;flex-direction:column;gap:10px;transition:.25s}
.ccard:hover{border-color:#27475f;background:var(--card2)}
.ccard .ci{font-family:var(--mono);font-size:11px;color:var(--faint)}
.ccard h3{font-family:var(--disp);font-weight:500;font-size:24px;color:var(--bright)}
.ccard .cc{font-family:var(--mono);font-size:12px;color:var(--accent)}
.ccard .subln{font-family:var(--mono);font-size:11px;color:var(--muted);line-height:1.8;margin-top:4px}

/* ---- категория ---- */
.cathead{padding:8px 0 30px;border-bottom:1px solid var(--line2);margin-bottom:30px}
.cathead h1{font-family:var(--disp);font-weight:700;font-size:clamp(30px,4vw,48px);color:var(--bright);margin:14px 0 8px}
.cathead .meta{font-family:var(--mono);font-size:12px;color:var(--muted)}
.subs{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 0}
.chip{font-family:var(--mono);font-size:12px;color:#9FB2C4;border:1px solid #1E2C3C;padding:8px 14px;transition:.2s}
.chip:hover{border-color:var(--accent);color:var(--accent)}
.chip b{color:var(--faint);font-weight:400;margin-left:6px}
.empty{display:flex;flex-direction:column;align-items:center;gap:16px;font-size:14px;color:var(--muted);padding:72px 24px;text-align:center;border:1px solid var(--line2);background:var(--card)}
.empty-i{color:var(--faint)}
.empty p{max-width:42ch;line-height:1.6}

/* ---- карточка товара ---- */
.pdp{display:grid;grid-template-columns:1fr 1fr;gap:48px;padding:30px 0 0;align-items:start}
.gallery .main{aspect-ratio:1/1;border:1px solid var(--line);background:var(--photo-backdrop);display:flex;align-items:center;justify-content:center;padding:48px;position:relative;overflow:hidden}
.gallery .main::after{content:'';position:absolute;inset:12px;border:1px solid var(--photo-line);opacity:.55;pointer-events:none;z-index:1}
.gallery .main img{width:100%;height:100%;max-height:100%;object-fit:contain;object-position:center;position:relative;z-index:2;transition:transform .5s var(--ease),opacity .25s var(--ease);filter:drop-shadow(0 0 12px rgba(0,0,0,.08))}
.gallery .main:hover img{transform:scale(1.05)}
.gallery .main .sku{position:absolute;top:14px;left:16px;z-index:3;font-family:var(--mono);font-size:11px;color:#516171;background:rgba(247,249,251,.92);padding:3px 5px;border:1px solid var(--photo-line)}
.gallery .main .gcount{position:absolute;bottom:14px;right:16px;z-index:3;font-family:var(--mono);font-size:11px;color:#516171;background:rgba(247,249,251,.92);padding:3px 5px;border:1px solid var(--photo-line)}
.gallery .main .gcount b{color:var(--accent);font-weight:500}
.gallery .main .noimg{font-family:var(--mono);color:#516171}
.gallery .main .skel{position:absolute;inset:0;background:linear-gradient(100deg,#0a121b 30%,#13202c 50%,#0a121b 70%);background-size:200% 100%;animation:shimmer 1.2s infinite linear;opacity:0;pointer-events:none;transition:opacity .2s}
.gallery .main.loading .skel{opacity:1}
.gallery .main.loading img{opacity:0}
@keyframes shimmer{from{background-position:200% 0}to{background-position:-200% 0}}
.thumbs{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap}
.thumbs button{width:64px;height:64px;border:1px solid var(--photo-line);background:var(--photo-backdrop);padding:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color .18s var(--ease),transform .12s var(--ease)}
.thumbs button:hover{border-color:#27475f}
.thumbs button:active{transform:scale(.94)}
.thumbs button.on{border-color:var(--accent)}
.thumbs img{width:100%;height:100%;max-height:100%;object-fit:contain}
.pinfo h1{font-family:var(--disp);font-weight:700;font-size:clamp(24px,2.6vw,34px);line-height:1.15;color:var(--bright);margin:10px 0 0;text-wrap:balance}
.pinfo .pvendor{font-size:12px;color:var(--muted);margin-top:12px;letter-spacing:.04em}
.buybox{display:flex;flex-direction:column;gap:0;margin:24px 0;border:1px solid var(--line);background:var(--card)}
.buybox .bbrow{display:flex;align-items:baseline;justify-content:flex-end;gap:16px;flex-wrap:wrap;padding:22px 22px 18px}
.buybox .stk{font-family:var(--mono);font-size:11px;color:var(--ok)}
.buybox .stk.out{color:var(--warn)}
.btn.order{display:flex;flex-direction:column;align-items:center;gap:4px;margin:0 22px;padding:16px 22px;line-height:1.2;background:var(--accent);color:var(--accent-ink);border:1px solid var(--accent)}
.btn.order .ol1{font-size:11px;letter-spacing:.12em}
.btn.order .ol2{font-size:16px;letter-spacing:.04em;font-weight:600}
.btn.order:hover{background:var(--accent);filter:brightness(1.1);border-color:var(--accent);color:var(--accent-ink)}
.buybox .ordernote{font-size:11px;color:var(--muted);text-align:center;padding:10px 22px 0;letter-spacing:.02em}
.trust{list-style:none;margin:16px 0 0;padding:16px 22px 22px;border-top:1px solid var(--line2);display:flex;flex-direction:column;gap:9px}
.trust li{font-size:11.5px;color:var(--ink);padding-left:18px;position:relative}
.trust li:before{content:'+';position:absolute;left:0;color:var(--accent)}
.specwrap .tag2{color:var(--dim);font-size:11px;letter-spacing:.08em;margin-bottom:10px}
.specs{width:100%;border:1px solid var(--line);border-collapse:collapse}
.specs tr{border-top:1px solid var(--line2)}.specs tr:first-child{border-top:0}
.specs td{padding:12px 16px;font-size:13px;vertical-align:top}
.specs td:first-child{font-family:var(--mono);font-size:12px;color:var(--muted);width:46%;border-right:1px solid var(--line2)}
.specs td:last-child{color:#CFDAE6}
.pblock{margin-top:44px}
.pblock .tag{display:block;margin-bottom:14px}
.desc{color:#B7C5D3;line-height:1.8;font-size:15px;white-space:pre-line;max-width:72ch;text-wrap:pretty}
.related{margin-top:8px;border-top:1px solid var(--line)}
.grid-rel{grid-template-columns:repeat(4,1fr)}
@media(max-width:1000px){.grid-rel{grid-template-columns:repeat(3,1fr)}}
@media(max-width:680px){.grid-rel{grid-template-columns:repeat(2,1fr)}}

/* ---- футер ---- */
.ftr{padding:56px 0 40px;border-top:1px solid var(--line)}
.fg{display:grid;grid-template-columns:1.7fr 1fr 1.1fr 1fr;gap:40px}
.fg h4{font-family:var(--mono);font-size:11px;color:#52677B;margin-bottom:14px}
.ftag{font-family:var(--disp);font-weight:500;font-size:15px;color:var(--accent);margin-top:14px;letter-spacing:.01em}
.fg a,.fg p{display:block;color:var(--muted);font-size:14px;margin-bottom:9px}
.fg a:hover{color:var(--accent)}
.copy{font-family:var(--mono);font-size:11px;color:var(--faint);margin-top:40px;padding-top:20px;border-top:1px solid var(--line2)}

/* ---- 404 ---- */
.e404{padding:120px 0;text-align:center}
.e404 .code{font-family:var(--disp);font-weight:700;font-size:120px;color:var(--accent);line-height:1}
.e404 p{color:var(--muted);margin:16px 0 28px}

/* ---- адаптив ---- */
@media(max-width:1080px){
  .grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .catlayout{grid-template-columns:210px 1fr;gap:26px}
  .catmain .grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* ====== дополнения (v1-blueprint доводка) ====== */

/* поиск в шапке */
.search{display:flex;align-items:stretch;border:1px solid #1E2C3C;background:#0a0e14;height:40px;width:250px;margin-left:auto;transition:border-color .18s}
.search:focus-within{border-color:var(--accent)}
.search input{flex:1;min-width:0;background:transparent;border:0;color:var(--ink);font-family:var(--mono);font-size:12px;padding:0 12px;outline:none}
.search input::placeholder{color:var(--faint)}
.search button{background:transparent;border:0;border-left:1px solid #1E2C3C;color:var(--dim);padding:0 13px;cursor:pointer;font-size:16px}
.search button:hover{color:var(--accent)}

/* hero доводка */
.eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.12em;color:var(--accent);text-transform:uppercase}
.hero h1 em,.hero h1 span{color:var(--accent);font-style:normal}
.hstats{display:grid;grid-template-columns:repeat(4,1fr);margin-top:36px;border:1px solid var(--line);background:#0a0e14}
.hstats div{padding:15px 16px;border-left:1px solid var(--line)}
.hstats div:first-child{border-left:0}
.hstats b{display:block;font-family:var(--disp);font-weight:700;font-size:22px;color:var(--bright);line-height:1;letter-spacing:0}
.hstats span{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.03em;color:var(--muted);margin-top:8px}
.ssub{color:var(--muted);max-width:640px;margin:-16px 0 28px;line-height:1.7}

/* home: brand card + route board */
.brand-passport{display:grid;grid-template-columns:1.15fr .85fr;gap:24px;align-items:stretch}
.bp-copy{border-left:1px solid var(--accent);padding:8px 0 8px 26px}
.bp-copy h2{font-family:var(--disp);font-weight:600;font-size:clamp(28px,3.6vw,46px);line-height:1.06;color:var(--bright);margin:14px 0 0;text-wrap:balance}
.bp-copy .lead{max-width:620px;margin-bottom:0}
.bp-readout{border:1px solid #1E2C3C;background:#080c12;display:grid;grid-template-columns:1fr 1fr;align-content:start}
.bp-readout div{min-height:116px;padding:22px;border-left:1px solid var(--line2);border-top:1px solid var(--line2)}
.bp-readout div:nth-child(odd){border-left:0}
.bp-readout div:nth-child(-n+2){border-top:0}
.bp-readout span{display:block;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--dim);margin-bottom:12px}
.bp-readout b{display:block;font-weight:500;font-size:13px;line-height:1.45;color:var(--bright)}
.proof-grid{grid-column:1 / -1;display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--line);background:var(--card)}
.proof-cell{min-height:150px;padding:24px 24px 22px;border-left:1px solid var(--line2);position:relative;transition:background .2s var(--ease),border-color .2s var(--ease)}
.proof-cell:first-child{border-left:0}
.proof-cell:before{content:'+';position:absolute;top:18px;right:20px;font-family:var(--mono);color:var(--accent)}
.proof-cell b{display:block;font-family:var(--disp);font-size:19px;font-weight:500;color:var(--bright);margin-bottom:12px}
.proof-cell span{display:block;font-size:14px;line-height:1.7;color:var(--muted)}
.proof-cell:hover{background:var(--card2)}

.home-showcase{display:grid;grid-template-columns:.9fr 1.1fr;gap:36px;align-items:center}
.showcase-copy h2{font-family:var(--disp);font-weight:600;font-size:clamp(30px,4vw,54px);line-height:1.02;color:var(--bright);margin:16px 0 0;letter-spacing:0;text-wrap:balance}
.showcase-copy .lead{max-width:560px}
.signal-strip{display:grid;grid-template-columns:repeat(2,1fr);border:1px solid var(--line);background:var(--card);margin-top:28px}
.signal-strip div{min-height:112px;padding:20px;border-left:1px solid var(--line2);border-top:1px solid var(--line2)}
.signal-strip div:nth-child(odd){border-left:0}
.signal-strip div:nth-child(-n+2){border-top:0}
.signal-strip span{display:block;font-size:11px;letter-spacing:.08em;color:var(--accent);margin-bottom:12px}
.signal-strip b{display:block;font-family:var(--disp);font-weight:600;font-size:24px;color:var(--bright);line-height:1}
.signal-strip em{display:block;font-style:normal;font-size:13px;color:var(--muted);line-height:1.5;margin-top:12px}
.optic-map{position:relative;min-height:520px;border:1px solid #1E2C3C;background:radial-gradient(120% 110% at 52% 48%,#0f1c29 0%,#080b10 58%,#07090C 100%);overflow:hidden}
.optic-map:before{content:'';position:absolute;inset:0;background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:34px 34px;opacity:.5}
.optic-map:after{content:'';position:absolute;inset:54px;border:1px solid rgba(56,189,248,.18)}
.optic-axis{position:absolute;left:12%;right:12%;top:50%;height:1px;background:linear-gradient(90deg,transparent,rgba(56,189,248,.75),transparent)}
.optic-axis:before,.optic-axis:after{content:'';position:absolute;top:-145px;width:1px;height:290px;background:linear-gradient(transparent,rgba(56,189,248,.38),transparent)}
.optic-axis:before{left:28%}.optic-axis:after{right:28%}
.optic-core{position:absolute;left:50%;top:50%;width:172px;height:172px;transform:translate(-50%,-50%);border:1px solid rgba(56,189,248,.72);background:#07090C;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;z-index:3}
.optic-core:before,.optic-core:after{content:'';position:absolute;border:1px solid rgba(56,189,248,.2)}
.optic-core:before{inset:-42px}.optic-core:after{inset:-84px}
.optic-core span{font-size:10px;letter-spacing:.1em;color:var(--accent);margin-bottom:12px}
.optic-core b{font-family:var(--disp);font-size:28px;line-height:.92;color:var(--bright);letter-spacing:0}
.optic-img{position:absolute;z-index:2;object-fit:contain;filter:drop-shadow(0 0 0 transparent)}
.oi-a{width:176px;left:8%;top:58px;transform:rotate(-13deg)}
.oi-b{width:210px;right:5%;top:84px;transform:rotate(16deg)}
.oi-c{width:188px;right:17%;bottom:42px;transform:rotate(-8deg)}
.optic-note{position:absolute;z-index:4;border:1px solid #27475f;background:#07090C;color:#9FB2C4;font-size:11px;letter-spacing:.06em;padding:9px 12px}
.on-a{left:10%;bottom:116px}.on-b{right:13%;top:54px}.on-c{left:33%;bottom:48px;color:var(--ok)}

.route-board{display:grid;grid-template-columns:.92fr 1.08fr;border:1px solid var(--line);background:var(--card)}
.route-primary{min-height:360px;padding:34px;display:flex;flex-direction:column;justify-content:space-between;background:radial-gradient(120% 120% at 0% 0%,#0e1b28,#080b10);border-right:1px solid var(--line);position:relative;overflow:hidden;transition:border-color .2s var(--ease),background .2s var(--ease)}
.route-primary:before{content:'';position:absolute;inset:0;background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:34px 34px;opacity:.55;pointer-events:none}
.route-primary>*{position:relative;z-index:1}
.route-primary h3{font-family:var(--disp);font-weight:600;font-size:clamp(30px,3.5vw,48px);line-height:1.02;color:var(--bright);margin:18px 0 0;text-wrap:balance}
.route-primary p{max-width:420px;color:var(--muted);font-size:15px;line-height:1.7;margin-top:16px}
.route-primary .mono{font-size:12px;color:var(--accent);letter-spacing:.03em}
.route-list{display:grid;grid-template-rows:repeat(3,1fr)}
.route-line{display:grid;grid-template-columns:58px 1fr minmax(150px,.75fr) 24px;gap:16px;align-items:center;padding:28px 30px;border-top:1px solid var(--line2);transition:background .2s var(--ease),color .2s var(--ease)}
.route-line:first-child{border-top:0}
.route-line:hover{background:var(--card2)}
.route-line .ti{font-family:var(--mono);font-size:12px;color:var(--faint)}
.route-line b{font-family:var(--disp);font-weight:500;font-size:21px;color:#DCE6F0;line-height:1.2}
.route-line em{font-style:normal;font-family:var(--mono);font-size:11px;color:var(--muted);line-height:1.6}
.route-line i{font-style:normal;font-family:var(--mono);font-size:18px;color:var(--accent);text-align:right;transition:transform .22s var(--ease)}
.route-line:hover i,.route-line:focus-visible i{transform:translateX(5px)}
.scenario-rail{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:18px;border:1px solid var(--line);background:#080c12}
.scenario-rail a{display:grid;grid-template-rows:auto 1fr auto;gap:14px;min-height:176px;padding:22px;border-left:1px solid var(--line2);transition:background .2s var(--ease),border-color .2s var(--ease)}
.scenario-rail a:first-child{border-left:0}
.scenario-rail a:hover,.scenario-rail a:focus-visible{background:var(--card2)}
.scenario-rail span{font-size:11px;letter-spacing:.08em;color:var(--accent)}
.scenario-rail b{font-family:var(--disp);font-weight:500;font-size:20px;line-height:1.25;color:var(--bright)}
.scenario-rail em{align-self:end;font-style:normal;font-size:11px;letter-spacing:.05em;color:var(--muted)}
.scenario-rail a:hover em,.scenario-rail a:focus-visible em{color:var(--accent)}
.partner-strip{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:22px;padding-top:18px;border-top:1px solid var(--line2)}
.partner-strip span{font-size:11px;letter-spacing:.08em;color:var(--dim)}
.partner-strip .pmore{margin-top:0}

/* промо-бейджи на фото */
.badge{position:absolute;top:10px;right:10px;z-index:2;font-family:var(--mono);font-size:9px;letter-spacing:.06em;padding:4px 8px;color:#04121C;font-weight:600}
.badge.sale{background:#FF5A6E;color:#fff}.badge.new{background:var(--accent)}.badge.hit{background:var(--warn)}
/* блок подбора — технический конфигуратор */
.picker{position:relative;display:grid;grid-template-columns:1.25fr 1fr;gap:44px;border:1px solid #1E2C3C;background:radial-gradient(140% 120% at 12% 0%,#0e1b28,#080b10);padding:48px 44px;align-items:center;overflow:hidden}
.picker:before{content:'';position:absolute;inset:0;background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:34px 34px;opacity:.6;pointer-events:none}
.picker>.pk-l,.picker>.pk-r{position:relative;z-index:1}
.picker .vco{position:absolute;z-index:2;border-color:#34516a}
.picker h2{font-family:var(--disp);font-weight:600;font-size:clamp(26px,3.2vw,38px);color:var(--bright);margin:16px 0 0;line-height:1.08}
.picker h2 span{color:var(--accent)}
.pk-l .lead{margin:18px 0 0;max-width:430px}
.pk-list{list-style:none;margin:22px 0 0;padding:0}
.pk-list li{font-family:var(--mono);font-size:12.5px;color:var(--ink);padding:9px 0 9px 24px;position:relative;border-top:1px dashed #1A2734}
.pk-list li:before{content:'+';position:absolute;left:0;color:var(--accent)}
.pk-r{display:flex;flex-direction:column;border:1px solid #2A415A;background:#07090C}
.pk-top{display:flex;align-items:center;justify-content:space-between;font-family:var(--mono);font-size:11px;letter-spacing:.08em;color:var(--accent);padding:12px 18px;border-bottom:1px solid #16242F;background:#0a121b}
.pk-rev{color:var(--faint)}
.pk-field{display:block;padding:22px 22px 16px}
.pk-field span{display:block;font-size:11px;letter-spacing:.06em;color:var(--muted);margin-bottom:10px}
.pk-field select,.sortf select{width:100%;background:#0a0e14;border:1px solid #1E2C3C;color:var(--ink);font-family:var(--mono);font-size:13px;padding:12px;outline:none;cursor:pointer}
.pk-field select:focus{border-color:var(--accent)}
.pk-readout{padding:0 22px 16px;display:flex;flex-direction:column;gap:9px}
.pk-rr{display:flex;justify-content:space-between;font-family:var(--mono);font-size:12px;color:var(--dim);border-top:1px dashed #1A2734;padding-top:10px}
.pk-rr b{color:#CFDAE6;font-weight:500}.pk-rr b.ok{color:var(--ok)}
.pk-go{display:block;margin:4px 22px 22px;text-align:center}

/* home: B2B вход вместо центрального подбора */
.partner-entry{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:34px;border:1px solid #1E2C3C;background:radial-gradient(140% 120% at 12% 0%,#0e1b28,#080b10);padding:46px 44px;align-items:stretch;overflow:hidden}
.partner-entry:before{content:'';position:absolute;inset:0;background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:34px 34px;opacity:.58;pointer-events:none}
.partner-entry>.pe-copy,.partner-entry>.pe-steps{position:relative;z-index:1}
.partner-entry .vco{position:absolute;z-index:2;border-color:#34516a}
.pe-copy{display:flex;flex-direction:column;justify-content:center}
.pe-copy h2{font-family:var(--disp);font-weight:600;font-size:clamp(28px,3.8vw,48px);line-height:1.05;color:var(--bright);margin:16px 0 0;text-wrap:balance}
.pe-copy .lead{max-width:620px;margin:20px 0 0;color:#B7C5D3}
.pe-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.pe-steps{display:grid;grid-template-columns:1fr;border:1px solid #2A415A;background:#07090C}
.pe-steps div{display:grid;grid-template-columns:54px 1fr;grid-template-rows:auto auto;gap:7px 16px;padding:22px 24px;border-top:1px solid var(--line2);align-content:center}
.pe-steps div:first-child{border-top:0}
.pe-steps span{grid-row:1 / 3;font-size:12px;color:var(--accent);letter-spacing:.08em}
.pe-steps b{font-family:var(--disp);font-weight:500;font-size:21px;color:var(--bright);line-height:1.15}
.pe-steps em{font-style:normal;color:var(--muted);font-size:14px;line-height:1.55}

/* партнёры — белые чипы, приглушены, цвет при наведении */
.plogos{display:flex;flex-wrap:wrap;justify-content:center;gap:16px}
.plogo{flex:0 1 calc((100% - 48px)/4);min-width:210px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid var(--line);padding:20px 18px;min-height:92px;filter:grayscale(.45);opacity:.85;transition:filter .25s var(--ease),opacity .25s var(--ease),transform .25s var(--ease),border-color .25s var(--ease)}
.plogo:hover{filter:grayscale(0);opacity:1;transform:translateY(-2px);border-color:#27475f}
.plogo img{max-height:48px;max-width:100%;width:auto;object-fit:contain;display:block}
.plogo-texkom img{max-height:34px}
.plogo-armtek img{max-height:42px}
.pmore{display:inline-block;margin-top:22px;font-size:12px;color:var(--muted)}
.pmore:hover{color:var(--accent)}
@media(max-width:1100px){.plogo{flex-basis:calc((100% - 32px)/3)}}
@media(max-width:720px){.plogo{flex-basis:calc((100% - 16px)/2);min-width:0}}
@media(max-width:480px){.plogo{flex-basis:100%;min-height:78px;padding:16px 14px}}

/* ---- каталог: сайдбар + инструменты ---- */
.catlayout{display:grid;grid-template-columns:250px 1fr;gap:40px;align-items:start;padding-top:4px}
.side{display:flex;flex-direction:column;gap:24px}      /* НЕ sticky: уходит со страницей при скролле */
.side-blk{border:1px solid var(--line);background:var(--card);padding:16px 18px 18px}
.side-h{font-size:11px;letter-spacing:.08em;color:var(--dim);margin-bottom:12px}
.sidelink{display:flex;align-items:center;justify-content:space-between;gap:10px;font-family:var(--mono);font-size:12.5px;color:#9FB2C4;padding:9px 0;border-top:1px solid var(--line2);transition:.15s}
.side-blk .sidelink:first-of-type{border-top:0;padding-top:2px}
.sidelink:hover{color:var(--accent)}
.sidelink.on{color:var(--accent)}
.sidelink b{color:var(--faint);font-weight:400;font-size:11px}
.sidelink.on b{color:var(--accent)}
.subgrp{padding-top:13px;margin-top:13px;border-top:1px solid var(--line2)}
.subgrp:first-of-type{padding-top:0;margin-top:0;border-top:0}
.subgrp-title{font-size:10.5px;letter-spacing:.08em;color:var(--muted);margin-bottom:7px;text-transform:uppercase}
.subgrp .sidelink{font-size:12px;padding:8px 0}
.fgrp{margin-top:14px;padding-top:14px;border-top:1px solid var(--line2)}
.fgrp:first-of-type{margin-top:0;padding-top:2px;border-top:0}
.fttl{font-size:11px;color:var(--muted);margin-bottom:10px}
.fchips{display:flex;flex-wrap:wrap;gap:7px}
.fchip{font-family:var(--mono);font-size:12px;color:#9FB2C4;border:1px solid #1E2C3C;padding:6px 10px;transition:.15s}
.fchip:hover{border-color:var(--accent);color:var(--accent)}
.fchip.on{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
.fchip b{color:var(--faint);font-weight:400;margin-left:6px}.fchip.on b{color:#04121C}
.fclear{display:inline-block;margin-top:16px;font-size:12px;color:var(--warn)}.fclear:hover{color:#FF5A6E}
.cattools{display:flex;align-items:center;gap:16px;margin-bottom:22px;padding-bottom:16px;border-bottom:1px solid var(--line2)}
.resn{font-size:12px;color:var(--muted)}
.fbtn{display:none;font-family:var(--mono);font-size:12px;color:#9FB2C4;border:1px solid #1E2C3C;background:transparent;padding:8px 12px;cursor:pointer}
.fbtn:hover{border-color:var(--accent);color:var(--accent)}
.sortf{margin-left:auto}
.sortf label{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:8px;white-space:nowrap}
.sortf select{width:auto;background:#0a0e14;border:1px solid #1E2C3C;color:var(--ink);font-family:var(--mono);font-size:12px;padding:8px 10px;outline:none;cursor:pointer}
.catmain .grid{grid-template-columns:repeat(3,minmax(0,1fr))}
/* активные фильтры — снимаемые токены */
.ftokens{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:22px}
.ftk-lbl{font-size:11px;color:var(--muted)}
.ftoken{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:var(--accent);border:1px solid #1E3A4E;background:#0a1620;padding:6px 10px;transition:border-color .18s,background .18s}
.ftoken:hover{border-color:var(--accent);background:#0d1f2b}
.ftoken b{color:var(--bright);font-weight:500}
.ftoken .x{color:var(--muted);font-size:14px;line-height:1}
.ftoken:hover .x{color:var(--accent)}
.ftk-clear{font-size:11px;color:var(--warn);margin-left:4px}.ftk-clear:hover{color:#FF5A6E}

/* пагинация */
.pager{display:flex;flex-wrap:wrap;gap:8px;margin-top:30px;justify-content:center}
.pager a,.pager .on,.pager .gap{font-family:var(--mono);font-size:13px;min-width:38px;height:38px;display:flex;align-items:center;justify-content:center;padding:0 12px}
.pager a{border:1px solid #1E2C3C;color:#9FB2C4}.pager a:hover{border-color:var(--accent);color:var(--accent)}
.pager .on{background:var(--accent);color:var(--accent-ink);font-weight:500}
.pager .gap{color:var(--faint)}

/* инфо-страница */
.info{max-width:820px;padding:8px 0 0}
.info h1{font-family:var(--disp);font-weight:700;font-size:clamp(28px,3.6vw,44px);color:var(--bright);margin:14px 0 24px}
.info-body{color:#B7C5D3;line-height:1.8;font-size:15px}
.info-body p{margin-bottom:14px}
.info-body a{color:var(--accent)}
.info-body h3{font-family:var(--disp);font-weight:500;font-size:19px;color:var(--bright);margin:28px 0 8px;line-height:1.3}
.info-body h3:first-child{margin-top:0}
.ordernote{font-size:11px;color:var(--muted);margin-top:-8px}

/* B2B info page */
.info-wide{max-width:100%;padding-top:8px}
.info-wide>h1{max-width:760px;font-size:clamp(34px,4.8vw,62px);line-height:1.02;margin-bottom:34px}
.info-wide .info-body{font-size:15px;line-height:1.75}
.b2b-hero{display:grid;grid-template-columns:1.12fr .88fr;gap:28px;align-items:stretch;margin-bottom:28px}
.b2b-hero>div:first-child{border:1px solid var(--line);background:radial-gradient(120% 120% at 0% 0%,#0e1b28,#080b10);padding:34px;position:relative;overflow:hidden}
.b2b-hero>div:first-child:before{content:'';position:absolute;inset:0;background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:34px 34px;opacity:.48;pointer-events:none}
.b2b-hero>div:first-child>*{position:relative;z-index:1}
.b2b-kicker{font-size:11px;letter-spacing:.09em;color:var(--accent);text-transform:uppercase;margin:0 0 16px}
.b2b-hero h2{font-family:var(--disp);font-weight:600;font-size:clamp(28px,3.6vw,46px);line-height:1.06;color:var(--bright);margin:0 0 18px;text-wrap:balance}
.b2b-hero p{max-width:660px;color:#B7C5D3;margin-bottom:0}
.b2b-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.b2b-actions .btn:empty:before{content:'ОТПРАВИТЬ ЗАЯВКУ'}
.b2b-readout{border:1px solid #1E2C3C;background:#080c12;display:grid;grid-template-columns:1fr 1fr}
.b2b-readout div{padding:24px;border-left:1px solid var(--line2);border-top:1px solid var(--line2);min-height:132px}
.b2b-readout div:nth-child(odd){border-left:0}
.b2b-readout div:nth-child(-n+2){border-top:0}
.b2b-readout span{display:block;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--dim);margin-bottom:14px}
.b2b-readout b{font-size:17px;font-weight:500;line-height:1.3;color:var(--bright)}
.b2b-audience,.b2b-split,.b2b-flow,.b2b-contact{margin-top:28px}
.b2b-audience h3,.b2b-split h3,.b2b-flow h3,.b2b-contact h3{font-family:var(--disp);font-weight:600;font-size:clamp(24px,2.6vw,34px);color:var(--bright);margin:0 0 18px;line-height:1.12}
.b2b-segments{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);background:var(--card)}
.b2b-segments div{padding:24px 22px;min-height:220px;border-left:1px solid var(--line2);position:relative}
.b2b-segments div:first-child{border-left:0}
.b2b-segments div:before{content:'//';font-family:var(--mono);font-size:11px;color:var(--accent);display:block;margin-bottom:18px}
.b2b-segments b{display:block;font-family:var(--disp);font-size:19px;font-weight:500;color:var(--bright);line-height:1.2;margin-bottom:12px}
.b2b-segments span{display:block;color:var(--muted);font-size:14px;line-height:1.7}
.b2b-split{display:grid;grid-template-columns:1fr .82fr;gap:28px;align-items:stretch}
.b2b-split>div:first-child{border-left:1px solid var(--accent);padding:8px 0 8px 26px}
.b2b-split p{max-width:720px}
.b2b-spec{border:1px solid var(--line);background:var(--card)}
.b2b-spec div{display:grid;grid-template-columns:54px 1fr;gap:16px;align-items:center;padding:20px 22px;border-top:1px solid var(--line2)}
.b2b-spec div:first-child{border-top:0}
.b2b-spec span{font-size:12px;color:var(--faint)}
.b2b-spec b{font-weight:500;color:#DCE6F0;font-size:13px}
.b2b-flow ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);background:var(--card)}
.b2b-flow li{counter-increment:b2b;padding:26px 24px 28px;border-left:1px solid var(--line2);position:relative}
.b2b-flow li:first-child{border-left:0}
.b2b-flow li:before{content:'0' counter(b2b);display:block;font-family:var(--mono);font-size:12px;color:var(--accent);margin-bottom:18px}
.b2b-flow li b{display:block;font-family:var(--disp);font-weight:500;font-size:20px;color:var(--bright);margin-bottom:10px}
.b2b-flow li span{display:block;color:var(--muted);font-size:14px;line-height:1.7}
.b2b-contact{display:grid;grid-template-columns:1fr auto;gap:26px;align-items:center;border:1px solid #1E2C3C;background:#080c12;padding:28px 30px}
.b2b-contact h3{margin:10px 0 8px}
.b2b-contact p{margin:0;color:var(--muted)}
.b2b-contact-links{display:flex;flex-direction:column;gap:10px;min-width:260px}
.b2b-contact-links a{display:block;border:1px solid #1E2C3C;color:#9FB2C4;padding:12px 14px;font-size:12px;transition:border-color .18s var(--ease),color .18s var(--ease)}
.b2b-contact-links a:hover{border-color:var(--accent);color:var(--accent)}

@media(max-width:1080px){
  .wrap{padding:0 20px}
  /* backdrop-filter создаёт containing-block для fixed — на мобиле убираем, иначе шторка считается от шапки */
  .hd{backdrop-filter:none;-webkit-backdrop-filter:none;background:#07090C}
  .nav{height:64px;gap:16px}
  .logo{height:34px}.flogo{height:42px}
  .burger{display:flex}
  /* выезжающая шторка-меню на весь экран */
  .menu{display:none;position:fixed;top:64px;left:0;right:0;bottom:0;flex:none;flex-direction:column;align-items:stretch;gap:0;background:#07090C;padding:10px 22px calc(28px + env(safe-area-inset-bottom));overflow-y:auto;z-index:39}
  .menu.open{display:flex}
  .mlink{font-size:17px;padding:18px 2px;border-bottom:1px solid var(--line2)}
  .mlink i{font-size:13px;margin-right:2px}
  .search{display:flex;width:auto;margin:20px 0 0;height:50px}
  .shead{row-gap:8px}
  .hero{grid-template-columns:1fr;gap:26px;padding-top:36px;padding-bottom:44px}
  .hero h1{font-size:38px}
  .view{order:2;height:300px}
  .hstats{grid-template-columns:repeat(2,1fr)}
  .hstats div{border-left:1px solid var(--line);border-top:1px solid var(--line)}
  .hstats div:nth-child(odd){border-left:0}
  .hstats div:nth-child(-n+2){border-top:0}
  .grid,.catmain .grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ccards{grid-template-columns:1fr}
  .pdp{grid-template-columns:1fr;gap:28px}
  .trow{grid-template-columns:40px 1fr auto;gap:12px}
  .trow .tdesc,.trow .tr{display:none}
  .brand-passport,.home-showcase,.route-board,.partner-entry,.b2b-hero,.b2b-split,.b2b-contact{grid-template-columns:1fr}
  .bp-copy,.b2b-split>div:first-child{padding-left:20px}
  .proof-grid,.b2b-segments,.b2b-flow ol{grid-template-columns:1fr}
  .proof-cell,.b2b-segments div,.b2b-flow li{border-left:0;border-top:1px solid var(--line2);min-height:auto}
  .proof-cell:first-child,.b2b-segments div:first-child,.b2b-flow li:first-child{border-top:0}
  .optic-map{min-height:420px}
  .oi-a{width:142px;left:7%;top:54px}
  .oi-b{width:168px;right:4%;top:88px}
  .oi-c{width:150px;right:14%;bottom:42px}
  .scenario-rail{grid-template-columns:1fr}
  .scenario-rail a{min-height:auto;border-left:0;border-top:1px solid var(--line2)}
  .scenario-rail a:first-child{border-top:0}
  .route-primary{min-height:280px;border-right:0;border-bottom:1px solid var(--line)}
  .route-line{grid-template-columns:42px 1fr 22px;gap:12px;padding:22px}
  .route-line em{grid-column:2 / 3;margin-top:-4px}
  .partner-strip{align-items:flex-start;flex-direction:column}
  .b2b-contact-links{min-width:0;width:100%}
  .picker,.partner-entry{grid-template-columns:1fr;gap:24px;padding:34px 22px}
  .fg{grid-template-columns:1fr 1fr;gap:30px}
  /* каталог: сайдбар как раскрываемая панель */
  .catlayout{grid-template-columns:1fr;gap:0}
  .side{display:none;margin-bottom:24px}
  .side.open{display:flex}
  .fbtn{display:inline-block}
  .cattools{flex-wrap:wrap;gap:12px}
}
@media(max-width:480px){
  .wrap{padding:0 16px}
  .sec{padding-top:48px;padding-bottom:48px}
  .hero h1{font-size:31px}
  .hero{padding-top:28px;padding-bottom:36px}
  .bp-readout,.b2b-readout{grid-template-columns:1fr}
  .bp-readout div,.b2b-readout div{border-left:0;border-top:1px solid var(--line2);min-height:auto}
  .bp-readout div:first-child,.b2b-readout div:first-child{border-top:0}
  .signal-strip{grid-template-columns:1fr}
  .signal-strip div{border-left:0;border-top:1px solid var(--line2);min-height:auto}
  .signal-strip div:first-child{border-top:0}
  .optic-map{min-height:360px}
  .optic-map:after{inset:34px}
  .optic-core{width:132px;height:132px}
  .optic-core:before{inset:-30px}.optic-core:after{inset:-60px}
  .optic-core b{font-size:22px}
  .oi-a{width:112px;left:4%;top:42px}
  .oi-b{width:126px;right:2%;top:68px}
  .oi-c{width:118px;right:11%;bottom:34px}
.optic-note{font-size:9px;padding:7px 9px}
.on-a{left:6%;bottom:88px}.on-b{right:8%;top:34px}.on-c{left:24%;bottom:28px}
.route-primary,.b2b-hero>div:first-child{padding:24px 20px}
.partner-entry{padding:28px 18px}
.pe-steps div{grid-template-columns:1fr;gap:8px}
  .route-line{grid-template-columns:1fr 22px}
  .route-line .ti{grid-column:1 / -1}
  .route-line b,.route-line em{grid-column:1 / 2}
  .route-line i{grid-column:2;grid-row:2 / 4}
  .b2b-contact{padding:24px 20px}
  .grid,.catmain .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .sc .ph{padding:14px}
  .sc .ph::after{inset:5px}
  .gallery .main{padding:30px}
  .gallery .main::after{inset:8px}
  .sc .nm{font-size:13px}
  .fg{grid-template-columns:1fr}
  .sortf{margin-left:0;width:100%}
  .cathead h1{font-size:30px}
}

/* ====== взаимодействие + доступность (WCAG AA) ====== */
/* единый easing для базовых переходов */
.btn,.mlink,.fchip,.chip,.sidelink,.sc,.cta,.thumbs button,.pager a,.search,.cc,.sec-link,.route-primary,.route-line,.proof-cell,.scenario-rail a,.b2b-contact-links a{transition-timing-function:var(--ease)}
/* тактильный отклик — физический «толчок» при нажатии */
.btn:active{transform:translateY(1px)}
.fchip:active,.chip:active,.pager a:active,.sidelink:active{transform:scale(.97)}
.sc:active{transform:translateY(0)}
/* видимый фокус с клавиатуры — единый акцентный контур */
a:focus-visible,button:focus-visible,select:focus-visible,input:focus-visible,.sc:focus-visible,.trow:focus-visible,.route-primary:focus-visible,.route-line:focus-visible,.scenario-rail a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
:focus:not(:focus-visible){outline:none}
/* контраст плейсхолдеров до AA (было #3E5365 ≈ 2.5:1) */
.search input::placeholder{color:var(--muted)}
::placeholder{color:var(--muted);opacity:1}
/* карточки/строки реагируют на фокус так же, как на hover */
.sc:focus-visible{border-color:#27475f;transform:translateY(-2px)}
.trow:focus-visible{background:var(--card2)}
/* сбалансированные заголовки */
.hero h1,.shead h2,.cathead h1,.ccard h3,.picker h2,.bp-copy h2,.showcase-copy h2,.route-primary h3,.scenario-rail b,.b2b-hero h2,.b2b-audience h3,.b2b-split h3,.b2b-flow h3,.b2b-contact h3{text-wrap:balance}
/* вкусный сдвиг стрелки-указателя при наведении */
.trow .tr,.cc{display:inline-block;transition:transform .25s var(--ease)}
.trow:hover .tr,.ccard:hover .cc,.trow:focus-visible .tr{transform:translateX(5px)}

/* home: cinematic light stand */
.beam-lab{display:grid;grid-template-columns:.82fr 1.18fr;gap:42px;align-items:start;position:relative;overflow:visible}
.beam-lab:before{content:'';position:absolute;left:40px;right:40px;top:72px;height:1px;background:linear-gradient(90deg,transparent,rgba(56,189,248,.72),transparent);opacity:.7;pointer-events:none}
.beam-copy{position:relative;border-left:1px solid var(--accent);padding:8px 0 8px 26px}
.beam-copy h2{font-family:var(--disp);font-weight:600;font-size:clamp(32px,4.2vw,58px);line-height:1.01;letter-spacing:0;color:var(--bright);margin:16px 0 0;text-wrap:balance}
.beam-copy .lead{max-width:520px;color:#AEBECE}
.beam-link{display:inline-flex;margin-top:2px;color:var(--accent);font-size:12px;letter-spacing:.04em;transition:transform .35s var(--ease),color .35s var(--ease)}
.beam-link:hover{transform:translateX(6px);color:var(--bright)}
.beam-stack{display:grid;grid-template-columns:1fr;gap:16px;position:relative}
.beam-card{position:relative;min-height:250px;border:1px solid #1E2C3C;background:linear-gradient(135deg,#0d1722,#07090C 58%);display:grid;grid-template-columns:230px 1fr;gap:28px;align-items:center;padding:24px 28px;overflow:hidden;transition:transform .55s var(--ease),border-color .35s var(--ease),background .35s var(--ease)}
.beam-card:before{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent 0%,rgba(56,189,248,.08) 34%,transparent 68%);transform:translateX(-34%);opacity:.85;pointer-events:none;transition:transform .7s var(--ease),opacity .35s var(--ease)}
.beam-card:after{content:'';position:absolute;left:0;right:0;top:50%;height:1px;background:linear-gradient(90deg,transparent,rgba(56,189,248,.45),transparent);opacity:.65;pointer-events:none}
.beam-card:hover{transform:translateY(-4px);border-color:#315571;background:linear-gradient(135deg,#101f2e,#07090C 62%)}
.beam-card:hover:before{transform:translateX(22%);opacity:1}
.beam-card img{position:relative;z-index:1;width:100%;height:205px;object-fit:contain;object-position:center;filter:drop-shadow(0 0 22px rgba(56,189,248,.14));transition:transform .7s var(--ease),filter .7s var(--ease)}
.beam-card:hover img{transform:translateY(-4px) scale(1.04);filter:drop-shadow(0 0 30px rgba(56,189,248,.22))}
.beam-card div{position:relative;z-index:1}
.beam-card span{display:block;color:var(--accent);font-size:11px;letter-spacing:.08em;margin-bottom:14px}
.beam-card h3{font-family:var(--disp);font-weight:600;font-size:clamp(24px,2.7vw,36px);line-height:1.04;color:var(--bright);margin:0 0 12px;text-wrap:balance}
.beam-card p{color:var(--muted);max-width:420px;font-size:14px;line-height:1.7;margin:0}
.gsap-ready [data-motion]{will-change:transform,opacity}

@media(max-width:860px){
  .beam-lab{grid-template-columns:1fr;gap:26px}
  .beam-lab:before{left:20px;right:20px;top:48px}
  .beam-copy{padding-left:20px}
  .beam-card{grid-template-columns:170px 1fr;min-height:220px;padding:22px}
  .beam-card img{height:176px}
}
@media(max-width:560px){
  .beam-card{grid-template-columns:1fr;gap:18px;min-height:0;padding:22px 18px}
  .beam-card img{height:190px}
  .beam-card h3{font-size:25px}
}

/* ---- readability pass: только мелкие подписи, без сдвига сетки ---- */
.mlink{font-size:13.5px}
.mlink i{font-size:12.5px}
.tag,.eyebrow,.crumbs,.ccard .ci,.ccard .subln,.gallery .main .sku,.gallery .main .gcount,.buybox .stk,.btn.order .ol1,.buybox .ordernote,.trust li,.specwrap .tag2,.fg h4,.copy,.hstats span,.bp-readout span,.optic-core span,.optic-note,.route-primary .mono,.route-line .ti,.route-line em,.scenario-rail span,.scenario-rail em,.partner-strip span,.badge,.pk-top,.pk-field span,.pk-rr,.pe-steps span,.side-h,.subgrp-title,.fttl,.resn,.sortf label,.ftk-lbl,.ftk-clear,.b2b-kicker,.b2b-readout span,.b2b-segments div:before,.b2b-spec span,.b2b-flow li:before,.beam-link,.beam-card span{font-size:var(--fs-xs)}
.vt,.hud,.bp-readout span,.optic-core span,.b2b-readout span{font-size:var(--fs-xxs)}
.btn,.search input,.chip,.empty,.ccard .cc,.trow .tdesc,.trow .tc,.sc .noimg,.pinfo .pvendor,.specs td:first-child,.fg a,.fg p,.pk-list li,.pk-field select,.sortf select,.fchip,.fclear,.fbtn,.ftoken,.pager a,.pager .on,.pager .gap,.b2b-spec b,.b2b-contact-links a{font-size:var(--fs-sm)}
.lead,.ssub,.route-primary p,.pk-l .lead,.pe-copy .lead,.b2b-hero p,.b2b-split p,.b2b-contact p,.beam-card p{line-height:1.72}
.trow .ti{font-size:var(--fs-sm)}
.sc .ph .sku,.sc .sku{font-size:var(--fs-xxs)}
.sc .nm{font-size:15px}
.sc .sr{font-size:12px;line-height:1.42}
.sc .stk{font-size:var(--fs-xxs)}
.cathead .meta{font-size:var(--fs-sm)}
.btn.order .ol2{font-size:17px}
.specs td{font-size:14px;line-height:1.55}
.desc,.info-body,.info-wide .info-body{font-size:16px;line-height:1.8}
.info-body h3{font-size:20px}
.fg a,.fg p{font-size:var(--fs-md);line-height:1.55}
.search{height:42px}
.pk-top,.pk-rr{line-height:1.4}
.pe-steps em{font-size:15px}
.sidelink,.subgrp .sidelink{font-size:13px;line-height:1.42}
.sidelink b{font-size:var(--fs-xxs)}
.fchip,.ftoken{line-height:1.35}
.ftoken .x{font-size:15px}
.b2b-segments span,.b2b-flow li span{font-size:15px;line-height:1.7}
.b2b-contact-links{min-width:260px}

@media(max-width:1180px){
  .mlink{font-size:13px}
}
@media(max-width:1080px){
  .mlink{font-size:17px}
  .mlink i{font-size:13px}
  .search{height:50px}
  .search input{font-size:14px}
}
@media(max-width:480px){
  .sc .nm{font-size:13.5px;min-height:38px}
  .sc .sr{font-size:11px;gap:6px}
  .sc .stk{font-size:10.5px}
  .btn{font-size:13px}
  .b2b-contact-links{min-width:0}
}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  .gallery .main:hover img{transform:none}
  .sc:hover{transform:none}
}

/* ---- typography repair: self-hosted Cygre, readable sizes, stable rendering ---- */
html{
  font-size:17px;
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}
body,button,input,select,textarea{
  font-family:var(--body);
  font-weight:400;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  font-synthesis-weight:none;
}
body{line-height:1.62}
.lead,.ssub,.desc,.info-body,.info-wide .info-body{font-size:var(--fs-lead);line-height:1.82}
.fg a,.fg p,.proof-cell span,.signal-strip em,.route-primary p,.pe-steps em,.b2b-segments span,.b2b-flow li span,.beam-card p{font-size:var(--fs-md);line-height:1.68}
.tag,.eyebrow,.crumbs,.vt,.hud,.hstats span,.bp-readout span,.optic-core span,.optic-note,.route-line em,.scenario-rail span,.scenario-rail em,.partner-strip span,.badge,.copy,.fg h4,.beam-card span{font-size:var(--fs-xs)}
.mlink,.btn,.search input,.chip,.fchip,.ftoken,.pager a,.pager .on,.pager .gap,.b2b-contact-links a{font-size:var(--fs-sm)}
.sc .nm{font-size:16px;line-height:1.42}
.sc .sr,.specs td:first-child,.cathead .meta,.sidelink,.subgrp .sidelink{font-size:var(--fs-sm);line-height:1.45}
.sc .stk,.sc .sku,.sc .ph .sku,.gallery .main .sku,.gallery .main .gcount{font-size:var(--fs-xxs)}
.hero h1,.shead h2,.cathead h1,.pinfo h1,.bp-copy h2,.showcase-copy h2,.route-primary h3,.picker h2,.pe-copy h2,.info h1,.info-wide>h1,.b2b-hero h2,.b2b-audience h3,.b2b-split h3,.b2b-flow h3,.b2b-contact h3,.beam-copy h2,.beam-card h3,.optic-core b,.hstats b{letter-spacing:0}
.specs td{font-size:15px;line-height:1.62}
.info-body h3{font-size:21px;line-height:1.35}
.ftr a[href^="tel:"]{font-size:18px;color:var(--bright);font-weight:500}

@media(max-width:1080px){
  html{font-size:16px}
  .lead,.ssub,.desc,.info-body,.info-wide .info-body{font-size:17px}
  .mlink{font-size:17px}
}
@media(max-width:480px){
  html{font-size:16px}
  .lead,.ssub,.desc,.info-body,.info-wide .info-body{font-size:16px;line-height:1.78}
  .sc .nm{font-size:14px}
  .sc .sr{font-size:12px}
  .btn{font-size:13px}
}
