article,aside,blockquote,body,button,code,dd,details,div,dl,dt,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,input,legend,li,menu,nav,ol,p,pre,section,td,textarea,th,ul{margin:0;padding:0}ol,ul{list-style:none}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:400}:root{--bg-color:#ebebeb;--border-color:#d0d0d0;--menu-color:#e2e2e2;--text-color-primary:#1a1a1a;--text-color-secondary:#5c5c5c;--font-display:"Playfair Display",Georgia,serif;--font-sans:"IBM Plex Sans",system-ui,sans-serif;--font-mono:"IBM Plex Mono","Courier New",monospace}body{background-color:var(--bg-color);color:var(--text-color-primary);font-family:var(--font-sans);font-weight:400;line-height:1.75;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}@media print{body{background-color:#fff}}@font-face{font-display:swap;font-family:Playfair Display;font-style:normal;font-weight:700;src:url(../fonts/playfair-display-v40-cyrillic-700.woff2) format("woff2")}@font-face{font-display:swap;font-family:IBM Plex Sans;font-style:normal;font-weight:400;src:url(../fonts/ibm-plex-sans-v23-cyrillic_latin-regular.woff2) format("woff2")}@font-face{font-display:swap;font-family:IBM Plex Mono;font-style:normal;font-weight:400;src:url(../fonts/ibm-plex-mono-v20-cyrillic_latin-regular.woff2) format("woff2")}@font-face{font-display:swap;font-family:IBM Plex Mono;font-style:normal;font-weight:500;src:url(../fonts/ibm-plex-mono-v20-cyrillic_latin-500.woff2) format("woff2")}.section+.section{margin-top:3rem}.subtitle{border-bottom:1px solid var(--border-color);color:var(--text-color-secondary);font-family:var(--font-mono);font-size:.75rem;font-weight:500;letter-spacing:.14em;padding-bottom:1rem;text-transform:uppercase}.about,.about>*+*{margin-top:1rem}.about ul{margin-top:.25rem;padding-left:1.25rem}.about ul li:before{content:"—";margin-left:-1.25rem;position:absolute}.skills li{border-bottom:1px solid var(--border-color);column-gap:1rem;display:grid;font-family:var(--font-mono);font-size:.75rem;font-weight:400;grid-template-columns:9rem auto;letter-spacing:.01em;padding:.75rem 0}.skills strong{color:var(--text-color-secondary);display:block;font-weight:400}.skills span{display:block}.skills__lang{color:var(--text-color-secondary);font-style:normal}@media (max-width:37.5rem){.skills li{display:block}.skills span{margin-top:.375rem}}.page-author{text-align:center}.page-author__name{color:var(--text-color-primary);font-family:var(--font-display);font-size:2.5rem;font-weight:700;letter-spacing:-.02em;line-height:1.1}.page-author__role{color:var(--text-color-secondary);font-family:var(--font-mono);font-size:.75rem;font-weight:500;letter-spacing:.14em;margin-top:.5rem;text-transform:uppercase}.page-menu ul{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.page-menu__link{background-color:var(--menu-color);border:1px solid var(--border-color);border-radius:.25rem;color:var(--text-color-primary);display:block;font-family:var(--font-mono);font-size:.75rem;font-weight:500;letter-spacing:.08em;line-height:1rem;padding:.5rem .75rem .375rem 1.875rem;position:relative;text-decoration:none;text-transform:uppercase;transition-duration:.2s;transition-property:background-color,border-color,color}.page-menu__link:before{background-color:currentColor;content:"";display:block;height:13px;left:12px;mask-repeat:no-repeat;opacity:.7;position:absolute;top:9px;transition-duration:.2s;transition-property:opacity;width:13px}.page-menu__link._resume:before{mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='13' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpath d='M14 2v6h6M16 13H8M16 17H8M10 9H8'/%3E%3C/svg%3E")}.page-menu__link._linkedin:before{mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='13' fill='none' stroke='currentColor' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6zM2 9h4v12H2z'/%3E%3Ccircle cx='4' cy='4' r='2'/%3E%3C/svg%3E");top:8px}.page-menu__link._github:before{mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='13' fill='none' stroke='currentColor' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M9 19c-5 1.5-5-2.5-7-3m14 6v-3.87a3.37 3.37 0 0 0-.94-2.61c3.14-.35 6.44-1.54 6.44-7A5.44 5.44 0 0 0 20 4.77 5.07 5.07 0 0 0 19.91 1S18.73.65 16 2.48a13.4 13.4 0 0 0-7 0C6.27.65 5.09 1 5.09 1A5.07 5.07 0 0 0 5 4.77a5.44 5.44 0 0 0-1.5 3.78c0 5.42 3.3 6.61 6.44 7A3.37 3.37 0 0 0 9 18.13V22'/%3E%3C/svg%3E")}.page-menu__link._email:before{mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='13' fill='none' stroke='currentColor' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z'/%3E%3Cpath d='m22 6-10 7L2 6'/%3E%3C/svg%3E")}.page-menu__link:hover{background-color:var(--text-color-primary);border-color:var(--text-color-primary);color:var(--bg-color)}.page-menu__link:hover:before{opacity:1}.page{margin:auto;max-width:42.5rem;padding:0 1rem}.page__header{padding-top:2.5rem}.page__header .page-menu{margin:1rem auto 0}.page__body{margin-top:3rem}.page__footer{color:var(--text-color-secondary);font-size:.75rem;padding:1.5rem 0;text-align:center}@media (max-width:30rem){.page-menu{width:15rem}}