/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
html{-webkit-text-size-adjust:100%;line-height:1.15}body{margin:0}main{display:block}h1{margin:.67em 0;font-size:2em}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace;font-size:1em}a{background-color:#0000}abbr[title]{border-bottom:none;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:100%;line-height:1.15}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner{border-style:none;padding:0}[type=button]::-moz-focus-inner{border-style:none;padding:0}[type=reset]::-moz-focus-inner{border-style:none;padding:0}[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring{outline:1px dotted buttontext}[type=button]:-moz-focusring{outline:1px dotted buttontext}[type=reset]:-moz-focusring{outline:1px dotted buttontext}[type=submit]:-moz-focusring{outline:1px dotted buttontext}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;white-space:normal;max-width:100%;padding:0;display:table}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button{height:auto}[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,[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;--font-family:"DM Sans", sans-serif;--second-family:"Outfit", sans-serif}.sidebar{background:var(--gray-darkest);color:var(--white);flex-direction:column;align-items:start;gap:32px;padding:24px;display:flex}.profile-photo{border:1px solid var(--primary-default);object-fit:cover;border-radius:100px;width:64px;height:64px;margin-bottom:16px}.sidebar-logo{font-family:var(--second-family);font-weight:500}.title{letter-spacing:-.02em;color:var(--gray-lightest);margin-bottom:4px;font-size:24px;line-height:125%}.sub-title{letter-spacing:.01em;-webkit-text-fill-color:transparent;background:linear-gradient(90deg,#a478e8 0%,#d1d3db 100%);-webkit-background-clip:text;background-clip:text;margin-bottom:16px;font-size:18px;line-height:133%}.looking{font-family:var(--font-family);color:var(--gray-lighter);font-size:12px;font-weight:500;line-height:129%}.contacts-title{display:none}.contacts-list,.socials-list,.languages,.languages-list,.soft-skills,.soft-skills-list{flex-direction:column;gap:12px;display:flex}.contacts-item,.socials-item,.languages-item{align-items:center;gap:8px;font-size:14px;line-height:130%;display:flex}.svg-contacts,.svg-socials{background-color:var(--gray-darker);border-radius:100px;flex-shrink:0;width:16px;height:16px;margin-top:2px;position:relative}.svg-languages{flex-shrink:0;width:16px;height:16px;margin-top:2px}.contacts-svg,.img-socials{fill:var(--white);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.contacts-text,.socials-text,.languages-text{flex-direction:column;gap:4px;display:flex}.item-info,.socials-label{font-family:var(--font-family);letter-spacing:.01em;color:var(--gray-light);font-size:10px;font-weight:400;line-height:133%}.contacts-link{align-items:center;gap:5px;display:flex}.contact-flag{border-radius:2px;flex-shrink:0}.contacts-link,.socials-link{font-family:var(--font-family);color:var(--gray-lighter);font-size:12px;font-weight:500;line-height:129%}.socials{flex-direction:column;gap:12px;display:flex}.socials-title,.languages-title{font-family:var(--font-family);letter-spacing:.01em;color:var(--gray-light);font-size:10px;font-weight:400;line-height:133%}.language-name{font-family:var(--font-family);color:var(--gray-lighter);font-size:12px;font-weight:500;line-height:129%}.language-level,.soft-skills-title{font-family:var(--font-family);letter-spacing:.01em;color:var(--gray-light);font-size:10px;font-weight:400;line-height:133%}.soft-skills-list{flex-direction:column;gap:12px;display:flex}.soft-skills-item{align-items:center;gap:8px;display:flex}.soft-skills-dot{background:var(--primary-default);border-radius:50%;flex-shrink:0;width:6px;height:6px}.soft-skills-name{font-family:var(--font-family);color:var(--gray-lighter);font-size:12px;font-weight:500;line-height:129%}.pdf-download-btn{border:1px solid var(--status-info);color:var(--gray-lighter);font-family:var(--font-family);cursor:pointer;background:0 0;border-radius:8px;align-items:center;gap:7px;padding:8px 14px;font-size:12px;font-weight:500;line-height:129%;text-decoration:none;transition:background .2s,color .2s;display:inline-flex}.pdf-download-btn:hover{background:var(--status-info);color:var(--white)}.pdf-download-icon{flex-shrink:0}@media (width>=768px) and (width<=900px){.sidebar{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:24px;display:grid}.sidebar-logo{grid-column:1/-1}.contacts,.socials,.languages{min-width:0}}.about{margin-bottom:10px;position:relative}.about:before{content:"";background:var(--gray-darker);z-index:0;width:1px;height:100%;position:absolute;top:16px;left:8px}.about-title{font-family:var(--second-family);letter-spacing:.01em;text-align:center;color:var(--gray-lightest);padding-top:1px;font-size:18px;font-weight:500;line-height:133%}.about-content{flex-direction:column;gap:10px;padding-bottom:24px;padding-left:32px;padding-right:24px;display:flex}.about-short-text{color:var(--gray-light);margin:0;font-size:13px;line-height:1.65}.about-read-more{font-family:var(--font-family);color:var(--primary-default);cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:0;font-size:12px;transition:opacity .2s}.about-read-more:hover{opacity:.75}.about-modal .modal-window{max-width:620px}.about-modal-content{flex-direction:column;gap:16px;display:flex}.about-modal-title{font-family:var(--second-family);text-align:center;color:var(--gray-lightest);margin:0;font-size:22px;font-weight:600}.about-modal-intro{color:var(--gray-lightest);margin:0;font-size:15px;line-height:1.65}.about-modal-list{flex-direction:column;gap:10px;margin:0;padding-left:0;list-style:none;display:flex}.about-modal-list-item{color:var(--gray-lightest);padding-left:16px;font-size:15px;line-height:1.65;position:relative}.about-modal-list-item:before{content:"•";color:var(--primary-default);position:absolute;left:0}.experience{margin-bottom:10px;position:relative}.experience:before{content:"";background:var(--gray-darker);z-index:0;width:1px;height:100%;position:absolute;top:16px;left:8px}.exp-title{font-family:var(--second-family);letter-spacing:.01em;text-align:center;color:var(--gray-lightest);padding-top:1px;font-size:18px;font-weight:500;line-height:133%}.timing{font-family:var(--font-family);letter-spacing:.01em;color:var(--gray-light);margin:auto 0;font-size:10px;font-weight:400}.job-title{font-family:var(--font-family);letter-spacing:.01em;color:var(--gray-light);font-size:12px;font-weight:400;line-height:133%;display:inline-block}.job-title-btn{text-align:left;background:0 0;border:none;padding:0}.job-title-btn:hover .job-title,.job-title-btn:focus-visible .job-title{color:var(--gray-lightest)}.job-title-btn:focus-visible{outline:none}.company-name{font-family:var(--font-family);color:var(--gray-lightest);font-size:13px;font-weight:500;line-height:129%}.job-description{font-family:var(--font-family);letter-spacing:.01em;color:var(--gray-light);margin:0;padding-left:23px;font-size:10px;font-weight:400}.cont-svg{background-color:var(--gray-darker);z-index:1;border-radius:100px;width:16px;height:16px;padding:8px;position:relative}.container-main-svg{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.cont-exp{text-align:center;flex-direction:row;gap:16px;margin-bottom:16px;display:flex}.exp-list{flex-direction:column;gap:20px;padding-left:32px;padding-right:24px;display:flex}.cont-dot{background-color:var(--gray-darker);border-radius:100px;width:12px;height:12px;padding:8px;position:relative}.dot{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.exp-item{flex-direction:column;align-items:flex-start;gap:20px;display:flex;position:relative}.exp-item:before{content:"";background:var(--gray-darker);z-index:1;width:1px;height:80%;position:absolute;top:18px;left:7px}.job-logo{background-color:var(--gray-darker);object-fit:cover;object-position:top;border-radius:6px;width:60px;height:40px;display:block}.job-logo:not(.freelance-svg){background-color:var(--white);object-fit:cover;object-position:center;border-radius:12px;width:55px;height:20px;display:block}.job-logo.freelance-svg{background-color:#0000}.dot-titel{flex-direction:row;gap:8px;display:flex}.list-item-exp{flex-direction:row;align-items:center;gap:15px;padding-left:23px;display:flex}.job-name-text{flex-direction:column;gap:2px;display:flex}.experience-modal-content{flex-direction:column;align-items:center;gap:18px;display:flex}.experience-modal-image-wrap{background:50%/cover no-repeat;border-radius:12px;justify-content:center;align-items:center;width:100%;min-height:120px;padding:18px;display:flex}.experience-modal-image{object-fit:contain;object-position:center;background-color:#fff;width:clamp(140px,18vw,220px);height:auto;max-height:76px}.experience-modal-image.is-freelance{width:clamp(120px,15vw,180px);max-height:92px}.experience-modal-title{text-align:center;color:var(--gray-lightest);margin:0;font-size:32px;line-height:1.2}.experience-modal-meta{color:var(--gray-light);flex-wrap:wrap;justify-content:center;gap:12px;font-size:14px;display:flex}.experience-modal-description{color:var(--gray-lightest);margin:0;font-size:15px;line-height:1.6}.experience-modal-description-intro{color:var(--gray-lightest);margin:0 0 12px;font-size:15px;line-height:1.6}.experience-modal-list{flex-direction:column;gap:8px;margin:0;padding-left:0;list-style:none;display:flex}.experience-modal-list-item{color:var(--gray-lightest);padding-left:16px;font-size:15px;line-height:1.6;position:relative}.experience-modal-list-item:before{content:"•";color:var(--primary-default);position:absolute;left:0}.experience-modal-certificate{flex-direction:column;align-items:center;gap:10px;width:min(100%,860px);display:flex}.experience-modal-certificate-title{text-align:center;color:var(--gray-lightest);margin:0;font-size:22px;line-height:1.25}.experience-modal-certificate-preview{background:#0f1424;border:1px solid #e2e6ee2e;border-radius:12px;width:100%;min-height:clamp(280px,52vh,620px)}.latest-projects{margin-bottom:10px;position:relative}.latest-projects:before{content:"";background:var(--gray-darker);z-index:0;width:1px;height:calc(100% - 15px);position:absolute;top:16px;left:8px}.lt-pr-title{font-family:var(--second-family);letter-spacing:.01em;color:var(--gray-lightest);font-size:18px;font-weight:500;line-height:133%}.project-name{font-family:var(--font-family);color:var(--gray-lightest);min-height:40px;font-size:14px;font-weight:500;line-height:125%}.project-name a{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.project-description{font-family:var(--font-family);letter-spacing:.01em;color:var(--gray-light);min-height:46px;font-size:12px;font-weight:400;line-height:129%}.project-description.is-expanded{min-height:auto}.project-desc-toggle{color:var(--secondary-light);vertical-align:baseline;background:0 0;border:0;margin-left:2px;padding:0;font-size:12px;line-height:1}.project-desc-toggle:hover,.project-desc-toggle:focus-visible{color:var(--secondary-lightest)}.project-link{font-family:var(--font-family);color:var(--secondary-light);font-size:13px;font-weight:500;line-height:125%}.projects-list{flex-direction:row-reverse;gap:24px;max-width:calc(100% - 32px);margin-left:32px;padding-bottom:6px;display:flex;overflow:auto hidden}.projects-item{background-color:var(--gray-darker);border-radius:30px;flex-direction:column;flex-shrink:0;gap:8px;width:240px;padding:12px;transition:transform .18s,box-shadow .18s;display:flex}.projects-item:hover{transform:translateY(-2px);box-shadow:0 10px 24px #0000003d}img.project-frame{object-fit:cover;object-position:top;border-radius:4px;width:128px;height:96px;margin:0 auto;display:block}.project-frame-btn{background:0 0;border:none;width:fit-content;margin:0 auto;padding:0}.project-frame-btn:hover .project-frame,.project-frame-btn:focus-visible .project-frame{transform:scale(1.02);box-shadow:0 0 0 2px #9251f759}.project-frame-btn:focus-visible{outline:none}.project-frame{transition:transform .18s,box-shadow .18s}.project-name{text-align:center}.cont-link{flex-direction:row;align-items:center;gap:8px;margin-top:auto;display:flex}.project-svg-cont{background:var(--secondary-dark);border-radius:100px;width:16px;height:16px;position:relative}.proj-svg{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.project-modal-content{flex-direction:column;align-items:center;gap:18px;display:flex}.project-modal-image-wrap{border:1px solid #79819a47;border-radius:12px;width:min(100%,900px);overflow:hidden}.project-modal-image{object-fit:cover;object-position:top;width:100%;max-height:380px}.project-modal-title{text-align:center;color:var(--gray-lightest-2);margin:0;font-size:clamp(24px,3vw,32px);line-height:1.2}.project-modal-description{color:var(--gray-lightest);margin:0;font-size:15px;line-height:1.6}.project-modal-links{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.project-modal-link{color:var(--secondary-lightest);background:#516cf733;border:1px solid #95aafb66;border-radius:10px;padding:8px 12px;font-size:13px;line-height:1.2}.project-modal-link:hover,.project-modal-link:focus-visible{background:#9251f742;border-color:#c696fc99}@media (width<=700px){.projects-list{gap:14px;max-width:calc(100% - 24px);margin-left:24px}.projects-item{border-radius:20px;width:220px}}.education{margin-bottom:15px;position:relative}.education:before{content:"";background:var(--gray-darker);z-index:0;width:1px;height:100%;position:absolute;top:16px;left:8px}.edu-title{font-family:var(--second-family);letter-spacing:.01em;text-align:center;color:var(--gray-lightest);padding-top:1px;font-size:18px;font-weight:500;line-height:133%}.education-name{font-family:var(--font-family);color:var(--gray-lightest);font-size:12px;font-weight:500;line-height:133%}.educ-name-btn{text-align:left;background:0 0;border:none;padding:0}.educ-name-btn:hover .education-name,.educ-name-btn:focus-visible .education-name{color:var(--secondary-lightest)}.educ-name-btn:focus-visible{outline:none}.education-degree{font-family:var(--font-family);color:var(--gray-lightest);font-size:13px;font-weight:500;line-height:129%}.education-year{font-family:var(--font-family);letter-spacing:.01em;text-align:center;color:var(--gray-light);margin-top:auto;font-size:10px;font-weight:400}.education-list{flex-flow:wrap;gap:24px;width:100%;margin-top:8px;margin-left:32px;display:flex}.education-item{flex-direction:column;flex:260px;align-items:start;gap:20px;display:flex}.educ-img{background-color:var(--gray-darker);border-radius:100px;width:100px;height:100px;padding:8px}.educ-name{flex-direction:row;justify-content:space-between;align-items:center;gap:15px;display:flex}.last-img{background-color:#fff}.second-img{background-color:#0000}.first-img{background-color:#fff;width:150px}.education-modal .experience-modal-image-wrap{min-height:180px}.education-modal .experience-modal-image.educ-img{object-fit:contain;object-position:center;border:1px solid #79819a47;border-radius:22px;width:clamp(180px,28vw,300px);height:auto;max-height:170px;padding:12px}.education-modal .experience-modal-image.educ-img.first-img{background-color:var(--white);width:clamp(240px,36vw,420px)}.education-modal .experience-modal-image.educ-img.second-img{background-color:#0000;border-color:#0000}.education-modal .experience-modal-image.educ-img.last-img{background-color:var(--white)}@media (width<=700px){.education-list{gap:16px;margin-left:24px}.education-item{flex:100%;gap:12px}.educ-name{gap:10px}.educ-img{width:76px;height:76px}.first-img{width:96px}}.skills{margin-bottom:12px;position:relative}.skills:before{content:"";background:var(--gray-darker);z-index:0;width:1px;height:100%;position:absolute;top:16px;left:8px}.skills-title{font-family:var(--second-family);letter-spacing:.01em;text-align:center;color:var(--gray-lightest);padding-top:1px;font-size:18px;font-weight:500;line-height:133%}.set-skills{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:14px;padding-left:32px;padding-right:24px;display:grid}.design-front-set,.development-set{background:linear-gradient(#2e2e48d1 0%,#232339f0 100%);border:1px solid #acb1c324;border-radius:14px;flex-direction:column;flex:1 1 0;gap:12px;padding:14px;display:flex}.design-cont,.development-cont{border-bottom:1px solid #acb1c324;align-items:center;gap:8px;padding-bottom:8px;display:flex}.design-svg,.development-svg{background-color:var(--secondary-dark);border-radius:100px;flex-shrink:0;width:16px;height:16px}.set-skills-title{font-family:var(--font-family);color:var(--gray-lightest);cursor:pointer;text-align:left;background:0 0;border:0;padding:0;font-size:15px;font-weight:600;line-height:125%}.set-skills-title:focus-visible{outline:2px solid var(--primary-light);outline-offset:2px;border-radius:6px}.design-list{opacity:1;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:1200px;margin:0;padding:0;list-style:none;transition:max-height .22s,opacity .18s;display:grid;overflow:hidden}.design-item,.development-main-item,.development-tools-item{text-align:center;min-height:36px;font-family:var(--font-family);color:var(--gray-lightest);background:#2e2e48c2;border:1px solid #95aafb33;border-radius:12px;justify-content:center;align-items:center;padding:8px;font-size:12px;font-weight:400;line-height:129%;transition:transform .18s,border-color .18s,background-color .18s;display:flex}.design-item:hover,.development-main-item:hover,.development-tools-item:hover{background:#516cf724;border-color:#c696fc73;transform:translateY(-1px)}.development-grid{opacity:1;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-height:2000px;transition:max-height .24s,opacity .18s;display:grid;overflow:hidden}.development-column{flex-direction:column;flex:1 1 0;gap:8px;min-width:0;display:flex}.development-subtitle{font-family:var(--font-family);letter-spacing:.02em;text-transform:uppercase;color:var(--gray-light);margin:0;padding-left:2px;font-size:12px;font-weight:500}.development-main,.development-tools{grid-template-columns:1fr;gap:8px;margin:0;padding:0;list-style:none;display:grid}.design-item,.development-main-item,.development-tools-item{overflow-wrap:anywhere}.is-collapsed{pointer-events:none;opacity:0!important;max-height:0!important}@media (width<=1200px){.set-skills{grid-template-columns:1fr}}@media (width<=900px){.development-grid{grid-template-columns:1fr}}@media (width<=700px){.set-skills{padding-left:24px;padding-right:12px}.design-list,.development-main,.development-tools{grid-template-columns:1fr}}.contact-form{margin-bottom:10px;position:relative}.contact-form:before{content:"";background:var(--gray-darker);z-index:0;width:1px;height:calc(100% - 10px);position:absolute;top:16px;left:8px}.contact-title{font-family:var(--second-family);letter-spacing:.01em;color:var(--gray-lightest);font-size:18px;font-weight:500;line-height:133%}.contact-socials{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-left:32px;padding-right:24px;display:grid}.contact-social-link{min-height:40px;font-family:var(--font-family);color:var(--gray-lightest);background:#2e2e48d1;border:1px solid #95aafb33;border-radius:12px;justify-content:center;align-items:center;padding:10px 14px;font-size:13px;font-weight:500;line-height:125%;transition:transform .18s,border-color .18s,background-color .18s,color .18s;display:inline-flex}.contact-social-link:hover,.contact-social-link:focus-visible{color:var(--secondary-lightest);background:#516cf724;border-color:#c696fc73;transform:translateY(-1px)}.contact-social-link:focus-visible{outline:2px solid var(--primary-light);outline-offset:2px}@media (width<=700px){.contact-socials{grid-template-columns:1fr;margin-left:24px;padding-right:12px}}.contact-me-modal{width:min(460px,100vw - 32px);height:auto;min-height:auto}.contact-me-form{flex-direction:column;gap:14px;display:flex}.contact-me-field{flex-direction:column;gap:5px;display:flex}.contact-me-label{font-family:var(--font-family);letter-spacing:.06em;text-transform:uppercase;color:var(--gray-light);font-size:10px;font-weight:500}.contact-me-input,.contact-me-textarea{font-family:var(--font-family);color:var(--gray-lightest);background:#232339cc;border:1px solid #95aafb2e;border-radius:10px;outline:none;width:100%;padding:10px 14px;font-size:13px;line-height:1.5;transition:border-color .18s,background-color .18s}.contact-me-input::placeholder,.contact-me-textarea::placeholder{color:var(--gray-dark)}.contact-me-input:focus,.contact-me-textarea:focus{background:#2e2e48e6;border-color:#c696fc99}.contact-me-input.is-error,.contact-me-textarea.is-error,.contact-me-select.is-error{border-color:#fc81818c}.contact-me-input.is-valid,.contact-me-textarea.is-valid,.contact-me-select.is-valid{background:#4ac06f12;border-color:#4ac06f8c}.contact-me-field:has(.is-error) .contact-me-label{color:#fc8181d9;transition:color .18s}.contact-me-field:has(.is-valid) .contact-me-label{color:#4ac06fd9;transition:color .18s}.contact-me-textarea{resize:vertical;min-height:96px}.contact-me-select{appearance:none;font-family:var(--font-family);color:var(--gray-lightest);cursor:pointer;background:#232339cc url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%237981a0' d='M6 8 1 3h10z'/%3E%3C/svg%3E") right 12px center/12px no-repeat;border:1px solid #95aafb2e;border-radius:10px;outline:none;width:100%;padding:10px 36px 10px 14px;font-size:13px;line-height:1.5;transition:border-color .18s,background-color .18s}.contact-me-select:focus{background-color:#2e2e48e6;border-color:#c696fc99}.contact-me-select option{color:var(--gray-lightest);background:#2e2e48}.contact-me-select.is-valid{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%237981a0' d='M6 8 1 3h10z'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:12px}.contact-me-error{font-family:var(--font-family);color:#fc8181;font-size:11px;line-height:1.3}.contact-me-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:4px;display:grid}.contact-me-btn{font-family:var(--font-family);cursor:pointer;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;padding:10px 16px;font-size:13px;font-weight:500;line-height:1.2;transition:background-color .18s,border-color .18s,transform .18s;display:inline-flex}.contact-me-btn:hover{transform:translateY(-1px)}.contact-me-btn:focus-visible{outline:2px solid var(--primary-light);outline-offset:2px}.contact-me-btn--email{color:var(--primary-lighter);background:#9251f72e;border-color:#c696fc66}.contact-me-btn--email:hover{background:#9251f747;border-color:#c696fca6}.contact-me-btn--mailto{color:var(--status-success);background:#4cc06f1f;border-color:#4ac06f59}.contact-me-btn--mailto:hover{background:#4ac06f38;border-color:#4ac06f99}.contact-me-btn--telegram{color:var(--secondary-lighter);background:#516cf72e;border-color:#95aafb66}.contact-me-btn--telegram:hover{background:#516cf747;border-color:#95aafba6}.contact-me-btn--bot{color:var(--status-info);background:#22c3f11f;border-color:#22c3f159}.contact-me-btn--bot:hover{background:#22c3f138;border-color:#22c3f199}@media (width<=500px){.contact-me-modal{width:calc(100vw - 20px)}.contact-me-actions{grid-template-columns:1fr}}@keyframes server-loader-wave{0%{transform:translate(-100%)}to{transform:translate(400%)}}.server-loader{z-index:9999;opacity:1;pointer-events:none;height:2px;transition:opacity .7s .2s;position:fixed;top:0;left:0;right:0;overflow:hidden}.server-loader:before{content:"";background:#9251f726;position:absolute;inset:0}.server-loader:after{content:"";background:linear-gradient(90deg,#0000 0%,#9251f780 30%,#c696fc 50%,#9251f780 70%,#0000 100%);width:25%;height:100%;animation:1.6s ease-in-out infinite server-loader-wave;position:absolute;top:0;left:0}.server-loader--ready{opacity:0}@media print{.server-loader{display:none}}[data-sonner-toast][data-type=success]{border-color:#4ac06f59!important}[data-sonner-toast][data-type=error]{border-color:#fc818159!important}[data-sonner-toast] [data-icon] svg{width:16px;height:16px}[data-sonner-toast][data-type=success] [data-icon]{color:var(--status-success)}[data-sonner-toast][data-type=error] [data-icon]{color:#fc8181}:root{--section-indent-left:32px;--section-indent-right:24px}*,:before,:after{box-sizing:border-box}body{font-family:var(--font-family);color:#434455;background-color:var(--gray-darkest);font-size:14px;position:relative;overflow-x:hidden}html,body{height:100%;margin:0;padding:0}html{scrollbar-gutter:stable;overflow-y:scroll}#root{min-height:100%}.layout{z-index:1;align-items:stretch;gap:0;width:min(1280px,100%);max-width:1280px;min-height:100dvh;margin:0 auto;display:flex;position:relative}.reveal-on-scroll{opacity:0;transition:opacity .6s,transform .65s cubic-bezier(.16,1,.3,1);transform:translateY(40px)}.reveal-on-scroll.leave-top{transform:translateY(-40px)}.reveal-on-scroll.is-visible{opacity:1;transform:translate(0,0)}.exp-item:nth-child(2){transition-delay:80ms}.exp-item:nth-child(3){transition-delay:.16s}.exp-item:nth-child(4){transition-delay:.24s}.education-item:nth-child(2){transition-delay:70ms}.education-item:nth-child(3){transition-delay:.14s}.projects-item:nth-child(2){transition-delay:50ms}.projects-item:nth-child(3){transition-delay:.1s}.projects-item:nth-child(4){transition-delay:.15s}.projects-item:nth-child(5){transition-delay:.2s}.projects-item:nth-child(6){transition-delay:.25s}.projects-item:nth-child(7){transition-delay:.3s}.contact-social-link:nth-child(2){transition-delay:60ms}.contact-social-link:nth-child(3){transition-delay:.12s}.contact-social-link:nth-child(4){transition-delay:.18s}ul{margin:0;padding:0;list-style-type:none}h1,h2,h3,h4,h5,h6,p{margin-top:0;margin-bottom:0}main{flex:auto;min-width:0}img{max-width:100%;height:auto;display:block}button{cursor:pointer}a{color:inherit;text-decoration:none}.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 (width>=320px) and (width<=767px){:root{--section-indent-left:24px;--section-indent-right:12px}.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 (width>=768px) and (width<=900px){:root{--section-indent-left:28px;--section-indent-right:16px}.layout{flex-direction:column;min-height:100dvh}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){.reveal-on-scroll,.reveal-on-scroll.leave-top,.reveal-on-scroll.is-visible{opacity:1;transition:none;transform:none}}.modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:radial-gradient(circle at 20% 8%,#9251f733 0%,#0000 45%),radial-gradient(circle at 86% 88%,#516cf733 0%,#0000 46%),#232339d1;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal-window{background:linear-gradient(165deg, #2a337e61 0%, #232339fa 48%, #2e2e48fa 100%), var(--gray-darkest);border:1px solid #79819a52;border-radius:16px;width:80vw;min-width:min(80vw,320px);max-width:1200px;height:80vh;min-height:min(80vh,280px);max-height:900px;padding:48px 24px 24px;position:relative;overflow:auto;box-shadow:0 24px 58px #170f2e73,inset 0 1px #f8f2fc0d}.modal-close-btn{background:#2e2e48e0;border:1px solid #79819a75;border-radius:10px;width:34px;height:34px;transition:background-color .18s,border-color .18s,transform .18s;position:absolute;top:14px;right:14px}.modal-close-btn:before,.modal-close-btn:after{content:"";background-color:var(--gray-lightest);transform-origin:50%;border-radius:2px;width:18px;height:2px;position:absolute;top:50%;left:50%}.modal-close-btn:before{transform:translate(-50%,-50%)rotate(45deg)}.modal-close-btn:after{transform:translate(-50%,-50%)rotate(-45deg)}.modal-close-btn:hover,.modal-close-btn:focus-visible{border-color:var(--primary-light);background:#9251f738;transform:scale(1.03)}.modal-close-btn:focus-visible{outline:none;box-shadow:0 0 0 2px #22c3f14d}.modal-title{color:var(--gray-lightest-2);margin-bottom:16px;font-size:22px;line-height:1.2}.modal-content{color:var(--gray-lighter)}@media (width<=767px){.modal-overlay{padding:10px}.modal-window{border-radius:12px;width:80vw;height:80vh;padding:44px 16px 16px}.modal-title{font-size:18px}}
