.kn-footer{position:relative;z-index:2;overflow:hidden;background:#05070b;color:#fff}
.kn-footer__dots{position:relative;height:clamp(72px,9vw,120px);overflow:hidden;background:#05070b}
.kn-footer__dots-line{position:absolute;left:0;top:50%;width:200%;height:70px;opacity:.7;transform:translateY(-50%);background-image:radial-gradient(circle,rgba(255,255,255,.55) 1.5px,transparent 2px),radial-gradient(circle,rgba(255,255,255,.35) 1px,transparent 1.5px),radial-gradient(circle,rgba(255,255,255,.45) 1.2px,transparent 1.8px);background-position:0 8px,24px 22px,48px 14px;background-size:72px 38px,110px 44px,160px 52px;animation:knFooterDotsMove 18s linear infinite}
@keyframes knFooterDotsMove{from{transform:translate3d(0,-50%,0)}to{transform:translate3d(-50%,-50%,0)}}
.kn-footer__inner{width:min(calc(100% - 80px),1500px);margin:0 auto;padding:clamp(34px,4vw,66px) 0 24px}
.kn-footer__top{display:grid;grid-template-columns:minmax(280px,1.3fr) repeat(3,minmax(130px,.55fr));gap:clamp(24px,3.2vw,58px);align-items:start;padding-bottom:clamp(36px,5vw,70px);border-bottom:1px solid rgba(255,255,255,.14)}
.kn-footer__intro h2{max-width:620px;margin:0 0 18px;color:#fff;font-size:clamp(34px,3.5vw,60px);font-weight:350;line-height:1.06;letter-spacing:-.045em}
.kn-footer__intro>p{max-width:370px;margin:0 0 26px;color:rgba(255,255,255,.65);font-size:15px;line-height:1.7}
.kn-footer__contact{display:flex;flex-direction:column;align-items:flex-start;gap:9px;margin-bottom:20px}
.kn-footer__contact a,.kn-footer__contact span{color:rgba(255,255,255,.74);font-size:13px;line-height:1.45;text-decoration:none;transition:color .18s ease}
.kn-footer__contact a:hover{color:#fff}
.kn-footer__socials{display:flex;gap:9px}
.kn-footer__socials a{width:34px;height:34px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.19);border-radius:50%;color:rgba(255,255,255,.78);transition:color .18s ease,border-color .18s ease,background .18s ease}
.kn-footer__socials a:hover{color:#fff;border-color:var(--blue);background:rgba(0,102,255,.16)}
.kn-footer__socials svg{width:15px;height:15px;fill:currentColor;stroke:currentColor;stroke-width:1.7}
.kn-footer__nav{display:flex;flex-direction:column;align-items:flex-start;gap:clamp(11px,1.05vw,16px)}
.kn-footer__nav h3{margin:0 0 8px;color:rgba(255,255,255,.43);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.kn-footer__nav a{color:rgba(255,255,255,.84);font-size:14px;font-weight:550;line-height:1.25;text-decoration:none;transition:color .18s ease,transform .18s ease}
.kn-footer__nav a:hover{color:#fff;transform:translateX(3px)}
.kn-footer__nav-group{display:flex;flex-direction:column;gap:28px}
.kn-footer__brand-row{width:100%;margin-top:clamp(24px,3.2vw,48px);overflow:hidden}
.kn-footer__brand{display:flex;align-items:center;width:100%;color:#fff;text-decoration:none}
.kn-footer__brand>img{width:clamp(50px,6.1vw,102px);height:clamp(50px,6.1vw,102px);flex:0 0 auto;object-fit:contain;margin-right:clamp(12px,1.6vw,28px)}
.kn-footer__brand>span{display:block;min-width:0;flex:1 1 auto;white-space:nowrap;font-size:clamp(58px,11.1vw,170px);font-weight:760;letter-spacing:-.075em;line-height:.82}
.kn-footer__brand>span>span{color:var(--orange)}
.kn-footer__legal{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:8px 18px;margin-top:clamp(18px,2vw,28px);color:rgba(255,255,255,.48);font-size:11px;line-height:1.4}
.kn-footer__legal p{margin:0}
.kn-footer__legal a{color:inherit;text-decoration:none;transition:color .18s ease}
.kn-footer__legal a:hover{color:#fff}
@media(max-width:980px){.kn-footer__inner{width:min(calc(100% - 48px),1500px)}.kn-footer__top{grid-template-columns:1fr 1fr;gap:36px 28px}.kn-footer__intro{grid-column:1/-1}.kn-footer__intro>p{max-width:580px}}
@media(max-width:560px){.kn-footer__inner{width:min(calc(100% - 32px),1500px)}.kn-footer__top{grid-template-columns:1fr;gap:30px}.kn-footer__intro{grid-column:auto}.kn-footer__nav{gap:13px}.kn-footer__nav a{font-size:15px}.kn-footer__nav-group{gap:28px}.kn-footer__brand>img{width:clamp(38px,12vw,58px);height:clamp(38px,12vw,58px);margin-right:10px}.kn-footer__brand>span{font-size:clamp(45px,18vw,84px);letter-spacing:-.08em}.kn-footer__legal{font-size:10px}}
@media(prefers-reduced-motion:reduce){.kn-footer__dots-line{animation:none}.kn-footer__nav a,.kn-footer__contact a,.kn-footer__socials a,.kn-footer__legal a{transition:none}}
