/*! 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;--accent:#9251f7;--accent-strong:#6d5df6;--accent-soft:#c696fc;--accent-alt:#516cf7;--accent-rgb:146, 81, 247;--accent-soft-rgb:198, 150, 252;--accent-alt-rgb:81, 108, 247;--accent-contrast:#fff;--bg-base:#0a0714;--text-primary:#f2f0fa;--text-secondary:#b8bdd2;--text-muted:#8189a3;--glass-bg:#ffffff09;--glass-bg-hover:rgba(var(--accent-rgb), .08);--glass-border:#ffffff14;--glass-border-hover:rgba(var(--accent-soft-rgb), .45);--gradient-brand:linear-gradient(90deg, var(--accent-soft) 0%, var(--accent) 45%, var(--accent-alt) 100%);--glow-primary:rgba(var(--accent-rgb), .35);--glow-secondary:rgba(var(--accent-alt-rgb), .28);--timeline-line:linear-gradient(180deg, rgba(var(--accent-rgb), 0) 0%, rgba(var(--accent-rgb), .45) 12%, rgba(var(--accent-rgb), .45) 88%, rgba(var(--accent-rgb), 0) 100%)}[data-theme=lime]{--accent:#cfff74;--accent-strong:#a8e73b;--accent-soft:#e4ffb0;--accent-alt:#8fd14f;--accent-rgb:207, 255, 116;--accent-soft-rgb:228, 255, 176;--accent-alt-rgb:143, 209, 79;--accent-contrast:#1a2205;--bg-base:#0c1106;--text-primary:#f2f8e4;--text-secondary:#b6c2a0;--text-muted:#7d8a68;--primary-darker:#2f3a1d;--primary-dark:#4a5c2a;--primary-default:#cfff74;--primary-light:#e4ffb0;--primary-lighter:#f1ffd6;--primary-lightest:#f9ffef;--secondary-darker:#232d12;--secondary-dark:#33420f;--secondary-default:#8fd14f;--secondary-light:#b9e07f;--secondary-lighter:#ddf3bd;--secondary-lightest:#f4fbe8}[data-theme=ember]{--accent:#fc6c26;--accent-strong:#e5581a;--accent-soft:#ffa25e;--accent-alt:#f7a03c;--accent-rgb:252, 108, 38;--accent-soft-rgb:255, 162, 94;--accent-alt-rgb:247, 160, 60;--accent-contrast:#fff;--bg-base:#140a04;--text-primary:#fff4d6;--text-secondary:#d3bda6;--text-muted:#99836c;--primary-darker:#4a2410;--primary-dark:#7a3a15;--primary-default:#fc6c26;--primary-light:#ffa25e;--primary-lighter:#ffc79b;--primary-lightest:#fff0e2;--secondary-darker:#3a1c0a;--secondary-dark:#4a2410;--secondary-default:#f7a03c;--secondary-light:#ffb877;--secondary-lighter:#ffdcbd;--secondary-lightest:#fff4d6}@property --card-angle{syntax:"<angle>";inherits:false;initial-value:0deg}.sidebar{color:var(--white);background:#ffffff05;border-right:1px solid #ffffff0f;padding:40px 28px}@media (width>=1280px){.sidebar{padding:48px 36px}}.sidebar-inner{scrollbar-width:thin;scrollbar-color:rgba(var(--accent-rgb), .35) transparent;flex-direction:column;align-items:start;gap:30px;max-height:calc(100dvh - 48px);padding-right:10px;display:flex;position:sticky;top:24px;overflow-y:auto}.sidebar-inner::-webkit-scrollbar{width:5px}.sidebar-inner::-webkit-scrollbar-track{background:0 0}.sidebar-inner::-webkit-scrollbar-thumb{background:rgba(var(--accent-rgb), .35);border:none;border-radius:4px}.sidebar-inner::-webkit-scrollbar-thumb:hover{background:rgba(var(--accent-rgb), .6)}.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:10px;font-size:14px;line-height:130%;display:flex}.svg-contacts,.svg-socials{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:9px;flex-shrink:0;width:26px;height:26px;margin-top:2px;transition:border-color .2s,box-shadow .2s;position:relative}.contacts-item:hover .svg-contacts,.socials-item:hover .svg-socials{border-color:var(--glass-border-hover);box-shadow:0 0 16px -4px var(--glow-primary)}.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%)}.svg-socials{border:none}.contacts-text,.socials-text,.languages-text{flex-direction:column;gap:3px;display:flex}.item-info,.socials-label{font-family:var(--font-family);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-size:10px;font-weight:500;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);overflow-wrap:anywhere;min-width:0;font-size:13px;font-weight:500;line-height:129%;transition:color .2s}.contacts-item,.socials-item{min-width:0;max-width:100%}.contacts-text,.socials-text{min-width:0}.contacts-link:hover,.contacts-link:focus-visible,.socials-link:hover,.socials-link:focus-visible{color:var(--primary-light)}.socials{flex-direction:column;gap:12px;display:flex}.socials-title,.languages-title,.soft-skills-title{font-family:var(--font-family);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-size:10px;font-weight:500;line-height:133%}.language-name{font-family:var(--font-family);color:var(--gray-lighter);font-size:13px;font-weight:500;line-height:129%}.language-level{font-family:var(--font-family);letter-spacing:.01em;color:var(--text-muted);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);width:6px;height:6px;box-shadow:0 0 8px var(--glow-primary);border-radius:50%;flex-shrink:0}.soft-skills-name{font-family:var(--font-family);color:var(--gray-lighter);font-size:13px;font-weight:500;line-height:129%}@media (width>=768px) and (width<=900px){.sidebar{border-top:1px solid #ffffff0f;border-right:none;order:2}.sidebar-inner{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:24px;max-height:none;display:grid;position:static;overflow:visible}.contacts,.socials,.languages{min-width:0}}@media (width<=767px){.sidebar{border-top:1px solid #ffffff0f;border-right:none;order:2;padding:32px 24px}.sidebar-inner{max-height:none;position:static;overflow:visible}}.hero{z-index:1;flex-direction:column;width:min(1440px,100%);min-height:100dvh;margin:0 auto;padding:clamp(24px,4vh,48px) clamp(20px,4vw,56px) 18px;display:flex;position:relative}.hero-layout{flex:auto;justify-content:space-between;align-items:center;gap:56px;display:flex}.hero-main{max-width:680px}.hero-anim{opacity:0;animation:.7s cubic-bezier(.16,1,.3,1) forwards hero-in;animation-delay:calc(var(--i,0) * 90ms + 60ms);transform:translateY(20px)}@keyframes hero-in{to{opacity:1;transform:translate(0,0)}}.hero-badge{letter-spacing:.04em;color:var(--text-secondary);background:#ffffff0b;border:1px solid #ffffff24;border-radius:999px;align-items:center;gap:9px;padding:7px 16px;font-size:12px;font-weight:500;display:inline-flex}.hero-badge-dot{background:#4ade80;border-radius:50%;width:8px;height:8px;animation:1.8s ease-in-out infinite hero-pulse}@keyframes hero-pulse{0%,to{box-shadow:0 0 #4ade8080}50%{box-shadow:0 0 0 6px #4ade8000}}.hero-name{font-family:var(--second-family);letter-spacing:-.02em;color:var(--text-primary);margin-top:26px;font-size:clamp(42px,5.6vw,70px);font-weight:700;line-height:1.04}.hero-role{font-family:var(--second-family);background:var(--gradient-brand);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;width:fit-content;margin-top:10px;font-size:clamp(22px,2.6vw,32px);font-weight:700;line-height:1.25}.hero-subtitle{color:var(--text-secondary);max-width:540px;margin-top:20px;font-size:16px;line-height:1.65}.hero-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:30px;display:flex}.hero-cta{letter-spacing:.01em;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:13px 26px;font-size:14px;font-weight:600;line-height:1.2;transition:transform .2s,box-shadow .2s,border-color .2s,background-color .2s,color .2s;display:inline-flex}.hero-cta--primary{background:linear-gradient(90deg, var(--accent), var(--accent-strong));color:var(--accent-contrast);box-shadow:0 4px 22px -8px var(--glow-primary)}.hero-cta--primary:hover,.hero-cta--primary:focus-visible{box-shadow:0 10px 34px -8px rgba(var(--accent-rgb), .75);transform:translateY(-2px)}.hero-cta--loading{cursor:default;opacity:.85}.hero-cta--secondary{color:var(--text-primary);background:#ffffff0a;border:1px solid #ffffff29}.hero-cta--secondary:hover,.hero-cta--secondary:focus-visible{border-color:var(--glass-border-hover);background:var(--glass-bg-hover);transform:translateY(-2px)}.hero-cta--ghost{color:var(--text-secondary);padding:13px 14px}.hero-cta--ghost:hover,.hero-cta--ghost:focus-visible{color:var(--primary-light)}.hero-cta--ghost:after{content:"→";transition:transform .2s}.hero-cta--ghost:hover:after{transform:translate(3px)}.hero-cta:focus-visible{outline:2px solid var(--primary-light);outline-offset:2px}.hero-visual{flex-shrink:0;margin-right:48px;position:relative}.hero-photo-ring{background:conic-gradient(from 20deg, var(--accent), var(--accent-alt), var(--accent-soft), var(--accent));width:216px;height:216px;box-shadow:0 0 56px -8px var(--glow-primary);border-radius:50%;padding:5px}.hero-photo{object-fit:cover;border:4px solid var(--bg-base);border-radius:50%;width:100%;height:100%}.hero-latest-chip{border:1px solid rgba(var(--accent-soft-rgb), .35);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#09080cd1;border-radius:12px;flex-direction:column;gap:2px;padding:11px 16px;transition:transform .25s,border-color .25s,box-shadow .25s;display:flex;position:absolute;bottom:-14px;left:-76px}.hero-latest-chip:hover,.hero-latest-chip:focus-visible{border-color:rgba(var(--accent-soft-rgb), .65);box-shadow:0 12px 32px -12px rgba(var(--accent-rgb), .6);transform:translateY(-3px)}.hero-latest-chip:focus-visible{outline:2px solid var(--primary-light);outline-offset:2px}.hero-latest-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);font-size:10px;font-weight:500}.hero-latest-title{color:var(--text-primary);white-space:nowrap;font-size:13px;font-weight:600}.hero-marquee{margin-top:28px;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 10% 90%,#0000);mask-image:linear-gradient(90deg,#0000,#000 10% 90%,#0000)}.hero-marquee-track{gap:10px;width:max-content;animation:28s linear infinite hero-marquee-slide;display:flex}.hero-marquee:hover .hero-marquee-track{animation-play-state:paused}@keyframes hero-marquee-slide{0%{transform:translate(0,0)}to{transform:translate(-50%)}}.hero-chip{color:var(--text-secondary);white-space:nowrap;background:#ffffff08;border:1px solid #ffffff1f;border-radius:999px;flex-shrink:0;padding:8px 18px;font-size:12px;font-weight:500}.hero-scroll-hint{width:38px;height:38px;animation-name:hero-in,hero-bounce;animation-duration:.7s,2.2s;animation-timing-function:cubic-bezier(.16,1,.3,1),ease-in-out;animation-delay:calc(var(--i,0) * 90ms + 60ms), 1.4s;background:#ffffff0a;border:1px solid #ffffff24;border-radius:50%;justify-content:center;align-self:center;align-items:center;margin-top:16px;transition:border-color .2s,background-color .2s;animation-iteration-count:1,infinite;animation-fill-mode:forwards,none;display:flex}.hero-scroll-hint:hover,.hero-scroll-hint:focus-visible{border-color:var(--glass-border-hover);background:var(--glass-bg-hover)}.hero-scroll-hint:focus-visible{outline:2px solid var(--primary-light);outline-offset:2px}@keyframes hero-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(6px)}}.hero-scroll-chevron{border-right:2px solid var(--text-secondary);border-bottom:2px solid var(--text-secondary);width:9px;height:9px;transform:rotate(45deg)translate(-1px,-1px)}@media (width<=1100px){.hero-photo-ring{width:160px;height:160px}.hero-visual{margin-right:16px}.hero-latest-chip{left:auto;right:-8px}}@media (width<=767px){.hero{min-height:100svh;padding:20px 20px 14px}.hero-layout{flex-direction:column-reverse;justify-content:center;align-items:flex-start;gap:28px}.hero-visual{align-items:center;gap:16px;margin-right:0;display:flex}.hero-photo-ring{width:104px;height:104px;padding:3px}.hero-latest-chip{position:static}.hero-latest-title{white-space:normal}.hero-name{font-size:clamp(34px,9.5vw,44px)}.hero-subtitle{font-size:15px}.hero-actions{margin-top:24px}.hero-cta--primary,.hero-cta--secondary{flex:auto}.hero-marquee{margin-top:24px}}@media (prefers-reduced-motion:reduce){.hero-anim,.hero-scroll-hint{opacity:1;animation:none;transform:none}.hero-badge-dot{animation:none}.hero-marquee-track{flex-wrap:wrap;animation:none}.hero-marquee{-webkit-mask-image:none;mask-image:none}}.about{margin-bottom:10px;position:relative}.about:before{content:"";background:var(--timeline-line);z-index:0;width:1px;height:100%;position:absolute;top:16px;left:8px}.about-title{font-family:var(--second-family);color:var(--text-primary);padding-top:1px;font-size:24px;font-weight:600;line-height:1.25}.about-content{flex-direction:column;gap:10px;padding-bottom:24px;padding-left:32px;padding-right:24px;display:flex}.about-short-text{color:var(--text-secondary);max-width:680px;margin:0;font-size:14.5px;line-height:1.7}.about-read-more{font-family:var(--font-family);color:var(--primary-light);cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:0;font-size:13px;font-weight:600;transition:color .2s}.about-read-more:after{content:" →";transition:transform .2s;display:inline-block}.about-read-more:hover{color:var(--primary-lighter)}.about-read-more:hover:after{transform:translate(3px)}.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:28px;position:relative}.experience:before{content:"";background:var(--timeline-line);z-index:0;width:1px;height:100%;position:absolute;top:16px;left:8px}.exp-title{font-family:var(--second-family);color:var(--text-primary);padding-top:1px;font-size:24px;font-weight:600;line-height:1.25}.exp-list{flex-direction:column;gap:16px;padding-left:32px;padding-right:24px;display:flex}.exp-item{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:18px;flex-direction:column;align-items:stretch;gap:14px;padding:20px 22px;transition:transform .25s,border-color .25s,background-color .25s,box-shadow .25s;display:flex;position:relative}.exp-item:hover{border-color:var(--glass-border-hover);background:var(--glass-bg-hover);box-shadow:0 18px 44px -20px rgba(var(--accent-rgb), .45);transform:translateY(-3px)}.container-exp-item{flex-direction:column;gap:14px;display:flex}.dot-titel{flex-direction:row;align-items:center;gap:10px;display:flex}.cont-dot{background-color:rgba(var(--accent-rgb), .16);width:12px;height:12px;box-shadow:0 0 12px var(--glow-primary);border-radius:100px;padding:8px;position:relative}.dot{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.timing{font-family:var(--font-family);letter-spacing:.08em;text-transform:uppercase;color:var(--primary-light);margin:auto 0;font-size:12px;font-weight:600}.list-item-exp{flex-direction:row;align-items:center;gap:15px;padding-left:0;display:flex}.job-logo{background-color:var(--gray-darker);object-fit:cover;object-position:top;border-radius:10px;width:60px;height:40px;display:block}.job-logo:not(.freelance-svg){background-color:var(--white);object-fit:cover;object-position:center;border-radius:8px;width:55px;height:22px;padding:2px;display:block}.job-logo.freelance-svg{background-color:#0000}.job-logo.job-logo--square,.job-logo.job-logo--square:not(.freelance-svg){background-color:var(--white);object-fit:contain;border-radius:10px;width:40px;height:40px;padding:3px}.job-logo.job-logo--wide,.job-logo.job-logo--wide:not(.freelance-svg){background-color:var(--white);object-fit:contain;border-radius:8px;width:64px;height:25px;padding:3px 6px}.job-name-text{flex-direction:column;gap:3px;display:flex}.job-title{font-family:var(--font-family);letter-spacing:.01em;color:var(--text-secondary);font-size:12.5px;font-weight:400;line-height:1.4;transition:color .2s;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(--primary-light)}.job-title-btn:focus-visible{outline:2px solid var(--primary-light);outline-offset:2px;border-radius:4px}.company-name{font-family:var(--second-family);color:var(--text-primary);font-size:15px;font-weight:600;line-height:1.3}.job-description{font-family:var(--font-family);letter-spacing:.01em;color:var(--text-secondary);margin:0;padding-left:0;font-size:12.5px;font-weight:400;line-height:1.6}.cont-svg{background-color:rgba(var(--accent-rgb), .16);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:left;flex-direction:row;align-items:flex-start;gap:16px;margin-bottom:20px;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)}@media (prefers-reduced-motion:reduce){.exp-item:hover{transform:none}}.latest-projects{margin-bottom:28px;position:relative}.latest-projects:before{content:"";background:var(--timeline-line);z-index:0;width:1px;height:calc(100% - 15px);position:absolute;top:16px;left:8px}.lt-pr-title{font-family:var(--second-family);color:var(--text-primary);font-size:24px;font-weight:600;line-height:1.25}.projects-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:8px;display:grid}.projects-item{background:var(--glass-bg);border:1px solid var(--glass-border);min-width:0;transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(var(--lift,0px));border-radius:18px;flex-direction:column;transition:transform .18s ease-out,border-color .25s,box-shadow .25s,background-color .25s;display:flex;position:relative;overflow:hidden}.projects-item:hover{--lift:-5px;border-color:var(--glass-border-hover);background:var(--glass-bg-hover);box-shadow:0 24px 55px -22px rgba(var(--accent-rgb), .5)}.projects-item:after{content:"";border-radius:inherit;background:radial-gradient(260px circle at var(--mx,50%) var(--my,50%), rgba(var(--accent-soft-rgb), .13), transparent 65%);opacity:0;pointer-events:none;z-index:2;transition:opacity .25s;position:absolute;inset:0}.projects-item:hover:after{opacity:1}.projects-item--featured{grid-column:span 2}.project-frame-btn{background:0 0;border:none;width:100%;padding:0;line-height:0;display:block;overflow:hidden}img.project-frame{aspect-ratio:16/10;object-fit:cover;object-position:top;border-bottom:1px solid var(--glass-border);width:100%;height:auto;transition:transform .45s cubic-bezier(.16,1,.3,1);display:block}.projects-item--featured img.project-frame{aspect-ratio:21/10}.project-frame-btn:hover .project-frame,.project-frame-btn:focus-visible .project-frame{transform:scale(1.045)}.project-frame-btn:focus-visible{outline:2px solid var(--primary-light);outline-offset:-2px;border-radius:18px 18px 0 0}.project-body{flex-direction:column;flex:auto;gap:10px;padding:16px 18px 18px;display:flex}.project-name{font-family:var(--second-family);color:var(--text-primary);text-align:left;font-size:15px;font-weight:600;line-height:1.35}.project-description{font-family:var(--font-family);letter-spacing:.01em;color:var(--text-secondary);font-size:12.5px;font-weight:400;line-height:1.55}.project-desc-toggle{color:var(--primary-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(--primary-lighter)}.project-links{gap:10px;margin-top:auto;padding-top:4px;display:flex}.project-link{font-family:var(--font-family);border-radius:9px;align-items:center;gap:7px;padding:7px 15px;font-size:12px;font-weight:600;line-height:1.2;transition:background-color .2s,border-color .2s,color .2s,transform .2s,box-shadow .2s;display:inline-flex}.project-link--live{background:rgba(var(--accent-rgb), .16);border:1px solid rgba(var(--accent-soft-rgb), .35);color:var(--primary-lighter)}.project-link--live:hover,.project-link--live:focus-visible{background:linear-gradient(90deg, var(--accent), var(--accent-strong));color:var(--accent-contrast);box-shadow:0 8px 24px -8px rgba(var(--accent-rgb), .7);border-color:#0000;transform:translateY(-2px)}.project-link--code{color:var(--text-secondary);background:#ffffff0a;border:1px solid #ffffff24}.project-link--code:hover,.project-link--code:focus-visible{border-color:var(--glass-border-hover);color:var(--text-primary);transform:translateY(-2px)}.project-svg-cont{background:var(--secondary-dark);border-radius:100px;flex-shrink:0;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-tech{flex-wrap:wrap;justify-content:center;gap:8px;margin:0;padding:0;list-style:none;display:flex}.project-modal-tech-chip{border:1px solid rgba(var(--accent-soft-rgb), .28);background:rgba(var(--accent-rgb), .09);font-family:var(--font-family);color:var(--gray-lighter);border-radius:999px;padding:6px 13px;font-size:11.5px;font-weight:500;line-height:1.3}.project-modal-description{color:var(--gray-lightest);margin:0;font-size:15px;line-height:1.6}.project-modal-contribution{background:rgba(var(--accent-rgb), .08);border:1px solid rgba(var(--accent-soft-rgb), .25);border-radius:14px;width:100%;padding:16px 18px}.project-modal-contribution-title{font-family:var(--font-family);letter-spacing:.1em;text-transform:uppercase;color:var(--primary-light);margin:0 0 8px;font-size:11px;font-weight:600}.project-modal-contribution-text{color:var(--gray-lightest);margin:0;font-size:14px;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:rgba(var(--accent-alt-rgb), .2);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:rgba(var(--accent-rgb), .26);border-color:rgba(var(--accent-soft-rgb), .6)}@media (width<=1100px){.projects-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=700px){.projects-list{grid-template-columns:1fr;gap:14px}.projects-item--featured{grid-column:span 1}.projects-item--featured img.project-frame{aspect-ratio:16/10}}@media (prefers-reduced-motion:reduce){.projects-item{transform:none}.projects-item:hover{--lift:0px}img.project-frame,.project-frame-btn:hover .project-frame{transition:none;transform:none}}.education{margin-bottom:28px;position:relative}.education:before{content:"";background:var(--timeline-line);z-index:0;width:1px;height:100%;position:absolute;top:16px;left:8px}.edu-title{font-family:var(--second-family);color:var(--text-primary);padding-top:1px;font-size:24px;font-weight:600;line-height:1.25}.education-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;width:auto;margin-top:8px;display:grid}.education-item{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:18px;flex-direction:column;align-items:flex-start;gap:14px;min-width:0;padding:20px;transition:transform .25s,border-color .25s,background-color .25s,box-shadow .25s;display:flex}.education-item:hover{border-color:var(--glass-border-hover);background:var(--glass-bg-hover);box-shadow:0 18px 44px -20px rgba(var(--accent-rgb), .45);transform:translateY(-3px)}.education-name{font-family:var(--second-family);color:var(--text-primary);font-size:14px;font-weight:600;line-height:1.4;transition:color .2s}.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(--primary-light)}.educ-name-btn:focus-visible{outline:2px solid var(--primary-light);outline-offset:2px;border-radius:6px}.education-degree{font-family:var(--font-family);color:var(--text-secondary);font-size:13px;font-weight:500;line-height:1.5}.education-year{font-family:var(--font-family);letter-spacing:.08em;text-transform:uppercase;color:var(--primary-light);margin-top:auto;font-size:11px;font-weight:600}.educ-name{flex-direction:row;align-items:center;gap:14px;display:flex}.educ-img{border:1px solid var(--glass-border);object-fit:contain;object-position:center;background-color:#ffffffeb;border-radius:16px;flex-shrink:0;width:60px;height:60px;padding:8px}.last-img{background-color:#ffffffeb}.second-img{background-color:#0000;border-color:#0000}.first-img{background-color:#ffffffeb;width:84px}.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<=1100px){.education-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=700px){.education-list{grid-template-columns:1fr;gap:14px}.educ-img{width:52px;height:52px}.first-img{width:72px}}@media (prefers-reduced-motion:reduce){.education-item:hover{transform:none}}.certificates{margin-bottom:28px;position:relative}.certificates:before{content:"";background:var(--timeline-line);z-index:0;width:1px;height:100%;position:absolute;top:16px;left:8px}.certificates-title{font-family:var(--second-family);color:var(--text-primary);padding-top:1px;font-size:24px;font-weight:600;line-height:1.25}.certificates-list{margin-top:8px;margin-left:var(--section-indent-left);padding-right:var(--section-indent-right);grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.certificates-item{min-width:0;display:flex}.certificate-card{background:var(--glass-bg);border:1px solid var(--glass-border);text-align:left;cursor:pointer;border-radius:18px;flex-direction:column;flex:auto;align-items:flex-start;gap:10px;padding:20px;transition:transform .25s,border-color .25s,background-color .25s,box-shadow .25s;display:flex}.certificate-card:hover,.certificate-card:focus-visible{border-color:var(--glass-border-hover);background:var(--glass-bg-hover);box-shadow:0 18px 44px -20px rgba(var(--accent-rgb), .45);transform:translateY(-3px)}.certificate-card:focus-visible{outline:2px solid var(--primary-light);outline-offset:2px}.certificate-card-head{justify-content:space-between;align-items:flex-start;gap:10px;width:100%;display:flex}.certificate-card-logo{border:1px solid var(--glass-border);object-fit:contain;background-color:#ffffffeb;border-radius:12px;width:44px;height:44px;padding:4px}.certificate-card-action{font-family:var(--font-family);letter-spacing:.04em;color:var(--primary-light);opacity:0;font-size:11px;font-weight:600;transition:opacity .2s,transform .2s;transform:translate(-4px)}.certificate-card:hover .certificate-card-action,.certificate-card:focus-visible .certificate-card-action{opacity:1;transform:translate(0)}.certificate-card-title{font-family:var(--second-family);color:var(--text-primary);font-size:14px;font-weight:600;line-height:1.4}.certificate-card-issuer{font-family:var(--font-family);letter-spacing:.08em;text-transform:uppercase;color:var(--primary-light);font-size:11px;font-weight:600}.certificate-card-id{font-family:var(--font-family);letter-spacing:.02em;color:var(--text-muted);margin-top:auto;font-size:11px}.certificate-modal-content{flex-direction:column;align-items:center;gap:16px;display:flex}.certificate-modal-content .certificate-preview-link{width:min(100%,640px)}.certificate-modal-description{color:var(--gray-lightest);text-align:center;max-width:640px;margin:0;font-size:14px;line-height:1.6}@media (width<=1100px){.certificates-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=700px){.certificates-list{grid-template-columns:1fr;gap:14px}}@media (prefers-reduced-motion:reduce){.certificate-card:hover{transform:none}}.skills{margin-bottom:28px;position:relative}.skills:before{content:"";background:var(--timeline-line);z-index:0;width:1px;height:100%;position:absolute;top:16px;left:8px}.skills-title{font-family:var(--second-family);color:var(--text-primary);padding-top:1px;font-size:24px;font-weight:600;line-height:1.25}.skills-wall{flex-direction:column;gap:20px;display:flex}.skills-group{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:18px;padding:20px 22px;transition:border-color .25s,background-color .25s}.skills-group:hover{border-color:rgba(var(--accent-soft-rgb), .28)}.skills-group-title{font-family:var(--font-family);letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin-bottom:14px;font-size:11px;font-weight:600}.skills-chips{flex-wrap:wrap;gap:9px;display:flex}.skill-chip{border:1px solid rgba(var(--accent-soft-rgb), .24);background:rgba(var(--accent-rgb), .07);font-family:var(--font-family);color:var(--gray-lighter);border-radius:999px;padding:8px 16px;font-size:12.5px;font-weight:500;line-height:1.3;transition:transform .2s,border-color .2s,background-color .2s,color .2s,box-shadow .2s}.skill-chip:hover{border-color:rgba(var(--accent-soft-rgb), .6);background:rgba(var(--accent-rgb), .16);color:var(--text-primary);box-shadow:0 6px 20px -6px rgba(var(--accent-rgb), .5);transform:translateY(-2px)}@media (width<=700px){.skills-group{padding:16px}.skill-chip{padding:7px 13px;font-size:12px}}@media (prefers-reduced-motion:reduce){.skill-chip:hover{transform:none}}.contact-form{margin-bottom:10px;position:relative}.contact-form:before{content:"";background:var(--timeline-line);z-index:0;width:1px;height:calc(100% - 10px);position:absolute;top:16px;left:8px}.contact-title{font-family:var(--second-family);color:var(--text-primary);font-size:24px;font-weight:600;line-height:1.25}.contact-panel{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:22px;padding:30px 32px 32px;position:relative;overflow:hidden}.contact-panel:before{content:"";background:radial-gradient(circle, rgba(var(--accent-rgb), .22), transparent 68%);pointer-events:none;border-radius:50%;width:380px;height:380px;position:absolute;top:-140px;right:-100px}.contact-panel-title{font-family:var(--second-family);letter-spacing:-.01em;background:var(--gradient-brand);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;width:fit-content;margin-bottom:10px;font-size:clamp(22px,3vw,30px);font-weight:700;line-height:1.2;position:relative}.contact-panel-sub{color:var(--text-secondary);max-width:440px;margin-bottom:22px;font-size:14px;line-height:1.6;position:relative}.contact-socials{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid;position:relative}.contact-social-link{border:1px solid rgba(var(--accent-soft-rgb), .25);background:rgba(var(--accent-rgb), .08);min-height:50px;font-family:var(--font-family);color:var(--gray-lightest);border-radius:14px;justify-content:center;align-items:center;gap:9px;padding:12px 16px;font-size:14px;font-weight:600;line-height:125%;transition:transform .18s,border-color .18s,background-color .18s,color .18s,box-shadow .18s;display:inline-flex}.contact-social-link:hover,.contact-social-link:focus-visible{border-color:rgba(var(--accent-soft-rgb), .6);background:rgba(var(--accent-rgb), .16);color:var(--text-primary);box-shadow:0 12px 30px -12px rgba(var(--accent-rgb), .65);transform:translateY(-3px)}.contact-social-link:focus-visible{outline:2px solid var(--primary-light);outline-offset:2px}.contact-social-icon{color:var(--primary-light);flex-shrink:0;transition:color .18s,transform .18s}.contact-social-link:hover .contact-social-icon{color:var(--text-primary);transform:scale(1.12)}@media (width<=700px){.contact-socials{grid-template-columns:1fr}.contact-panel{padding:22px 20px 24px}}@media (prefers-reduced-motion:reduce){.contact-social-link:hover{transform:none}}.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{border-color:rgba(var(--accent-soft-rgb), .6);background:#2e2e48e6}.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{border-color:rgba(var(--accent-soft-rgb), .6);background-color:#2e2e48e6}.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-field-footer{justify-content:space-between;align-items:baseline;gap:8px;min-height:14px;display:flex}.contact-me-counter{font-family:var(--font-family);letter-spacing:.03em;color:var(--text-muted);white-space:nowrap;font-size:10.5px}.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{background:rgba(var(--accent-rgb), .18);border-color:rgba(var(--accent-soft-rgb), .4);color:var(--primary-lighter)}.contact-me-btn--email:hover{background:rgba(var(--accent-rgb), .28);border-color:rgba(var(--accent-soft-rgb), .65)}.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{background:rgba(var(--accent-alt-rgb), .18);color:var(--secondary-lighter);border-color:#95aafb66}.contact-me-btn--telegram:hover{background:rgba(var(--accent-alt-rgb), .28);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:rgba(var(--accent-rgb), .15);position:absolute;inset:0}.server-loader:after{content:"";background:linear-gradient(90deg, transparent 0%, rgba(var(--accent-rgb), .5) 30%, var(--accent-soft) 50%, rgba(var(--accent-rgb), .5) 70%, transparent 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:var(--text-secondary);background-color:var(--bg-base);font-size:14px;position:relative;overflow-x:clip}.bg-aurora{z-index:0;pointer-events:none;background:radial-gradient(640px circle at 12% 8%, rgba(var(--accent-rgb), .17), transparent 65%), radial-gradient(720px circle at 88% 24%, rgba(var(--accent-alt-rgb), .13), transparent 65%), radial-gradient(560px circle at 45% 96%, rgba(var(--accent-rgb), .1), transparent 65%);will-change:transform;animation:46s ease-in-out infinite alternate aurora-drift;position:fixed;inset:-20%}@keyframes aurora-drift{0%{transform:translate(0,0)scale(1)}to{transform:translate(3%,-2.5%)scale(1.06)}}.bg-noise{z-index:0;pointer-events:none;opacity:.028;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}html,body{height:100%;margin:0;padding:0}html{scrollbar-gutter:stable;scroll-behavior:smooth;overflow-y:scroll}::selection{background:rgba(var(--accent-rgb), .55);color:#fff}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--bg-base)}::-webkit-scrollbar-thumb{background:rgba(var(--accent-rgb), .35);border:2px solid var(--bg-base);border-radius:8px}::-webkit-scrollbar-thumb:hover{background:rgba(var(--accent-rgb), .6)}@supports not selector(::-webkit-scrollbar){html{scrollbar-color:rgba(var(--accent-rgb), .4) var(--bg-base);scrollbar-width:thin}}#root{min-height:100%}.layout{z-index:1;align-items:stretch;gap:0;width:min(1440px,100%);max-width:1440px;min-height:100dvh;margin:0 auto;display:flex;position:relative}.reveal-on-scroll{opacity:0;transition:opacity .65s,transform .7s cubic-bezier(.16,1,.3,1);transform:translateY(36px)scale(.98)}.reveal-on-scroll.leave-top{transform:translateY(-36px)scale(.98)}.reveal-on-scroll.is-visible{opacity:1;transform:translate(0,0)scale(1)}.reveal-on-scroll{transition-delay:var(--reveal-delay,0s)}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:#0000;padding:40px 32px 48px}@media (width>=1280px){.main-content{padding:48px 56px 56px}}.cont-exp h2{font-family:var(--second-family);letter-spacing:-.01em;color:var(--text-primary);text-align:left;padding-bottom:6px;font-size:24px;font-weight:600;line-height:1.25;position:relative}.cont-exp h2:after{content:"";background:var(--gradient-brand);border-radius:3px;width:40px;height:3px;position:absolute;bottom:0;left:0}.cont-svg{box-shadow:0 0 14px var(--glow-primary)}.exp-list{padding-left:var(--section-indent-left);padding-right:var(--section-indent-right)}.projects-list,.education-list,.contact-panel{margin-left:var(--section-indent-left)}.skills-wall,.contact-panel{margin-right:var(--section-indent-right);padding-right:0}.skills-wall{margin-left:var(--section-indent-left)}.projects-list,.education-list{padding-right:var(--section-indent-right)}.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(--text-secondary)}.theme-switcher{z-index:60;-webkit-backdrop-filter:blur(10px);background:#0a08148c;border:1px solid #ffffff1f;border-radius:999px;align-items:center;gap:9px;padding:9px 12px;display:flex;position:fixed;top:16px;right:16px}.theme-dot{background:linear-gradient(135deg, var(--dot-a), var(--dot-b));cursor:pointer;border:2px solid #ffffff40;border-radius:50%;width:20px;height:20px;padding:0;transition:transform .2s,border-color .2s,box-shadow .2s}.theme-dot:hover{transform:scale(1.18)}.theme-dot.is-active{border-color:var(--text-primary);box-shadow:0 0 12px var(--dot-a);transform:scale(1.12)}.theme-dot:focus-visible{outline:2px solid var(--text-primary);outline-offset:2px}.glass-card{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:18px;transition:transform .25s,border-color .25s,background-color .25s,box-shadow .25s}.glass-card:hover{border-color:var(--glass-border-hover);background:var(--glass-bg-hover)}.sidebar{min-width:250px}@media (width>=1280px){.sidebar{min-width:320px}}@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}.cont-exp h2{font-size:20px}.project-name,.education-degree,.job-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:12px;line-height:1.45}}@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}.cont-exp h2{font-size:21px}.project-name,.education-degree,.job-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:12px;line-height:1.45}}#projects,#contact,#about,#profile{scroll-margin-top:24px}@supports (animation-timeline:view()){.about:before,.experience:before,.latest-projects:before,.education:before,.skills:before,.contact-form:before{transform-origin:top;animation:linear both timeline-grow;animation-timeline:view();animation-range:entry cover 55%}@keyframes timeline-grow{0%{transform:scaleY(0)}to{transform:scaleY(1)}}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.about:before,.experience:before,.latest-projects:before,.education:before,.skills:before,.contact-form:before{animation:none;transform:none}.bg-aurora{animation:none}.reveal-on-scroll,.reveal-on-scroll.leave-top,.reveal-on-scroll.is-visible{opacity:1;transition:none;transform:none}}dialog.modal-window{border:1px solid rgba(var(--accent-soft-rgb), .22);background:linear-gradient(165deg, rgba(var(--accent-rgb), .12) 0%, #0f0a1efc 42%, #140e26fc 100%), #0f0a1e;width:min(720px,100vw - 32px);max-height:min(85vh,85dvh);color:var(--gray-lighter);box-shadow:0 30px 80px -20px #000000b3, 0 0 70px -24px var(--glow-primary), inset 0 1px 0 #f8f2fc0f;border-radius:20px;margin:auto;padding:0;animation:.32s cubic-bezier(.16,1,.3,1) modal-in;position:fixed;inset:0;overflow:auto}dialog.modal-window::backdrop{background:radial-gradient(circle at 20% 8%, rgba(var(--accent-rgb), .16) 0%, transparent 45%), radial-gradient(circle at 86% 88%, rgba(var(--accent-alt-rgb), .14) 0%, transparent 46%), #0805109e;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);animation:.28s backdrop-in}@keyframes modal-in{0%{opacity:0;transform:translateY(16px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes backdrop-in{0%{opacity:0}to{opacity:1}}.modal-inner{padding:48px 28px 28px}.modal-window.about-modal{width:min(640px,100vw - 32px)}.modal-window.experience-modal{width:min(760px,100vw - 32px)}.modal-window.project-modal{width:min(880px,100vw - 32px)}.modal-window.contact-me-modal{width:min(480px,100vw - 32px)}.modal-close-btn{border:1px solid rgba(var(--accent-soft-rgb), .3);background:rgba(var(--accent-rgb), .1);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:rgba(var(--accent-rgb), .28);transform:scale(1.05)rotate(90deg)}.modal-close-btn:focus-visible{outline:2px solid var(--primary-light);outline-offset:2px}.modal-title{font-family:var(--second-family);color:var(--text-primary);margin-bottom:16px;font-size:22px;font-weight:600;line-height:1.2}.modal-content{color:var(--gray-lighter)}.certificate-preview-link{border:1px solid rgba(var(--accent-soft-rgb), .28);border-radius:14px;width:min(100%,560px);transition:transform .25s,border-color .25s,box-shadow .25s;display:block;position:relative;overflow:hidden}.certificate-preview-link:hover,.certificate-preview-link:focus-visible{border-color:rgba(var(--accent-soft-rgb), .6);box-shadow:0 16px 44px -16px rgba(var(--accent-rgb), .55);transform:translateY(-3px)}.certificate-preview-link:focus-visible{outline:2px solid var(--primary-light);outline-offset:2px}.certificate-preview-img{width:100%;height:auto;display:block}.certificate-preview-hint{border:1px solid rgba(var(--accent-soft-rgb), .4);color:var(--primary-lighter);font-family:var(--font-family);background:#0f0a1ed9;border-radius:9px;padding:7px 14px;font-size:12px;font-weight:600;line-height:1.2;position:absolute;bottom:10px;right:10px}.certificate-download-link{background:rgba(var(--accent-rgb), .14);border:1px solid rgba(var(--accent-soft-rgb), .35);color:var(--primary-lighter);font-family:var(--font-family);border-radius:10px;align-items:center;gap:6px;padding:8px 16px;font-size:12.5px;font-weight:600;line-height:1.2;transition:background-color .2s,border-color .2s,color .2s;display:inline-flex}.certificate-download-link:hover,.certificate-download-link:focus-visible{background:rgba(var(--accent-rgb), .26);border-color:rgba(var(--accent-soft-rgb), .65);color:var(--text-primary)}@media (width<=767px){dialog.modal-window{border-radius:14px;width:calc(100vw - 20px);max-height:min(88vh,88dvh)}.modal-inner{padding:44px 16px 18px}.modal-title{font-size:18px}}@media (prefers-reduced-motion:reduce){dialog.modal-window,dialog.modal-window::backdrop{animation:none}.certificate-preview-link:hover{transform:none}}
