/* SHALÉNO · Испытательный стенд (/test/) */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.st-hero .ip-lead{max-width:46em}
.st-menu{list-style:none;margin:clamp(26px,4vh,40px) 0 0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;counter-reset:st}
.st-menu a{position:relative;display:flex;flex-direction:column;gap:7px;height:100%;padding:18px 18px 20px;border-radius:16px;border:1px solid var(--dline);background:rgba(var(--snow-rgb),.035);color:var(--snow);text-decoration:none;transition:border-color .25s,transform .3s var(--ease),background .25s}
.st-menu a:hover,.st-menu a:focus-visible{border-color:rgba(var(--acc-rgb),.7);background:rgba(var(--acc-rgb),.08);transform:translateY(-3px)}
.st-menu b{font-size:12.5px;font-weight:800;letter-spacing:.06em;color:var(--phos)}
.st-menu span{font-weight:800;font-size:16px;line-height:1.25}
.st-menu small{font-size:13.5px;line-height:1.45;color:var(--mist)}
@media (max-width:1100px){.st-menu{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.st-menu{grid-template-columns:1fr}.st-menu a{padding:15px 16px 16px}}

/* общие поля стенда */
.st-form{display:flex;gap:10px;flex-wrap:wrap;align-items:stretch;margin-top:26px}
.st-in{flex:1 1 320px;display:flex}
.st-in input,.st-in select{width:100%;height:56px;padding:0 20px;border-radius:14px;border:1px solid var(--dline2);background:var(--d-input);color:var(--snow);font:600 16.5px/1 Manrope,system-ui,sans-serif;outline:none;transition:border-color .2s,box-shadow .2s}
.st-in input::placeholder{color:var(--d-ph);font-weight:500}
.st-in input:focus,.st-in select:focus{border-color:var(--phos);box-shadow:0 0 0 4px rgba(var(--acc-rgb),.16)}
.st-form .btn{height:56px;padding:0 30px;flex:none}
.st-form .btn:disabled{opacity:.6;cursor:progress}
@media (max-width:560px){.st-form .btn{width:100%}}

/* 01 · сборка из света */
.fg-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;align-items:center}
.fg-chip{border:1px solid var(--dline);background:none;color:var(--mist);font:600 13.5px/1 Manrope,system-ui,sans-serif;padding:9px 14px;border-radius:999px;cursor:pointer;transition:border-color .2s,color .2s,background .2s}
.fg-chip:hover,.fg-chip:focus-visible{border-color:var(--phos);color:var(--snow);background:rgba(var(--acc-rgb),.08)}
.fg-recent{display:contents}
.fg-recent small{flex-basis:100%;margin-top:6px;font-size:12.5px;color:var(--fog);letter-spacing:.02em}
.fg-chip-r{border-style:dashed}
.fg-stage{position:relative;margin-top:22px;height:clamp(380px,62vh,640px);border-radius:var(--r);overflow:hidden;border:1px solid var(--dline);background:radial-gradient(70% 80% at 50% 62%,rgba(var(--acc-rgb),.09),transparent 70%),linear-gradient(180deg,var(--d1),var(--d-foot));cursor:grab;user-select:none;-webkit-user-select:none}
.fg-stage.drag{cursor:grabbing}
.fg-cv{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:pan-y}
.fg-labs{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.fg-lab{position:absolute;left:0;top:0;opacity:0;transition:opacity .45s var(--ease);will-change:transform}
.fg-lab.on{opacity:1}
.fg-lab i{position:absolute;left:-3px;top:-3px;width:6px;height:6px;border-radius:50%;background:var(--acc-hi);box-shadow:0 0 12px var(--phos)}
.fg-lab i::after{content:"";position:absolute;left:2.5px;bottom:5px;width:1px;height:calc(30px + var(--lift,0px));background:linear-gradient(to top,var(--acc-hi),rgba(var(--acc-rgb),0))}
.fg-lab span{position:absolute;left:0;bottom:calc(36px + var(--lift,0px));transform:translateX(-50%);white-space:nowrap;font-size:12.5px;font-weight:700;letter-spacing:.02em;color:#fff;padding:5px 10px;border-radius:999px;background:rgba(var(--d0-rgb),.74);border:1px solid rgba(var(--acc-rgb),.42);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.fg-status{position:absolute;left:18px;top:16px;right:18px;margin:0;font-size:14px;line-height:1.45;color:var(--mist);pointer-events:none;min-height:20px}
.fg-status .fg-spin{display:inline-block;vertical-align:-2px;margin-right:8px}
.fg-status b{color:var(--snow)}
.fg-status.err{color:#ffb4a2}
.fg-spin{width:14px;height:14px;border-radius:50%;border:2px solid rgba(var(--acc-rgb),.25);border-top-color:var(--phos);animation:fgSpin .8s linear infinite;flex:none}
@keyframes fgSpin{to{transform:rotate(360deg)}}
.fg-tools{position:absolute;right:14px;bottom:14px;display:flex;gap:8px}
.fg-tools button{border:1px solid var(--dline2);background:rgba(var(--d0-rgb),.6);color:var(--snow);font:600 13px/1 Manrope,system-ui,sans-serif;padding:10px 14px;border-radius:999px;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.fg-tools button:hover{border-color:var(--phos)}
.fg-hint{position:absolute;left:18px;bottom:16px;margin:0;font-size:12.5px;color:var(--fog);pointer-events:none}
.fg-foot{display:flex;gap:18px;align-items:flex-start;justify-content:space-between;margin-top:18px;flex-wrap:wrap}
.fg-parts{display:flex;flex-wrap:wrap;gap:6px;flex:1 1 520px;align-items:center}
.fg-ph{flex-basis:100%;margin:0 0 4px;font-size:12.5px;color:var(--fog);letter-spacing:.04em;text-transform:uppercase}
.fg-parts button{border:1px solid var(--dline);background:rgba(var(--snow-rgb),.03);color:var(--mist);font:600 13px/1 Manrope,system-ui,sans-serif;padding:8px 12px;border-radius:10px;cursor:default;transition:border-color .2s,color .2s}
.fg-parts button:hover,.fg-parts button:focus-visible{border-color:var(--phos);color:var(--snow)}
.fg-parts em{font-style:normal;color:var(--phos)}
.fg-cta{flex:none}
@media (max-width:560px){.fg-stage{height:min(72svh,520px)}.fg-lab span{font-size:11.5px;padding:4px 8px}.fg-hint{display:none}}

/* 02 · бренд на заводе */
.st-brand{background:linear-gradient(180deg,var(--night),var(--d1))}
.br-grid{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:22px;margin-top:30px;align-items:start}
.br-form{display:flex;flex-direction:column;gap:18px;padding:22px;border-radius:var(--r);border:1px solid var(--dline);background:rgba(var(--snow-rgb),.03)}
.br-f{display:flex;flex-direction:column;gap:9px;margin:0}
.br-f>span{font-size:13px;font-weight:700;letter-spacing:.03em;color:var(--mist)}
.br-f small{font-weight:500;color:var(--fog)}
.br-f input[name=name]{height:52px;padding:0 16px;border-radius:12px;border:1px solid var(--dline2);background:var(--d-input);color:var(--snow);font:700 16px/1 Manrope,system-ui,sans-serif;outline:none}
.br-f input[name=name]:focus{border-color:var(--phos);box-shadow:0 0 0 4px rgba(var(--acc-rgb),.16)}
.br-sw{display:flex;flex-wrap:wrap;gap:8px}
.br-c{position:relative;width:34px;height:34px;border-radius:50%;border:2px solid rgba(255,255,255,.14);background:var(--c);cursor:pointer;padding:0;transition:transform .2s var(--ease),box-shadow .2s}
.br-c:hover{transform:scale(1.08)}
.br-c.on{box-shadow:0 0 0 3px var(--night),0 0 0 5px var(--snow)}
.br-c-any{display:grid;place-items:center;background:conic-gradient(#e8532f,#f4c430,#2e9e5b,#2457c5,#5b3cc4,#e8532f);overflow:hidden}
.br-c-any input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
.br-c-any span{font-weight:800;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.5);pointer-events:none}
.br-up{position:relative;display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:12px;border:1px dashed var(--dline2);cursor:pointer;transition:border-color .2s}
.br-up:hover{border-color:var(--phos)}
.br-up input{position:absolute;inset:0;opacity:0;cursor:pointer}
.br-up b{font-size:14px;color:var(--snow);white-space:nowrap}
.br-up i{font-style:normal;font-size:12.5px;color:var(--fog);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.br-logo-x{display:none;align-self:flex-start;border:0;background:none;color:var(--fog);font:600 12.5px/1 Manrope,system-ui,sans-serif;padding:2px 0;cursor:pointer;text-decoration:underline}
.br-has-logo .br-logo-x{display:block}
.br-form .btn{height:52px}
.br-status{margin:0;font-size:13.5px;color:var(--mist);min-height:1.2em}
.br-status.err{color:#ffb4a2}
.br-view{min-width:0}
.br-stage{position:relative;height:clamp(400px,66vh,660px);border-radius:var(--r);overflow:hidden;border:1px solid var(--dline);background:radial-gradient(80% 70% at 50% 58%,#3a4352 0%,#222932 55%,#161b21 100%);cursor:grab;user-select:none;-webkit-user-select:none}
.br-stage.drag{cursor:grabbing}
.br-cv{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:pan-y}
.br-hint{position:absolute;left:16px;bottom:14px;margin:0;font-size:12.5px;color:rgba(255,255,255,.7);pointer-events:none;text-shadow:0 1px 6px rgba(0,0,0,.6)}
.br-load{position:absolute;inset:0;display:grid;place-items:center;margin:0;color:var(--mist);font-size:14px;pointer-events:none;transition:opacity .4s}
.br-ready .br-load{opacity:0}
.br-views{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.br-views button{border:1px solid var(--dline);background:none;color:var(--mist);font:600 13.5px/1 Manrope,system-ui,sans-serif;padding:10px 14px;border-radius:999px;cursor:pointer;transition:border-color .2s,color .2s,background .2s}
.br-views button:hover{border-color:var(--phos);color:var(--snow)}
.br-views button.on{background:var(--snow);border-color:var(--snow);color:var(--ink)}
.br-act{display:flex;gap:18px;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;margin-top:24px;padding-top:24px;border-top:1px solid var(--dline)}
.br-pdf{flex:none}
.br-lead{flex:1 1 520px;max-width:720px;margin:0}
.br-lead-h{margin:0 0 10px;font-weight:800;color:var(--snow)}
.br-lead-h span{font-weight:500;color:var(--mist)}
.br-lead-row{display:flex;gap:8px;flex-wrap:wrap}
.br-lead-row input{flex:1 1 180px;height:50px;padding:0 16px;border-radius:12px;border:1px solid var(--dline2);background:var(--d-input);color:var(--snow);font:600 15px/1 Manrope,system-ui,sans-serif;outline:none}
.br-lead-row input:focus{border-color:var(--phos)}
.br-lead-row .btn{height:50px}
.br-err{margin:8px 0 0;font-size:13.5px;color:#ffb4a2;min-height:1em}
.br-ok b{display:block;font-size:18px;color:var(--snow);margin-bottom:4px}
.br-ok p{margin:0;color:var(--mist)}
@media (max-width:980px){.br-grid{grid-template-columns:1fr}.br-view{order:-1}.br-stage{height:min(62svh,460px)}}

/* 03 · аудит сайта (светлый блок) */
.st-audit{--au-good:#2e9e5b;--au-mid:#e0a12c;--au-bad:#d9483b}
.st-audit .st-in input{background:#fff;color:var(--ink);border-color:var(--line)}
.st-audit .st-in input::placeholder{color:#9aa4ae}
.au-out{margin-top:26px}
.au-err{margin:0;padding:16px 18px;border-radius:14px;background:var(--note-bg);color:var(--ink);font-weight:600}
.au-steps{list-style:none;margin:0;padding:22px 24px;border-radius:var(--r);border:1px solid var(--line);background:var(--paper);display:grid;gap:10px;max-width:560px}
.au-steps li{position:relative;padding-left:30px;color:var(--steel);font-weight:600;transition:color .3s}
.au-steps li::before{content:"";position:absolute;left:0;top:50%;width:16px;height:16px;margin-top:-8px;border-radius:50%;border:2px solid var(--line)}
.au-steps li.now{color:var(--ink)}
.au-steps li.now::before{border-color:var(--phos);border-top-color:transparent;animation:fgSpin .8s linear infinite}
.au-steps li.done{color:var(--ink)}
.au-steps li.done::before{border-color:var(--au-good);background:var(--au-good);box-shadow:inset 0 0 0 3px #fff}
.au-top{display:grid;grid-template-columns:auto minmax(0,1fr);gap:28px;align-items:center;padding:26px;border-radius:var(--r);border:1px solid var(--line);background:var(--paper);box-shadow:0 30px 60px -40px rgba(var(--ink-rgb),.4)}
.au-score{position:relative;width:150px;height:150px}
.au-ring{width:100%;height:100%;transform:rotate(-90deg)}
.au-ring circle{fill:none;stroke-width:11;stroke-linecap:round}
.au-ring-bg{stroke:var(--line2)}
.au-ring-fg{transition:stroke-dashoffset 1.4s var(--ease)}
.au-num{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.au-num b{font-size:46px;font-weight:800;line-height:1;color:var(--ink)}
.au-num small{font-size:13px;color:var(--steel);margin-top:4px}
.au-host{margin:0;font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--emerald)}
.au-sum h3{margin:6px 0 10px;font-size:clamp(22px,2.2vw,30px)}
.au-verdict{margin:0;font-size:16.5px;line-height:1.6;color:var(--text);max-width:62em}
.au-facts{display:flex;flex-wrap:wrap;gap:8px 18px;margin:14px 0 0;font-size:13.5px;color:var(--steel)}
.au-facts b{color:var(--ink)}
.au-cats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:14px}
.au-cat{padding:16px;border-radius:16px;border:1px solid var(--line);background:var(--paper)}
.au-cat p{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin:0 0 10px;font-size:13.5px;font-weight:700;color:var(--text)}
.au-cat p b{font-size:20px;color:var(--ink)}
.au-cat i{display:block;height:6px;border-radius:6px;background:var(--line2);overflow:hidden}
.au-cat em{display:block;height:100%;border-radius:6px;transform-origin:left;animation:auBar 1.2s var(--ease) both}
.au-cat em.g{background:var(--au-good)}.au-cat em.m{background:var(--au-mid)}.au-cat em.b{background:var(--au-bad)}
@keyframes auBar{from{transform:scaleX(0)}}
.au-lists{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:14px;margin-top:14px}
.au-list{padding:22px 24px;border-radius:var(--r);border:1px solid var(--line);background:var(--paper)}
.au-list h4{display:flex;align-items:center;gap:10px;margin:0 0 14px;font-size:17px}
.au-list h4 small{display:inline-grid;place-items:center;min-width:26px;height:26px;padding:0 7px;border-radius:999px;font-size:12.5px;color:#fff;background:var(--au-bad)}
.au-good h4 small{background:var(--au-good)}
.au-list ol,.au-list ul{margin:0;padding:0;list-style:none;display:grid;gap:12px}
.au-list ol li{display:grid;gap:3px;padding-left:16px;border-left:3px solid var(--au-bad)}
.au-list ol li b{color:var(--ink);font-size:15px}
.au-list ol li span{color:var(--text);font-size:14px;line-height:1.5}
.au-list ul li{position:relative;padding-left:24px;color:var(--text);font-size:14.5px}
.au-list ul li::before{content:"✓";position:absolute;left:0;color:var(--au-good);font-weight:800}
.au-act{display:flex;gap:18px;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;margin-top:18px;padding:22px 24px;border-radius:var(--r);background:var(--night);color:var(--snow)}
.au-act .btn-line{color:var(--snow);border-color:var(--dline2)}
@media (max-width:1100px){.au-cats{grid-template-columns:repeat(3,minmax(0,1fr))}.au-lists{grid-template-columns:1fr}}
@media (max-width:640px){.au-top{grid-template-columns:1fr;justify-items:start}.au-score{width:120px;height:120px}.au-num b{font-size:36px}.au-cats{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* 04 · карта */
.st-map{background:radial-gradient(70% 60% at 50% 45%,rgba(var(--acc-rgb),.07),transparent 70%),var(--night)}
.mp-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
.mp-chips button{border:1px solid var(--dline);background:none;color:var(--mist);font:600 13.5px/1 Manrope,system-ui,sans-serif;padding:10px 14px;border-radius:999px;cursor:pointer;transition:border-color .2s,color .2s,background .2s}
.mp-chips button em{font-style:normal;color:var(--fog);margin-left:4px}
.mp-chips button:hover{border-color:var(--phos);color:var(--snow)}
.mp-chips button.on{background:var(--snow);border-color:var(--snow);color:var(--ink)}
.mp-chips button.on em{color:var(--steel)}
.mp-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px;margin-top:16px;align-items:start}
.mp-map{position:relative;border-radius:var(--r);border:1px solid var(--dline);background:linear-gradient(180deg,#121920,#0d1217);overflow:hidden;aspect-ratio:1.42}
.mp-map svg{display:block;width:100%;height:100%}
.mp-wait{position:absolute;inset:0;display:grid;place-items:center;margin:0;color:var(--fog)}
.mp-map .mp-gl{stroke:rgba(255,255,255,.035);stroke-width:1}
.mp-near path{fill:#161d24;stroke:#24303b;stroke-width:.8}
.mp-ca path{fill:#1f2a35;stroke:rgba(var(--acc-rgb),.55);stroke-width:1.2;transition:fill .3s}
.mp-ca path:hover{fill:#263342}
.mp-cl text{fill:rgba(255,255,255,.16);font:800 15px Manrope,system-ui,sans-serif;letter-spacing:.24em;text-anchor:middle;pointer-events:none}
.mp-route{fill:none;stroke:rgba(var(--acc-rgb),.3);stroke-width:1.2;stroke-dasharray:3 5}
.mp-live .mp-route{animation:mpFlow 6s linear infinite}
@keyframes mpFlow{to{stroke-dashoffset:-80}}
.mp-pt{cursor:pointer;outline:none;transition:opacity .3s}
.mp-pt .mp-halo{opacity:.55;transition:opacity .3s}
.mp-pt .mp-ring{fill:none;stroke:var(--acc-hi);stroke-width:1.2;opacity:.35;transform-box:fill-box;transform-origin:center}
.mp-live .mp-pt.s3 .mp-ring,.mp-pt.on .mp-ring{animation:mpPulse 2.6s ease-out infinite}
.mp-pt .mp-dot{fill:var(--acc-hi);stroke:#fff;stroke-width:1}
.mp-pt text{fill:var(--snow);font:700 11.5px Manrope,system-ui,sans-serif;text-anchor:middle;paint-order:stroke;stroke:rgba(10,14,18,.85);stroke-width:3px;pointer-events:none}
.mp-pt:hover .mp-halo,.mp-pt:focus-visible .mp-halo,.mp-pt.on .mp-halo{opacity:1}
.mp-pt.on .mp-dot{fill:#fff}
.mp-pt text.h{opacity:0;transition:opacity .2s}.mp-pt:hover text.h,.mp-pt:focus-visible text.h,.mp-pt.on text.h{opacity:1}.mp-pt:hover,.mp-pt.on{position:relative;z-index:2}
.mp-pt.off{opacity:.12;pointer-events:none}
.mp-pt:nth-child(3n) .mp-ring{animation-delay:.9s}.mp-pt:nth-child(3n+1) .mp-ring{animation-delay:1.7s}
@keyframes mpPulse{0%{transform:scale(.6);opacity:.8}100%{transform:scale(1.8);opacity:0}}
.mp-card{position:sticky;top:calc(var(--hdr) + 16px);padding:22px;border-radius:var(--r);border:1px solid var(--dline);background:rgba(var(--snow-rgb),.03);min-height:240px;opacity:.5;transition:opacity .3s}
.mp-card.on{opacity:1}
.mp-k{margin:0;font-size:12.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--phos)}
.mp-card h3{margin:6px 0 8px;font-size:26px;color:var(--snow)}
.mp-card>p{margin:0 0 14px;color:var(--mist);line-height:1.55}
.mp-links{display:grid;gap:6px;margin-bottom:18px}
.mp-links a{color:var(--snow);font-weight:600;font-size:14.5px;text-decoration:none;border-bottom:1px solid var(--dline);padding:6px 0}
.mp-links a:hover{color:var(--acc-hi)}
.mp-cta{width:100%;justify-content:center;text-align:center;white-space:normal;height:auto;min-height:52px;padding:14px 18px;line-height:1.3}
.mp-src{margin:14px 0 0;font-size:12px;color:var(--fog)}
@media (max-width:980px){.mp-grid{grid-template-columns:1fr}.mp-card{position:static;min-height:0}.mp-cl text{font-size:20px}.mp-pt text{font-size:14px}}
@media (prefers-reduced-motion:reduce){.mp-route,.mp-pt .mp-ring{animation:none}}

/* 05 · спросите инженера */
.st-ask{padding:clamp(70px,8vw,110px) 0;background:linear-gradient(180deg,var(--d1),var(--night))}
.st-ask-q{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:24px}
.st-ask-q .btn{height:52px;padding:0 26px}
@media (max-width:560px){.fg-chips .fg-chip:nth-child(n+7):not(.fg-chip-r){display:none}.fg-chip-r:nth-of-type(n+5){display:none}.fg-status{font-size:13px;left:14px;right:14px;top:12px}}
