/* Концепт «Производственный цикл». Подключается поверх site.css. */
:root{--panel:#1b3238;--steel:#55746d;--glow:#9cc8bc}

/* --- 3. чертёжный фон и уголки --- */
.bp{background-image:linear-gradient(#9cc8bc14 1px,transparent 1px),linear-gradient(90deg,#9cc8bc14 1px,transparent 1px);background-size:40px 40px;background-position:-1px -1px}
.hero.bp{background-color:var(--night)}
.frame{position:relative;--c:var(--steel);background-image:
 linear-gradient(var(--c),var(--c)),linear-gradient(var(--c),var(--c)),linear-gradient(var(--c),var(--c)),linear-gradient(var(--c),var(--c)),
 linear-gradient(var(--c),var(--c)),linear-gradient(var(--c),var(--c)),linear-gradient(var(--c),var(--c)),linear-gradient(var(--c),var(--c));
 background-size:18px 2px,2px 18px,18px 2px,2px 18px,18px 2px,2px 18px,18px 2px,2px 18px;
 background-position:0 0,0 0,100% 0,100% 0,0 100%,0 100%,100% 100%,100% 100%;background-repeat:no-repeat;overflow:hidden}
.frame:after{content:'';position:absolute;left:0;right:0;top:0;height:60px;background:linear-gradient(#9cc8bc00,#9cc8bc40,#9cc8bc00);transform:translateY(-110%);pointer-events:none;opacity:0}
.frame:hover:after,.frame:focus-within:after{opacity:1;animation:scan 1.1s ease-in-out}
@keyframes scan{from{transform:translateY(-110%)}to{transform:translateY(520%)}}

/* --- 1. конвейер --- */
.hero-inner{padding-bottom:34px}
.conveyor{margin-top:44px;border-top:1px solid #2b4650;padding-top:10px}
.conveyor svg{display:block;width:100%;height:auto;overflow:visible}
.belt{fill:var(--panel);stroke:var(--steel)}
.belt-run{stroke:var(--glow);stroke-width:2;stroke-dasharray:12 16;animation:belt 1.1s linear infinite}
@keyframes belt{to{stroke-dashoffset:-28}}
.legs line{stroke:var(--steel);stroke-width:2}
.frame-line{fill:none;stroke:var(--steel);stroke-width:2}
.head{fill:var(--panel);stroke:var(--steel)}
.num{fill:var(--glow);font:500 12px var(--mono)}
.lbl{fill:#c5d5d0;font:600 15px var(--font);text-anchor:middle}
.led{fill:#3d6b60;opacity:.45;animation:led 16s infinite}
.tool{stroke:#c5d5d0;stroke-width:4}.tool-tip{fill:var(--glow)}
.sensor rect{fill:#2f5a52}.spark .d{fill:var(--glow);opacity:0;animation:rise 2s ease-out infinite}.spark .d2{animation-delay:.6s}.spark .d3{animation-delay:1.2s}
@keyframes rise{0%{transform:translateY(8px);opacity:0}30%{opacity:1}100%{transform:translateY(-34px);opacity:0}}
.screen rect{fill:#24423f;stroke:var(--steel)}.screen .blink{animation:blink 2.4s steps(1) infinite}
@keyframes blink{0%,60%{fill:#24423f}60.1%,100%{fill:var(--glow)}}
.db path,.db ellipse{fill:#24423f;stroke:var(--steel);stroke-width:2}
.arm{animation:drill 16s infinite}
@keyframes drill{0%,7%{transform:translateY(0)}8%{transform:translateY(20px)}9%{transform:translateY(0)}10%{transform:translateY(20px)}11%{transform:translateY(0)}12%{transform:translateY(20px)}13%,100%{transform:translateY(0)}}
.led1{animation-name:l1}.led2{animation-name:l2}.led3{animation-name:l3}.led4{animation-name:l4}
@keyframes l1{0%,6%{opacity:.45;fill:#3d6b60}7%,13%{opacity:1;fill:#9cc8bc}14%,100%{opacity:.45;fill:#3d6b60}}
@keyframes l2{0%,30%{opacity:.45;fill:#3d6b60}31%,37%{opacity:1;fill:#9cc8bc}38%,100%{opacity:.45;fill:#3d6b60}}
@keyframes l3{0%,55%{opacity:.45;fill:#3d6b60}56%,62%{opacity:1;fill:#9cc8bc}63%,100%{opacity:.45;fill:#3d6b60}}
@keyframes l4{0%,80%{opacity:.45;fill:#3d6b60}81%,87%{opacity:1;fill:#9cc8bc}88%,100%{opacity:.45;fill:#3d6b60}}
.piece{animation:travel 16s linear infinite}
.piece .s{opacity:0}
.piece .s path,.piece .s rect,.piece .s circle{stroke:#0e1a1f;stroke-width:1.5}
.s0 rect{fill:#8d9d99}.s1 path,.s2 path,.s3 path,.s4 path{fill:#b7d3cb}.s1 circle,.s2 circle,.s3 circle,.s4 circle{fill:#0e1a1f;stroke:none}
.s2 .dots circle{fill:var(--glow);stroke:none}.s3 .tag{fill:#f6f8f6}.s3 .qr{fill:#111f26;stroke:none}
.s4 .ok-bg{fill:#2f9e73;stroke:none}.s4 .ok{fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.s0{animation:o0 16s infinite}.s1{animation:o1 16s infinite}.s2{animation:o2 16s infinite}.s3{animation:o3 16s infinite}.s4{animation:o4 16s infinite}
@keyframes travel{
 0%{transform:translateX(30px);opacity:0}2%{opacity:1}
 7%{transform:translateX(150px);animation-timing-function:linear}13%{transform:translateX(150px)}
 31%{transform:translateX(450px);animation-timing-function:linear}37%{transform:translateX(450px)}
 56%{transform:translateX(750px);animation-timing-function:linear}62%{transform:translateX(750px)}
 81%{transform:translateX(1050px);animation-timing-function:linear}87%{transform:translateX(1050px)}
 97%{opacity:1}100%{transform:translateX(1180px);opacity:0}}
@keyframes o0{0%,9.5%{opacity:1}10.5%,100%{opacity:0}}
@keyframes o1{0%,9.5%{opacity:0}10.5%,33.5%{opacity:1}34.5%,100%{opacity:0}}
@keyframes o2{0%,33.5%{opacity:0}34.5%,58.5%{opacity:1}59.5%,100%{opacity:0}}
@keyframes o3{0%,58.5%{opacity:0}59.5%,83.5%{opacity:1}84.5%,100%{opacity:0}}
@keyframes o4{0%,83.5%{opacity:0}84.5%,100%{opacity:1}}
.conveyor-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;border-top:1px solid #2b4650;padding-top:12px;margin-top:6px}
.readout{font:500 12px var(--mono);letter-spacing:.06em;color:#9dbbb2}.readout b{color:var(--glow);font-weight:500}
#cv-pause{font:500 12px var(--mono);letter-spacing:.05em;text-transform:uppercase;color:var(--white);background:transparent;border:1px solid #55746f;padding:6px 12px;cursor:pointer;min-height:32px}
#cv-pause:hover{background:#ffffff14}
.is-paused *{animation-play-state:paused!important}

/* --- 2. маршрутные листы --- */
.sec-lead{max-width:640px;color:#3f5c56;font-size:17px;margin:8px 0 0}
.section-heading h2{margin-top:10px}

.sheet-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:36px}
.sheet{--c:#6d8e85;background-color:#f6f8f6;padding:22px 22px 18px;display:flex;flex-direction:column;gap:14px;transition:transform .2s,box-shadow .2s}
.sheet:hover{transform:translateY(-3px);box-shadow:0 14px 30px #20332e1f}
.sheet header{display:flex;justify-content:space-between;font:500 11px var(--mono);letter-spacing:.06em;color:var(--muted);border-bottom:1px dashed #9bb5ad;padding-bottom:10px}
.sheet header b{color:var(--ink)}
.sheet h3{font-size:21px;line-height:1.25;margin:0;letter-spacing:-.02em;min-height:79px}
.sheet h3 a:hover{text-decoration:underline;text-underline-offset:4px}
.sheet dl{display:grid;grid-template-columns:repeat(3,auto);justify-content:space-between;gap:10px;margin:0;font-size:13px}
.sheet dt{font:500 10px var(--mono);letter-spacing:.06em;color:var(--muted);text-transform:uppercase}.sheet dd{margin:2px 0 0;font-weight:700}
.ops{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;font-size:13px;position:relative}
.ops li{padding-left:24px;position:relative;color:#6b8680}
.ops li:before{content:'';position:absolute;left:3px;top:6px;width:9px;height:9px;border-radius:50%;border:2px solid #9bb5ad;background:#f6f8f6}
.ops li:after{content:'';position:absolute;left:7px;top:17px;width:2px;height:calc(100% - 4px);background:#c9d6d1}.ops li:last-child:after{display:none}
.ops li.done{color:var(--ink)}.ops li.done:before{background:#2f9e73;border-color:#2f9e73}
.ops li.now{color:var(--ink);font-weight:700}.ops li.now:before{border-color:#2f9e73;animation:pulse 1.6s infinite}
@keyframes pulse{50%{box-shadow:0 0 0 6px #2f9e7326}}
.sheet footer{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:6px}
.barcode{display:block;height:34px;width:130px;background:repeating-linear-gradient(90deg,var(--ink) 0 2px,transparent 2px 4px,var(--ink) 4px 5px,transparent 5px 8px,var(--ink) 8px 11px,transparent 11px 13px);opacity:.8;-webkit-mask-size:100% 100%}
.barcode[data-code="9"]{background-position:3px 0}.barcode[data-code="7"]{background-position:7px 0;width:118px}.barcode[data-code="11"]{background-position:1px 0;width:138px}
.stamp{font:700 12px/1.15 var(--mono);letter-spacing:.08em;color:#1c7d58;border:2px solid #1c7d58;padding:6px 10px;border-radius:3px;transform:rotate(-7deg);text-align:center;opacity:.9}
.stamp.wip{color:#8a6a14;border-color:#8a6a14}

/* --- 5. схема --- */
.scheme-sec{background-color:#dce7e3;padding-block:84px;background-image:linear-gradient(#4c9e8b1a 1px,transparent 1px),linear-gradient(90deg,#4c9e8b1a 1px,transparent 1px)}
.scheme svg{display:block;width:100%;height:auto;margin-top:30px}
.node{cursor:pointer;outline:none}
.node rect{fill:#f6f8f6;stroke:#6d8e85;stroke-width:2;transition:fill .2s,stroke .2s}
.node:hover rect{stroke:var(--ink)}
.node[aria-pressed=true] rect{fill:var(--night);stroke:var(--night)}
.node:focus-visible rect{stroke:#4c9e8b;stroke-width:4}
.n-num{font:500 12px var(--mono);fill:var(--muted)}.n-t{font:800 26px var(--font);fill:var(--ink);letter-spacing:-.02em}.n-s{font:500 12px var(--mono);fill:var(--muted);letter-spacing:.04em}
.node[aria-pressed=true] .n-num,.node[aria-pressed=true] .n-s{fill:var(--glow)}.node[aria-pressed=true] .n-t{fill:#fff}
.edge line{stroke:#7fa196;stroke-width:2;stroke-dasharray:4 5}
.edge.on line{stroke:var(--night);stroke-dasharray:none}
.pk{opacity:0;animation:pk 3s linear infinite}.pk.p2{animation-delay:1.5s}
.pk.up{fill:#4c9e8b;animation-name:pku}.pk.dn{fill:var(--night);animation-name:pkd}
@keyframes pku{0%{transform:translateX(0);opacity:0}10%{opacity:1}90%{opacity:1}100%{transform:translateX(100px);opacity:0}}
@keyframes pkd{0%{transform:translateX(0);opacity:0}10%{opacity:1}90%{opacity:1}100%{transform:translateX(-100px);opacity:0}}
.legend{font:500 12px var(--mono);fill:var(--muted);letter-spacing:.05em}
.scheme-panel{margin-top:10px;background:var(--night);color:var(--white);padding:28px 32px;display:grid;gap:12px}
.scheme-panel h3{margin:0;font-size:26px;letter-spacing:-.02em;color:#fff}.scheme-panel p{margin:0;color:#c5d5d0;max-width:760px}
.scheme-panel .cols{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:6px}
.scheme-panel h4{margin:0 0 8px;font:500 11px var(--mono);letter-spacing:.08em;color:var(--glow);text-transform:uppercase}
.scheme-panel ul{margin:0;padding-left:18px;color:#dbe7e3;font-size:15px}.scheme-panel li{margin:4px 0}

/* --- 6. табло --- */
.board-sec{background:var(--night);color:var(--white);padding-block:84px 96px}
.board-sec .sec-lead{color:#9dbbb2}.board-sec h2{color:#fff}
.andon{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:#2b4650;border:1px solid #2b4650;margin-top:34px}
.tile{background:#14262d;padding:26px 24px 24px;display:flex;flex-direction:column;gap:6px;position:relative}
.tile small{font:500 11px var(--mono);letter-spacing:.08em;color:#9dbbb2}
.tile b{font:800 64px/1 var(--font);letter-spacing:-.04em;color:#fff;font-variant-numeric:tabular-nums;margin-top:8px}
.tile span:not(.led-s){color:#c5d5d0;font-size:14px}
.led-s{position:absolute;right:20px;top:24px;width:10px;height:10px;border-radius:50%;background:#35c58a;box-shadow:0 0 0 0 #35c58a99;animation:led-p 2s infinite}
.led-s.idle{background:#e0b23c;box-shadow:0 0 0 0 #e0b23c99}
@keyframes led-p{70%{box-shadow:0 0 0 9px #35c58a00}100%{box-shadow:0 0 0 0 #35c58a00}}
.led-s.idle{animation-name:led-i}@keyframes led-i{70%{box-shadow:0 0 0 9px #e0b23c00}100%{box-shadow:0 0 0 0 #e0b23c00}}

/* --- 7. мелочи --- */

/* --- маршрут по странице (боковая шкала) --- */
.route{position:fixed;left:14px;top:50%;transform:translateY(-50%);z-index:40;display:none}
@media(min-width:1380px){.route{display:block}}
.route-track{position:absolute;left:11px;top:14px;bottom:14px;width:2px;background:#8aa59d55}.route-track i{display:block;width:100%;height:100%;background:#4c9e8b;transform:scaleY(var(--p,0));transform-origin:top}
.route ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:46px;position:relative}
.route a{display:flex;align-items:center;gap:10px;color:#6d8e85;font:500 11px var(--mono)}
.route b{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#e8efec;border:2px solid #9bb5ad;font-weight:500;font-size:10px;transition:background .2s,border-color .2s,color .2s}
.route a span{opacity:0;transform:translateX(-6px);transition:opacity .2s,transform .2s;background:var(--night);color:#fff;padding:3px 8px;white-space:nowrap}
.route a:hover span,.route a:focus-visible span,.route a.on span{opacity:1;transform:none}
.route a.on b{background:var(--night);border-color:var(--night);color:var(--glow)}
.route a.passed b{border-color:#4c9e8b;background:#4c9e8b;color:#fff}

/* --- индикатор чтения и значок прототипа --- */
.read-progress{position:fixed;left:0;right:0;top:0;height:4px;z-index:90;background:#9cc8bc22;pointer-events:none}
.read-progress i{position:absolute;left:0;top:0;bottom:0;width:calc(var(--read,0)*100%);background:var(--glow)}
.read-progress i:after{content:'';position:absolute;right:0;top:0;width:18px;height:4px;background:#fff;box-shadow:0 0 10px var(--glow)}

@media(max-width:1000px){
 .sheet-grid{grid-template-columns:1fr}.andon{grid-template-columns:repeat(2,1fr)}.scheme-panel .cols{grid-template-columns:1fr}.sheet h3{min-height:0}
 .scheme svg{overflow:auto}
}
@media(max-width:600px){.andon{grid-template-columns:1fr}.tile b{font-size:52px}.conveyor{margin-top:30px}.lbl{font-size:40px}.num{font-size:26px}}

/* уважение к настройкам системы: без движения — статичная композиция */
@media(prefers-reduced-motion:reduce){
 *,*:before,*:after{animation:none!important;transition:none!important}
 .piece{transform:translateX(450px)}.s0{opacity:0}.s2{opacity:1}.pk{opacity:.9}.pk.p2{display:none}
 .tile b{font-variant-numeric:tabular-nums}
}
/* первый экран: линия целиком в видимой области */
.hero .hero-inner{padding-top:56px}.hero .hero-subtitle{margin-bottom:0}.hero .eyebrow{margin-bottom:22px}.hero h1{margin-bottom:16px}
.conveyor{margin-top:26px}


/* --- интеграция в сайт --- */
.hero .conveyor{margin-top:30px}
.article-card.sheet{border-top:0;padding:22px 22px 18px;min-height:0;gap:14px;background-color:#f6f8f6}
.article-card.sheet h3{margin:0;font-size:22px;line-height:1.25;letter-spacing:-.02em}
.article-card.sheet p{margin:0;font-size:15px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.article-card.sheet footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:4px}
.article-card.sheet footer .text-link{margin-top:0}
.article-card.sheet dl{margin:0}
.aside-sheet{--c:#6d8e85;background-color:#f6f8f6;padding:18px 18px 14px;display:flex;flex-direction:column;gap:12px;color:var(--ink);font:inherit;position:sticky;top:24px}
.aside-sheet dl{grid-template-columns:1fr;gap:8px}.aside-sheet dl>div{display:flex;justify-content:space-between;gap:10px;align-items:baseline}
.aside-sheet .barcode{width:96px;height:28px}
.reading-aside p.aside-note{font-size:12px;margin:0;color:var(--muted)}
.err-wrap{padding-block:40px 110px}
.err-page{--c:var(--steel);background-color:var(--night);color:#fff;padding:44px 40px;display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.err-page small{font:500 11px var(--mono);letter-spacing:.08em;color:var(--mint)}
.err-page b{font:500 clamp(72px,14vw,140px)/1 var(--mono);letter-spacing:-.04em;background:linear-gradient(90deg,#fff 70%,#e0b23c);-webkit-background-clip:text;background-clip:text;color:transparent}
.err-page p{margin:0;max-width:560px;color:#c5d5d0;font-size:18px}
.board-sec{background:#0e1a1f;border-top:1px solid #2b4650}
.board-sec .section-heading .eyebrow{color:var(--mint)}
.sheets-sec .section-heading,.scheme-sec .section-heading{margin-bottom:0}
@media(max-width:850px){.aside-sheet{display:none}}

/* --- инструменты в подвале --- */
.tools{margin-top:6px;padding-top:18px;border-top:1px solid #2b4650;width:100%}
.tools-head{display:block;font:500 11px var(--mono);letter-spacing:.1em;color:var(--mint);margin-bottom:12px}
.tools ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}
.ftool{--tc:#9dbbb2;display:grid;grid-template-columns:30px 1fr;column-gap:12px;align-items:center;padding:8px 0;color:var(--tc);transition:color .25s}
.ftool svg{width:30px;height:30px;fill:currentColor;grid-row:1/3;transition:transform .3s}
.ftool .cut{fill:var(--night)}
.ftool b{font:800 17px/1.1 var(--font);letter-spacing:-.02em;color:inherit}
.ftool-host{font:500 11px var(--mono);letter-spacing:.04em;color:#6f9187;transition:color .25s}
.ftool-host span{display:inline-block;transition:transform .2s}
.ftool:hover,.ftool:focus-visible{color:var(--tc-hover)}.ftool:hover .ftool-host,.ftool:focus-visible .ftool-host{color:var(--tc-hover)}
.ftool:hover svg{transform:rotate(-8deg) scale(1.08)}.ftool:hover .ftool-host span{transform:translate(3px,-3px)}
.t-syboard{--tc-hover:#a9a2ff}.t-attest0{--tc-hover:#49d9ff}.t-orbita{--tc-hover:#96b88a}
.footer-grid .ftool:hover,.footer-grid .ftool:focus-visible{color:var(--tc-hover);text-decoration:none}.footer-grid .ftool:focus-visible b{text-decoration:underline;text-underline-offset:4px}

/* инструменты: компактный ряд */
.tools ul{flex-direction:row;flex-wrap:wrap;gap:6px 22px}
.ftool{display:flex;flex-direction:column;align-items:flex-start;gap:7px;padding:4px 0}
.ftool svg{width:24px;height:24px;grid-row:auto}
.ftool b{font-size:13px}
.ftool-host{display:none}
.ftool img{width:24px;height:24px;object-fit:contain;filter:grayscale(1) sepia(.35) hue-rotate(95deg) saturate(.8) brightness(1.15);transition:filter .3s,transform .3s}
.ftool:hover img,.ftool:focus-visible img{filter:none;transform:rotate(-8deg) scale(1.12)}

/* заголовок главной: компактнее и ровнее */
.hero h1{font-size:clamp(32px,4.2vw,56px);line-height:1.1;letter-spacing:-.04em;max-width:none}
.hero h1 span{display:block;margin-top:.08em;text-wrap:balance}
@media(max-width:600px){.hero h1{font-size:clamp(26px,7.4vw,36px);line-height:1.14;letter-spacing:-.035em}}

/* --- меню: кнопки со «сканером» и уголками (только десктоп; мобильное меню без изменений) --- */
@media(min-width:851px){
 .site-nav{gap:4px}
 .site-nav a{position:relative;isolation:isolate;overflow:hidden;padding:9px 15px;border:1px solid transparent;border-radius:2px;font-weight:600;letter-spacing:.01em;box-shadow:none;
  transition:color .2s,background-color .2s,border-color .2s,transform .1s}
 /* переливающийся блик */
 .site-nav a:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(105deg,transparent 35%,#9cc8bc4d 50%,transparent 65%);transform:translateX(-130%)}
 /* уголки, как у рамок на сайте */
 .site-nav a:after{content:'';position:absolute;inset:3px;pointer-events:none;opacity:0;transform:scale(.9);transition:opacity .2s,transform .25s;
  --c:var(--mint);background-image:linear-gradient(var(--c),var(--c)),linear-gradient(var(--c),var(--c)),linear-gradient(var(--c),var(--c)),linear-gradient(var(--c),var(--c)),linear-gradient(var(--c),var(--c)),linear-gradient(var(--c),var(--c)),linear-gradient(var(--c),var(--c)),linear-gradient(var(--c),var(--c));
  background-size:7px 1px,1px 7px,7px 1px,1px 7px,7px 1px,1px 7px,7px 1px,1px 7px;background-position:0 0,0 0,100% 0,100% 0,0 100%,0 100%,100% 100%,100% 100%;background-repeat:no-repeat}
 .site-nav a:hover,.site-nav a:focus-visible{color:#fff;background-color:#ffffff0d;border-color:#2f4a50}
 .site-nav a:hover:before,.site-nav a:focus-visible:before{animation:nav-sheen .9s ease-out}
 .site-nav a:hover:after,.site-nav a:focus-visible:after{opacity:1;transform:none}
 .site-nav a:focus-visible{outline-offset:2px}
 /* текущая страница: светодиод и подсветка */
 .site-nav a[aria-current]{color:var(--mint);background-color:#9cc8bc14;border-color:#3b5f58}
 .site-nav a[aria-current]:hover{color:#fff}
 .site-nav a[aria-current]:before{transform:none;background:linear-gradient(90deg,transparent,#9cc8bc,transparent);inset:auto 12px 0;height:2px;animation:nav-glow 3.2s ease-in-out infinite}
 .site-nav a[aria-current]:hover:before{animation:nav-glow 3.2s ease-in-out infinite}
 .site-nav a[aria-current]:after{opacity:0}
}
@keyframes nav-sheen{from{transform:translateX(-130%)}to{transform:translateX(130%)}}
@keyframes nav-glow{50%{opacity:.35}}
@media(min-width:851px) and (max-width:1100px){.site-nav{gap:2px}.site-nav a{padding:8px 10px}}
@media(prefers-reduced-motion:reduce){.site-nav a:hover:before{animation:none;transform:none;opacity:.4}}

/* --- шрифт меню: PT Sans (как в проекте PBX) ---
   БЫЛО (чтобы вернуть): шрифт сайта (Manrope, Arial, sans-serif), font-size 13px (≤1100px: 12px), font-weight 600, letter-spacing .01em */
@font-face{font-family:'PT Sans';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/pt-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:'PT Sans';font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/pt-sans-cyrillic-700.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'PT Sans';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/pt-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:'PT Sans';font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/pt-sans-latin-700.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}
@media(min-width:851px){
 .site-nav{font-family:'PT Sans',Arial,sans-serif;font-size:17px}
 .site-nav a{font-weight:400;letter-spacing:.015em;padding:8px 15px}
}
@media(min-width:851px) and (max-width:1100px){.site-nav{font-size:15px}.site-nav a{padding:7px 9px}}

/* кнопка «Резюме» в меню выделена как действие для HR */
@media(min-width:851px){.site-nav a.nav-cta{border-color:#3b5f58;color:var(--mint);margin-left:6px}.site-nav a.nav-cta:hover{color:#fff}}

/* --- скриншоты проектов на странице «Разработка» --- */
.project-row.has-shots{grid-template-columns:190px minmax(0,1fr)}
.proj-shots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:24px}
.proj-shots[data-count="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}
.proj-shots figure{margin:0;display:flex;flex-direction:column;gap:8px;min-width:0}
.shot{--c:#6d8e85;display:block;aspect-ratio:16/10;background-color:#fff;padding:0;cursor:zoom-in;border:1px solid var(--line);transition:transform .25s,box-shadow .25s}
.shot img{width:100%;height:100%;object-fit:cover;object-position:top left;display:block}
.shot:hover,.shot:focus-visible{transform:translateY(-3px);box-shadow:0 16px 34px #11202626}
.proj-shots figcaption{font:500 12px/1.4 var(--mono);letter-spacing:.03em;color:var(--muted)}
.shots-note{margin:12px 0 0;font:500 11px var(--mono);letter-spacing:.05em;color:#6b8680;text-transform:uppercase}
.lb{border:0;padding:0;background:transparent;max-width:min(1400px,94vw);max-height:92vh;overflow:visible}
.lb::backdrop{background:#0b151ae6}
.lb img{display:block;max-width:100%;max-height:86vh;border:1px solid #55746d;background:#fff}
@media(max-width:1000px){.project-row.has-shots{grid-template-columns:130px minmax(0,1fr)}.proj-shots{grid-template-columns:1fr}.proj-shots[data-count="2"]{grid-template-columns:1fr}}
@media(max-width:600px){.project-row.has-shots{grid-template-columns:1fr}}

/* --- телефон и почта на странице «Контакты»: строка выглядят как Telegram и VK --- */
.contact-list>.reveal-row{display:flex;justify-content:space-between;align-items:stretch;gap:15px;border-bottom:1px solid var(--line);font-size:19px}
.reveal-row .pr-main,.reveal-row .pr-arrow{background:none;border:0;padding:20px 0;font:inherit;color:inherit;cursor:pointer;min-height:0;text-align:left}
.reveal-row .pr-main{flex:1}.reveal-row .pr-arrow{padding-left:15px}
.reveal-row .pr-number{flex:1;display:block;padding:20px 0;color:inherit}
.reveal-row:hover,.reveal-row .pr-main:focus-visible,.reveal-row .pr-arrow:focus-visible,.reveal-row .pr-number:focus-visible{color:#287461}
.reveal-row button:disabled{cursor:wait;opacity:.7}

/* --- окно просмотра: стрелки, подпись, счётчик --- */
.lb{overflow:visible}
.lb img{margin:0 auto}
.lb-meta{display:flex;justify-content:space-between;gap:16px;margin-top:12px;color:#c5d5d0;font:500 13px/1.4 var(--mono)}
.lb-count{white-space:nowrap;color:var(--mint)}
.lb-close{position:absolute;right:-6px;top:-46px;background:transparent;border:1px solid #55746d;color:#fff;padding:8px 14px;font:500 12px var(--mono);letter-spacing:.06em;cursor:pointer;min-height:0}
.lb-nav{position:absolute;top:calc(50% - 30px);width:48px;height:64px;border:1px solid #55746d;background:#111f26cc;color:#fff;font:400 34px/1 var(--font);cursor:pointer;min-height:0;padding:0;transition:background .2s}
.lb-nav:hover,.lb-nav:focus-visible,.lb-close:hover,.lb-close:focus-visible{background:var(--mint);color:var(--night);border-color:var(--mint)}
.lb-prev{left:-62px}.lb-next{right:-62px}
@media(max-width:1000px){.lb-prev{left:6px}.lb-next{right:6px}.lb-nav{background:#111f26e6}}

/* «показать» внутри текста */
.reveal-inline{display:inline;min-height:0;padding:0;border:0;background:none;font:inherit;color:#2f7364;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.reveal-inline:hover,.reveal-inline:focus-visible{color:var(--ink)}.reveal-inline:disabled{cursor:wait;opacity:.7}
.reveal-inline-result{color:#2f7364;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}

/* --- глоссарий: доводка под остальной сайт (маркировка, отступы, состояния при наведении) --- */
.glossary-search{max-width:none;transition:border-color .2s,box-shadow .2s}.glossary-search:focus-within{border-color:var(--mint);box-shadow:0 0 0 3px #9cc8bc40}
.glossary-search input{font-size:17px}.glossary-search button{min-height:44px;cursor:pointer;transition:background .2s,color .2s}.glossary-search button:hover,.glossary-search button:focus-visible{background:var(--night);color:#fff}
.glossary-filters a{font-size:14px;padding:9px 16px;transition:background-color .2s,color .2s,border-color .2s}
.glossary-head>span{padding-bottom:6px}
.gost-row{align-items:start;transition:background-color .2s}
.gost-row:hover{background:linear-gradient(90deg,#ffffff00,#ffffff70 50%,#ffffff00)}
.gost-code b{font-size:17px}.gost-code small{font-size:11px}
.gost-copy h2 a{transition:color .2s}.gost-row:hover .gost-copy h2 a{color:#287461}
.gost-copy p{font-size:15px}.gost-copy li,.standard-keywords li{font-size:11px;padding:4px 9px}
.gost-action{align-self:stretch}.gost-action .text-link{font-size:13px;padding-bottom:2px}
.g-status{font-size:11px}.g-status:before{content:'';display:inline-block;width:6px;height:6px;border-radius:50%;background:currentColor;margin-right:7px;vertical-align:1px}
.glossary-route li{font-size:15px}.glossary-route li b{font-size:11px}
.breadcrumbs{font-size:11px}
.standard-content>section>span{font-size:11px}
@media(max-width:600px){.gost-action{align-self:auto;width:100%;justify-content:space-between;align-items:center}.glossary-filters a{flex:1 1 auto;justify-content:center}}

/* --- глоссарий: поиск как «панель управления» на стыке тёмного блока и каталога, чтобы не терялся на фоне --- */
.glossary-hero{padding-bottom:0;position:relative;z-index:2}
.glossary-hero>div>p{margin-bottom:34px}
.glossary-search{position:relative;z-index:3;margin-bottom:0;transform:translateY(50%);background:#fff;border:1px solid #9cc8bc;border-left:4px solid var(--mint);padding:16px 16px 16px 24px;box-shadow:0 22px 48px #0b151a66,0 2px 0 #9cc8bc inset}
.glossary-search label{font-size:11px;color:#2f7364;margin-bottom:6px}
.glossary-search input{font-size:19px;font-weight:500;padding:12px 0}.glossary-search input::placeholder{color:#7a918b}
.glossary-search button{background:var(--night);color:#fff;min-height:52px;padding:12px 24px;font-size:16px}
.glossary-search button:hover,.glossary-search button:focus-visible{background:var(--mint);color:var(--night)}
.glossary-section{padding-top:124px}
@media(max-width:600px){.glossary-search{margin-bottom:0;padding:12px 12px 12px 16px}.glossary-search input{font-size:16px}.glossary-search button{padding:10px 16px;min-height:46px}.glossary-section{padding-top:102px}}

/* глоссарий: кнопка «Найти» по центру панели по высоте, без стрелки */
.glossary-search{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:16px;align-items:center}
.glossary-search label{grid-column:1;grid-row:1}
.glossary-search>div{display:contents}
.glossary-search input[type=search]{grid-column:1;grid-row:2;min-width:0;width:100%}
.glossary-search button{grid-column:2;grid-row:1/3;align-self:center;margin:0}

/* глоссарий: поле поиска с подсказками и своя кнопка «×» по центру по высоте */
.glossary-search.frame{overflow:visible}
.gs-field{grid-column:1;grid-row:2;position:relative;min-width:0;display:flex;align-items:center}
.gs-field input[type=search]{flex:1;min-width:0;width:100%;padding-right:44px;-webkit-appearance:none;appearance:none}
.gs-field input[type=search]::-webkit-search-cancel-button,.gs-field input[type=search]::-webkit-search-decoration{-webkit-appearance:none;display:none}
.gs-clear{position:absolute;right:0;top:50%;transform:translateY(-50%);width:36px;height:36px;display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:transparent;color:var(--muted);font:300 28px/1 var(--font);cursor:pointer;min-height:0;transition:background .2s,color .2s}
.gs-clear[hidden]{display:none}.gs-clear:hover,.gs-clear:focus-visible{background:#e3ece8;color:var(--ink)}
.gs-suggest{position:absolute;left:-1px;right:-1px;top:calc(100% + 8px);z-index:60;max-height:min(420px,62vh);overflow:auto;margin:0;padding:6px 0;list-style:none;background:#fff;border:1px solid #9cc8bc;box-shadow:0 22px 48px #0b151a40}
.gs-suggest[hidden]{display:none}
.gs-suggest li{margin:0}.gs-suggest li a{display:grid;grid-template-columns:96px 150px minmax(0,1fr);gap:4px 14px;align-items:baseline;padding:11px 24px;color:var(--ink)}
.gs-suggest li small{font:500 10px/1.4 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.gs-suggest li b{font-size:16px;letter-spacing:-.01em}.gs-suggest li span{font-size:14px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gs-suggest li.is-active{background:#e3f1ed}.gs-suggest mark{background:#9cc8bc66;color:inherit;padding:0 1px}
.gs-empty{padding:14px 24px;color:var(--muted);font-size:14px}
@media(max-width:700px){.gs-suggest li a{grid-template-columns:1fr;gap:2px;padding:10px 16px}.gs-suggest li span{white-space:normal}.gs-empty{padding:12px 16px}}
.glossary-search .gs-clear{background:transparent;color:var(--muted);min-height:0;padding:0;width:36px;height:36px;font:300 28px/1 var(--font);line-height:1}
.glossary-search .gs-clear:hover,.glossary-search .gs-clear:focus-visible{background:#e3ece8;color:var(--ink)}

/* глоссарий: четыре вкладки типов записей в одну строку */
.glossary-types{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:700px){.glossary-types{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* --- глоссарий: постраничный вывод (25 / 50 / 100 записей) --- */
.glossary-pager{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 28px;margin:22px 0}
.gp-per{display:flex;align-items:center;gap:8px;font:500 11px var(--mono);letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.gp-per a{display:grid;place-items:center;min-width:44px;height:36px;padding:0 10px;border:1px solid var(--line);color:var(--ink);font:600 13px var(--font);letter-spacing:0;text-transform:none;transition:background .2s,color .2s,border-color .2s}
.gp-per a:hover,.gp-per a[aria-current]{background:var(--night);color:#fff;border-color:var(--night)}
.gp-nav{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.gp-pages{display:flex;gap:6px;list-style:none;margin:0;padding:0}
.gp-pages a,.gp-gap{display:grid;place-items:center;min-width:40px;height:40px;padding:0 8px;border:1px solid var(--line);font:600 14px var(--font);color:var(--ink);transition:background .2s,color .2s,border-color .2s}
.gp-gap{border-color:transparent;color:var(--muted)}
.gp-pages a:hover,.gp-pages a[aria-current]{background:var(--night);color:#fff;border-color:var(--night)}
.gp-step{font:600 14px var(--font);color:var(--ink);padding:8px 4px}.gp-step:hover{color:#287461}.gp-step.is-off{color:#9db1ab}
.glossary-pager:not(:has(.gp-nav)){margin:6px 0 14px}
@media(max-width:600px){.glossary-pager{flex-direction:column;align-items:flex-start}.gp-pages a,.gp-gap{min-width:36px;height:38px}}

/* --- глоссарий: «фишки» списка: акцент при наведении, появление строк, копирование, аналоги, быстрый просмотр, теги-ссылки --- */
.gost-row{position:relative}
.gost-row:before{content:'';position:absolute;left:-18px;top:30px;bottom:30px;width:3px;background:var(--accent);transform:scaleY(0);transform-origin:top;transition:transform .3s ease}
.gost-row:hover:before,.gost-row:focus-within:before{transform:scaleY(1)}
.rv-on .gost-row:not(.is-in){opacity:0;transform:translateY(16px)}
.rv-on .gost-row{transition:opacity .5s ease var(--d,0ms),transform .5s ease var(--d,0ms),background-color .2s}
.gc-copy{align-self:flex-start;margin-top:2px;padding:3px 8px;border:1px solid var(--line);background:transparent;color:var(--muted);font:500 10px/1.5 var(--mono);letter-spacing:.05em;text-transform:uppercase;cursor:pointer;opacity:0;transition:opacity .2s,background .2s,color .2s,border-color .2s;min-height:0}
.gost-row:hover .gc-copy,.gc-copy:focus-visible,.gc-copy.is-done{opacity:1}
.gc-copy:hover{background:var(--night);color:#fff;border-color:var(--night)}.gc-copy.is-done{color:#1c7d58;border-color:#1c7d58}
@media(hover:none){.gc-copy{opacity:1}}
.gost-copy li a{display:inline-block;color:inherit;transition:background .2s,color .2s}
.gost-copy li:has(a){padding:0}.gost-copy li a{padding:4px 8px}.gost-copy li a:hover,.gost-copy li a:focus-visible{background:var(--night);color:#fff}
.gost-analogs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px;font-size:13px;color:var(--muted)}
.gost-analogs>span{font:500 10px var(--mono);letter-spacing:.06em;text-transform:uppercase}
.gost-analogs a{display:inline-flex;align-items:center;gap:8px;padding:4px 10px;border:1px solid #9bb5ad;color:var(--ink);font-weight:600;transition:background .2s,color .2s,border-color .2s}
.gost-analogs a i{font:500 9px var(--mono);font-style:normal;letter-spacing:.06em;color:#2f7364;text-transform:uppercase}
.gost-analogs a:hover{background:var(--night);color:#fff;border-color:var(--night)}.gost-analogs a:hover i{color:var(--mint)}
.gost-quick{margin-top:14px}
.gost-quick summary{display:inline-flex;align-items:center;gap:8px;cursor:pointer;list-style:none;font:500 10px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:#2f7364}
.gost-quick summary::-webkit-details-marker{display:none}
.gost-quick summary:after{content:'+';font:600 15px/1 var(--mono);transition:transform .25s}
.gost-quick[open] summary:after{transform:rotate(45deg)}
.gost-quick summary:hover{color:var(--ink)}
.gost-quick ul{display:block;margin:10px 0 0;padding:0 0 0 18px;list-style:disc;color:var(--ink);font-size:14px}
.gost-quick li{background:none;padding:2px 0;margin:2px 0;font:inherit;color:inherit}
.gs-hint{float:right;color:#6b8680;letter-spacing:.04em}.gs-hint kbd{padding:1px 6px;border:1px solid #9bb5ad;border-radius:3px;font:500 10px var(--mono);color:var(--ink);background:#f3f7f5}
@media(max-width:700px){.gs-hint{display:none}.gost-row:before{left:-10px}}
@media(prefers-reduced-motion:reduce){.rv-on .gost-row:not(.is-in){opacity:1;transform:none}}

/* --- глоссарий: панель «показывать по» + сортировка --- */
.glossary-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;margin:6px 0 18px}
.gs-sort{display:flex;align-items:center;gap:10px;margin-left:auto}
.gs-sort label{display:flex;align-items:center;gap:10px;font:500 11px var(--mono);letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.gs-sort select{min-height:40px;padding:8px 36px 8px 14px;border:1px solid #9bb5ad;border-radius:0;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23456b63' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right 14px center;appearance:none;-webkit-appearance:none;font:600 14px var(--font);color:var(--ink);cursor:pointer;transition:border-color .2s,box-shadow .2s}
.gs-sort select:hover{border-color:var(--ink)}.gs-sort select:focus-visible{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px #4c9e8b33}
.gs-sort button{min-height:40px;padding:8px 16px;border:1px solid var(--night);background:var(--night);color:#fff;font:600 14px var(--font);cursor:pointer}
.js .gs-sort button{display:none}
@media(max-width:600px){.glossary-toolbar{flex-direction:column;align-items:stretch}.gs-sort{margin-left:0}.gs-sort label{flex:1;justify-content:space-between}.gs-sort select{flex:1}}

/* --- глоссарий: предварительные варианты смысловой анимации --- */
.glossary-motion{--gm-cycle:12s;margin:34px 0 26px;border-top:1px solid #38545a;color:#fff}
.gm-stage{min-height:260px}.gm-panel{animation:none}.gm-panel[hidden]{display:none}.gm-panel.is-paused *,.gm-panel.is-offscreen *{animation-play-state:paused!important}
.gm-panel svg{display:block;width:100%;height:auto;overflow:visible}
.gm-rail,.gm-progress{fill:none;stroke-width:2}.gm-rail{stroke:#38545a}.gm-progress{stroke:var(--mint);stroke-dasharray:120 900;animation:gm-progress var(--gm-cycle) linear infinite}
@keyframes gm-progress{to{stroke-dashoffset:-1020}}
.gm-stop circle{fill:#55746d;stroke:#111f26;stroke-width:5;animation:gm-stop var(--gm-cycle) infinite}.gm-stop path{fill:none;stroke:#55746d;stroke-width:1.5}
.gm-stop-2 circle{animation-delay:-9s}.gm-stop-3 circle{animation-delay:-6s}.gm-stop-4 circle{animation-delay:-3s}
@keyframes gm-stop{0%,20%,100%{fill:#55746d}4%,15%{fill:var(--mint)}}
.gm-num{fill:var(--mint);font:500 11px var(--mono);text-anchor:middle;letter-spacing:.08em}.gm-title{fill:#fff;font:700 18px var(--font);text-anchor:middle}.gm-sub{fill:#8eb0a7;font:500 12px var(--mono);text-anchor:middle}
.gm-card{animation:gm-card var(--gm-cycle) cubic-bezier(.55,0,.25,1) infinite}.gm-card rect{fill:#d8e9e3;stroke:#0e1a1f;stroke-width:2}.gm-card path{fill:none;stroke:#456b63;stroke-width:3}.gm-card circle{fill:#2f9e73;stroke:#d8e9e3;stroke-width:2}
@keyframes gm-card{0%{transform:translate(90px,160px)}21%{transform:translate(120px,160px)}29%{transform:translate(440px,160px)}46%{transform:translate(440px,160px)}54%{transform:translate(760px,160px)}71%{transform:translate(760px,160px)}79%{transform:translate(1080px,160px)}96%{transform:translate(1080px,160px)}100%{transform:translate(1110px,160px)}}
.gm-caption{display:grid;grid-template-columns:190px minmax(0,1fr) auto;gap:24px;align-items:center;border-top:1px solid #38545a;padding:13px 0 0}.gm-live{font:500 10px var(--mono);letter-spacing:.08em;color:#9dbbb2}.gm-live i{display:inline-block;width:7px;height:7px;margin-right:8px;border-radius:50%;background:#4cb58d;box-shadow:0 0 0 0 #4cb58d55;animation:gm-live 1.8s infinite}@keyframes gm-live{50%{box-shadow:0 0 0 6px #4cb58d00}}
.gm-caption p{display:flex;align-items:baseline;gap:14px;margin:0}.gm-caption b{font-size:14px;color:#fff}.gm-caption small{font:500 11px/1.4 var(--mono);color:#78958e}.gm-pause{min-height:32px;padding:6px 12px;border:1px solid #55746f;background:transparent;color:#fff;font:500 11px var(--mono);letter-spacing:.06em;text-transform:uppercase;cursor:pointer}.gm-pause:hover,.gm-pause:focus-visible{background:#ffffff14;border-color:var(--mint)}
.gm-variants{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid #38545a}.gm-variants button{display:flex;gap:12px;align-items:center;min-height:52px;padding:10px 16px;border:0;border-right:1px solid #38545a;background:transparent;color:#9dbbb2;font:600 13px var(--font);cursor:pointer;text-align:left}.gm-variants button:last-child{border-right:0}.gm-variants button b{font:500 10px var(--mono);color:#628078}.gm-variants button:hover,.gm-variants button[aria-pressed=true]{background:#183139;color:#fff}.gm-variants button[aria-pressed=true] b{color:var(--mint)}
.gm-web-lines path{fill:none;stroke:#55746d;stroke-width:1.5;stroke-dasharray:5 6}.gm-core rect{fill:#183139;stroke:var(--mint);stroke-width:2}.gm-core text{fill:#fff;text-anchor:middle;font:700 22px var(--font)}.gm-core .gm-sub{font:500 12px var(--mono);fill:#9dbbb2}.gm-node rect{fill:#1b3238;stroke:#55746d}.gm-node text{fill:#c5d5d0;text-anchor:middle;font:600 14px var(--font)}
.gm-packet{fill:var(--mint);opacity:0}.gm-packet.p1{animation:gm-p1 4s linear infinite}.gm-packet.p2{animation:gm-p2 4s linear infinite 1s}.gm-packet.p3{animation:gm-p3 4s linear infinite 2s}.gm-packet.p4{animation:gm-p4 4s linear infinite 3s}@keyframes gm-p1{0%{transform:translate(0,0);opacity:0}10%,90%{opacity:1}100%{transform:translate(-426px,-64px);opacity:0}}@keyframes gm-p2{0%{transform:translate(0,0);opacity:0}10%,90%{opacity:1}100%{transform:translate(-426px,72px);opacity:0}}@keyframes gm-p3{0%{transform:translate(0,0);opacity:0}10%,90%{opacity:1}100%{transform:translate(426px,-64px);opacity:0}}@keyframes gm-p4{0%{transform:translate(0,0);opacity:0}10%,90%{opacity:1}100%{transform:translate(426px,72px);opacity:0}}
.gm-scanner{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr);gap:50px;align-items:center;min-height:252px;padding:28px 40px}.gm-specimen{position:relative;overflow:hidden;border:1px solid #55746d;background:#183139;padding:24px 30px}.gm-specimen>span{font:500 10px var(--mono);letter-spacing:.08em;color:#7f9d95}.gm-specimen strong{display:block;margin:13px 0 5px;font-size:44px;letter-spacing:.02em;color:#fff}.gm-specimen p{margin:0;color:#9dbbb2;font:500 12px/1.5 var(--mono)}.gm-scanline{position:absolute;top:0;bottom:0;width:2px;background:var(--mint);box-shadow:0 0 18px 4px #9cc8bc55;animation:gm-scan 4.5s ease-in-out infinite}@keyframes gm-scan{0%,100%{left:3%;opacity:0}8%,92%{opacity:1}50%{left:97%}}
.gm-scanner ol{display:grid;grid-template-columns:1fr 1fr;list-style:none;margin:0;padding:0;border-top:1px solid #38545a;border-left:1px solid #38545a}.gm-scanner li{padding:15px;border-right:1px solid #38545a;border-bottom:1px solid #38545a}.gm-scanner li b{display:block;color:var(--mint);font:700 18px var(--mono)}.gm-scanner li span{font-size:12px;color:#9dbbb2}
@media(max-width:850px){.gm-stop .gm-sub{display:none}.gm-caption{grid-template-columns:1fr auto}.gm-caption p{grid-column:1/-1;grid-row:1;flex-direction:column;gap:3px}.gm-live{grid-column:1}.gm-scanner{grid-template-columns:1fr;gap:20px;padding:22px 0}.gm-scanner ol{grid-template-columns:repeat(4,1fr)}}
@media(max-width:600px){.glossary-motion{margin-top:26px}.gm-stage{min-height:210px}.gm-panel svg{min-height:168px}.gm-caption{gap:12px;padding-top:10px}.gm-caption small{display:none}.gm-variants{grid-template-columns:1fr}.gm-variants button{min-height:42px;border-right:0;border-bottom:1px solid #38545a}.gm-scanner{min-height:168px;padding:15px 0}.gm-specimen{padding:18px}.gm-specimen strong{font-size:34px}.gm-scanner ol{grid-template-columns:1fr 1fr}.gm-scanner li{padding:10px}}
@media(prefers-reduced-motion:reduce){.glossary-motion *{animation:none!important}.gm-card{transform:translate(1080px,160px)}.gm-packet{opacity:1}.gm-scanline{left:52%;opacity:.7}}

/* --- глоссарий: оживление (все эффекты отключаются при «уменьшить движение») --- */
@media(prefers-reduced-motion:no-preference){
  /* вкладки типов: полоса-индикатор выезжает слева, число слегка «подпрыгивает» */
  .glossary-types a{position:relative;overflow:hidden}
  .glossary-types a:after{content:'';position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .35s cubic-bezier(.2,.7,.2,1)}
  .glossary-types a:hover:after,.glossary-types a[aria-current]:after{transform:scaleX(1)}
  .glossary-types a b{display:inline-block;transition:transform .25s}.glossary-types a:hover b{transform:translateY(-2px) scale(1.08)}
  /* строка: обозначение чуть сдвигается, статус «дышит» */
  .gost-code b{display:inline-block;transition:transform .25s ease,color .2s}.gost-row:hover .gost-code b{transform:translateX(5px);color:#1d6652}
  .g-status.is-active:before{animation:g-breathe 3.2s ease-in-out infinite}
  @keyframes g-breathe{0%,100%{box-shadow:0 0 0 0 #2f9e7300}50%{box-shadow:0 0 0 5px #2f9e7330}}
  /* «Когда нужен»: содержимое плавно раскрывается */
  .gost-quick[open]>*:not(summary){animation:g-open .35s ease both}
  @keyframes g-open{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
  /* копирование: кнопка «хлопает» */
  .gc-copy.is-done{animation:g-pop .45s cubic-bezier(.2,1.6,.4,1)}
  @keyframes g-pop{0%{transform:scale(.8)}60%{transform:scale(1.12)}100%{transform:scale(1)}}
  /* подсказки поиска и панель сортировки */
  .gs-suggest:not([hidden]){animation:g-drop .22s ease both;transform-origin:top}
  @keyframes g-drop{from{opacity:0;transform:translateY(-8px) scaleY(.96)}to{opacity:1;transform:none}}
  .gs-suggest li{transition:background-color .15s,padding-left .2s}.gs-suggest li.is-active a{padding-left:30px}
  .gs-suggest li a{transition:padding-left .2s}
  /* пагинация */
  .gp-pages a,.gp-per a{transition:background .2s,color .2s,border-color .2s,transform .2s}.gp-pages a:hover,.gp-per a:hover{transform:translateY(-2px)}
  .gp-pages a[aria-current]{animation:g-pop .5s cubic-bezier(.2,1.6,.4,1)}
  /* шапка каталога и поле поиска */
  .glossary-head h2{animation:g-title .6s cubic-bezier(.2,.7,.2,1) both}
  @keyframes g-title{from{opacity:0;transform:translateX(-14px)}to{opacity:1;transform:none}}
  .glossary-search:focus-within{animation:g-ring .6s ease-out}
  @keyframes g-ring{from{box-shadow:0 0 0 0 #9cc8bc99,0 22px 48px #0b151a66}to{box-shadow:0 0 0 12px #9cc8bc00,0 22px 48px #0b151a66}}
  .gs-sort select{transition:border-color .2s,box-shadow .2s,transform .2s}.gs-sort select:hover{transform:translateY(-1px)}
}

/* --- контакты: иконки в стиле знака сайта — тёмный квадрат и мятный глиф; при наведении цвета меняются местами --- */
.contact-list>a:before,.contact-list>.reveal-row:before{content:'';flex:none;align-self:center;width:38px;height:38px;margin-right:18px;background:#111f26 var(--ci) center/22px no-repeat;border:1px solid #111f26;transition:background-color .25s,border-color .25s,transform .25s}
.contact-list>a>span{margin-left:auto}
.contact-list>a:hover:before,.contact-list>.reveal-row:hover:before,.contact-list>.reveal-row:focus-within:before{background:#9cc8bc var(--cih) center/22px no-repeat;border-color:#9cc8bc;transform:translateX(3px)}
.contact-list>a[data-icon=telegram]{--ci:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%239cc8bc' d='M11.944 0A12 12 0 0 0 0 12a12 12 0 0 0 12 12 12 12 0 0 0 12-12A12 12 0 0 0 12 0a12 12 0 0 0-.056 0zm4.962 7.224c.1-.002.321.023.465.14a.506.506 0 0 1 .171.325c.016.093.036.306.02.472-.18 1.898-.962 6.502-1.36 8.627-.168.9-.499 1.201-.82 1.23-.696.065-1.225-.46-1.9-.902-1.056-.693-1.653-1.124-2.678-1.8-1.185-.78-.417-1.21.258-1.91.177-.184 3.247-2.977 3.307-3.23.007-.032.014-.15-.056-.212s-.174-.041-.249-.024c-.106.024-1.793 1.14-5.061 3.345-.48.33-.913.49-1.302.48-.428-.008-1.252-.241-1.865-.44-.752-.245-1.349-.374-1.297-.789.027-.216.325-.437.893-.663 3.498-1.524 5.83-2.529 6.998-3.014 3.332-1.386 4.025-1.627 4.476-1.635z'/%3E%3C/svg%3E");--cih:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23111f26' d='M11.944 0A12 12 0 0 0 0 12a12 12 0 0 0 12 12 12 12 0 0 0 12-12A12 12 0 0 0 12 0a12 12 0 0 0-.056 0zm4.962 7.224c.1-.002.321.023.465.14a.506.506 0 0 1 .171.325c.016.093.036.306.02.472-.18 1.898-.962 6.502-1.36 8.627-.168.9-.499 1.201-.82 1.23-.696.065-1.225-.46-1.9-.902-1.056-.693-1.653-1.124-2.678-1.8-1.185-.78-.417-1.21.258-1.91.177-.184 3.247-2.977 3.307-3.23.007-.032.014-.15-.056-.212s-.174-.041-.249-.024c-.106.024-1.793 1.14-5.061 3.345-.48.33-.913.49-1.302.48-.428-.008-1.252-.241-1.865-.44-.752-.245-1.349-.374-1.297-.789.027-.216.325-.437.893-.663 3.498-1.524 5.83-2.529 6.998-3.014 3.332-1.386 4.025-1.627 4.476-1.635z'/%3E%3C/svg%3E")}
.contact-list>a[data-icon=vk]{--ci:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%239cc8bc' d='M15.684 0H8.316C1.592 0 0 1.592 0 8.316v7.368C0 22.408 1.592 24 8.316 24h7.368C22.408 24 24 22.408 24 15.684V8.316C24 1.592 22.391 0 15.684 0zm3.692 17.123h-1.744c-.66 0-.864-.525-2.05-1.727-1.033-1-1.49-1.135-1.744-1.135-.356 0-.458.102-.458.593v1.575c0 .424-.135.678-1.253.678-1.846 0-3.896-1.118-5.335-3.202C4.624 10.857 4.03 8.57 4.03 8.096c0-.254.102-.491.593-.491h1.744c.44 0 .61.203.78.677.863 2.49 2.303 4.675 2.896 4.675.22 0 .322-.102.322-.66V9.721c-.068-1.186-.695-1.287-.695-1.71 0-.204.17-.407.44-.407h2.744c.373 0 .508.203.508.643v3.473c0 .372.17.508.271.508.22 0 .407-.136.813-.542 1.254-1.406 2.151-3.574 2.151-3.574.119-.254.322-.491.763-.491h1.744c.525 0 .644.27.525.643-.22 1.017-2.354 4.031-2.354 4.031-.186.305-.254.44 0 .78.186.254.796.779 1.203 1.253.745.847 1.32 1.558 1.473 2.05.17.49-.085.744-.576.744z'/%3E%3C/svg%3E");--cih:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23111f26' d='M15.684 0H8.316C1.592 0 0 1.592 0 8.316v7.368C0 22.408 1.592 24 8.316 24h7.368C22.408 24 24 22.408 24 15.684V8.316C24 1.592 22.391 0 15.684 0zm3.692 17.123h-1.744c-.66 0-.864-.525-2.05-1.727-1.033-1-1.49-1.135-1.744-1.135-.356 0-.458.102-.458.593v1.575c0 .424-.135.678-1.253.678-1.846 0-3.896-1.118-5.335-3.202C4.624 10.857 4.03 8.57 4.03 8.096c0-.254.102-.491.593-.491h1.744c.44 0 .61.203.78.677.863 2.49 2.303 4.675 2.896 4.675.22 0 .322-.102.322-.66V9.721c-.068-1.186-.695-1.287-.695-1.71 0-.204.17-.407.44-.407h2.744c.373 0 .508.203.508.643v3.473c0 .372.17.508.271.508.22 0 .407-.136.813-.542 1.254-1.406 2.151-3.574 2.151-3.574.119-.254.322-.491.763-.491h1.744c.525 0 .644.27.525.643-.22 1.017-2.354 4.031-2.354 4.031-.186.305-.254.44 0 .78.186.254.796.779 1.203 1.253.745.847 1.32 1.558 1.473 2.05.17.49-.085.744-.576.744z'/%3E%3C/svg%3E")}
.contact-list>.reveal-row[data-contact=phone]{--ci:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%239cc8bc' d='M6.62 10.79a15.05 15.05 0 0 0 6.59 6.59l2.2-2.2a1 1 0 0 1 1.02-.24c1.12.37 2.33.57 3.57.57a1 1 0 0 1 1 1V20a1 1 0 0 1-1 1C10.61 21 3 13.39 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.45.57 3.57a1 1 0 0 1-.25 1.02l-2.2 2.2z'/%3E%3C/svg%3E");--cih:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23111f26' d='M6.62 10.79a15.05 15.05 0 0 0 6.59 6.59l2.2-2.2a1 1 0 0 1 1.02-.24c1.12.37 2.33.57 3.57.57a1 1 0 0 1 1 1V20a1 1 0 0 1-1 1C10.61 21 3 13.39 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.45.57 3.57a1 1 0 0 1-.25 1.02l-2.2 2.2z'/%3E%3C/svg%3E")}
.contact-list>.reveal-row[data-contact=email]{--ci:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%239cc8bc' d='M3 5h18a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1zm1.5 2.2v.3l7.5 5.1 7.5-5.1v-.3h-15zm15 2.6-7.5 5.1-7.5-5.1v7.2h15V9.8z'/%3E%3C/svg%3E");--cih:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23111f26' d='M3 5h18a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1zm1.5 2.2v.3l7.5 5.1 7.5-5.1v-.3h-15zm15 2.6-7.5 5.1-7.5-5.1v7.2h15V9.8z'/%3E%3C/svg%3E")}
.contact-list>a[data-icon=link]{--ci:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%239cc8bc' d='M10.6 13.4a1 1 0 0 1 0-1.4l3-3a3 3 0 0 1 4.2 4.2l-2 2a1 1 0 1 1-1.4-1.4l2-2a1 1 0 0 0-1.4-1.4l-3 3a1 1 0 0 1-1.4 0zm2.8-2.8a1 1 0 0 1 0 1.4l-3 3a3 3 0 0 1-4.2-4.2l2-2a1 1 0 1 1 1.4 1.4l-2 2a1 1 0 0 0 1.4 1.4l3-3a1 1 0 0 1 1.4 0z'/%3E%3C/svg%3E");--cih:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23111f26' d='M10.6 13.4a1 1 0 0 1 0-1.4l3-3a3 3 0 0 1 4.2 4.2l-2 2a1 1 0 1 1-1.4-1.4l2-2a1 1 0 0 0-1.4-1.4l-3 3a1 1 0 0 1-1.4 0zm2.8-2.8a1 1 0 0 1 0 1.4l-3 3a3 3 0 0 1-4.2-4.2l2-2a1 1 0 1 1 1.4 1.4l-2 2a1 1 0 0 0 1.4 1.4l3-3a1 1 0 0 1 1.4 0z'/%3E%3C/svg%3E")}
.contact-list>a:not([data-icon]){--ci:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%239cc8bc' d='M10.6 13.4a1 1 0 0 1 0-1.4l3-3a3 3 0 0 1 4.2 4.2l-2 2a1 1 0 1 1-1.4-1.4l2-2a1 1 0 0 0-1.4-1.4l-3 3a1 1 0 0 1-1.4 0zm2.8-2.8a1 1 0 0 1 0 1.4l-3 3a3 3 0 0 1-4.2-4.2l2-2a1 1 0 1 1 1.4 1.4l-2 2a1 1 0 0 0 1.4 1.4l3-3a1 1 0 0 1 1.4 0z'/%3E%3C/svg%3E");--cih:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23111f26' d='M10.6 13.4a1 1 0 0 1 0-1.4l3-3a3 3 0 0 1 4.2 4.2l-2 2a1 1 0 1 1-1.4-1.4l2-2a1 1 0 0 0-1.4-1.4l-3 3a1 1 0 0 1-1.4 0zm2.8-2.8a1 1 0 0 1 0 1.4l-3 3a3 3 0 0 1-4.2-4.2l2-2a1 1 0 1 1 1.4 1.4l-2 2a1 1 0 0 0 1.4 1.4l3-3a1 1 0 0 1 1.4 0z'/%3E%3C/svg%3E")}
@media(prefers-reduced-motion:reduce){.contact-list>a:before,.contact-list>.reveal-row:before{transition:none}.contact-list>a:hover:before,.contact-list>.reveal-row:hover:before{transform:none}}

/* --- «Системы и инструменты»: сигнал идёт по цепочке Процесс → Данные → Интерфейс (цикл 6 с) --- */
@media(prefers-reduced-motion:no-preference){
  .mini-system span{animation:ms-lit 6s ease-in-out infinite;transition:none}
  .mini-system span:nth-of-type(2){animation-delay:2s}.mini-system span:nth-of-type(3){animation-delay:4s}
  @keyframes ms-lit{0%{border-color:#55746d;background:#1b3238;color:var(--mint);box-shadow:none}4%,24%{border-color:var(--mint);background:#244a47;color:#fff;box-shadow:0 0 18px #9cc8bc55}34%,100%{border-color:#55746d;background:#1b3238;color:var(--mint);box-shadow:none}}
  .mini-system i{position:relative;overflow:visible}
  .mini-system i:after{content:'';position:absolute;top:50%;left:0;width:7px;height:7px;margin:-3.5px 0 0 -3.5px;border-radius:50%;background:#fff;box-shadow:0 0 10px 2px var(--mint);opacity:0;animation:ms-run 6s linear infinite;animation-delay:1.4s}
  .mini-system i:nth-of-type(2):after{animation-delay:3.4s}
  @keyframes ms-run{0%{left:0;opacity:0}2%{opacity:1}13%{left:100%;opacity:1}15%,100%{left:100%;opacity:0}}
  .mini-system:after{animation:ms-ping 3s ease-out infinite}
  @keyframes ms-ping{0%{box-shadow:0 0 0 0 #9cc8bc99}70%,100%{box-shadow:0 0 0 12px #9cc8bc00}}
}

/* кнопка без стрелки: надпись по центру */
.button-link.button-plain{justify-content:center;text-align:center;padding-inline:28px}

/* --- согласие на cookie (показывается только при включённой Метрике) --- */
.cookie-bar{position:fixed;left:16px;right:16px;bottom:16px;z-index:90;max-width:860px;margin-inline:auto;display:flex;gap:20px;align-items:center;justify-content:space-between;padding:16px 20px;background:var(--night);color:#dbe8e3;border:1px solid #55746d;box-shadow:0 18px 40px #0b151a66;font-size:14px;line-height:1.5}
.cookie-bar .cb-text{margin:0}.cookie-bar a{color:var(--mint);text-decoration:underline;text-underline-offset:3px}
.cb-actions{display:flex;gap:10px;flex:none}
.cb-actions button{min-height:42px;padding:8px 18px;border:1px solid var(--mint);font:600 14px var(--font);cursor:pointer;transition:background .2s,color .2s}
.cb-yes{background:var(--mint);color:var(--night)}.cb-no{background:transparent;color:#fff}
.cb-actions button:hover,.cb-actions button:focus-visible{background:#fff;color:var(--night);border-color:#fff}
.cookie-settings{background:none;border:0;padding:0;margin:0;font:inherit;color:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer;opacity:.85}.cookie-settings:hover{opacity:1}
.age-mark{display:inline-block;margin-left:10px;padding:1px 7px;border:1px solid currentColor;font:600 12px var(--mono);opacity:.8}
@media(max-width:640px){.cookie-bar{flex-direction:column;align-items:stretch;left:8px;right:8px;bottom:8px}.cb-actions{justify-content:flex-end}}

/* --- реквизиты для оплаты (раздел «Контакты») --- */
.requisites-section{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding-block:0 110px}
.req-intro h2{margin:0 0 17px}.req-intro p{max-width:440px;color:var(--muted)}
.req-box{border-top:1px solid var(--line)}
.req-open{margin-top:20px;display:inline-flex;align-items:center;min-height:48px;padding:12px 24px;border:1px solid var(--night);background:var(--night);color:#fff;font:600 16px var(--font);cursor:pointer;transition:background .2s,color .2s}
.req-open:hover,.req-open:focus-visible{background:var(--mint);color:var(--night);border-color:var(--mint)}.req-open:disabled{cursor:wait;opacity:.7}
.req-list{margin:0}.req-list>div{display:grid;grid-template-columns:150px minmax(0,1fr) auto;gap:6px 16px;align-items:baseline;padding:14px 0;border-bottom:1px solid var(--line)}
.req-list dt{font:500 11px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.req-list dd{margin:0;font-size:17px;overflow-wrap:anywhere}
.req-copy{padding:3px 8px;border:1px solid var(--line);background:transparent;color:var(--muted);font:500 10px/1.5 var(--mono);letter-spacing:.05em;text-transform:uppercase;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.req-copy:hover{background:var(--night);color:#fff;border-color:var(--night)}.req-copy.is-done{color:#1c7d58;border-color:#1c7d58}
@media(max-width:850px){.requisites-section{grid-template-columns:1fr;gap:24px;padding-bottom:80px}.req-list>div{grid-template-columns:1fr auto}.req-list dt{grid-column:1/-1}}

/* --- QR-визитка (Контакты) --- */
.vcard-box{margin-top:26px;max-width:440px}.vcard-box .vc-open{margin-top:0}
.vc-qr{display:block;width:min(240px,100%);aspect-ratio:1;background:#fff;fill:var(--night);padding:0;border:1px solid var(--line);margin-bottom:14px}
.vc-note{margin:0 0 10px;font-size:14px;color:var(--muted)}
.vc-file{display:inline-block;margin:0 18px 14px 0;color:#287461;text-decoration:underline;text-underline-offset:4px}.vc-file:hover{color:var(--ink)}
