/* ===== Fonts ===== */
@font-face{font-family:Poppins;font-weight:300;font-display:swap;src:url(../fonts/Poppins-Light.woff) format("woff")}
@font-face{font-family:Poppins;font-weight:400;font-display:swap;src:url(../fonts/Poppins-Regular.woff) format("woff")}
@font-face{font-family:Poppins;font-weight:500;font-display:swap;src:url(../fonts/Poppins-Medium.woff) format("woff")}
@font-face{font-family:Poppins;font-weight:600;font-display:swap;src:url(../fonts/Poppins-SemiBold.woff) format("woff")}
@font-face{font-family:Poppins;font-weight:700;font-display:swap;src:url(../fonts/Poppins-Bold.woff) format("woff")}
@font-face{font-family:"IBM Plex Mono";font-weight:400;font-display:swap;src:url(../fonts/IBMPlexMono-Regular.woff) format("woff")}
@font-face{font-family:"IBM Plex Mono";font-weight:500;font-display:swap;src:url(../fonts/IBMPlexMono-Medium.woff) format("woff")}
@font-face{font-family:Inter;font-weight:100 900;font-display:swap;src:url(../fonts/Inter-var.woff) format("woff")}
@font-face{font-family:"Montserrat Cyr";font-weight:100 450;font-display:swap;size-adjust:101%;src:url(../fonts/NotoSans-cyr.woff) format("woff");unicode-range:U+0400-04FF,U+2116}
@font-face{font-family:"Montserrat Cyr";font-weight:451 900;font-display:swap;size-adjust:96%;src:url(../fonts/Montserrat-var.woff) format("woff");unicode-range:U+0400-04FF,U+2116}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
ul{padding:0;list-style:none}

/* lightbox */
.lb{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:clamp(12px,3vw,48px);background:rgba(10,10,12,.86);opacity:0;visibility:hidden;transition:opacity .25s ease,visibility 0s .25s;overscroll-behavior:contain}
.lb.on{opacity:1;visibility:visible;transition:opacity .25s ease}
.lb-scroll{width:100%;height:100%;overflow:auto;display:grid;place-items:center}
.lb img{max-width:100%;max-height:100%;width:auto;height:auto;border-radius:12px;background:#fff;transform:scale(.97);transition:transform .3s ease}
.lb.on img{transform:none}
.lb.big .lb-scroll{place-items:start}
.lb.big img{max-width:none;max-height:none;width:max(1400px,100%)}
.lb button{position:absolute;top:14px;right:14px;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.14);color:#fff;font:300 26px/1 Poppins,sans-serif;border:0;cursor:pointer}
@media (prefers-reduced-motion:reduce){.lb,.lb img{transition:none}}
