/* SINET knowledge base: hub cards, article typography, schemes, tables, calculators. */
.sinet-kb{--kb-line:#e1ebef;--kb-ink:#18374a;--kb-muted:#5b7380;--kb-blue:#079bd3;--kb-dark:#08749e;--kb-green:#1f9d63}
.sinet-kb__meta{margin:0 !important;color:var(--kb-muted) !important;font-size:14px !important}
.sinet-kb__toc{margin:20px 0 6px;padding:16px 20px;border:1px solid var(--kb-line);border-radius:14px;background:#fff}
.sinet-kb__toc b{display:block;margin-bottom:6px;color:var(--kb-ink);font-size:15px}
.sinet-kb__toc ol{margin:0;padding-left:20px;columns:2;column-gap:28px}
.sinet-kb__toc li{margin:3px 0;break-inside:avoid}
.sinet-kb__toc a{color:var(--kb-dark);font-weight:600;text-decoration:none}
.sinet-kb__toc a:hover{text-decoration:underline}
.sinet-kb__toc--hub{display:flex;flex-wrap:wrap;gap:8px;padding:12px}
.sinet-kb__toc--hub a{padding:7px 13px;border:1px solid #cfe7f2;border-radius:999px;background:#f3fafd;font-size:14px}
.sinet-kb__cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.sinet-kb__card{display:flex;flex-direction:column;gap:6px;padding:18px 20px;border:1px solid var(--kb-line);border-radius:14px;background:#fff;transition:border-color .2s ease,box-shadow .2s ease}
.sinet-kb__card:hover{border-color:#b6dbe8;box-shadow:0 6px 16px rgba(29,70,88,.08)}
.sinet-kb__card h3{margin:0;font-size:17px;line-height:1.3;text-align:left}
.sinet-kb__card h3 a{color:var(--kb-ink);text-decoration:none}
.sinet-kb__card h3 a:hover{color:var(--kb-dark)}
.sinet-kb__card p{margin:0;color:var(--kb-muted);font-size:14px;line-height:1.5}
.sinet-kb__card .sinet-kb__cardmeta{margin-top:auto;padding-top:6px;font-size:12.5px;color:#7d939d}
.sinet-kb__body{max-width:760px;margin-top:22px;color:var(--kb-ink);font-size:16.5px;line-height:1.7}
.sinet-kb__body h2{margin:34px 0 10px;color:var(--kb-ink);font-size:clamp(21px,2.1vw,25px);font-weight:800;letter-spacing:-.015em;line-height:1.25;text-align:left;scroll-margin-top:110px}
.sinet-kb__body h3{margin:22px 0 6px;color:var(--kb-ink);font-size:18px;font-weight:750;text-align:left}
.sinet-kb__body p{margin:0 0 14px}
.sinet-kb__body ul,.sinet-kb__body ol{margin:0 0 16px;padding-left:24px}
.sinet-kb__body li{margin:4px 0}
.sinet-kb__body a{color:var(--kb-dark);font-weight:600;text-underline-offset:3px}
.sinet-kb__body .sinet-kb__lead{padding:16px 20px;border-left:4px solid var(--kb-blue);border-radius:0 12px 12px 0;background:#eef8fc;font-size:17.5px;line-height:1.6}
.sinet-kb__note{margin:18px 0;padding:14px 18px;border:1px solid #f1dfae;border-radius:12px;background:#fffaf0;font-size:15.5px}
.sinet-kb__note b{color:#8a6111}
.sinet-kb__tip{margin:18px 0;padding:14px 18px;border:1px solid #bfe6d1;border-radius:12px;background:#f1faf5;font-size:15.5px}
.sinet-kb__tablewrap{margin:8px 0 18px;overflow-x:auto;border:1px solid var(--kb-line);border-radius:12px}
.sinet-kb__body table{width:100%;min-width:520px;border-collapse:collapse;font-size:15px;line-height:1.45}
.sinet-kb__body th,.sinet-kb__body td{padding:10px 12px;border-bottom:1px solid var(--kb-line);text-align:left;vertical-align:top}
.sinet-kb__body thead th{background:#f1f8fb;color:var(--kb-ink);font-weight:750}
.sinet-kb__body tbody tr:last-child td{border-bottom:0}
.sinet-kb__fig{margin:18px 0 22px}
.sinet-kb__fig svg{display:block;width:100%;height:auto;border-radius:14px}
.sinet-kb__fig figcaption{margin-top:8px;color:var(--kb-muted);font-size:14px;line-height:1.5}
.sinet-kb__check{list-style:none;padding:0 !important}
.sinet-kb__check li{position:relative;padding-left:30px}
.sinet-kb__check li::before{content:"";position:absolute;left:2px;top:6px;width:18px;height:18px;border-radius:5px;background:#e3f4ea url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.5l3 3 6-7' fill='none' stroke='%231f9d63' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px no-repeat}
.sinet-kb__steps{counter-reset:kbs;list-style:none;padding:0 !important}
.sinet-kb__steps>li{counter-increment:kbs;position:relative;margin:10px 0;padding:12px 16px 12px 54px;border:1px solid var(--kb-line);border-radius:12px;background:#fff}
.sinet-kb__steps>li::before{content:counter(kbs);position:absolute;left:14px;top:11px;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--kb-blue);color:#fff;font-weight:800;font-size:14px}
.sinet-kb__tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:10px 0 18px}
.sinet-kb__tile{padding:16px 18px;border:1px solid var(--kb-line);border-radius:14px;background:#fff}
.sinet-kb__tile b{display:block;margin-bottom:4px;color:var(--kb-ink);font-size:16px}
.sinet-kb__tile p{margin:0;color:var(--kb-muted);font-size:14.5px;line-height:1.55}
.sinet-kb__tile .sinet-kb__ico{display:inline-grid;place-items:center;width:34px;height:34px;margin-bottom:8px;border-radius:10px;background:#e8f5f9;color:var(--kb-dark);font-weight:800}
.sinet-kb__body .sinet-faq h3{margin:16px 0 4px}
/* ===== calculators ===== */
.sinet-kb__calc{margin:20px 0 26px;padding:22px 24px;border:1px solid #cfe7f2;border-radius:20px;background:linear-gradient(160deg,#eef8fc 0%,#fff 58%);box-shadow:0 14px 34px rgba(15,53,77,.07);color:var(--kb-ink)}
.sinet-kb__calc h3{margin:0 0 6px !important;font-size:20px;line-height:1.3}
.sinet-kb__calc .kb-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px 14px}
.sinet-kb__calc .kb-row label{display:flex;flex-direction:column;gap:4px;color:var(--kb-muted);font-size:13.5px;font-weight:600}
.sinet-kb__calc input,.sinet-kb__calc select{min-height:42px;padding:8px 10px;border:1px solid #c7dbe3;border-radius:10px;background:#fff;color:var(--kb-ink);font:inherit;font-size:16px}
.sinet-kb__calc input:focus,.sinet-kb__calc select:focus{outline:2px solid var(--kb-blue);outline-offset:1px}
.sinet-kb__calc output{display:block;margin-top:14px;padding:14px 16px;border-radius:12px;background:#15394b;color:#e6f4f9;font-size:15.5px;line-height:1.55}
.sinet-kb__calc output b{color:#7fd8a6;font-size:20px}
.sinet-kb__calc output a{color:#8fe0ff}
.kb-calc__head{display:grid;grid-template-columns:minmax(150px,210px) 1fr;gap:6px 20px;align-items:center;margin:-6px 0 16px}
.kb-calc__art{display:block;width:100%;height:auto}
.kb-calc__art .e{stroke:#18374a;stroke-opacity:.45;stroke-width:1.2;stroke-linejoin:round}
.kb-calc__intro p{margin:0 !important;color:var(--kb-muted);font-size:15px;line-height:1.55}
.kb-calc__grid,.kb-calc__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px}
.kb-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.kb-calc .kb-field>label{display:flex;align-items:center;gap:8px;color:var(--kb-ink);font-size:14px;font-weight:650;line-height:1.3}
.kb-ico{flex:none;width:22px;height:22px;padding:5px;border-radius:9px;background:#e3f2f8;color:#0679a5;box-sizing:content-box}
.kb-field__hint{color:var(--kb-muted);font-size:12.5px;line-height:1.4}
.kb-field--row{flex-direction:row;align-items:center;justify-content:space-between;gap:10px;padding:8px 8px 8px 10px;border:1px solid #e1ebef;border-radius:14px;background:#fff}
.kb-field--row>label{flex:1 1 auto;min-width:0}
.kb-field--row .kb-step{flex:0 0 132px}
.kb-step{display:flex;align-items:stretch;min-height:46px;border:1px solid #c7dbe3;border-radius:12px;background:#fff;overflow:hidden;transition:border-color .2s ease,box-shadow .2s ease}
.kb-step:focus-within{border-color:#079bd3;box-shadow:0 0 0 3px rgba(7,155,211,.18)}
.kb-calc .kb-step input{flex:1 1 auto;width:100%;min-width:0;min-height:0;padding:6px 4px;border:0;border-radius:0;background:transparent;color:var(--kb-ink);font-size:18px;font-weight:750;text-align:center;font-variant-numeric:tabular-nums}
.kb-calc .kb-step input:focus{outline:0}
.kb-calc.is-ready .kb-step input{-moz-appearance:textfield;appearance:textfield}
.kb-calc.is-ready .kb-step input::-webkit-inner-spin-button,.kb-calc.is-ready .kb-step input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.kb-step__btn{flex:0 0 42px;display:grid;place-items:center;margin:0;padding:0;border:0;background:#eef7fb;color:#0679a5;font:inherit;font-size:22px;font-weight:700;line-height:1;cursor:pointer;transition:background-color .15s ease,color .15s ease}
.kb-step__btn:hover{background:#079bd3;color:#fff}
.kb-step__btn:active{background:#0679a5;color:#fff}
.kb-step__btn:focus-visible{outline:2px solid #079bd3;outline-offset:-3px}
.kb-step__btn[hidden]{display:none !important}
.kb-seg{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin:14px 0 0;padding:10px 10px 10px 14px;border:1px solid #e1ebef;border-radius:14px;background:#fff}
.kb-seg legend{float:left;margin:0;padding:0;color:var(--kb-ink);font-size:14px;font-weight:650}
.kb-seg__opts{display:inline-flex;margin-left:auto;padding:3px;border-radius:12px;background:#eef7fb}
.kb-seg label{position:relative;margin:0;cursor:pointer}
.kb-calc .kb-seg input{position:absolute;inset:0;width:100%;height:100%;min-height:0;margin:0;opacity:0;cursor:pointer}
.kb-seg span{display:block;min-width:56px;padding:8px 14px;border-radius:9px;color:#0679a5;font-size:14.5px;font-weight:700;text-align:center;transition:background-color .2s ease,color .2s ease}
.kb-seg input:checked+span{background:#079bd3;color:#fff;box-shadow:0 3px 10px rgba(7,155,211,.3)}
.kb-seg input:focus-visible+span{outline:2px solid #079bd3;outline-offset:2px}
.kb-calc__res{display:grid;grid-template-columns:minmax(150px,210px) 1fr;gap:16px 22px;align-items:center;margin-top:18px;padding:20px 22px;border-radius:18px;background:linear-gradient(150deg,#1d4a61,#15394b);color:#e6f4f9}
.kb-calc:not(.is-ready) .kb-calc__res{display:none}
.kb-calc .kb-calc__out{margin:0;padding:0;background:none;color:#e6f4f9;font-size:15px;line-height:1.5}
.kb-calc .kb-calc__out b{color:#a9de86;font-size:inherit;font-weight:750}
.kb-res__k{display:block;color:#9fd3ea;font-size:12.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}
.kb-calc .kb-calc__out .kb-res__big{display:block;margin:2px 0 6px;color:#fff;font-size:42px;font-weight:800;line-height:1.05;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.kb-res__big small{color:#9fd3ea;font-size:17px;font-weight:700;letter-spacing:0}
.kb-res__line{display:block;margin-top:4px}
.kb-res__ok,.kb-res__warn{margin-top:10px;padding:8px 12px 8px 34px;border-radius:10px;background:rgba(144,176,96,.16);position:relative}
.kb-res__ok::before,.kb-res__warn::before{content:"";position:absolute;left:12px;top:13px;width:12px;height:12px;border-radius:50%;background:#90b060}
.kb-res__warn{background:rgba(245,210,122,.14)}
.kb-res__warn::before{background:#f5d27a}
.kb-calc .kb-calc__out .kb-res__warn b{color:#f5d27a}
.kb-res__plan{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:12px;padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.08)}
.kb-calc .kb-calc__out .kb-res__plan a{margin-left:auto;padding:7px 14px;border-radius:999px;background:#079bd3;color:#fff;font-size:14px;font-weight:700;text-decoration:none;white-space:nowrap;transition:background-color .2s ease}
.kb-calc .kb-calc__out .kb-res__plan a:hover{background:#35aede}
.kb-calc .kb-calc__out .kb-res__plan a:focus-visible{outline:2px solid #fff;outline-offset:2px}
.kb-bat{display:grid;grid-template-columns:1fr 9px;align-items:center;gap:0 3px}
.kb-bat__body{position:relative;height:70px;padding:5px;border:3px solid #cfe9f5;border-radius:14px}
.kb-bat__body::after{content:"";position:absolute;inset:5px;border-radius:7px;background:repeating-linear-gradient(90deg,transparent 0 calc(100% / var(--kb-n,6) - 3px),#183f53 calc(100% / var(--kb-n,6) - 3px) calc(100% / var(--kb-n,6)))}
.kb-bat__fill{display:block;width:calc(var(--kb-p,0) * 100%);height:100%;border-radius:7px;background:linear-gradient(180deg,#a9cd7a,#1f9d63);transition:width .6s cubic-bezier(.3,.9,.4,1)}
.kb-bat.is-warn .kb-bat__fill{background:linear-gradient(180deg,#fbe2a0,#e3b85c)}
.kb-bat__cap{display:block;height:26px;border-radius:0 5px 5px 0;background:#cfe9f5}
.kb-bat__lbl{grid-column:1/-1;margin-top:8px;color:#9fd3ea;font-size:13px;font-weight:700;text-align:center}
.kb-gauge{display:block;width:100%;height:auto;overflow:visible}
.kb-gauge__seg{opacity:.3;transition:opacity .35s ease}
.kb-gauge__seg.is-on{opacity:1}
.kb-gauge__lbl{fill:#9fd3ea;font-size:11px;font-weight:700}
.kb-gauge__needle{transform-box:view-box;transform-origin:100px 104px;transform:rotate(calc(var(--kb-a,0) * 180deg - 90deg));transition:transform .8s cubic-bezier(.34,1.4,.5,1)}
@media(max-width:640px){.sinet-kb__calc{padding:16px 14px;border-radius:16px}.kb-calc__head{grid-template-columns:1fr;margin-top:-4px}.kb-calc__art{max-width:230px}.kb-calc__grid,.kb-calc__list{grid-template-columns:1fr}.kb-calc__res{grid-template-columns:1fr;padding:16px}.kb-calc .kb-calc__out .kb-res__big{font-size:36px}.kb-bat,.kb-gauge{max-width:260px}.kb-field--row{flex-direction:column;align-items:stretch;gap:8px;padding:10px}.kb-field--row .kb-step{flex:0 0 auto}.kb-seg legend{width:100%;margin-bottom:2px}.kb-seg__opts{margin-left:0}}
@media(prefers-reduced-motion:reduce){.kb-bat__fill,.kb-gauge__needle,.kb-gauge__seg,.kb-step,.kb-step__btn,.kb-seg span{transition:none}}
/* ===== /calculators ===== */
@media(max-width:900px){.sinet-kb__cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.sinet-kb__fig{overflow-x:auto;-webkit-overflow-scrolling:touch}.sinet-kb__fig svg{min-width:640px}.sinet-kb__cards,.sinet-kb__tiles{grid-template-columns:1fr}.sinet-kb__toc ol{columns:1}.sinet-kb__body{font-size:16px}}
/* card cover */
.sinet-kb__card{padding:0 0 16px;overflow:hidden}
.sinet-kb__card>*:not(.sinet-kb__cover){margin-left:20px !important;margin-right:20px !important}
.sinet-kb__cover{display:block;margin:0 0 12px;aspect-ratio:16/9;background:#e8f5f9;overflow:hidden}
.sinet-kb__cover img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.sinet-kb__card:hover .sinet-kb__cover img{transform:scale(1.03)}
/* animated explainer videos: inline SVG scenes (g.kb-sc[data-t][data-tr]) + HTML captions (p[data-t]); timeline, controls and autoplay in kb.js.
   Figure states: is-ready (JS on), is-idle (poster), is-playing, is-paused, is-ended. Scene states: is-live (rendered), is-on (entering), is-off (leaving), kb-x-push|zoom|fade|cut|wipe. */
.sinet-kb__video{margin:22px 0 26px;border-radius:18px;overflow:hidden;background:#0f2e3d;color:#e6f4f9;box-shadow:0 14px 34px rgba(16,48,63,.16)}
.kb-v__stage{position:relative;background:#eaf6fb;cursor:pointer;-webkit-tap-highlight-color:transparent}
.kb-v__stage svg{display:block;width:100%;height:auto;font-family:var(--sinet-font,Arial,Helvetica,sans-serif);-webkit-user-select:none;user-select:none}
.kb-v__stage::after{content:"";position:absolute;right:16px;bottom:16px;width:64px;height:64px;border-radius:50%;background:rgba(7,155,211,.95) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 5.5v13l11-6.5z' fill='%23fff'/%3E%3C/svg%3E") 58% 50%/30px no-repeat;box-shadow:0 8px 24px rgba(6,60,90,.35),0 0 0 6px rgba(255,255,255,.4);opacity:0;transform:scale(.7);transition:opacity .25s ease,transform .25s ease;pointer-events:none}
.kb-v.is-idle .kb-v__stage::after{opacity:1;transform:none}
.kb-v__caps{display:grid;padding:14px 18px 13px;background:#15394b;border-top:3px solid #079bd3}
.kb-v__caps p{grid-area:1/1;margin:0 !important;color:#fff !important;font-size:17px;line-height:1.5;font-weight:600;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .35s ease,transform .35s ease,visibility 0s linear .35s}
.kb-v__caps p.is-on,.kb-v:not(.is-ready) .kb-v__caps p[data-t="0"]{opacity:1;visibility:visible;transform:none;transition-delay:0s}
.kb-v__caps b,.kb-v__caps strong{color:#7fd8a6 !important;font-weight:800}
.kb-v__ctl{display:flex;align-items:center;gap:10px;padding:10px 14px;background:#0f2e3d}
.kb-v:not(.is-ready) .kb-v__ctl{display:none}
.kb-v__ctl button{display:inline-grid;place-items:center;flex:none;width:40px;height:40px;min-width:0;margin:0;padding:0;border:0;border-radius:50%;background:#079bd3;color:#fff;cursor:pointer;box-shadow:none;transition:background-color .2s ease}
.kb-v__ctl button:hover{background:#0aa6df}
.kb-v__ctl button.kb-v__restart{background:#24536a}
.kb-v__ctl button.kb-v__restart:hover{background:#2d6580}
.kb-v__ctl button:focus-visible,.kb-v__bar:focus-visible{outline:2px solid #8fe0ff;outline-offset:2px}
.kb-v__ctl svg{display:block;width:18px;height:18px;fill:currentColor}
.kb-v__ctl .kb-i-pause,.kb-v__ctl .kb-v__play .kb-i-replay{display:none}
.kb-v.is-playing .kb-v__play .kb-i-play,.kb-v.is-ended .kb-v__play .kb-i-play{display:none}
.kb-v.is-playing .kb-v__play .kb-i-pause,.kb-v.is-ended .kb-v__play .kb-i-replay{display:block}
.kb-v__bar{position:relative;flex:1;height:8px;border-radius:4px;background:#24536a;cursor:pointer;touch-action:none}
.kb-v__bar::before{content:"";position:absolute;left:0;right:0;top:-14px;bottom:-14px}
.kb-v__bar i{position:absolute;left:0;top:0;width:100%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#079bd3,#7fd8a6);transform:scaleX(0);transform-origin:0 50%}
.kb-v__bar b{position:absolute;top:0;width:3px;height:100%;margin-left:-1px;background:#0f2e3d;pointer-events:none}
.kb-v__time{flex:none;min-width:86px;text-align:right;font-size:13.5px;color:#9cc3d3;font-variant-numeric:tabular-nums}
.sinet-kb__video figcaption{padding:2px 16px 12px;background:#0f2e3d;color:#9cc3d3 !important;font-size:14px;line-height:1.5}
.sinet-kb__video details{padding:0 16px 14px;background:#0f2e3d;color:#d7ecf3;font-size:15px}
.sinet-kb__video summary{cursor:pointer;color:#8fe0ff;font-weight:600;padding:4px 0}
.sinet-kb__video details ol{margin:8px 0 0;padding-left:20px}
/* stage geometry: objects scale/rotate around their own box; scenes, camera and wipe around the frame centre */
.kb-v__stage svg *{transform-box:fill-box;transform-origin:50% 50%}
.kb-v__stage svg .kb-sc,.kb-v__stage svg .kb-cam,.kb-v__stage svg .kb-wipe{transform-box:view-box;transform-origin:320px 180px}
.kb-v__stage svg [transform]{transform-origin:0 0}
.kb-v__stage svg .kb-o-l,.kb-v__stage svg .kb-a-growx{transform-origin:0 50%}
.kb-v__stage svg .kb-o-b,.kb-v__stage svg .kb-a-growy{transform-origin:50% 100%}
.kb-l-fpulse{stroke-dasharray:14 86}
.kb-l-flow{stroke-dasharray:10 8}
.kb-l-lane,.kb-l-lanefast{stroke-dasharray:26 24}
/* scenes and transitions */
.kb-sc{display:none}
.kb-sc.is-live,.kb-v:not(.is-ready) .kb-sc[data-t="0"]{display:inline}
.kb-sc.is-on.kb-x-push{animation:kbPushIn .8s cubic-bezier(.77,0,.18,1) both}
.kb-sc.is-off.kb-x-push{animation:kbPushOut .8s cubic-bezier(.77,0,.18,1) both}
.kb-sc.is-on.kb-x-zoom{animation:kbZoomIn .8s cubic-bezier(.2,.8,.2,1) both}
.kb-sc.is-off.kb-x-zoom{animation:kbZoomOut .8s ease-in both}
.kb-sc.is-on.kb-x-fade{animation:kbFade .6s ease both}
.kb-sc.is-off.kb-x-fade{animation:kbOut .6s ease both}
.kb-sc.is-live .kb-cam{animation:kbCam 9s linear both}
.kb-wipe{display:none;pointer-events:none}
.kb-wipe.is-go{display:inline;animation:kbWipe .9s linear both}
/* entrances (run once from the scene start + kb-dN delay) */
.kb-sc.is-live .kb-a-pop{animation:kbPop .6s cubic-bezier(.34,1.56,.64,1) both}
.kb-sc.is-live .kb-a-rise{animation:kbRise .7s cubic-bezier(.2,.8,.2,1) both}
.kb-sc.is-live .kb-a-fade{animation:kbFade .6s ease both}
.kb-sc.is-live .kb-a-left{animation:kbLeft .7s cubic-bezier(.2,.8,.2,1) both}
.kb-sc.is-live .kb-a-right{animation:kbRight .7s cubic-bezier(.2,.8,.2,1) both}
.kb-sc.is-live .kb-a-plugl{animation:kbPlugL .5s cubic-bezier(.3,.7,.3,1) both}
.kb-sc.is-live .kb-a-plugr{animation:kbPlugR .5s cubic-bezier(.3,.7,.3,1) both}
.kb-sc.is-live .kb-a-draw{stroke-dasharray:100 100;animation:kbDraw 1.2s ease-in-out both}
.kb-sc.is-live .kb-a-growx{animation:kbGrowX .7s cubic-bezier(.2,.8,.2,1) both}
.kb-sc.is-live .kb-a-growy{animation:kbGrowY .7s cubic-bezier(.2,.8,.2,1) both}
.kb-sc.is-live .kb-a-out{animation:kbOut .5s ease both}
/* loops */
.kb-sc.is-live .kb-l-blink{animation:kbBlink 1.1s steps(1) infinite}
.kb-sc.is-live .kb-l-pulse{animation:kbPulse 1.8s ease-in-out infinite}
.kb-sc.is-live .kb-l-glow{animation:kbGlow 1.8s ease-in-out infinite both}
.kb-sc.is-live .kb-l-wifi{animation:kbWifi 1.6s ease-in-out infinite both}
.kb-sc.is-live .kb-l-fpulse{animation:kbFpulse 1.8s linear infinite both}
.kb-sc.is-live .kb-l-flow{animation:kbFlow .7s linear infinite}
.kb-sc.is-live .kb-l-lane{animation:kbLane 3.2s linear infinite}
.kb-sc.is-live .kb-l-lanefast{animation:kbLane .6s linear infinite}
.kb-sc.is-live .kb-l-spin{animation:kbSpin .9s linear infinite both}
.kb-sc.is-live .kb-l-tick{animation:kbSpin 4s linear infinite both}
.kb-sc.is-live .kb-l-ring{animation:kbRing 2.4s ease-out infinite both}
.kb-sc.is-live .kb-l-puff{animation:kbPuff 1.8s ease-out infinite both}
.kb-sc.is-live .kb-l-bob{animation:kbBob 3s ease-in-out infinite}
/* one-off moves of particular objects */
.kb-sc.is-live .kb-m-off{animation:kbOffFill .6s ease both}
.kb-sc.is-live .kb-m-ledoff{animation:kbLedOff .3s steps(1,end) both}
.kb-sc.is-live .kb-m-wireoff{animation:kbWireOff .8s ease both}
.kb-sc.is-live .kb-m-cardoff{animation:kbCardOff 1s ease both}
.kb-sc.is-live .kb-m-drain{animation:kbDrain 6s linear both}
.kb-sc.is-live .kb-m-lens{animation:kbLens 2.6s ease-in-out both}
.kb-sc.is-live .kb-m-ndl1{animation:kbNdl1 1.8s cubic-bezier(.3,.7,.3,1) both}
.kb-sc.is-live .kb-m-ndl2{animation:kbNdl2 1.8s cubic-bezier(.3,.7,.3,1) both}
.kb-sc.is-live .kb-m-cab{animation:kbCab 2s cubic-bezier(.6,0,.3,1) both}
.kb-sc.is-live .kb-m-lane{animation:kbLaneSw 1s cubic-bezier(.6,0,.3,1) both}
.kb-sc.is-live .kb-m-chan{animation:kbChan 1.2s cubic-bezier(.6,0,.3,1) both}
.kb-sc.is-live .kb-m-trk{animation:kbTrk .4s ease both}
.kb-sc.is-live .kb-m-knob{animation:kbKnob .4s ease both}
.kb-sc.is-live .kb-m-center{animation:kbCenter 1.8s cubic-bezier(.6,0,.3,1) both}
.kb-sc.is-live .kb-m-lift{animation:kbLift 1.4s cubic-bezier(.6,0,.3,1) both}
.kb-sc.is-live .kb-m-ant{animation:kbAnt 1s cubic-bezier(.3,1.4,.5,1) both}
.kb-sc.is-live .kb-m-brk{animation:kbBrk .35s ease-in both}
/* modifiers: duration, start delay (kb-dN = N/10 s after the scene starts), loop stagger */
.kb-sc.is-live .kb-slow{animation-duration:1.6s}
.kb-sc.is-live .kb-fast{animation-duration:.25s}
.kb-sc.is-live .kb-d1{animation-delay:0.1s}.kb-sc.is-live .kb-d2{animation-delay:0.2s}.kb-sc.is-live .kb-d3{animation-delay:0.3s}.kb-sc.is-live .kb-d4{animation-delay:0.4s}.kb-sc.is-live .kb-d5{animation-delay:0.5s}.kb-sc.is-live .kb-d6{animation-delay:0.6s}.kb-sc.is-live .kb-d7{animation-delay:0.7s}.kb-sc.is-live .kb-d8{animation-delay:0.8s}.kb-sc.is-live .kb-d9{animation-delay:0.9s}.kb-sc.is-live .kb-d10{animation-delay:1s}
.kb-sc.is-live .kb-d11{animation-delay:1.1s}.kb-sc.is-live .kb-d12{animation-delay:1.2s}.kb-sc.is-live .kb-d13{animation-delay:1.3s}.kb-sc.is-live .kb-d14{animation-delay:1.4s}.kb-sc.is-live .kb-d15{animation-delay:1.5s}.kb-sc.is-live .kb-d16{animation-delay:1.6s}.kb-sc.is-live .kb-d17{animation-delay:1.7s}.kb-sc.is-live .kb-d18{animation-delay:1.8s}.kb-sc.is-live .kb-d19{animation-delay:1.9s}.kb-sc.is-live .kb-d20{animation-delay:2s}
.kb-sc.is-live .kb-d21{animation-delay:2.1s}.kb-sc.is-live .kb-d22{animation-delay:2.2s}.kb-sc.is-live .kb-d23{animation-delay:2.3s}.kb-sc.is-live .kb-d24{animation-delay:2.4s}.kb-sc.is-live .kb-d25{animation-delay:2.5s}.kb-sc.is-live .kb-d26{animation-delay:2.6s}.kb-sc.is-live .kb-d27{animation-delay:2.7s}.kb-sc.is-live .kb-d28{animation-delay:2.8s}.kb-sc.is-live .kb-d29{animation-delay:2.9s}.kb-sc.is-live .kb-d30{animation-delay:3s}
.kb-sc.is-live .kb-d31{animation-delay:3.1s}.kb-sc.is-live .kb-d32{animation-delay:3.2s}.kb-sc.is-live .kb-d33{animation-delay:3.3s}.kb-sc.is-live .kb-d34{animation-delay:3.4s}.kb-sc.is-live .kb-d35{animation-delay:3.5s}.kb-sc.is-live .kb-d36{animation-delay:3.6s}.kb-sc.is-live .kb-d37{animation-delay:3.7s}.kb-sc.is-live .kb-d38{animation-delay:3.8s}.kb-sc.is-live .kb-d39{animation-delay:3.9s}.kb-sc.is-live .kb-d40{animation-delay:4s}
.kb-sc.is-live .kb-d41{animation-delay:4.1s}.kb-sc.is-live .kb-d42{animation-delay:4.2s}.kb-sc.is-live .kb-d43{animation-delay:4.3s}.kb-sc.is-live .kb-d44{animation-delay:4.4s}.kb-sc.is-live .kb-d45{animation-delay:4.5s}.kb-sc.is-live .kb-d46{animation-delay:4.6s}.kb-sc.is-live .kb-d47{animation-delay:4.7s}.kb-sc.is-live .kb-d48{animation-delay:4.8s}.kb-sc.is-live .kb-d49{animation-delay:4.9s}.kb-sc.is-live .kb-d50{animation-delay:5s}
.kb-sc.is-live .kb-d51{animation-delay:5.1s}.kb-sc.is-live .kb-d52{animation-delay:5.2s}.kb-sc.is-live .kb-d53{animation-delay:5.3s}.kb-sc.is-live .kb-d54{animation-delay:5.4s}.kb-sc.is-live .kb-d55{animation-delay:5.5s}.kb-sc.is-live .kb-d56{animation-delay:5.6s}.kb-sc.is-live .kb-d57{animation-delay:5.7s}.kb-sc.is-live .kb-d58{animation-delay:5.8s}.kb-sc.is-live .kb-d59{animation-delay:5.9s}.kb-sc.is-live .kb-d60{animation-delay:6s}
.kb-sc.is-live .kb-d61{animation-delay:6.1s}.kb-sc.is-live .kb-d62{animation-delay:6.2s}.kb-sc.is-live .kb-d63{animation-delay:6.3s}.kb-sc.is-live .kb-d64{animation-delay:6.4s}.kb-sc.is-live .kb-d65{animation-delay:6.5s}.kb-sc.is-live .kb-d66{animation-delay:6.6s}.kb-sc.is-live .kb-d67{animation-delay:6.7s}.kb-sc.is-live .kb-d68{animation-delay:6.8s}.kb-sc.is-live .kb-d69{animation-delay:6.9s}.kb-sc.is-live .kb-d70{animation-delay:7s}
.kb-sc.is-live .kb-d71{animation-delay:7.1s}.kb-sc.is-live .kb-d72{animation-delay:7.2s}.kb-sc.is-live .kb-d73{animation-delay:7.3s}.kb-sc.is-live .kb-d74{animation-delay:7.4s}.kb-sc.is-live .kb-d75{animation-delay:7.5s}.kb-sc.is-live .kb-d76{animation-delay:7.6s}.kb-sc.is-live .kb-d77{animation-delay:7.7s}.kb-sc.is-live .kb-d78{animation-delay:7.8s}.kb-sc.is-live .kb-d79{animation-delay:7.9s}.kb-sc.is-live .kb-d80{animation-delay:8s}
.kb-sc.is-live .kb-w2{animation-delay:.2s}.kb-sc.is-live .kb-w3{animation-delay:.4s}.kb-sc.is-live .kb-w4{animation-delay:.6s}
.kb-sc.is-live .kb-r2{animation-delay:.8s}.kb-sc.is-live .kb-r3{animation-delay:1.6s}
/* poster and pause */
.kb-v.is-idle .kb-sc,.kb-v.is-idle .kb-sc *{animation:none !important}
.kb-v.is-paused .kb-sc,.kb-v.is-paused .kb-sc *,.kb-v.is-paused .kb-wipe{animation-play-state:paused !important}
@keyframes kbPushIn{from{transform:translateX(640px)}to{transform:none}}
@keyframes kbPushOut{from{transform:none}to{transform:translateX(-640px)}}
@keyframes kbZoomIn{from{opacity:0;transform:scale(1.3)}to{opacity:1;transform:none}}
@keyframes kbZoomOut{to{opacity:0;transform:scale(.85)}}
@keyframes kbCam{from{transform:scale(1)}to{transform:scale(1.045)}}
@keyframes kbWipe{0%{transform:translateX(-900px);animation-timing-function:cubic-bezier(.55,0,.35,1)}50%{transform:translateX(0);animation-timing-function:cubic-bezier(.65,0,.45,1)}100%{transform:translateX(960px)}}
@keyframes kbPop{from{opacity:0;transform:scale(.3)}}
@keyframes kbRise{from{opacity:0;transform:translateY(26px)}}
@keyframes kbFade{from{opacity:0}}
@keyframes kbLeft{from{opacity:0;transform:translateX(-50px)}}
@keyframes kbRight{from{opacity:0;transform:translateX(50px)}}
@keyframes kbPlugL{from{opacity:0;transform:translateX(44px)}}
@keyframes kbPlugR{from{opacity:0;transform:translateX(-44px)}}
@keyframes kbDraw{from{stroke-dashoffset:100}to{stroke-dashoffset:0}}
@keyframes kbGrowX{from{transform:scaleX(0)}}
@keyframes kbGrowY{from{transform:scaleY(0)}}
@keyframes kbOut{to{opacity:0}}
@keyframes kbBlink{50%{opacity:.2}}
@keyframes kbPulse{50%{transform:scale(1.1)}}
@keyframes kbGlow{50%{opacity:.5}}
@keyframes kbWifi{0%,100%{opacity:.18}35%{opacity:1}}
@keyframes kbFpulse{from{stroke-dashoffset:100}to{stroke-dashoffset:0}}
@keyframes kbFlow{to{stroke-dashoffset:-18}}
@keyframes kbLane{to{stroke-dashoffset:-50}}
@keyframes kbSpin{from{transform:rotate(0)}to{transform:rotate(360deg)}}
@keyframes kbRing{from{opacity:.9;transform:scale(.15)}to{opacity:0;transform:scale(1)}}
@keyframes kbPuff{0%{opacity:0;transform:scale(.5)}20%{opacity:.8}100%{opacity:0;transform:translate(10px,-40px) scale(1.8)}}
@keyframes kbBob{50%{transform:translateY(-6px)}}
@keyframes kbOffFill{from{fill:#ffd978}}
@keyframes kbLedOff{from{fill:#2fbf71}}
@keyframes kbWireOff{from{stroke:#f5c451}}
@keyframes kbCardOff{from{fill:#fff}}
@keyframes kbDrain{to{transform:scaleX(.55)}}
@keyframes kbLens{0%{opacity:0;transform:translate(380px,70px)}15%{opacity:1}45%,70%{opacity:1;transform:translate(0,0)}100%{opacity:0;transform:translate(40px,20px)}}
@keyframes kbNdl1{0%{transform:rotate(-90deg)}70%{transform:rotate(78deg)}85%{transform:rotate(66deg)}100%{transform:rotate(70deg)}}
@keyframes kbNdl2{0%{transform:rotate(-90deg)}70%{transform:rotate(-42deg)}85%{transform:rotate(-54deg)}100%{transform:rotate(-50deg)}}
@keyframes kbCab{0%{transform:translate(0,0)}40%{transform:translate(170px,10px)}100%{transform:translate(300px,-90px)}}
@keyframes kbLaneSw{to{transform:translateY(115px)}}
@keyframes kbChan{to{transform:translateX(260px)}}
@keyframes kbTrk{from{fill:#c7dbe3}}
@keyframes kbKnob{to{transform:translateX(28px)}}
@keyframes kbCenter{to{transform:translate(250px,-62px)}}
@keyframes kbLift{to{transform:translateY(-140px)}}
@keyframes kbAnt{to{transform:rotate(50deg)}}
@keyframes kbBrk{to{transform:translateY(34px)}}
@media(prefers-reduced-motion:reduce){.kb-sc.is-live .kb-cam{animation:none}}
@media(max-width:640px){.kb-v__caps{padding:12px 14px}.kb-v__caps p{font-size:15.5px}.kb-v__ctl{gap:8px;padding:8px 10px}.kb-v__time{min-width:76px;font-size:12.5px}.kb-v__stage::after{right:10px;bottom:10px;width:44px;height:44px;background-size:20px;box-shadow:0 4px 12px rgba(6,60,90,.35),0 0 0 4px rgba(255,255,255,.4)}}
/* template sets light large h2 inside articles: restore article headings */
body .sinet-kb .sinet-kb__body h2{font-size:clamp(21px,2.1vw,25px) !important;font-weight:800 !important;letter-spacing:-.015em !important;line-height:1.25 !important;color:var(--kb-ink) !important}
body .sinet-kb .sinet-kb__body h3{font-size:18px !important;font-weight:750 !important;line-height:1.3 !important;color:var(--kb-ink) !important}
body .sinet-kb .sinet-kb__card h3{font-size:17px !important;font-weight:750 !important;line-height:1.3 !important;letter-spacing:-.01em}
/* ===== in-article infographics (kb-fig) ===== */
/* Figures from agents/kb/uk-fig/*.html (built by agents/tools/build_kb_figs.py). Pure CSS loops, .kb-f-* prefix; every figure is complete without motion. */
.sinet-kb__fig.kb-fig{margin:22px 0 26px}
.sinet-kb__fig.kb-fig svg{border-radius:22px;font-family:var(--sinet-font,Inter,Arial,Helvetica,sans-serif);-webkit-user-select:none;user-select:none}
.sinet-kb__fig.kb-fig figcaption{margin-top:10px}
.kb-fig__more{margin-top:6px;color:var(--kb-muted);font-size:15px;line-height:1.55}
.kb-fig__more summary{display:inline-block;cursor:pointer;color:var(--kb-dark);font-weight:600}
.kb-fig__more summary:focus-visible{outline:2px solid var(--kb-blue);outline-offset:2px;border-radius:4px}
.kb-fig__more ul{margin:8px 0 0;padding-left:20px}
.kb-fig__more li{margin:3px 0}
.kb-fig__more b{color:var(--kb-ink)}
@media(max-width:640px){.sinet-kb__fig.kb-fig{overflow:visible;margin:18px 0 22px}.sinet-kb__fig.kb-fig svg{min-width:0;border-radius:16px}}
/* geometry: scale/rotate around the element's own box; the needle turns around its translated group origin */
.kb-fig .kb-f-ring,.kb-fig .kb-f-pulse{transform-box:fill-box;transform-origin:50% 50%}
.kb-fig .kb-f-run,.kb-fig .kb-f-drain,.kb-fig .kb-f-charge{transform-box:fill-box;transform-origin:0 50%}
.kb-fig .kb-f-needle,.kb-fig .kb-f-slide{transform-box:view-box;transform-origin:0 0}
/* loops */
.kb-fig .kb-f-light{stroke-dasharray:18 120;animation:kbfLight 3.2s linear infinite both}
.kb-fig .kb-f-flow{stroke-dasharray:8 10;animation:kbfFlow 1.8s linear infinite}
.kb-fig .kb-f-wave{animation:kbfWave 2.4s ease-in-out infinite both}
.kb-fig .kb-f-w2{animation-delay:.3s}.kb-fig .kb-f-w3{animation-delay:.6s}
.kb-fig .kb-f-blink{animation:kbfBlink 1.6s ease-in-out infinite}
.kb-fig .kb-f-glow{animation:kbfGlow 3s ease-in-out infinite}
.kb-fig .kb-f-pulse{animation:kbfPulse 2.4s ease-in-out infinite}
.kb-fig .kb-f-sync{animation:kbfSync 3.2s ease-in-out infinite}
.kb-fig .kb-f-ring{animation:kbfRing 3.2s ease-out infinite both}
.kb-fig .kb-f-drain{animation:kbfDrain 8s ease-in-out infinite}
.kb-fig .kb-f-charge{animation:kbfCharge 8s ease-in-out infinite}
.kb-fig .kb-f-out{animation:kbfOut 8s ease-in-out infinite}
.kb-fig .kb-f-seq{opacity:0;animation:kbfSeq 9s ease-in-out infinite}
.kb-fig .kb-f-q2{animation-delay:-6s}.kb-fig .kb-f-q3{animation-delay:-3s}
.kb-fig .kb-f-needle{animation:kbfNeedle 9s cubic-bezier(.45,0,.2,1) infinite}
.kb-fig .kb-f-slide{animation:kbfSlide 9s cubic-bezier(.45,0,.2,1) infinite}
.kb-fig .kb-f-run{animation-duration:9s;animation-timing-function:linear;animation-iteration-count:infinite;animation-fill-mode:both}
.kb-fig .kb-f-val{animation-duration:9s;animation-timing-function:linear;animation-iteration-count:infinite;animation-fill-mode:both}
.kb-fig .kb-f-k1{animation:kbfK1 9s ease-out infinite both}
.kb-fig .kb-f-k2{animation:kbfK2 9s ease-out infinite both}
.kb-fig .kb-f-k3{animation:kbfK3 9s ease-out infinite both}
.kb-fig .kb-f-k4{animation:kbfK4 9s ease-out infinite both}
.kb-fig .kb-f-k5{animation:kbfK5 9s ease-out infinite both}
.kb-fig .kb-f-k6{animation:kbfK6 9s ease-out infinite both}
.kb-fig .kb-f-k7{animation:kbfK7 9s ease-out infinite both}
.kb-fig .kb-f-k8{animation:kbfK8 9s ease-out infinite both}
.kb-fig .kb-f-a1{animation-delay:0.4s}.kb-fig .kb-f-a2{animation-delay:0.8s}.kb-fig .kb-f-a3{animation-delay:1.2s}.kb-fig .kb-f-a4{animation-delay:1.6s}.kb-fig .kb-f-a5{animation-delay:2.0s}.kb-fig .kb-f-a6{animation-delay:2.4s}.kb-fig .kb-f-a7{animation-delay:2.8s}
.kb-fig .kb-f-r21{animation-name:kbfR21}.kb-fig .kb-f-v21{animation-name:kbfV21}
.kb-fig .kb-f-r30{animation-name:kbfR30}.kb-fig .kb-f-v30{animation-name:kbfV30}
.kb-fig .kb-f-r33{animation-name:kbfR33}.kb-fig .kb-f-v33{animation-name:kbfV33}
.kb-fig .kb-f-r46{animation-name:kbfR46}.kb-fig .kb-f-v46{animation-name:kbfV46}
.kb-fig .kb-f-r53{animation-name:kbfR53}.kb-fig .kb-f-v53{animation-name:kbfV53}
.kb-fig .kb-f-r78{animation-name:kbfR78}.kb-fig .kb-f-v78{animation-name:kbfV78}
@keyframes kbfLight{from{stroke-dashoffset:18}to{stroke-dashoffset:-100}}
@keyframes kbfFlow{to{stroke-dashoffset:-36}}
@keyframes kbfWave{0%,100%{opacity:.25}40%{opacity:1}}
@keyframes kbfBlink{50%{opacity:.3}}
@keyframes kbfGlow{50%{opacity:.55}}
@keyframes kbfPulse{50%{transform:scale(1.12)}}
@keyframes kbfSync{0%,100%{opacity:1}50%{opacity:.72}}
@keyframes kbfRing{from{opacity:.75;transform:scale(.2)}to{opacity:0;transform:scale(1)}}
@keyframes kbfDrain{0%,8%{transform:none}78%,88%{transform:scaleX(.16)}100%{transform:none}}
@keyframes kbfCharge{0%,8%{transform:scaleX(.16)}78%,88%{transform:none}100%{transform:scaleX(.16)}}
@keyframes kbfOut{0%,42%{opacity:1}50%,84%{opacity:.12}92%,100%{opacity:1}}
@keyframes kbfSeq{0%{opacity:0}4%,30%{opacity:1}34%,100%{opacity:0}}
@keyframes kbfNeedle{0%,28%{transform:rotate(-60deg)}34%,61%{transform:rotate(0)}67%,92%{transform:rotate(60deg)}100%{transform:rotate(-60deg)}}
@keyframes kbfSlide{0%,26%{transform:translateY(-208px)}33%,59%{transform:translateY(-104px)}66%,92%{transform:none}100%{transform:translateY(-208px)}}
@keyframes kbfK1{0%,4%{opacity:0;transform:translateY(6px)}9%,90%{opacity:1;transform:none}96%,100%{opacity:0;transform:none}}
@keyframes kbfK2{0%,12%{opacity:0;transform:translateY(6px)}17%,90%{opacity:1;transform:none}96%,100%{opacity:0;transform:none}}
@keyframes kbfK3{0%,20%{opacity:0;transform:translateY(6px)}25%,90%{opacity:1;transform:none}96%,100%{opacity:0;transform:none}}
@keyframes kbfK4{0%,28%{opacity:0;transform:translateY(6px)}33%,90%{opacity:1;transform:none}96%,100%{opacity:0;transform:none}}
@keyframes kbfK5{0%,36%{opacity:0;transform:translateY(6px)}41%,90%{opacity:1;transform:none}96%,100%{opacity:0;transform:none}}
@keyframes kbfK6{0%,44%{opacity:0;transform:translateY(6px)}49%,90%{opacity:1;transform:none}96%,100%{opacity:0;transform:none}}
@keyframes kbfK7{0%,52%{opacity:0;transform:translateY(6px)}57%,90%{opacity:1;transform:none}96%,100%{opacity:0;transform:none}}
@keyframes kbfK8{0%,60%{opacity:0;transform:translateY(6px)}65%,90%{opacity:1;transform:none}96%,100%{opacity:0;transform:none}}
@keyframes kbfR21{0%{opacity:1;transform:scaleX(0)}21%,90%{opacity:1;transform:none}97%,100%{opacity:0;transform:none}}
@keyframes kbfV21{0%,21%{opacity:0}24%,90%{opacity:1}97%,100%{opacity:0}}
@keyframes kbfR30{0%{opacity:1;transform:scaleX(0)}30%,90%{opacity:1;transform:none}97%,100%{opacity:0;transform:none}}
@keyframes kbfV30{0%,30%{opacity:0}33%,90%{opacity:1}97%,100%{opacity:0}}
@keyframes kbfR33{0%{opacity:1;transform:scaleX(0)}33%,90%{opacity:1;transform:none}97%,100%{opacity:0;transform:none}}
@keyframes kbfV33{0%,33%{opacity:0}36%,90%{opacity:1}97%,100%{opacity:0}}
@keyframes kbfR46{0%{opacity:1;transform:scaleX(0)}46%,90%{opacity:1;transform:none}97%,100%{opacity:0;transform:none}}
@keyframes kbfV46{0%,46%{opacity:0}49%,90%{opacity:1}97%,100%{opacity:0}}
@keyframes kbfR53{0%{opacity:1;transform:scaleX(0)}53%,90%{opacity:1;transform:none}97%,100%{opacity:0;transform:none}}
@keyframes kbfV53{0%,53%{opacity:0}56%,90%{opacity:1}97%,100%{opacity:0}}
@keyframes kbfR78{0%{opacity:1;transform:scaleX(0)}78%,90%{opacity:1;transform:none}97%,100%{opacity:0;transform:none}}
@keyframes kbfV78{0%,78%{opacity:0}81%,90%{opacity:1}97%,100%{opacity:0}}
@media(prefers-reduced-motion:reduce){.kb-fig svg *{animation:none !important}.kb-fig .kb-f-light{stroke-dasharray:none;opacity:.45}.kb-fig .kb-f-ring{opacity:.3}}
/* ===== end of in-article infographics (kb-fig) ===== */

/* ===== main menu: «Абоненту» (separator, parent of «База знань») highlighted on KB pages ===== */
body.sinet-horizon .primary-nav>.site-shell>ul>li.active>.separator{background:rgba(255,255,255,.19);box-shadow:inset 0 1px 0 rgba(255,255,255,.18);color:#fff}

/* ===== contrast fixes (QA 2026-11-14, WCAG AA) ===== */
.sinet-kb .sinet-kb__cardmeta{color:#5b717c}
.sinet-kb .sinet-kb__toc--hub a{color:#07729b}
