html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}:root{--white: #fff;--primary-darkest: #170f2e;--primary-darker: #312163;--primary-dark: #5531a7;--primary-default: #9251f7;--primary-light: #c696fc;--primary-lighter: #efe2f9;--primary-lightest: #f8f2fc;--secondary-darker: #1f2347;--secondary-dark: #2a337e;--secondary-default: #516cf7;--secondary-light: #95aafb;--secondary-lighter: #e1e7fe;--secondary-lightest: #f5f7ff;--gray-darkest: #232339;--gray-darker: #2e2e48;--gray-dark: #47516b;--gray-default: #79819a;--gray-light: #acb1c3;--gray-lighter: #d9dfe8;--gray-lightest: #e2e6ee;--gray-lightest-2: #f7f9fc;--status-info: #22c3f1;--status-success-light: #e7fae5;--status-success: #4ac06f;--status-success-dark: #1f5c43;--status-warning-light: #fefcbf;--status-warning: #f4ce10;--status-warning-dark: #857129}:root{--font-family: "DM Sans", sans-serif;--second-family: "Outfit", sans-serif}.sidebar{background:var(--gray-darkest);color:var(--white);padding:24px;display:flex;flex-direction:column;align-items:start;gap:32px}.profile-photo{border:1px solid var(--status-info);border-radius:100px;width:64px;height:64px;object-fit:cover;margin-bottom:16px}.sidebar-logo{font-family:var(--second-family);font-weight:500}.title{font-size:24px;line-height:125%;letter-spacing:-.02em;color:var(--gray-lightest);margin-bottom:4px}.sub-title{font-size:18px;line-height:133%;letter-spacing:.01em;background:linear-gradient(90deg,#a478e8,#d1d3db);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:16px}.looking{font-family:var(--font-family);font-weight:500;font-size:12px;line-height:129%;color:var(--gray-lighter)}.contacts-title{display:none}.contacts-list,.socials-list,.languages,.languages-list{display:flex;flex-direction:column;gap:12px}.contacts-item,.socials-item,.languages-item{display:flex;align-items:center;gap:8px;font-size:14px;line-height:130%}.svg-contacts,.svg-socials{flex-shrink:0;width:16px;height:16px;margin-top:2px;background-color:var(--gray-darker);border-radius:100px;position:relative}.svg-languages{flex-shrink:0;width:16px;height:16px;margin-top:2px}.contacts-svg,.img-socials{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);fill:var(--white)}.contacts-text,.socials-text,.languages-text{display:flex;flex-direction:column;gap:4px}.item-info,.socials-label{font-family:var(--font-family);font-weight:400;font-size:10px;line-height:133%;letter-spacing:.01em;color:var(--gray-light)}.contacts-link,.socials-link{font-family:var(--font-family);font-weight:500;font-size:12px;line-height:129%;color:var(--gray-lighter)}.socials{display:flex;flex-direction:column;gap:12px}.socials-title,.languages-title{font-family:var(--font-family);font-weight:400;font-size:10px;line-height:133%;letter-spacing:.01em;color:var(--gray-light)}.language-name{font-family:var(--font-family);font-weight:500;font-size:12px;line-height:129%;color:var(--gray-lighter)}.language-level{font-family:var(--font-family);font-weight:400;font-size:10px;line-height:133%;letter-spacing:.01em;color:var(--gray-light)}@media(min-width:768px)and (max-width:900px){.sidebar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:24px}.sidebar-logo{grid-column:1 / -1}.contacts,.socials,.languages{min-width:0}}.experience{position:relative;margin-bottom:10px}.experience:before{content:"";position:absolute;left:8px;top:16px;width:1px;height:100%;background:var(--gray-darker);z-index:0}.exp-title{font-family:var(--second-family);font-weight:500;font-size:18px;line-height:133%;letter-spacing:.01em;text-align:center;color:var(--gray-lightest);padding-top:1px}.timing{font-family:var(--font-family);font-weight:400;font-size:10px;letter-spacing:.01em;color:var(--gray-light);margin:auto 0}.job-title{font-family:var(--font-family);font-weight:400;font-size:12px;line-height:133%;letter-spacing:.01em;color:var(--gray-light)}.company-name{font-family:var(--font-family);font-weight:500;font-size:13px;line-height:129%;color:var(--gray-lightest)}.job-description{font-family:var(--font-family);font-weight:400;font-size:10px;letter-spacing:.01em;color:var(--gray-light);margin:0;padding-left:23px}.cont-svg{border-radius:100px;padding:8px;width:16px;height:16px;background-color:var(--gray-darker);position:relative;z-index:1}.container-main-svg{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.cont-exp{display:flex;flex-direction:row;gap:16px;text-align:center;margin-bottom:16px}.exp-list{display:flex;flex-direction:column;padding-left:32px;padding-right:24px;gap:20px}.cont-dont{border-radius:100px;padding:8px;width:12px;height:12px;background-color:var(--gray-darker);position:relative}.dot{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.exp-item{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:20px}.exp-item:before{content:"";position:absolute;left:7px;top:18px;width:1px;height:80%;background:var(--gray-darker);z-index:1}.job-logo{width:60px;height:40px;background-color:var(--gray-darker);border-radius:6px;object-fit:cover;object-position:top;display:block}.job-logo:not(.freelance-svg){width:55px;height:20px;border-radius:12px;background-color:var(--white);object-fit:cover;object-position:center;display:block}.job-logo.freelance-svg{background-color:transparent}.dot-titel{display:flex;flex-direction:row;gap:8px}.list-item-exp{padding-left:23px}.list-item-exp{display:flex;flex-direction:row;align-items:center;gap:15px}.job-name-text{display:flex;flex-direction:column;gap:2px}.latest-projects{position:relative;margin-bottom:10px}.latest-projects:before{content:"";position:absolute;left:8px;top:16px;width:1px;height:calc(100% - 15px);background:var(--gray-darker);z-index:0}.lt-pr-title{font-family:var(--second-family);font-weight:500;font-size:18px;line-height:133%;letter-spacing:.01em;color:var(--gray-lightest)}.project-name{font-family:var(--font-family);font-weight:500;font-size:14px;line-height:125%;color:var(--gray-lightest);min-height:40px}.project-name a{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.project-description{font-family:var(--font-family);font-weight:400;font-size:12px;line-height:129%;letter-spacing:.01em;color:var(--gray-light);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;min-height:46px}.project-description:hover{-webkit-line-clamp:unset}.project-link{font-family:var(--font-family);font-weight:500;font-size:13px;line-height:125%;color:var(--secondary-light)}.projects-list{display:flex;flex-direction:row-reverse;gap:24px;max-width:calc(100% - 32px);margin-left:32px;overflow-x:auto;overflow-y:hidden;padding-bottom:6px}.projects-item{display:flex;flex-direction:column;flex-shrink:0;gap:8px;background-color:var(--gray-darker);padding:12px;width:240px;border-radius:30px;transition:transform .18s ease,box-shadow .18s ease}.projects-item:hover{transform:translateY(-2px);box-shadow:0 10px 24px #0000003d}img.project-frame{width:128px;height:96px;object-fit:cover;object-position:top;display:block;border-radius:4px;margin:0 auto}.project-name{text-align:center}.cont-link{display:flex;align-items:center;gap:8px;flex-direction:row;margin-top:auto}.project-svg-cont{position:relative;background:var(--secondary-dark);border-radius:100px;width:16px;height:16px}.proj-svg{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@media(max-width:700px){.projects-list{margin-left:24px;gap:14px;max-width:calc(100% - 24px)}.projects-item{width:220px;border-radius:20px}}.education{position:relative;margin-bottom:15px}.education:before{content:"";position:absolute;left:8px;top:16px;width:1px;height:100%;background:var(--gray-darker);z-index:0}.edu-title{font-family:var(--second-family);font-weight:500;font-size:18px;line-height:133%;letter-spacing:.01em;text-align:center;color:var(--gray-lightest);padding-top:1px}.education-name{font-family:var(--font-family);font-weight:500;font-size:12px;line-height:133%;color:var(--gray-lightest)}.education-degree{font-family:var(--font-family);font-weight:500;font-size:13px;line-height:129%;color:var(--gray-lightest)}.education-year{font-family:var(--font-family);font-weight:400;font-size:10px;letter-spacing:.01em;text-align:center;color:var(--gray-light);margin-top:auto}.education-list{margin-top:8px;display:flex;flex-direction:row;flex-wrap:wrap;gap:24px;width:100%;margin-left:32px}.education-item{flex:1 1 260px;display:flex;flex-direction:column;align-items:start;gap:20px}.educ-img{width:100px;height:100px;padding:8px;background-color:var(--gray-darker);border-radius:100px}.educ-name{display:flex;flex-direction:row;gap:15px;align-items:center;justify-content:space-between}.last-img{background-color:#fff}.second-img{background-color:transparent}.first-img{background-color:#fff;width:150px}@media(max-width:700px){.education-list{margin-left:24px;gap:16px}.education-item{flex:1 1 100%;gap:12px}.educ-name{gap:10px}.educ-img{width:76px;height:76px}.first-img{width:96px}}.skills{position:relative;margin-bottom:12px}.skills:before{content:"";position:absolute;left:8px;top:16px;width:1px;height:100%;background:var(--gray-darker);z-index:0}.skills-title{font-family:var(--second-family);font-weight:500;font-size:18px;line-height:133%;letter-spacing:.01em;text-align:center;color:var(--gray-lightest);padding-top:1px}.set-skills{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:14px;padding-left:32px;padding-right:24px}.design-front-set,.development-set{display:flex;flex-direction:column;gap:12px;padding:14px;border:1px solid rgba(172,177,195,.14);border-radius:14px;background:linear-gradient(180deg,#2e2e48d1,#232339f0)}.design-front-set,.development-set{flex:1 1 0}.design-cont,.development-cont{display:flex;align-items:center;gap:8px;padding-bottom:8px;border-bottom:1px solid rgba(172,177,195,.14)}.design-svg,.development-svg{width:16px;height:16px;border-radius:100px;background-color:var(--secondary-dark);flex-shrink:0}.set-skills-title{font-family:var(--font-family);font-weight:600;font-size:15px;line-height:125%;color:var(--gray-lightest);cursor:pointer;background:transparent;border:0;padding:0;text-align:left}.set-skills-title:focus-visible{outline:2px solid var(--primary-light);outline-offset:2px;border-radius:6px}.design-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;list-style:none;padding:0;margin:0;max-height:1200px;overflow:hidden;opacity:1;transition:max-height .22s ease,opacity .18s ease}.design-item,.development-main-item,.development-tools-item{display:flex;align-items:center;justify-content:center;text-align:center;min-height:36px;padding:8px;border-radius:12px;border:1px solid rgba(149,170,251,.2);background:#2e2e48c2;transition:transform .18s ease,border-color .18s ease,background-color .18s ease;font-family:var(--font-family);font-weight:400;font-size:12px;line-height:129%;color:var(--gray-lightest)}.design-item:hover,.development-main-item:hover,.development-tools-item:hover{transform:translateY(-1px);border-color:#c696fc73;background:#516cf724}.development-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-height:2000px;overflow:hidden;opacity:1;transition:max-height .24s ease,opacity .18s ease}.development-column{display:flex;flex-direction:column;gap:8px;flex:1 1 0;min-width:0}.development-subtitle{margin:0;padding-left:2px;font-family:var(--font-family);font-weight:500;font-size:12px;letter-spacing:.02em;text-transform:uppercase;color:var(--gray-light)}.development-main,.development-tools{display:grid;grid-template-columns:1fr;gap:8px;list-style:none;padding:0;margin:0}.design-item,.development-main-item,.development-tools-item{overflow-wrap:anywhere}.is-collapsed{max-height:0!important;opacity:0!important;pointer-events:none}@media(max-width:1200px){.set-skills{grid-template-columns:1fr}}@media(max-width:900px){.development-grid{grid-template-columns:1fr}}@media(max-width:700px){.set-skills{padding-left:24px;padding-right:12px}.design-list,.development-main,.development-tools{grid-template-columns:1fr}}.contact-form{position:relative;margin-bottom:10px}.contact-form:before{content:"";position:absolute;left:8px;top:16px;width:1px;height:calc(100% - 10px);background:var(--gray-darker);z-index:0}.contact-title{font-family:var(--second-family);font-weight:500;font-size:18px;line-height:133%;letter-spacing:.01em;color:var(--gray-lightest)}.contact-socials{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-left:32px;padding-right:24px}.contact-social-link{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:10px 14px;border:1px solid rgba(149,170,251,.2);border-radius:12px;background:#2e2e48d1;font-family:var(--font-family);font-weight:500;font-size:13px;line-height:125%;color:var(--gray-lightest);transition:transform .18s ease,border-color .18s ease,background-color .18s ease,color .18s ease}.contact-social-link:hover,.contact-social-link:focus-visible{transform:translateY(-1px);border-color:#c696fc73;background:#516cf724;color:var(--secondary-lightest)}.contact-social-link:focus-visible{outline:2px solid var(--primary-light);outline-offset:2px}@media(max-width:700px){.contact-socials{grid-template-columns:1fr;margin-left:24px;padding-right:12px}}:root{--section-indent-left: 32px;--section-indent-right: 24px}*,*:before,*:after{box-sizing:border-box}body{font-family:Roboto,sans-serif;font-size:14px;color:#434455;background-color:var(--gray-darkest);position:relative;overflow-x:hidden}body:before,body:after{content:"";position:fixed;inset:auto;width:60vmax;height:60vmax;border-radius:999px;pointer-events:none;z-index:0;filter:blur(34px) saturate(112%)}body:before{top:-24vmax;left:-18vmax;background:radial-gradient(circle,rgba(146,81,247,.5) 0%,rgba(81,108,247,.34) 40%,rgba(36,195,241,.14) 65%,transparent 75%);animation:none}body:after{right:-22vmax;bottom:-26vmax;background:radial-gradient(circle,rgba(198,150,252,.42) 0%,rgba(81,108,247,.32) 42%,rgba(34,195,241,.13) 66%,transparent 76%);animation:none}html,body{height:100%;margin:0;padding:0}body.layout{display:flex;align-items:stretch;gap:0;min-height:100vh;min-height:100dvh;width:min(1280px,100%);max-width:1280px;margin:0 auto;position:relative;z-index:1}.reveal-on-scroll{opacity:0;transform:translate3d(0,18px,0);transition:opacity .42s ease,transform .5s cubic-bezier(.2,.65,.2,1)}.reveal-on-scroll.leave-top{transform:translate3d(0,-18px,0)}.reveal-on-scroll.is-visible{opacity:1;transform:translateZ(0)}ul{list-style-type:none;margin:0;padding:0}h1,h2,h3,h4,h5,h6,p{margin-top:0;margin-bottom:0}main{flex:1 1 auto;min-width:0}img{display:block;max-width:100%;height:auto}button{cursor:pointer}a{text-decoration:none;color:inherit}.main-content{background-color:var(--gray-darkest);padding:32px 24px}.exp-list{padding-left:var(--section-indent-left);padding-right:var(--section-indent-right)}.projects-list,.education-list,.contact-socials{margin-left:var(--section-indent-left)}.set-skills,.contact-socials{padding-right:var(--section-indent-right)}.set-skills{padding-left:var(--section-indent-left)}.projects-item,.exp-item,.education-item{content-visibility:auto;contain-intrinsic-size:1px 340px}.timing,.job-description,.item-info,.socials-label,.language-level,.education-year,.project-description,.looking,.development-subtitle{color:var(--gray-lighter)}.sidebar{min-width:220px}@media(min-width:320px)and (max-width:767px){:root{--section-indent-left: 24px;--section-indent-right: 12px}body:before,body:after{display:none}body.layout{flex-direction:column;min-height:100dvh}body{font-size:15px}.sidebar{min-width:100%}.main-content{padding:24px 12px}.title{font-size:22px}.sub-title,.exp-title,.lt-pr-title,.edu-title,.skills-title,.contact-title{font-size:17px;line-height:1.35}.project-name,.education-degree,.job-title,.set-skills-title,.contacts-link,.socials-link,.language-name{font-size:13px}.project-description,.job-description,.timing,.item-info,.socials-label,.language-level,.education-year,.looking{font-size:11px;line-height:1.4}}@media(min-width:768px)and (max-width:900px){:root{--section-indent-left: 28px;--section-indent-right: 16px}body.layout{flex-direction:column;min-height:100dvh}body:before,body:after{display:none}body{font-size:15px}.sidebar{min-width:100%}.main-content{padding:28px 16px}.title{font-size:24px}.sub-title,.exp-title,.lt-pr-title,.edu-title,.skills-title,.contact-title{font-size:18px;line-height:1.35}.project-name,.education-degree,.job-title,.set-skills-title,.contacts-link,.socials-link,.language-name{font-size:13px}.project-description,.job-description,.timing,.item-info,.socials-label,.language-level,.education-year,.looking{font-size:11px;line-height:1.4}}@media(prefers-reduced-motion:reduce){body:before,body:after{animation:none}.reveal-on-scroll{transition:none;transform:none;opacity:1}}@media(prefers-reduced-motion:reduce){body:before,body:after{animation:none}.reveal-on-scroll,.reveal-on-scroll.leave-top,.reveal-on-scroll.is-visible{opacity:1;transform:none;transition:none}}
