/* Generated from the design canvas (port.py). Edit tokens in theme.css. */

body{margin:0;background:#0A0B12}
a{color:inherit;text-decoration:none}
button{font-family:inherit}
a:focus-visible,button:focus-visible{outline:2px solid #D4FF3F;outline-offset:3px}
input,textarea{font:inherit}
.n-wrap{max-width:1392px;margin:0 auto;padding-left:24px;padding-right:24px;box-sizing:border-box}
.n-mono{font-family:'JetBrains Mono',monospace;font-size:13px;letter-spacing:.04em;text-transform:uppercase}
.n-label{font-family:'JetBrains Mono',monospace;font-size:13px;letter-spacing:.05em;text-transform:uppercase;color:#8B8DA3;display:flex;gap:14px;align-items:center}
.n-label i{font-style:normal;color:#D4FF3F}
.n-h2{margin:0;font-weight:600;font-size:clamp(38px,5.2vw,76px);line-height:1.04;letter-spacing:-.025em}
.n-lead{margin:20px 0 0;max-width:620px;font-size:19px;line-height:1.6;color:#A9ABBE}
.n-case{display:flex;flex-direction:column;gap:20px;min-width:0}
.n-case img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;border-radius:8px}
.n-case h3{margin:0;font-size:28px;line-height:1.2;letter-spacing:-.015em;font-weight:600}
.n-meta{display:grid;grid-template-columns:130px 1fr;font-size:15px;border-top:1px solid #23253A;margin:4px 0 0}
.n-meta dt,.n-meta dd{margin:0;padding:12px 0;border-bottom:1px solid #23253A}
.n-meta dt{color:#6E7088;font-family:'JetBrains Mono',monospace;font-size:12px;text-transform:uppercase;letter-spacing:.04em;padding-top:14px}
.n-svc{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));gap:1px;background:#E6E6EC;border:1px solid #E6E6EC;border-radius:8px;overflow:hidden}
.n-svc article{background:#FFFFFF;padding:28px 26px 26px;display:flex;flex-direction:column;gap:12px;min-height:196px;box-sizing:border-box}
.n-svc .num{font-family:'JetBrains Mono',monospace;font-size:13px;color:#2416FF}
.n-svc h3{margin:8px 0 0;font-size:24px;line-height:1.2;letter-spacing:-.01em;font-weight:600}
.n-svc p{margin:0;font-size:16px;line-height:1.6;color:#4A4C60;flex:1}
.n-svc .tags{font-family:'JetBrains Mono',monospace;font-size:12px;color:#6E7088;letter-spacing:.02em}
.n-tech{display:grid;grid-template-columns:repeat(auto-fill,minmax(176px,1fr));gap:10px}
.n-tile{border:1px solid #23253A;border-radius:8px;padding:14px 16px;display:flex;flex-direction:row;align-items:center;gap:14px;min-height:60px;box-sizing:border-box;background:#0F1019}
.n-tile svg{width:26px;height:26px;flex:none;fill:#F3F2EE}
.n-tile .txt{width:26px;height:26px;flex:none;font-size:10px!important;border-radius:6px;background:#23253A;display:flex;align-items:center;justify-content:center;font-family:'JetBrains Mono',monospace;font-size:12px;color:#F3F2EE}
.n-tile span{font-size:15px;color:#C9CBDA}
.n-tg{display:grid;grid-template-columns:220px 1fr;gap:16px 40px;padding:24px 0;border-top:1px solid #23253A}
@media (max-width:800px){.n-tg{grid-template-columns:1fr}}
.lt .n-label{color:#6E7088}.lt .n-label i{color:#2416FF}.lt .n-lead{color:#4A4C60}
.lt .n-tile{background:#FFFFFF;border-color:#E6E6EC}.lt .n-tile svg{fill:#0A0B12}.lt .n-tile span{color:#2A2C3D}.lt .n-tile .txt{background:#2416FF;color:#FFFFFF}
.lt .n-tg{border-color:#E6E6EC}.lt .n-q{border-color:#E6E6EC}
.n-q{flex:1 1 360px;min-width:0;border-top:1px solid #23253A;padding-top:28px;display:flex;flex-direction:column;gap:28px}
@media (max-width:700px){.n-float{width:92px!important;height:92px!important;font-size:12px!important;right:16px!important;top:110px!important}}
a,button{transition:color .2s,background-color .2s,border-color .2s,transform .2s,opacity .2s}
.n-svc article{transition:background-color .25s}.n-svc article:hover{background:#F6F6F9}
.n-svc .more{display:inline-block;transition:transform .2s}.n-svc article:hover .more{transform:translateX(6px)}
.n-tile{transition:border-color .2s,transform .2s}.n-tile:hover{border-color:#2416FF;transform:translateY(-2px)}
.n-case img,.n-post img{transition:filter .3s}.n-case:hover img,.n-post:hover img{filter:brightness(1.15)}
.n-btn:hover{transform:translateY(-2px)}.n-rel{transition:border-color .2s,transform .2s}.n-rel:hover{border-color:#2416FF;transform:translateY(-3px)}
.n-foot a{color:#A9ABBE}.n-foot a:hover{color:#D4FF3F}
.n-post h3 a:hover{color:#D4FF3F}
.lt-page header a[aria-current]{color:#2416FF!important}.lt-page header b{color:#0A0B12!important}.lt-page [aria-label="Хлебные крошки"] span:last-child{color:#0A0B12!important}.lt-page .n-post p{color:#4A4C60!important}
.n-cover-logo{transition:transform .4s}.n-case:hover .n-cover-logo{transform:scale(1.06)}
@keyframes n-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
.n-float-img{animation:n-float 9s ease-in-out infinite}
@media (prefers-reduced-motion:reduce){.n-float-img{animation:none}}
@keyframes n-up{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
.n-in{animation:n-up .9s cubic-bezier(.2,.7,.2,1) both}.n-in.d1{animation-delay:.08s}.n-in.d2{animation-delay:.18s}.n-in.d3{animation-delay:.3s}.n-in.d4{animation-delay:.44s}
@keyframes n-marq{to{transform:translateX(-50%)}}.n-marq{display:flex;width:max-content;animation:n-marq 38s linear infinite}
@keyframes n-bob{0%,100%{transform:translateY(0) rotate(var(--r,0deg))}50%{transform:translateY(-18px) rotate(var(--r,0deg))}}.n-bob{animation:n-bob 7s ease-in-out infinite}
@keyframes n-grow{from{transform:scaleY(.08)}to{transform:scaleY(1)}}.n-bar{transform-origin:bottom;animation:n-grow 1.4s cubic-bezier(.2,.7,.2,1) both}
@keyframes n-pulse{0%,100%{opacity:1}50%{opacity:.35}}.n-pulse{animation:n-pulse 1.6s ease-in-out infinite}
.n-btn{position:relative;overflow:hidden;isolation:isolate}.n-btn::before{content:'';position:absolute;inset:0;background:rgba(255,255,255,.24);transform:translateX(-101%);transition:transform .45s cubic-bezier(.2,.7,.2,1);z-index:-1}.n-btn:hover::before{transform:none}
.n-svc article{position:relative}.n-svc article::after{content:'';position:absolute;left:0;bottom:0;height:3px;width:0;background:#2416FF;transition:width .45s cubic-bezier(.2,.7,.2,1)}.n-svc article:hover::after{width:100%}.n-svc article h3{transition:color .25s}.n-svc article:hover h3{color:#2416FF}
.n-foot li a,header nav a:not(.n-btn){background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:background-size .35s,color .2s}.n-foot li a:hover,header nav a:not(.n-btn):hover{background-size:100% 1px}
.n-cover::after{content:'Смотреть ↗';position:absolute;left:50%;top:50%;width:128px;height:128px;margin:-64px 0 0 -64px;border-radius:50%;background:#D4FF3F;color:#0A0B12;font:700 15px 'Inter Tight',sans-serif;display:flex;align-items:center;justify-content:center;transform:scale(0);transition:transform .35s cubic-bezier(.2,.7,.2,1);z-index:2}.n-case:hover .n-cover::after{transform:scale(1)}
.n-cover-img{transition:transform .9s cubic-bezier(.2,.7,.2,1)}.n-case:hover .n-cover-img{transform:scale(1.05)}
.n-tile svg{transition:transform .3s}.n-tile:hover svg{transform:scale(1.18)}
.n-rel img{transition:transform .7s cubic-bezier(.2,.7,.2,1)}.n-rel:hover img{transform:scale(1.06)}
@keyframes n-draw{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.n-draw,.n-tg,.n-meta,.n-q{position:relative}
.n-draw::before,.n-tg::before,.n-meta::before,.n-q::before{content:'';position:absolute;left:0;right:0;top:-1px;height:1px;background:#2416FF;transform-origin:left;animation:n-draw 1.6s cubic-bezier(.65,0,.25,1) .35s both}
.n-tg:nth-of-type(2)::before{animation-delay:.5s}.n-tg:nth-of-type(3)::before{animation-delay:.65s}.n-tg:nth-of-type(4)::before{animation-delay:.8s}.n-tg:nth-of-type(5)::before{animation-delay:.95s}
.n-draw.d2::before{animation-delay:.55s}.n-draw.d3::before{animation-delay:.75s}
@media (max-width:700px){
header nav a:not(.n-btn),header nav .n-mono{display:none!important}
header nav{gap:10px!important}
.n-burger{display:flex!important}
header nav a.n-btn{display:none!important}header{flex-wrap:nowrap!important}
section:has(> .n-float-img){display:flex!important;flex-direction:column}section:has(> .n-float-img)>.n-wrap{order:1}.n-float-img{order:2;position:relative!important;display:block;width:100%!important;height:220px!important;margin:-24px 0 0;opacity:1!important;-webkit-mask-image:linear-gradient(180deg,transparent,#000 30%,#000 70%,transparent)!important;mask-image:linear-gradient(180deg,transparent,#000 30%,#000 70%,transparent)!important;animation:none!important}
[style*="padding: 128px 0"],[style*="padding: 120px 0"],[style*="padding: 112px 0"]{padding-top:64px!important;padding-bottom:64px!important}
[style*="padding-top: 128px"],[style*="padding-top: 140px"],[style*="padding-top: 120px"]{padding-top:64px!important}
[style*="padding-bottom: 128px"],[style*="padding-bottom: 112px"],[style*="padding-bottom: 140px"]{padding-bottom:64px!important}
[style*="padding: 96px 0"],[style*="padding: 88px 0"],[style*="padding: 80px 0"],[style*="padding: 72px 0"]{padding-top:56px!important;padding-bottom:56px!important}
.n-svc article[style*="span"]{grid-column:auto!important}
.n-svc article{min-height:0!important;padding:18px 20px!important;gap:6px!important}.n-svc article p,.n-svc article .tags{display:none!important}.n-svc article h3{font-size:20px!important;margin:0!important}
.n-tech{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}.n-tech .n-tile{min-width:0}
.n-tile{padding:10px 12px!important;min-height:48px!important;gap:10px!important}.n-tile span{font-size:13px!important}.n-tile svg,.n-tile .txt{width:22px!important;height:22px!important}
.n-tg{padding:18px 0!important;gap:10px!important}
.n-h2{font-size:34px!important}
.n-mega{font-size:23vw!important;white-space:normal!important;line-height:.88!important}
.n-hero-art{zoom:.6;margin:0 auto}
.n-qc{right:12px!important;bottom:12px!important}.n-qc a.n-btn{padding:10px 14px!important;font-size:13px!important}.n-qc a[aria-label]{width:46px!important;height:46px!important}
.n-foot nav>div{flex:1 1 40%!important}
#top{min-height:0!important;overflow:hidden!important;padding-top:24px}.n-float{display:none!important}
.n-marq{font-size:40px!important}
}
@media (prefers-reduced-motion:reduce){.n-in,.n-marq,.n-bob,.n-bar,.n-pulse,.n-draw::before,.n-tg::before,.n-meta::before,.n-q::before{animation:none}}


body{margin:0;background:#111111}
a{color:#111111;text-decoration:none}a:hover{color:#000000}
input,textarea{font:inherit}


body{margin:0;background:#FFFFFF}
a{color:#333650;text-decoration:none}a:hover{color:#0900BC}
input,textarea{font:inherit}


body{margin:0;background:#F7F8FC}
a{color:inherit;text-decoration:none}
button{font-family:inherit}
a:focus-visible,button:focus-visible{outline:2px solid #0900BC;outline-offset:3px}
input,textarea{font:inherit}


body{margin:0;background:#0A0B12}
a{color:inherit;text-decoration:none}
a:focus-visible{outline:2px solid #D4FF3F;outline-offset:3px}
.h-wrap{max-width:1392px;margin:0 auto;padding-left:24px;padding-right:24px;box-sizing:border-box}
.h-mono{font-family:'JetBrains Mono',monospace;font-size:13px;letter-spacing:.04em;text-transform:uppercase}
.h-tag{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.06em;text-transform:uppercase;background:#D4FF3F;color:#0A0B12;padding:6px 10px;border-radius:4px;display:inline-block}


body{margin:0;background:#FFFFFF}
a{color:#0F172A;text-decoration:none}a:hover{color:#1E3AD6}
input,textarea{font:inherit}


body{margin:0;background:#FFFFFF}
.lg-wrap{max-width:1360px;margin-left:auto;margin-right:auto;padding-left:40px;padding-right:40px;box-sizing:border-box}
.lg-mono{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:#5C5E72}


body{margin:0;background:#0B0D10}
a{color:#E8EAED;text-decoration:none}a:hover{color:#FFFFFF}
input,textarea{font:inherit}


body{margin:0;background:#FFFFFF}
.r-wrap{max-width:1392px;margin:0 auto;padding-left:24px;padding-right:24px;box-sizing:border-box}
.r-mono{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.05em;text-transform:uppercase}
.r-card{border-radius:6px;padding:32px;box-sizing:border-box;min-width:0}
.r-sw{flex:1 1 200px;min-height:220px;border-radius:6px;padding:20px;display:flex;flex-direction:column;justify-content:space-between;box-sizing:border-box}
