/* ===== Главная osmos.guru — стили поверх общего каркаса страницы продукта (product-page-v1.css) =====
   Токены и правила: docs/canonical (Brand Book v1.1). Новых HEX нет. */


/* ===== Блок 1 · Hero с живой системой — помещается в один экран ===== */
.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.home-hero{padding:0}
.home-hero .hero-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;min-height:calc(100svh - 72px);padding-block:clamp(14px,2.4vh,30px);gap:clamp(24px,3vw,56px)}
.home-hero .hero-copy{justify-content:center}
.home-hero .kicker{margin-bottom:clamp(12px,2vh,24px)}
.home-hero .lead{margin-top:clamp(14px,2.2vh,26px)}
.home-hero .actions{align-items:center;gap:6px 18px;margin-top:clamp(18px,2.6vh,30px)}
.btn-text{display:inline-flex;align-items:center;min-height:44px;font:700 15px/1.2 var(--font-body);color:var(--muted-strong);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.btn-text:hover{color:var(--ink);text-decoration-thickness:2px}

/* «Мне нужно» — в левой колонне, заметно */
.need{margin-top:clamp(20px,3.4vh,40px);padding-top:clamp(16px,2.4vh,24px);border-top:1px solid var(--line)}
.need-q{display:flex;flex-direction:column;gap:2px;margin:0 0 12px}
.need-q b{align-self:flex-start;font:850 clamp(22px,1.9vw,30px)/1.05 var(--font-display);letter-spacing:-.05em;background:linear-gradient(var(--stroke),var(--stroke)) 0 92%/100% .14em no-repeat}
.need-q span{font-size:15px;color:var(--muted-strong)}
.need-chips{display:flex;flex-wrap:wrap;gap:8px}
.need-chips button{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px 0 5px;border-radius:var(--r-pill);border:1px solid var(--line);background:var(--white);color:var(--ink);font:700 15px/1.1 var(--font-body);cursor:pointer;transition:background .2s,color .2s,border-color .2s,transform .2s}
.need-chips button i{display:grid;place-items:center;min-width:32px;height:32px;padding:0 6px;border-radius:var(--r-pill);background:var(--paper-2);font:600 12px/1 var(--font-mono);font-style:normal;letter-spacing:.04em}
.need-chips button:hover{border-color:var(--ink);transform:translateY(-2px)}
.need-chips button[aria-pressed="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.need-chips button[aria-pressed="true"] i{background:var(--mint);color:#08110f}
.need-answer{margin-top:12px;background:var(--white);border:1px solid var(--line);border-radius:var(--r-l);padding:14px 18px;font-size:15px;line-height:1.4;animation:pop .3s cubic-bezier(.2,.7,.2,1)}
.need-answer p{margin:0}
.need-sub{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px}
.need-sub button{min-height:40px;padding:0 14px;border-radius:var(--r-pill);border:1px solid var(--line);background:var(--paper);color:var(--ink);font:600 14px var(--font-body);cursor:pointer}
.need-sub button[aria-pressed="true"]{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.need-go{display:flex;flex-wrap:wrap;gap:4px 18px;margin-top:8px}
.need-go a{font-weight:800;text-decoration:underline;text-underline-offset:3px;min-height:36px;display:inline-flex;align-items:center}
.need-go a::after{content:" →";white-space:pre}

/* Панель схемы — светлый «инженерный плакат» на бумаге (меньше чёрного; в тёмной теме токены перекрашивают сами) */
.sys{--sv-line:color-mix(in srgb,var(--ink) 62%,transparent);--sv-soft:color-mix(in srgb,var(--ink) 12%,transparent);--sv-pipe:color-mix(in srgb,var(--ink) 9%,transparent);--sv-fill:color-mix(in srgb,var(--ink) 4%,transparent);--sv-text:var(--muted-strong);--sv-clean:var(--mint-dark);
  position:relative;background:var(--white);color:var(--ink);border:1px solid var(--line);border-radius:var(--r-xl);padding:clamp(12px,1.2vw,18px);display:flex;flex-direction:column;gap:10px;min-width:0;container:sys / inline-size}
.sys-pick{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
@container sys (max-width:600px){
  .sys-pick{display:flex;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;margin:0 -4px;padding:2px 4px}
  .sys-pick::-webkit-scrollbar{display:none}
  .sys-pick button{flex:none;flex-direction:row;gap:6px;height:44px;padding:0 14px;border-radius:var(--r-pill);scroll-snap-align:start}
  .sys-meta{font-size:13px}
  .sys-cap{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"t t" "p n";gap:10px}
  .sys-cap-txt{grid-area:t}
  .sys-cap .sys-nav:first-child{grid-area:p}
  .sys-cap .sys-next{grid-area:n;justify-self:end}
  .sys-svg text{display:none}
}
.sys-pick button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:0;height:54px;padding:0 6px;border-radius:var(--r-m);border:1px solid var(--line);background:var(--paper);color:var(--ink);font:700 13px/1.1 var(--font-body);white-space:nowrap;cursor:pointer;transition:background .25s,color .25s,border-color .25s}
.sys-pick button span{font:500 12px/1 var(--font-mono);color:var(--muted-strong)}
.sys-pick button:hover{border-color:var(--ink)}
.sys-pick button[aria-checked="true"]{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.sys-pick button[aria-checked="true"] span{color:var(--mint)}

.sys-stage{position:relative;aspect-ratio:16/9;max-height:calc(100svh - 430px);min-height:220px;border-radius:var(--r-l);background:var(--paper)}
.sys-badge{position:absolute;left:12px;top:12px;color:var(--muted-strong);border:1px solid var(--line);border-radius:var(--r-pill);padding:5px 10px;letter-spacing:.1em;background:var(--white)}
.sys-svg{display:block;width:100%;height:100%;overflow:visible;transition:opacity .18s}
.sys-svg.swap{opacity:0}

.sys-meta{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 14px;font-size:14px;color:var(--muted-strong);padding:0 4px}
.sm-info{display:flex;flex-wrap:wrap;align-items:center;gap:2px 14px;min-width:0}
.sm-info>*+span::before{content:"·";margin-right:14px;color:var(--muted)}
.sys-meta b{color:var(--ink);font-weight:800}
.sys-meta .js-route{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 14px 0 6px;border:1px solid var(--line);border-radius:var(--r-pill);background:transparent;color:var(--ink);font:700 13px var(--font-body);cursor:pointer}
.sys-meta .js-route::before{content:"▶";display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--mint);color:#08110f;font-size:11px}
.sys-meta .js-route:hover{border-color:var(--ink)}
.sys-meta a{display:inline-flex;align-items:center;min-height:40px;font-weight:800;color:var(--ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.sys-meta a:hover{text-decoration-thickness:2px}
.sys-meta a::after{content:" →";white-space:pre}
.sys-pick button:focus-visible,.sys-nav:focus-visible,.sys-meta a:focus-visible,.sys-meta .js-route:focus-visible{box-shadow:0 0 0 2px var(--white),0 0 0 4px var(--ink)}

/* что убирает выбранная система */
.sys-rm{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:0 4px}
.sys-rm .rm-l{color:var(--muted-strong)}
.sys-rm ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:5px}
.sys-rm li{font:700 13px/1 var(--font-body);background:var(--mint-soft);border-radius:var(--r-pill);padding:7px 10px}
.sys-rm li span{font-weight:500;color:var(--muted-strong)}
.sys-rm li.tasty{padding:0;background:none}
.sys-rm li.tasty a{display:inline-flex;align-items:center;min-height:36px;padding:0 10px;border-radius:var(--r-pill);border:1px dashed var(--mint-dark);font:800 13px/1 var(--font-body);color:var(--ink)}
.sys-rm li.tasty a:hover{border-style:solid;background:var(--mint);color:#08110f}
.sys-rm .rm-note{font:500 12px var(--font-mono);letter-spacing:.04em;color:var(--muted)}
.sys-cap{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;background:var(--paper);border-radius:var(--r-l);padding:12px;min-height:84px}
.sys-cap-txt{transition:opacity .15s}
.sys-cap-txt.fade{opacity:0}
.sys-eye{margin:0 0 4px;color:var(--muted-strong);letter-spacing:.1em}
.sys-do{margin:0;font-size:15px;line-height:1.4;color:var(--ink)}
.sys-nav{width:46px;height:46px;border-radius:50%;border:1px solid var(--line);background:var(--white);color:var(--ink);font:700 18px/1 var(--font-body);cursor:pointer;transition:border-color .2s,opacity .2s}
.sys-nav:hover{border-color:var(--ink)}
.sys-nav:disabled{opacity:.35;cursor:default}
.sys-next{width:auto;padding:0 20px;border-radius:var(--r-pill);background:var(--mint);border-color:var(--mint);color:#08110f;font:800 15px/1 var(--font-body);white-space:nowrap}
.sys-next:hover{border-color:var(--ink);transform:translateY(-1px)}
.sys[data-step="0"] .sys-next{animation:sys-call 2.4s ease-in-out 1.2s 3}
@keyframes sys-call{0%,100%{box-shadow:0 0 0 0 rgba(36,216,188,.6)}50%{box-shadow:0 0 0 10px rgba(36,216,188,0)}}

/* рисунок схемы */
.sys-svg .floor{stroke:var(--sv-soft);stroke-width:2;stroke-dasharray:2 6}
.sys-svg .body{fill:var(--sv-fill);stroke:var(--sv-line);stroke-width:2.2;stroke-linejoin:round;transition:stroke .35s}
.sys-svg .glass{fill:color-mix(in srgb,var(--ink) 6%,transparent)}
.sys-svg .steel{fill:color-mix(in srgb,var(--ink) 10%,transparent)}
.sys-svg .rib{fill:none;stroke:var(--sv-soft);stroke-width:1.5}
.sys-svg .pump{fill:var(--sv-fill);stroke:var(--sv-line);stroke-width:2.2;transition:stroke .35s}
.sys-svg .pump-eye{fill:none;stroke:var(--sv-line);stroke-width:2;stroke-dasharray:3 4;opacity:.6}
.sys-svg .cart{stroke:var(--sv-soft);stroke-width:6;stroke-linecap:round}
.sys-svg .media{fill:color-mix(in srgb,var(--orange) 70%,var(--muted));opacity:.3}
.sys-svg .media-top{fill:var(--orange);opacity:.5}
.sys-svg .head{fill:color-mix(in srgb,var(--ink) 7%,transparent)}
.sys-svg .screen{fill:var(--mint)}
.sys-svg .spiral{stroke:var(--sv-soft);stroke-width:1.5}
.sys-svg .bolt{fill:none;stroke:var(--orange);stroke-width:2;stroke-linejoin:round}
.sys-svg .led{fill:var(--mint)}
.sys-svg .wire{fill:none;stroke:var(--sv-soft);stroke-width:1.5;stroke-dasharray:3 4}
.sys-svg .gauge{fill:var(--sv-fill);stroke:var(--sv-line);stroke-width:2}
.sys-svg .uv{fill:color-mix(in srgb,var(--blue) 14%,transparent)}
.sys-svg .uv-core{fill:var(--blue)}
.sys-svg .tap{fill:none;stroke:var(--sv-line);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
.sys-svg .drop{fill:var(--mint)}
.sys-svg .frame{fill:none;stroke:var(--sv-line);stroke-width:1.5;stroke-dasharray:6 6;opacity:.6}
.sys-svg text{font:500 13px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;fill:var(--sv-text)}
.sys-svg .raw-w{fill:color-mix(in srgb,var(--orange) 70%,var(--muted));fill-opacity:.34}
.sys-svg .clean-w{fill:var(--mint);fill-opacity:.32}
.sys-svg .bubbles circle{fill:var(--white);stroke:var(--sv-line);stroke-width:1;opacity:0}
.sys-svg .pipe{fill:none;stroke:var(--sv-pipe);stroke-width:9;stroke-linecap:round;stroke-linejoin:round}
.sys-svg .flow{fill:none;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:3 13}
.sys-svg .flow.raw{stroke:var(--orange)}
.sys-svg .flow.prep{stroke:var(--sv-clean);stroke-opacity:.45}
.sys-svg .flow.clean{stroke:var(--sv-clean)}
.sys-svg .flow.drain{stroke:var(--sv-line);stroke-opacity:.5;stroke-dasharray:2 9}
.sys-svg .halo{fill:var(--mint);fill-opacity:0;stroke:var(--mint-dark);stroke-opacity:0;stroke-width:1.5;stroke-dasharray:4 6;transition:fill-opacity .35s,stroke-opacity .35s}
.sys-svg .snode{transition:opacity .35s;cursor:pointer}
.sys:not([data-step="0"]) .sys-svg .snode{opacity:.3}
.sys[data-step="1"] [data-s="1"].snode,.sys[data-step="2"] [data-s="2"].snode,.sys[data-step="3"] [data-s="3"].snode,.sys[data-step="4"] [data-s="4"].snode,.sys[data-step="5"] [data-s="5"].snode,.sys[data-step="6"] [data-s="6"].snode{opacity:1}
.sys[data-step="1"] .halo[data-s="1"],.sys[data-step="2"] .halo[data-s="2"],.sys[data-step="3"] .halo[data-s="3"],.sys[data-step="4"] .halo[data-s="4"],.sys[data-step="5"] .halo[data-s="5"],.sys[data-step="6"] .halo[data-s="6"]{fill-opacity:.12;stroke-opacity:.6}
.sys[data-step="1"] [data-s="1"] .body,.sys[data-step="2"] [data-s="2"] .body,.sys[data-step="3"] [data-s="3"] .body,.sys[data-step="4"] [data-s="4"] .body,.sys[data-step="5"] [data-s="5"] .body,.sys[data-step="6"] [data-s="6"] .body,
.sys[data-step="1"] [data-s="1"] .pump,.sys[data-step="2"] [data-s="2"] .pump,.sys[data-step="4"] [data-s="4"] .pump,.sys[data-step="5"] [data-s="5"] .pump{stroke:var(--ink)}

@media (prefers-reduced-motion:no-preference){
  .pcard.live .flow{animation:sys-flow .9s linear infinite}
  .pcard.live .wave{animation:sys-wave 4.5s ease-in-out infinite alternate}
  .pcard.live .bubbles circle{animation:sys-bub 3.2s ease-in infinite}
  .pcard.live .pump-eye{animation:sys-spin 1.4s linear infinite;transform-box:fill-box;transform-origin:center}
  .pcard.live .drop{animation:sys-drop 1.8s ease-in infinite}
  .sys.live .flow{animation:sys-flow .9s linear infinite}
  .sys.live .flow.drain{animation-duration:1.6s}
  .sys.live .wave{animation:sys-wave 4.5s ease-in-out infinite alternate}
  .sys.live .clean-w .wave{animation-duration:5.5s}
  .sys.live .bubbles circle{animation:sys-bub 3.2s ease-in infinite}
  .sys.live .bubbles circle:nth-child(2){animation-delay:.7s}
  .sys.live .bubbles circle:nth-child(3){animation-delay:1.4s}
  .sys.live .bubbles circle:nth-child(4){animation-delay:2.1s}
  .sys.live .bubbles circle:nth-child(5){animation-delay:2.7s}
  .sys.live .led{animation:sys-blink 2.4s steps(1) infinite}
  .sys.live .uv-core{animation:sys-glow 1.6s ease-in-out infinite alternate}
  .sys.live .drop{animation:sys-drop 1.8s ease-in infinite}
  .sys.live .pump-eye{animation:sys-spin 1.4s linear infinite;transform-box:fill-box;transform-origin:center}
}
@keyframes sys-flow{to{stroke-dashoffset:-32}}
@keyframes sys-wave{from{transform:translateX(0)}to{transform:translateX(-50px)}}
@keyframes sys-bub{0%{transform:translateY(0);opacity:0}15%{opacity:.75}100%{transform:translateY(-200px);opacity:0}}
@keyframes sys-blink{0%,70%{opacity:1}71%,100%{opacity:.25}}
@keyframes sys-glow{from{opacity:.45}to{opacity:1}}
@keyframes sys-drop{0%{transform:translateY(-8px);opacity:0}25%{opacity:1}100%{transform:translateY(26px);opacity:0}}
@keyframes sys-spin{to{transform:rotate(360deg)}}

/* заглушка «страница собирается» — только в черновике */
.soon{padding:clamp(40px,5vw,72px) 0;border-bottom:1px solid var(--line)}
.soon p{margin:0;max-width:52em;color:var(--muted-strong)}
.soon p+p{margin-top:12px;font-size:17px}


/* ===== Лента разделов (как на странице системы): 5 плиток в ряд ===== */
.home .hub{padding:clamp(40px,5vw,80px) 0}
@media (min-width:1121px){
  .home .hub-tiles{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:10px}
  .home .hub-tile{min-height:250px;padding:clamp(18px,1.6vw,26px);gap:10px}
  .home .hub-tile h2{font-size:clamp(20px,1.45vw,30px)!important}
  .home .hub-tile p{font-size:14px;line-height:1.4}
  .home .hub-orb{width:56px;height:56px}
  .home .hub-cta{left:calc(clamp(18px,1.6vw,26px) + 68px);bottom:calc(clamp(18px,1.6vw,26px) + 17px)}
}
@media (min-width:1121px) and (max-width:1560px){ .home .hub-tile p{display:none} .home .hub-tile{min-height:200px} }
.home .calc-tile-num b{font-size:clamp(24px,1.9vw,38px)}
.sym-codes{display:flex;flex-wrap:wrap;gap:4px}
.sym-codes i{font-style:normal;font-size:12px;letter-spacing:.04em;text-transform:none;padding:4px 7px;border-radius:var(--r-pill);background:var(--paper);border:1px solid var(--line)}
.hub-tile[aria-selected="true"] .sym-codes i{background:transparent;border-color:var(--line-dark);color:rgba(255,255,255,.75)}
.hub-scope{margin:14px 0 0;color:var(--muted-strong)}
.calc-scope{margin:8px 0 0;font-size:13px;color:rgba(255,255,255,.62)}
a.calc-cta{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}

/* ===== Лента · Что не так с водой: флип-карточки ===== */
.sym-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:14px}
.sym{position:relative;min-width:0;perspective:1200px}
.sym-in{display:grid;height:100%;transition:transform .6s cubic-bezier(.3,1.2,.4,1);transform-style:preserve-3d}
.sym.flipped .sym-in{transform:rotateY(180deg)}
.sym-face{grid-area:1/1;min-width:0;border-radius:var(--r-l);backface-visibility:hidden;-webkit-backface-visibility:hidden}
.sym-front{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:5px;padding:8px 8px 14px;border:1px solid var(--line);background:var(--white);color:var(--ink);text-align:left;font:inherit;cursor:pointer;transition:border-color .25s,box-shadow .25s}
.sym-front:hover{border-color:var(--ink);box-shadow:0 18px 24px rgba(10,15,14,.08)}
.sym-front:focus-visible,.sym-back :focus-visible{outline:none;box-shadow:0 0 0 3px var(--paper),0 0 0 5px var(--ink)}
.sym-art{position:relative;display:block;width:100%;aspect-ratio:16/8;max-height:118px;border-radius:var(--r-m);background:var(--paper);overflow:hidden;margin-bottom:4px}
.sym-art svg{position:absolute;inset:8% 10%;width:80%;height:84%;overflow:visible}
.sym-art .a-l{fill:none;stroke:color-mix(in srgb,var(--ink) 55%,transparent);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.sym-art .a-r{fill:none;stroke:var(--orange);stroke-width:3;stroke-linecap:round}
.sym-art .a-m{fill:var(--mint);stroke:color-mix(in srgb,var(--ink) 55%,transparent);stroke-width:2}
.sym-art .a-f{fill:color-mix(in srgb,var(--ink) 28%,transparent)}
.sym-art .a-t{font:700 13px var(--font-mono);fill:color-mix(in srgb,var(--ink) 55%,transparent);text-transform:uppercase;letter-spacing:.1em}
.sym-art .a-t.big{font:900 34px var(--font-display);letter-spacing:0;fill:var(--orange)}
.sym-temp{position:absolute;right:6px;bottom:6px;font:500 12px/1 var(--font-mono);font-style:normal;color:var(--muted);border:1px dashed var(--line);border-radius:var(--r-pill);padding:4px 7px;background:var(--white)}
.sym-code{display:inline-block;font:500 12px/1 var(--font-mono);letter-spacing:.04em;padding:5px 8px;border-radius:var(--r-pill);background:var(--white);border:1px solid var(--line);color:var(--ink)}
.sym-front .sym-code{position:absolute;left:16px;top:16px}
.sym-front b{padding:0 6px;font:800 clamp(16px,1.15vw,20px)/1.1 var(--font-display);letter-spacing:-.04em}
.sym-pain{padding:0 6px;font-size:13.5px;line-height:1.36;color:var(--muted-strong)}
.sym-turn{position:absolute;right:16px;top:16px;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--white);border:1px solid var(--line);font-size:14px;color:var(--muted-strong);transition:transform .4s}
.sym-front:hover .sym-turn{transform:rotate(180deg);color:var(--ink)}

.sym-back{transform:rotateY(180deg);display:flex;flex-direction:column;gap:8px;padding:14px;background:var(--ink-surface);color:var(--on-dark)}
.sym-back-top{display:flex;align-items:center;gap:8px}
.sym-back-top b{flex:1;font:800 16px/1.1 var(--font-display);letter-spacing:-.04em}
.sym-back .sym-code{background:transparent;border-color:var(--line-dark);color:var(--mint)}
.sym-flip{flex:none;width:40px;height:40px;border-radius:50%;border:1px solid var(--line-dark);background:transparent;color:var(--on-dark);font-size:18px;cursor:pointer}
.sym-flip:hover{border-color:var(--mint)}
.sym-back p{margin:0;font-size:14px;line-height:1.35}
.sym-back p small{display:block;font:500 12px/1.3 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.55)}
.sym-links{margin-top:auto;display:flex;flex-direction:column;align-items:flex-start;gap:0}
.sym-links a,.sym-links button{display:inline-flex;align-items:center;min-height:32px;padding:0;border:0;background:none;color:var(--mint);font:800 13.5px var(--font-body);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.sym-links a:last-child{color:var(--on-dark)}

.sym-cta{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:16px;border-radius:var(--r-l);background:var(--mint-soft);perspective:none}
.sym-cta .mono{margin:0;color:var(--muted-strong)}
.sym-cta b{font:800 clamp(17px,1.2vw,21px)/1.1 var(--font-display);letter-spacing:-.04em}
.sym-cta .btn{height:48px;padding:0 20px;margin-top:auto}
.sym-cta .btn-text{min-height:36px;font-size:14px}
.sym-note{margin:0;font-size:12.5px;line-height:1.35;color:var(--muted-strong)}

@media (prefers-reduced-motion:reduce){
  .sym-in{transition:none;transform:none!important}
  .sym-face{backface-visibility:visible}
  .sym-back{transform:none;visibility:hidden}
  .sym.flipped .sym-back{visibility:visible}
  .sym.flipped .sym-front{visibility:hidden}
}
@media (min-width:1121px) and (max-width:1560px){ .sym-art{max-height:96px} .sym-pain{font-size:13px} }
@media (max-width:1380px){ .sym-grid{grid-template-columns:repeat(4,minmax(0,1fr))} .sym-pain{display:none} }
@media (max-width:1120px){ .sym-grid{grid-template-columns:repeat(3,minmax(0,1fr))} .sym-pain{display:block} }
@media (max-width:760px){
  .sym-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .sym-temp{display:none} .sym-cta{grid-column:1/-1}
  .sym-pain{display:block;font-size:12.5px;line-height:1.3;padding:0 4px}
  .sym-front{padding:6px 6px 10px} .sym-front b{padding:0 4px;font-size:15px}
  .sym-art{aspect-ratio:16/9}
  .sym-front .sym-code{left:12px;top:12px} .sym-turn{right:12px;top:12px}
  .sym-back{padding:10px;gap:6px}
  .sym-back-top b{font-size:14px} .sym-back-top .sym-code{display:none}
  .sym-flip{width:36px;height:36px}
  .sym-back p{font-size:12.5px;line-height:1.3}
  .sym-links a,.sym-links button{font-size:12.5px;min-height:34px;text-align:left}
}

#hero,#hub,#process,#live,#systems,#podbor{scroll-margin-top:60px}
.home .hub{scroll-margin-top:40px}


/* ===== Блок · Готовые системы ===== */
.systems{padding:clamp(56px,7vw,104px) 0;border-bottom:1px solid var(--line)}
.sys-filter{display:flex;flex-wrap:wrap;gap:6px;margin:-8px 0 18px}
.sys-filter button{min-height:44px;padding:0 16px;border-radius:var(--r-pill);border:1px solid var(--line);background:var(--white);color:var(--ink);font:700 14px var(--font-body);cursor:pointer}
.sys-filter button:hover{border-color:var(--ink)}
.sys-filter button[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.pgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.pcard{--sv-line:color-mix(in srgb,var(--ink) 62%,transparent);--sv-soft:color-mix(in srgb,var(--ink) 12%,transparent);--sv-pipe:color-mix(in srgb,var(--ink) 9%,transparent);--sv-fill:color-mix(in srgb,var(--ink) 4%,transparent);--sv-text:var(--muted-strong);--sv-clean:var(--mint-dark);
  position:relative;display:flex;flex-direction:column;gap:8px;min-width:0;padding:14px 14px 16px;border-radius:var(--r-l);border:1px solid var(--line);background:var(--white);color:var(--ink);transition:transform .3s cubic-bezier(.2,.7,.2,1),border-color .3s,box-shadow .3s}
a.pcard:hover,a.pcard:focus-visible{transform:translateY(-6px);border-color:var(--ink);box-shadow:0 22px 26px rgba(10,15,14,.1)}
a.pcard:focus-visible{outline:none;box-shadow:0 0 0 3px var(--paper),0 0 0 5px var(--ink)}
.pcard.hl{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.pc-top{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--muted-strong)}
.pc-badge{font-size:12px;letter-spacing:.1em;border:1px solid var(--line);border-radius:var(--r-pill);padding:4px 8px}
.pc-svg{display:block;border-radius:var(--r-m);background:var(--paper);aspect-ratio:16/9;overflow:hidden}
.pc-svg svg{display:block;width:100%;height:100%}
.pc-svg svg text{display:none}
.sys-svg .ghost .body,.sys-svg .ghost .pump{stroke-dasharray:5 5;opacity:.7}
.sys-svg .mineral{fill:var(--mint);opacity:.35}
.pc-name{min-height:2.16em;font:800 clamp(18px,1.3vw,22px)/1.08 var(--font-display);letter-spacing:-.045em;text-wrap:balance}
.pc-desc{min-height:2.8em}
.pc-desc{font-size:14px;line-height:1.4;color:var(--muted-strong)}
.pc-specs{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:8px;padding:10px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font:700 14px/1.2 var(--font-body)}
.pc-specs small{display:block;margin-bottom:3px;font:500 12px/1.1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted-strong)}
.pc-foot{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-top:auto;padding-top:2px}
.pc-price b{display:block;font:850 clamp(22px,1.7vw,30px)/1 var(--font-display);letter-spacing:-.055em;font-variant-numeric:tabular-nums}
.pc-price small{display:block;margin-top:4px;font-size:13px;color:var(--muted-strong)}
.pc-go{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--paper);font:800 18px/1 var(--font-body);transition:background .25s,color .25s,transform .25s}
a.pcard:hover .pc-go{background:var(--ink);color:var(--mint);transform:translateX(3px)}
.pcard[data-code="01"] .pc-price b{color:var(--mint-dark)}

/* карточка подбора — тёмная: главный инструмент */
.pc-pick{background:var(--ink-surface);border-color:var(--ink-surface);color:var(--on-dark);gap:10px}
:root[data-theme="dark"] .pc-pick{border-color:var(--line-dark)}
.pc-pick>.mono{color:var(--mint)}
.pc-pick .pc-name{font-size:clamp(22px,1.7vw,30px)}
.pc-pick .pc-desc{color:rgba(255,255,255,.72)}
.pick-steps{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px;counter-reset:st}
.pick-steps li{counter-increment:st;display:inline-flex;align-items:center;gap:6px;padding:5px 9px 5px 5px;border-radius:var(--r-pill);border:1px solid var(--line-dark);font-size:13px;color:rgba(255,255,255,.85)}
.pick-steps li::before{content:"0" counter(st);display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--mint);color:#08110f;font:600 11px var(--font-mono)}
.pick-q{font:800 16px/1.2 var(--font-body);margin-top:auto}
.pick-obj{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.pick-obj a{display:flex;align-items:center;justify-content:space-between;min-height:46px;padding:0 14px;border-radius:var(--r-m);background:var(--mint);color:#08110f;font:800 14px var(--font-body);transition:transform .2s,background .2s}
.pick-obj a::after{content:"→"}
.pick-obj a:hover{transform:translateY(-2px);background:var(--acid)}
.pick-alt{display:inline-flex;align-items:center;min-height:40px;font-weight:700;font-size:14px;color:rgba(255,255,255,.8);text-decoration:underline;text-underline-offset:3px}
.pick-alt:hover{color:var(--mint)}
.pnote{margin:16px 0 0;font-size:13px;color:var(--muted-strong);max-width:60em}

@media (max-width:1380px){ .pgrid{grid-template-columns:repeat(3,minmax(0,1fr))} }
@media (max-width:900px){ .pgrid{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:620px){
  .pgrid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:10px;margin:0 calc(var(--gutter) * -1);padding:4px var(--gutter) 10px;scrollbar-width:none}
  .pgrid::-webkit-scrollbar{display:none}
  .pcard{flex:0 0 82%;scroll-snap-align:center}
  .pc-pick{order:-1}
  .sys-filter{flex-wrap:nowrap;overflow-x:auto;margin:-8px calc(var(--gutter) * -1) 14px;padding:2px var(--gutter);scrollbar-width:none}
  .sys-filter button{flex:none}
}


/* ===== Как всё происходит: 6 шагов в одну линию ===== */
.process{padding:clamp(40px,5vw,80px) 0;border-bottom:1px solid var(--line)}
.proc-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 32px;margin-bottom:clamp(18px,2vw,28px)}
.proc-head h2{margin:0;font:850 clamp(34px,3.8vw,64px)/1 var(--font-display);letter-spacing:-.065em}
.proc-head h2 em{font-style:normal;color:var(--mint-dark);background:linear-gradient(var(--stroke),var(--stroke)) 0 94%/100% .12em no-repeat}
.proc-head p{margin:0;max-width:30em;font-size:clamp(16px,1.1vw,18px);color:var(--muted-strong)}
.proc{position:relative;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.proc::before{content:"";position:absolute;left:4%;right:4%;top:31px;height:4px;border-radius:4px;background:repeating-linear-gradient(90deg,var(--mint) 0 6px,transparent 6px 16px);opacity:.7;z-index:0}
@media (prefers-reduced-motion:no-preference){ .process.live .proc::before{animation:proc-flow 1.2s linear infinite} }
@keyframes proc-flow{to{background-position:16px 0}}
.pr-step{position:relative;z-index:1;min-width:0}
.pr-in{display:flex;flex-direction:column;gap:6px;height:100%;padding:14px 16px 16px;border-radius:var(--r-l);border:1px solid var(--line);background:var(--white);color:var(--ink);transition:transform .3s cubic-bezier(.2,.7,.2,1),border-color .3s,box-shadow .3s}
a.pr-in:hover,a.pr-in:focus-visible{transform:translateY(-5px);border-color:var(--ink);box-shadow:0 20px 24px rgba(10,15,14,.09)}
a.pr-in:focus-visible{outline:none;box-shadow:0 0 0 3px var(--paper),0 0 0 5px var(--ink)}
.pr-num{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--ink);color:var(--mint);letter-spacing:0;font-weight:600}
.pr-t{font:700 14px/1.2 var(--font-body);color:var(--muted-strong);margin-top:4px}
.pr-big{font:850 clamp(20px,1.6vw,28px)/1.02 var(--font-display);letter-spacing:-.055em;text-wrap:balance}
.pr-txt{font-size:14px;line-height:1.38;color:var(--muted-strong)}
.pr-go{margin-top:auto;padding-top:6px;font:800 14px var(--font-body);text-decoration:underline;text-underline-offset:3px}
.s-blue .pr-in{background:var(--blue);border-color:var(--blue);color:#fff}
.s-blue .pr-t,.s-blue .pr-txt{color:rgba(255,255,255,.86)}
.s-blue .pr-num{background:#fff;color:var(--blue)}
.s-blue a.pr-in:hover{border-color:var(--ink)}
.s-mint .pr-in{background:var(--mint-soft);border-color:var(--mint-soft)}
@media (max-width:1120px){ .proc{grid-template-columns:repeat(3,minmax(0,1fr))} .proc::before{display:none} }
@media (max-width:620px){
  .proc{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 calc(var(--gutter) * -1);padding:4px var(--gutter) 10px;scrollbar-width:none}
  .proc::-webkit-scrollbar{display:none}
  .pr-step{flex:0 0 72%;scroll-snap-align:start}
}


/* ===== Покажем вживую ===== */
.showcase{padding:clamp(40px,5vw,80px) 0;border-bottom:1px solid var(--line)}
.live-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:10px}
.vid{position:relative;display:block;width:100%;padding:0;border:0;border-radius:var(--r-l);overflow:hidden;background:var(--ink-surface);color:#fff;text-align:left;font:inherit;cursor:pointer}
.vid img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.vid::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,17,15,.05) 30%,rgba(8,17,15,.78))}
.vid:hover img{transform:scale(1.04)}
.vid:focus-visible{outline:none;box-shadow:0 0 0 3px var(--paper),0 0 0 5px var(--ink)}
.vid-main{aspect-ratio:16/9}
.vid-badge{position:absolute;left:16px;top:16px;z-index:2;background:var(--orange);color:#08110f;border-radius:var(--r-pill);padding:6px 10px;letter-spacing:.08em}
.vid-play{position:absolute;z-index:2;display:grid;place-items:center;width:clamp(64px,6vw,92px);aspect-ratio:1;border-radius:50%;background:var(--mint);left:50%;top:44%;transform:translate(-50%,-50%);box-shadow:0 0 0 10px rgba(36,216,188,.25);transition:transform .3s cubic-bezier(.3,1.5,.5,1)}
.vid-play svg{width:42%;fill:#08110f;margin-left:6%}
.vid:hover .vid-play{transform:translate(-50%,-50%) scale(1.08)}
.vid-cap{position:absolute;z-index:2;left:18px;right:18px;bottom:16px;display:flex;flex-direction:column;gap:4px}
.vid-cap small{color:rgba(255,255,255,.75);letter-spacing:.08em}
.vid-main .vid-cap b{font:850 clamp(20px,2vw,34px)/1.05 var(--font-display);letter-spacing:-.05em;max-width:18em;text-wrap:balance}
.vid-list{display:grid;grid-template-rows:repeat(3,1fr);gap:10px}
.vid-s{min-height:110px}
.vid-s .vid-cap b{font:800 16px/1.15 var(--font-body)}
.vid-s .vid-play{left:auto;right:16px;top:16px;transform:none;width:44px;box-shadow:none}
.vid-s:hover .vid-play{transform:scale(1.08)}

.live-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:18px 0 12px}
.live-tabs button{display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:0 18px;border-radius:var(--r-pill);border:1px solid var(--line);background:var(--white);color:var(--ink);font:800 15px var(--font-body);cursor:pointer}
.live-tabs button i{font:600 12px var(--font-mono);font-style:normal;background:var(--paper-2);border-radius:var(--r-pill);padding:3px 7px}
.live-tabs button[aria-selected="true"]{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.live-tabs button[aria-selected="true"] i{background:var(--mint);color:#08110f}
.live-strip{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(220px,1fr);gap:10px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:thin;padding-bottom:6px}
.obj-card{position:relative;display:block;aspect-ratio:3/4;max-height:420px;padding:0;border:0;border-radius:var(--r-l);overflow:hidden;background:var(--paper-2);color:#fff;text-align:left;font:inherit;cursor:pointer;scroll-snap-align:start}
.obj-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.obj-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(8,17,15,.82))}
.obj-card:hover img{transform:scale(1.05)}
.obj-card:focus-visible{outline:none;box-shadow:0 0 0 3px var(--paper),0 0 0 5px var(--ink)}
.obj-n{position:absolute;z-index:2;right:12px;top:12px;background:rgba(8,17,15,.6);border-radius:var(--r-pill);padding:5px 9px;letter-spacing:.06em}
.obj-cap{position:absolute;z-index:2;left:14px;right:14px;bottom:14px;display:flex;flex-direction:column;gap:5px}
.obj-cap small{color:rgba(255,255,255,.75);letter-spacing:.08em}
.obj-cap b{font:800 17px/1.15 var(--font-body)}
.obj-more{font:800 14px var(--font-body);color:var(--mint)}
.obj-card.slot{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:6px;padding:16px;cursor:default;border:1.5px dashed var(--line);background:transparent;color:var(--muted-strong)}
.obj-card.slot::after{display:none}
.obj-card.slot b{font:700 15px var(--font-body)}
.obj-ph{margin-bottom:auto;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;border:1.5px dashed var(--line);font-size:22px}

.obj-dialog{width:min(1100px,calc(100% - 24px));max-height:calc(100dvh - 24px);border:0;border-radius:var(--r-xl);padding:0;background:var(--paper);color:var(--ink);box-shadow:0 50px 120px rgba(0,0,0,.35);overflow:hidden}
.obj-dialog::backdrop{background:rgba(3,8,6,.8);backdrop-filter:blur(8px)}
.obj-dialog[open]{animation:pop .35s cubic-bezier(.2,.7,.2,1)}
.obj-in{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);height:min(calc(100dvh - 24px),820px)}
.obj-gal{position:relative;background:#0b1512;display:flex;flex-direction:column;min-height:0}
.obj-gal>img{flex:1 1 auto;min-height:0;width:100%;height:0;object-fit:contain}
.obj-thumbs{display:flex;gap:6px;padding:10px;overflow-x:auto}
.obj-thumbs:empty{display:none}
.obj-thumbs button{flex:none;width:64px;height:64px;padding:0;border:2px solid transparent;border-radius:12px;overflow:hidden;background:none;cursor:pointer}
.obj-thumbs button[aria-pressed="true"]{border-color:var(--mint)}
.obj-thumbs img{width:100%;height:100%;object-fit:cover}
.obj-copy{padding:56px 36px 28px;display:flex;flex-direction:column;gap:12px;overflow-y:auto}
.obj-copy .mono{margin:0;color:var(--muted-strong)}
.obj-copy h2{margin:0;font:900 clamp(26px,2.4vw,40px)/1 var(--font-display);letter-spacing:-.06em;text-wrap:balance}
.obj-copy>p:not(.mono){margin:0;font-size:17px;line-height:1.5}
.obj-data{margin:6px 0 0;display:grid;gap:0;border-top:1px solid var(--line)}
.obj-data div{display:grid;grid-template-columns:150px minmax(0,1fr);gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}
.obj-data dt{font:500 12px/1.4 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted-strong)}
.obj-data dd{margin:0;font-weight:700}
.obj-data dd.fill{font-weight:500;color:var(--muted);font-style:italic}
.obj-act{margin-top:auto;display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding-top:8px}
.obj-note{margin:0;font-size:13px;color:var(--muted-strong)}
.obj-dialog.is-video .obj-gal>img{object-fit:cover;filter:brightness(.7)}

@media (max-width:900px){
  .live-grid{grid-template-columns:1fr}
  .vid-list{grid-template-rows:none;grid-auto-flow:column;grid-auto-columns:70%;overflow-x:auto;scrollbar-width:none}
  .obj-in{grid-template-columns:1fr;overflow-y:auto;height:auto;max-height:calc(100dvh - 12px)}
  .obj-gal>img{flex:none;height:52dvh}
  .obj-copy{padding:20px 20px 24px;overflow:visible}
  .obj-data div{grid-template-columns:120px minmax(0,1fr)}
}
@media (max-width:620px){
  .vid-main .vid-play{top:36%}
  .live-strip{grid-auto-columns:64%;margin:0 calc(var(--gutter) * -1);padding:0 var(--gutter) 6px}
}


/* ===== Кнопка подбора «иглобрюх»: дышит, на наведение — надувается и выпускает колючки ===== */
.puffy{position:relative;display:inline-flex;align-items:center;gap:14px;min-height:72px;padding:10px 30px 10px 14px;margin-right:22px;border-radius:999px;background:var(--mint);color:#08110f;border:3px solid #08110f;box-shadow:6px 7px 0 #08110f;text-decoration:none;cursor:pointer;isolation:isolate;transition:transform .35s cubic-bezier(.3,1.6,.5,1),box-shadow .25s,background .3s}
:root[data-theme="dark"] .puffy{border-color:#08110f}
.pf-eye{flex:none;position:relative;width:34px;height:34px;border-radius:50%;background:#fff;border:3px solid #08110f}
.pf-eye::after{content:"";position:absolute;width:12px;height:12px;border-radius:50%;background:#08110f;right:5px;top:7px;transition:transform .3s}
.pf-txt{display:flex;flex-direction:column;gap:3px;text-align:left}
.pf-txt b{font:850 clamp(17px,1.4vw,21px)/1.05 var(--font-display);letter-spacing:-.04em;white-space:nowrap}
.pf-txt small{font:600 13px/1.2 var(--font-body);color:#0b4a40}
.pf-tail{position:absolute;right:-24px;top:50%;width:26px;height:34px;transform:translateY(-50%);background:var(--mint-dark);clip-path:polygon(0 50%,100% 0,85% 50%,100% 100%);z-index:-1;transition:transform .35s cubic-bezier(.3,1.6,.5,1)}
.pf-spikes{position:absolute;inset:0;z-index:-1;pointer-events:none}
.pf-spikes i{position:absolute;width:3px;height:14px;border-radius:2px;background:#08110f;opacity:0;transform:scaleY(.2);transition:opacity .2s,transform .35s cubic-bezier(.3,1.6,.5,1)}
.pf-spikes i:nth-child(-n+6){top:-16px}
.pf-spikes i:nth-child(n+7){bottom:-16px}
.pf-spikes i:nth-child(1),.pf-spikes i:nth-child(7){left:12%}.pf-spikes i:nth-child(2),.pf-spikes i:nth-child(8){left:27%}.pf-spikes i:nth-child(3),.pf-spikes i:nth-child(9){left:42%}
.pf-spikes i:nth-child(4),.pf-spikes i:nth-child(10){left:57%}.pf-spikes i:nth-child(5),.pf-spikes i:nth-child(11){left:72%}.pf-spikes i:nth-child(6),.pf-spikes i:nth-child(12){left:87%}
.puffy:hover,.puffy:focus-visible{transform:scale(1.06) rotate(-1.5deg);background:var(--acid);outline:none}
.puffy:focus-visible{box-shadow:6px 7px 0 #08110f,0 0 0 4px var(--paper),0 0 0 7px #08110f}
.puffy:hover .pf-spikes i,.puffy:focus-visible .pf-spikes i{opacity:1;transform:none}
.puffy:hover .pf-tail{transform:translateY(-50%) rotate(-14deg)}
.puffy:hover .pf-eye::after{transform:translateX(-4px)}
.puffy:active{transform:scale(.98);box-shadow:2px 3px 0 #08110f}
@media (prefers-reduced-motion:no-preference){
  .puffy{animation:pf-breathe 3.2s ease-in-out infinite}
  .puffy:hover,.puffy:focus-visible{animation:none}
}
@keyframes pf-breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.035)}}
.pc-pick .puffy{align-self:flex-start;margin:6px 26px 4px 0;max-width:calc(100% - 26px);border-radius:40px}
.pc-pick .pf-txt{min-width:0}.pc-pick .pf-txt b{white-space:normal}
.pc-pick .pick-q{margin-top:6px;font-size:14px;color:rgba(255,255,255,.75)}
.pc-pick .pick-obj a{background:transparent;border:1px solid var(--line-dark);color:var(--on-dark);min-height:44px}
.pc-pick .pick-obj a:hover{background:var(--mint);color:#08110f;border-color:var(--mint)}

/* ===== Окно подбора ===== */
.wiz{width:min(1180px,calc(100% - 24px));height:min(820px,calc(100dvh - 24px));max-height:none;border:0;border-radius:var(--r-xl);padding:0;background:var(--paper);color:var(--ink);box-shadow:0 50px 120px rgba(0,0,0,.35);overflow:hidden}
.wiz::backdrop{background:rgba(3,8,6,.8);backdrop-filter:blur(8px)}
.wiz[open]{animation:pop .35s cubic-bezier(.2,.7,.2,1)}
.wiz-in{display:grid;grid-template-columns:300px minmax(0,1fr);height:100%}
.wiz-side{position:relative;display:flex;flex-direction:column;gap:16px;padding:28px 22px;background:#0b1512;color:#fff;overflow:hidden}
.wiz-eye{margin:0;color:var(--mint)}
.wiz-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;position:relative;z-index:1}
.wiz-steps button{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;padding:0 12px;border:0;border-radius:var(--r-m);background:transparent;color:rgba(255,255,255,.55);font:700 15px var(--font-body);text-align:left;cursor:pointer}
.wiz-steps button i{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;border:1px solid rgba(255,255,255,.25);font:600 12px var(--font-mono);font-style:normal}
.wiz-steps button.done{color:rgba(255,255,255,.85)}
.wiz-steps button.done i{background:var(--mint-dark);border-color:var(--mint-dark);color:#fff}
.wiz-steps button.on{background:rgba(255,255,255,.08);color:#fff}
.wiz-steps button.on i{background:var(--mint);border-color:var(--mint);color:#08110f}
.wiz-steps button:disabled{cursor:default}
.wiz-tank{position:relative;flex:1;min-height:120px;border:3px solid rgba(255,255,255,.85);border-radius:28px;overflow:hidden;display:grid;place-items:center}
.wiz-tank i{position:absolute;left:0;right:0;bottom:0;height:18%;background:linear-gradient(rgba(186,156,86,.75),rgba(150,120,60,.85));transition:height .7s cubic-bezier(.2,.7,.2,1),background .7s}
.wiz.res .wiz-tank i{background:linear-gradient(#6fe8d6,#1ab69e)}
.wiz-tank span{position:relative;font:900 36px var(--font-display);color:#fff;opacity:.25;transition:opacity .6s}
.wiz.res .wiz-tank span{opacity:1}
.wiz-free{margin:0;font-size:14px;line-height:1.4;color:rgba(255,255,255,.8)}
.wiz-free b{color:var(--mint)}
.wiz-main{overflow-y:auto;overscroll-behavior:contain;padding:44px 40px 0}
.wz-step>.mono{margin:0;color:var(--muted-strong)}
.wz-step h2{margin:8px 0 0;font:900 clamp(26px,2.6vw,42px)/1 var(--font-display);letter-spacing:-.06em;text-wrap:balance;outline:none}
.wz-sub{margin:10px 0 0;max-width:40em;color:var(--muted-strong)}
.wz-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 14px;margin-top:22px}
.wz-grid.g7{grid-template-columns:repeat(4,minmax(0,1fr))}
.wz-f{display:flex;flex-direction:column;gap:8px;min-width:0}
.wz-f.wide{grid-column:1/-1}
.wz-l{font:600 12px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted-strong)}
.wz-f input[type=number]{font:400 16px var(--font-body);color:var(--ink);background:var(--white);border:1px solid var(--line);border-radius:var(--r-s);padding:12px 14px;min-height:48px;width:100%}
.wz-f input:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}
.wz-chips{display:flex;flex-wrap:wrap;gap:6px}
.wz-chips label{position:relative}
.wz-chips input,.wz-issues input,.wz-src input{position:absolute;opacity:0;pointer-events:none}
.wz-chips span{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border-radius:var(--r-pill);border:1px solid var(--line);background:var(--white);font:700 14px var(--font-body);cursor:pointer;transition:background .2s,border-color .2s,color .2s}
.wz-chips label:hover span{border-color:var(--ink)}
.wz-chips input:checked+span{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.wz-chips input:focus-visible+span,.wz-issues input:focus-visible+span,.wz-src input:focus-visible+span{box-shadow:0 0 0 3px var(--paper),0 0 0 5px var(--ink)}
.wz-issues{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:20px}
.wz-src{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:20px}
.wz-issues label,.wz-src label{position:relative;display:block;cursor:pointer}
.wz-issues span,.wz-src span{display:flex;flex-direction:column;gap:4px;height:100%;padding:14px 16px;border-radius:var(--r-m);border:1px solid var(--line);background:var(--white);transition:background .2s,border-color .2s}
.wz-issues b,.wz-src b{font-size:15px}
.wz-issues small,.wz-src small{font-size:13px;color:var(--muted-strong)}
.wz-issues label:hover span,.wz-src label:hover span{border-color:var(--ink)}
.wz-issues input:checked+span,.wz-src input:checked+span{background:var(--mint-soft);border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.wz-upload{margin-top:16px;padding:14px 16px;border-radius:var(--r-m);border:1px dashed var(--line);background:var(--white);font-size:14px}
.wz-upload p{margin:0 0 10px}
#wzPhotoList{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
#wzPhotoList img{width:64px;height:64px;object-fit:cover;border-radius:10px}
.wz-banner{margin:18px 0 0;padding:12px 14px;border-radius:var(--r-m);background:var(--mint-soft);font-size:14px}
.wz-noan{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px}
.wz-noan a{display:flex;flex-direction:column;gap:4px;padding:16px;border-radius:var(--r-m);border:1px solid var(--line);background:var(--white)}
.wz-noan a.w-blue{background:var(--blue);border-color:var(--blue);color:#fff}
.wz-noan a.w-blue small{color:rgba(255,255,255,.85)}
.wz-noan small{color:var(--muted-strong);font-size:13px}
.wz-noan a:hover{border-color:var(--ink)}
.wz-val{margin:14px 0 0;padding:12px 14px;border-radius:var(--r-m);background:#ffe3d8;color:#8a3416;font-weight:700;font-size:14px}
.wz-act{position:sticky;bottom:0;display:flex;justify-content:space-between;align-items:center;gap:10px;margin:24px -40px 0;padding:16px 40px 20px;background:linear-gradient(transparent,var(--paper) 22%)}
.wz-act.res{justify-content:flex-start;flex-wrap:wrap}
.wz-res>p#wzResText{margin:12px 0 0;max-width:46em;font-size:16px;line-height:1.5}
.wz-res-card:empty{display:none}
.wz-pc{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:16px;align-items:center;margin-top:18px;padding:12px;border-radius:var(--r-l);border:1px solid var(--line);background:var(--white);color:var(--ink);--sv-line:color-mix(in srgb,var(--ink) 62%,transparent);--sv-soft:color-mix(in srgb,var(--ink) 12%,transparent);--sv-pipe:color-mix(in srgb,var(--ink) 9%,transparent);--sv-fill:color-mix(in srgb,var(--ink) 4%,transparent);--sv-text:var(--muted-strong);--sv-clean:var(--mint-dark)}
.wz-pc:hover{border-color:var(--ink)}
.wz-pc-svg{display:block;aspect-ratio:16/9;border-radius:var(--r-m);background:var(--paper);overflow:hidden}
.wz-pc-svg svg{width:100%;height:100%}
.wz-pc-svg text{display:none}
.wz-pc-txt{display:flex;flex-direction:column;gap:6px}
.wz-pc-txt small{color:var(--mint-dark)}
.wz-pc-txt>b{font:850 clamp(20px,1.8vw,28px)/1.05 var(--font-display);letter-spacing:-.05em}
.wz-pc-txt span{color:var(--muted-strong)}
.wz-pc-txt span b{color:var(--ink)}
.wz-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}
.wz-tags span{font:600 13px var(--font-body);padding:7px 11px;border-radius:var(--r-pill);background:var(--ink);color:var(--paper)}
.wz-tags.soft span{background:var(--mint-soft);color:var(--ink)}
.wz-fine{margin:14px 0 0;font-size:13px;color:var(--muted-strong)}

/* ===== Хочу! ===== */
.want{padding:clamp(40px,5vw,80px) 0;border-bottom:1px solid var(--line)}
.want-box{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(20px,3vw,48px);align-items:center;padding:clamp(22px,3vw,44px);border-radius:var(--r-xl);background:var(--ink-surface);color:var(--on-dark)}
:root[data-theme="dark"] .want-box{box-shadow:inset 0 0 0 1px var(--line-dark)}
.want-copy .mono{margin:0;color:var(--mint)}
.want-copy h2{margin:10px 0 0;font:900 clamp(32px,3.6vw,60px)/.98 var(--font-display);letter-spacing:-.065em;text-wrap:balance}
.want-copy h2 em{font-style:normal;color:var(--mint)}
.want-copy p:last-child{margin:14px 0 0;color:rgba(255,255,255,.75);font-size:17px}
.want-paths{display:grid;gap:8px}
.want-card{position:relative;display:flex;flex-direction:column;gap:4px;width:100%;padding:18px 64px 18px 20px;border-radius:var(--r-l);border:1px solid var(--line-dark);background:rgba(255,255,255,.04);color:var(--on-dark);text-align:left;font:inherit;cursor:pointer;transition:background .25s,border-color .25s,transform .25s}
.want-card .mono{color:rgba(255,255,255,.6)}
.want-card b{font:800 19px/1.15 var(--font-body)}
.want-card small{font-size:14px;color:rgba(255,255,255,.7)}
.want-card i{position:absolute;right:18px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--mint);color:#08110f;font-style:normal;font-weight:800}
.want-card:hover{transform:translateX(4px);border-color:var(--mint);background:rgba(255,255,255,.08)}
.want-card.w-blue{background:var(--blue);border-color:var(--blue)}
.want-card.w-blue .mono,.want-card.w-blue small{color:rgba(255,255,255,.85)}
.want-card.w-blue i{background:#fff;color:var(--blue)}
.want-card:focus-visible{outline:none;box-shadow:0 0 0 3px var(--ink-surface),0 0 0 5px var(--mint)}
.want-phones{grid-column:1/-1;margin:0;font-size:15px;color:rgba(255,255,255,.7)}
.want-phones a{color:#fff;font-weight:700;text-decoration:underline;text-underline-offset:3px;display:inline-flex;min-height:40px;align-items:center}

@media (max-width:900px){
  .wiz{width:100%;height:100dvh;max-width:none;border-radius:0}
  .wiz-in{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}
  .wiz-side{flex-direction:row;align-items:center;gap:10px;padding:12px 64px 12px 12px}
  .wiz-eye,.wiz-tank,.wiz-free{display:none}
  .wiz-steps{flex-direction:row;overflow-x:auto;scrollbar-width:none;gap:4px}
  .wiz-steps::-webkit-scrollbar{display:none}
  .wiz-steps button{flex:none;width:auto;padding:0 10px;font-size:13px}
  .wiz-steps button:not(.on) span{display:none}
  .wiz-main{padding:22px 16px 0}
  .wz-grid,.wz-grid.g7{grid-template-columns:repeat(2,minmax(0,1fr))}
  .wz-issues,.wz-src{grid-template-columns:repeat(2,minmax(0,1fr))}
  .wz-act{margin:20px -16px 0;padding:12px 16px calc(14px + env(safe-area-inset-bottom,0px))}
  .wz-act .btn{flex:1 1 auto}
  .wz-pc{grid-template-columns:1fr}
  .want-box{grid-template-columns:1fr}
}
@media (max-width:620px){
  .wz-src,.wz-noan{grid-template-columns:1fr}
  .wz-chips span{padding:0 13px;font-size:13.5px}
  .puffy{min-height:64px;padding:8px 22px 8px 10px;gap:10px;margin-right:24px}
  .pf-txt b{font-size:17px;white-space:normal}
  .pf-eye{width:28px;height:28px}
  .pf-eye::after{width:10px;height:10px;top:6px;right:4px}
  .home-hero .actions .puffy{flex:1 1 auto}
  .want-card{padding:16px 58px 16px 16px}
  .want-card b{font-size:17px}
}

/* ===== Адаптив: 1120 / 900 / 620 ===== */
@media (max-width:1120px){
  .tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:1120px){
  .home-hero .hero-grid{grid-template-columns:minmax(0,1fr);min-height:0;padding-block:20px 32px;gap:18px}
  .home-hero .hero-grid>*,.home-hero .hero-copy>*{min-width:0}
  .home-hero .hero-copy{display:contents}
  .home-hero .kicker{order:1;margin:0}.home-hero .rotator{order:2}.home-hero .lead{order:3;margin:0}.home-hero .actions{order:4;margin:0}
  .home-hero .sys{order:5}.home-hero .need{order:6;margin-top:6px}
  .home-hero .rotator{font-size:clamp(34px,8.4vw,84px)}
  .sys-stage{max-height:none}
}
@media (max-width:620px){
  .sys{border-radius:var(--r-l);margin:0 calc(var(--gutter) * -.5);padding:10px}
  .sys-stage{min-height:0}
  .home-hero .actions .btn{flex:1 1 100%}
  .need-chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 calc(var(--gutter) * -1);padding:2px var(--gutter)}
  .need-chips::-webkit-scrollbar{display:none}
  .need-chips button{flex:none}
  .tile{padding:16px}
}

/* ===== Путь воды: ответ «Зачем?» — в левой части окна, на виду ===== */
.water-journey .journey-visual .journey-question{position:absolute;left:24px;right:24px;bottom:72px;margin:0;z-index:3;background:var(--mint-soft);color:#08110f;border-radius:var(--r-l);padding:18px 20px;font-size:17px;line-height:1.45;box-shadow:0 20px 40px rgba(0,0,0,.35);animation:pop .3s cubic-bezier(.2,.7,.2,1)}
.water-journey .journey-visual .journey-question::before{content:"Зачем";display:block;margin-bottom:6px;font:600 12px/1 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:#446059}
@media (max-width:900px){.water-journey .journey-visual .journey-question{left:12px;right:12px;bottom:12px;font-size:15px;padding:14px 16px}}

/* невысокие экраны ноутбуков: hero плотнее, чтобы первый экран помещался */
@media (min-width:901px) and (max-height:820px){
  .home-hero .kicker{margin-bottom:8px}
  .home-hero .lead{font-size:16px;margin-top:10px}
  .removes-box{margin-top:10px;padding:10px 12px}
  .need{margin-top:14px;padding-top:12px}
  .need-q{margin-bottom:6px}
  .need-chips button{min-height:40px;font-size:14px}
  .need-chips button i{min-width:28px;height:28px}
}

.home-hero .lead strong{white-space:normal}

/* ===== Телефон: компактные вкладки, плитки ленты, кнопки подбора ===== */
@media (max-width:620px){
  .live-tabs{flex-wrap:nowrap}
  .live-tabs button{flex:1 1 0;justify-content:center;padding:0 10px;font-size:14px;white-space:nowrap}
  .home .hub-tiles{gap:8px}
  .home .hub-tile{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px 12px;padding:16px 16px 14px;min-height:0}
  .home .hub-tile h2{grid-column:1;font-size:21px!important}
  .home .hub-tile p,.home .hub-tile .sym-codes{display:none}
  .home .hub-orb{grid-column:2;grid-row:1 / span 2;width:46px;height:46px;margin:0}
  .home .hub-cta{position:static;grid-column:1}
  .home .calc-tile-num{grid-column:1;flex-direction:row;align-items:baseline;gap:6px}
  .home .calc-tile-num b{font-size:24px}
  .pick-obj a{padding:0 10px;font-size:13px;gap:6px}
  .pick-obj a::after{flex:none}
  .pc-pick .pc-name{font-size:24px}
}
.home .calc-tile-num b{white-space:nowrap}
.wz-step h2:focus,.wz-step h2:focus-visible{outline:none;box-shadow:none}
@media (max-width:900px){
  .wz-act.res{position:static;display:grid;grid-template-columns:1fr 1fr;margin-bottom:12px}
  .wz-act.res .js-lead{grid-column:1/-1;order:-1}
  .wz-act.res .btn{padding:0 12px;font-size:14px}
}
@media (max-width:400px){.live-tabs button{min-width:0;padding:0 8px;font-size:13.5px}.live-tabs button i{display:none}}

/* ===== Полезное, странное и смешное ===== */
.fun{padding:clamp(56px,7vw,104px) 0;border-bottom:1px solid var(--line)}
.fun-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.35fr);gap:12px;align-items:stretch}
.scratch{position:relative;min-height:420px;border-radius:var(--r-xl);overflow:hidden;background:var(--ink-surface);color:var(--on-dark);user-select:none;-webkit-user-select:none}
.scratch-under{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;gap:10px;padding:clamp(20px,2.4vw,34px);overflow:hidden;color:#0d1416;
  background:
    linear-gradient(115deg,rgba(255,255,255,0) 30%,rgba(255,255,255,.85) 42%,rgba(255,255,255,0) 52%),
    repeating-linear-gradient(90deg,rgba(255,255,255,.18) 0 1px,rgba(0,0,0,.035) 1px 3px),
    linear-gradient(160deg,#f7f9fb 0%,#c3cad0 18%,#fdfefe 34%,#9aa3ab 52%,#e9edf0 66%,#b4bcc3 82%,#f4f6f8 100%)}
.scratch-under::before{content:"";position:absolute;right:9%;top:11%;width:150px;height:150px;border-radius:50%;
  background:radial-gradient(circle at 35% 30%,#fff 0 12%,#d7dde2 30%,#8c959d 62%,#eef1f3 78%,#a3abb2 100%);box-shadow:inset 0 0 0 10px rgba(255,255,255,.5),0 10px 30px rgba(0,0,0,.18)}
.chrome-glint{position:absolute;inset:-20%;background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.95) 48%,transparent 56%);transform:translateX(-80%);pointer-events:none}
.scratch.clean .chrome-glint{animation:chromeGlint 2.6s ease-in-out .2s infinite}
@keyframes chromeGlint{0%{transform:translateX(-80%)}60%,100%{transform:translateX(80%)}}
.scratch-under .mono{color:#3c474e;position:relative}
.scratch-under strong{position:relative;font:900 clamp(30px,3.2vw,52px)/.98 var(--font-display);letter-spacing:-.065em;color:#0d1416;text-shadow:0 1px 0 rgba(255,255,255,.7)}
.scratch-under small{position:relative;font-size:14px;line-height:1.45;color:#2f3a40;max-width:30em}
#scratchCanvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:crosshair;transition:opacity .6s}
.scratch.clean #scratchCanvas{opacity:0;pointer-events:none}
.scratch-tag{position:absolute;left:16px;top:16px;z-index:2;background:var(--acid);color:#08110f;border-radius:var(--r-pill);padding:9px 13px;font-weight:600;transform:rotate(-4deg);pointer-events:none;transition:opacity .3s}
.scratch.touched .scratch-tag{opacity:0}
.scratch-reset{position:absolute;right:14px;top:14px;z-index:3;min-height:44px;padding:0 16px;border-radius:var(--r-pill);border:1px solid rgba(8,17,15,.2);background:rgba(8,17,15,.82);color:#fff;font:700 14px var(--font-body);cursor:pointer}
.scratch-reset:hover{border-color:var(--mint)}
.fun-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:minmax(204px,1fr);gap:12px}
.fun-card{display:grid;perspective:900px;min-width:0}
.fun-f,.fun-b{grid-area:1/1;min-width:0;border-radius:var(--r-l);backface-visibility:hidden;-webkit-backface-visibility:hidden;transition:transform .55s cubic-bezier(.2,.7,.2,1)}
.fun-f{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:16px;text-align:left;background:var(--white);border:1px solid var(--line);color:var(--ink);font:inherit;cursor:pointer;position:relative}
.fun-f:hover{border-color:var(--ink)}
.fun-f .mono{display:inline-grid;place-items:center;min-width:44px;height:30px;padding:0 9px;border-radius:var(--r-pill);background:var(--paper);color:var(--muted-strong)}
.fun-f b{margin-top:auto;font:850 clamp(16px,1.1vw,18px)/1.15 var(--font-display);letter-spacing:-.045em;hyphens:auto;-webkit-hyphens:auto}
.fun-f i{position:absolute;right:14px;top:14px;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line);font-style:normal;font-size:14px;color:var(--muted-strong);transition:transform .4s}
.fun-f:hover i{transform:rotate(180deg)}
.fun-b{transform:rotateY(180deg);display:flex;flex-direction:column;gap:10px;padding:16px;background:var(--ink-surface);color:var(--on-dark);cursor:pointer}
.fun-b p{margin:0;font-size:15px;line-height:1.45}
.fun-card.on .fun-f{transform:rotateY(-180deg)}
.fun-card.on .fun-b{transform:rotateY(0)}
.fun-card.joke .fun-f .mono{background:color-mix(in srgb,var(--orange) 18%,transparent);color:var(--ink)}
.fun-card.gift .fun-f{background:var(--acid);border-color:var(--acid);color:#08110f}
.fun-card.gift .fun-f .mono{background:rgba(8,17,15,.08)}
.fun-card.gift .fun-f i{border-color:rgba(8,17,15,.25);color:#08110f}
.fun-card.gift .fun-b{background:var(--blue)}
.fun-go{margin-top:auto;align-self:flex-start;min-height:44px;padding:0 16px;border-radius:var(--r-pill);border:0;background:#fff;color:var(--blue);font:800 14px var(--font-body);cursor:pointer}
@media (max-width:1120px){.fun-grid{grid-template-columns:1fr}.scratch{min-height:340px}.fun-cards{grid-auto-rows:minmax(190px,auto)}}
@media (max-width:760px){
  .scratch{min-height:300px}
  .fun-cards{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:64vw;grid-auto-rows:190px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px;margin-right:calc(-1 * var(--gutter,16px));padding-right:var(--gutter,16px);scrollbar-width:none}
  .fun-cards::-webkit-scrollbar{display:none}
  .fun-card{scroll-snap-align:start}
}
@media (prefers-reduced-motion:reduce){.fun-f,.fun-b{transition:none}}

/* ===== Вопросы + база знаний (стили вопросов — из страницы системы) ===== */
.home-faq .faq-side{gap:14px}
.home-faq .faq-side h2{font-size:clamp(36px,3.4vw,58px)}
.kb{display:flex;flex-direction:column;margin-top:8px;border-radius:var(--r-l);background:var(--white);border:1px solid var(--line);padding:6px 18px 14px}
.kb-eye{margin:10px 0 4px;color:var(--mint-dark)}
.kb-post{display:grid;grid-template-columns:minmax(0,1fr) 28px;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line);color:var(--ink)}
.kb-post b{font:700 15px/1.3 var(--font-body)}
.kb-post i{font-style:normal;font-weight:800;color:var(--mint-dark);transition:transform .25s}
.kb-post:hover i{transform:translateX(4px)}
.kb-all{display:inline-flex;align-items:center;min-height:44px;font:800 15px var(--font-body);color:var(--ink);text-decoration:underline;text-underline-offset:4px}
button.faq-link{font:700 14px var(--font-body)}

/* ===== Партнёрам ===== */
.partners{padding:clamp(40px,5vw,80px) 0 0}
.pt-box{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(20px,3vw,48px);align-items:center;padding:clamp(22px,3vw,44px);border-radius:var(--r-xl);background:var(--mint-soft)}
.pt-copy .mono{margin:0;color:var(--mint-dark)}
.pt-copy h2{margin:10px 0 0;font:900 clamp(30px,3.4vw,56px)/.98 var(--font-display);letter-spacing:-.065em;text-wrap:balance}
.pt-copy h2 em{font-style:normal;color:var(--mint-dark)}
.pt-copy>p:not(.mono){margin:14px 0 0;font-size:17px;line-height:1.45;color:var(--muted-strong);max-width:34em}
.pt-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.pt-screen{position:relative;display:flex;flex-direction:column;gap:12px;padding:22px;border-radius:var(--r-l);background:var(--ink-surface);color:var(--on-dark);overflow:hidden;min-height:250px}
.pt-screen .mono{color:var(--mint)}
.pt-screen b{font:900 clamp(24px,2.2vw,34px)/1 var(--font-display);letter-spacing:-.06em}
.pt-screen ol{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;counter-reset:pt}
.pt-screen li{counter-increment:pt;font:600 13px/1 var(--font-mono);padding:8px 11px;border-radius:var(--r-pill);border:1px solid var(--line-dark);animation:ptStep 5s infinite}
.pt-screen li::before{content:counter(pt) " · ";opacity:.6}
.pt-screen li:nth-child(2){animation-delay:.6s}.pt-screen li:nth-child(3){animation-delay:1.2s}.pt-screen li:nth-child(4){animation-delay:1.8s}.pt-screen li:nth-child(5){animation-delay:2.4s}
@keyframes ptStep{0%,8%{background:transparent;color:var(--on-dark)}12%,60%{background:var(--mint);color:#08110f;border-color:var(--mint)}70%,100%{background:transparent}}
.pt-screen i{display:block;height:10px;border-radius:5px;background:rgba(255,255,255,.08);position:relative;overflow:hidden}
.pt-screen i::after{content:"";position:absolute;inset:0;width:var(--w,70%);border-radius:5px;background:linear-gradient(90deg,var(--mint),var(--acid));transform-origin:left;animation:ptBar 5s infinite}
.pt-screen i:nth-of-type(2){--w:52%}.pt-screen i:nth-of-type(3){--w:84%}
@keyframes ptBar{0%{transform:scaleX(0)}50%,100%{transform:scaleX(1)}}
@media (prefers-reduced-motion:reduce){.pt-screen li,.pt-screen i::after{animation:none}}
@media (max-width:900px){.pt-box{grid-template-columns:1fr}.pt-screen{min-height:0}}
@media (max-width:620px){.pt-links .btn{flex:1 1 auto;justify-content:center}}

/* ===== Окно «Как сдать анализ» (рассказывает иглобрюх) ===== */
.lab-dialog{width:min(640px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:0;border:0;border-radius:var(--r-xl);background:var(--paper);color:var(--ink);box-shadow:0 30px 80px rgba(8,17,15,.35)}
.lab-dialog::backdrop{background:rgba(8,17,15,.55);backdrop-filter:blur(4px)}
.lab-dialog[open]{animation:pop .3s cubic-bezier(.2,.7,.2,1)}
.lab-talk{display:flex;align-items:center;gap:30px;margin-top:18px;padding:18px 20px 18px 24px;border-radius:var(--r-l);background:var(--blue);color:#fff}
.lab-talk .pg-fish{cursor:pointer}
.lab-talk .pg-fish.puff{animation:none}
.lab-talk .pg-fish.puff .pg-body{inset:-20px -10px;border-radius:50%;background:var(--orange)}
.lab-talk .pg-fish.puff .pg-body i{opacity:1}
.about-body .lab-say{margin:0;font-size:16px;font-weight:600;line-height:1.4}
.lab-steps{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:8px}
.lab-steps li{display:grid;grid-template-columns:72px minmax(0,1fr);gap:2px 12px;padding:14px 16px;border-radius:var(--r-l);background:var(--white);border:1px solid var(--line)}
.lab-steps .mono{grid-row:span 2;align-self:start;color:var(--blue);padding-top:3px}
.lab-steps b{font:850 17px/1.2 var(--font-display);letter-spacing:-.04em}
.lab-steps small{font-size:14px;line-height:1.45;color:var(--muted-strong)}
.about-body .lab-res{margin:12px 0 0;font-size:15px;line-height:1.45;color:var(--muted-strong)}
.lab-act{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
@media (max-width:620px){
  .lab-dialog{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border-radius:0;margin:0}
  .lab-talk{gap:22px;padding:14px 16px 14px 20px}.lab-talk .pg-fish{transform:scale(.8)}
  .lab-steps li{grid-template-columns:1fr}.lab-steps .mono{grid-row:auto;padding:0}
  .lab-act .btn{flex:1 1 100%;justify-content:center}
}

/* ===== Портал партнёра ===== */
.pt-portal{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 16px;align-items:center;margin-top:18px;padding:16px 18px;border-radius:var(--r-l);background:var(--white);border:1px dashed var(--mint-dark)}
.pt-portal .mono{grid-column:1/-1;color:var(--mint-dark)}
.pt-portal b{font:850 19px/1.15 var(--font-display);letter-spacing:-.045em}
.pt-portal small{grid-column:1;font-size:14px;line-height:1.4;color:var(--muted-strong)}
.pt-portal-act{grid-column:2;grid-row:2/4;display:flex;gap:8px}
@media (max-width:1180px){.pt-portal{grid-template-columns:1fr}.pt-portal-act{grid-column:1;grid-row:auto;margin-top:8px;flex-wrap:wrap}}
@media (max-width:620px){.pt-portal-act .btn{flex:1 1 auto;justify-content:center}}

/* байпас на схемах */
.sys-svg .bypass path,svg .bypass path{fill:none;stroke:var(--sv-line,currentColor);stroke-width:3;stroke-dasharray:7 6;opacity:.75}
.sys-svg .bypass text,svg .bypass text{font:600 15px var(--font-mono);fill:var(--sv-text,currentColor);letter-spacing:.06em}

/* ===== «Почему наши системы лучше классических»: в один экран — выгода сверху полосой, облако на всю ширину ===== */
#panel-bn .bn-grid{grid-template-columns:minmax(0,1fr);gap:10px}
#panel-bn .bn-card{order:-1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 24px;align-items:center;padding:16px 22px;position:static;box-shadow:none}
#panel-bn .bn-card>*{grid-column:1}
#panel-bn .bn-card h3{font-size:clamp(22px,2.1vw,34px)}
#panel-bn .bn-card p{font-size:16px;max-width:60em}
#panel-bn .bn-more{display:none}
#panel-bn .bn-nav{grid-column:2;grid-row:1/4;margin:0}
#panel-bn .bn-stage{padding:10px 14px}
#panel-bn .tag{padding:8px 14px 9px;gap:4px}
#panel-bn .tag-t{font-size:14px}
#panel-bn .tag.s2{padding:10px 18px 11px}
#panel-bn .tag.s2 .tag-t{font-size:clamp(16px,1.1vw,19px)}
#panel-bn .tag.s3{padding:12px 20px 13px}
#panel-bn .tag.s3 .tag-t{font-size:clamp(19px,1.5vw,26px)}
#panel-bn .cloud{margin:6px 0 8px}
#panel-bn .bn-to-calc{margin-top:12px}
@media (max-width:760px){
  #panel-bn .bn-card{position:sticky;top:64px;z-index:3;grid-template-columns:minmax(0,1fr);padding:14px 16px;box-shadow:0 12px 20px rgba(10,15,14,.08)}
  #panel-bn .bn-nav{grid-column:1;grid-row:auto}
  #panel-bn .bn-nav button{width:44px;height:44px}
}



@media (max-width:420px){.cf-once .cf-grid.two{grid-template-columns:minmax(0,1fr)}}

#panel-bn .cloud:not(.open){max-height:max(240px,calc(100svh - 520px));overflow:hidden;-webkit-mask-image:linear-gradient(#000 78%,transparent);mask-image:linear-gradient(#000 78%,transparent)}
#panel-bn .bn-all{align-self:center;min-height:44px;padding:0 18px;border-radius:999px;border:1px solid var(--line);background:var(--white);color:var(--ink);font:700 14px var(--font-body);cursor:pointer}
#panel-bn .bn-all:hover{border-color:var(--ink)}
@media (max-width:760px){#panel-bn .cloud:not(.open){max-height:380px}}
