.Header-module__ldgnoG__header{z-index:100;height:var(--header-height);transition:all var(--transition);background:0 0;align-items:center;display:flex;position:fixed;top:0;left:0;right:0}.Header-module__ldgnoG__scrolled{background:var(--bg-header);-webkit-backdrop-filter:blur(12px);box-shadow:var(--shadow-sm)}.Header-module__ldgnoG__container{max-width:var(--max-width);width:100%;padding:0 var(--space-container);justify-content:space-between;align-items:center;margin:0 auto;display:flex}.Header-module__ldgnoG__logo{font-size:clamp(1.2rem,1rem + .8vw,1.5rem);font-weight:700;font-family:var(--font-mono);color:var(--text-primary);transition:color var(--transition);text-decoration:none}.Header-module__ldgnoG__logoAccent{color:var(--accent)}.Header-module__ldgnoG__nav{gap:clamp(16px,2vw + 4px,32px);display:flex}.Header-module__ldgnoG__navLink{font-size:var(--fs-small);color:var(--text-secondary);transition:color var(--transition);white-space:nowrap;font-weight:500;text-decoration:none;position:relative}.Header-module__ldgnoG__navLink:after{content:"";background:var(--accent);width:0;height:2px;transition:width var(--transition);position:absolute;bottom:-4px;left:0}.Header-module__ldgnoG__navLink:hover{color:var(--accent)}.Header-module__ldgnoG__navLink:hover:after{width:100%}.Header-module__ldgnoG__actions{align-items:center;gap:clamp(8px,1vw,12px);display:flex}.Header-module__ldgnoG__langToggle{border-radius:var(--radius-sm);font-weight:600;font-size:var(--fs-xs);color:var(--accent);border:1.5px solid var(--accent);transition:all var(--transition);font-family:var(--font-mono);padding:6px 12px}.Header-module__ldgnoG__langToggle:hover{background:var(--accent-light)}.Header-module__ldgnoG__themeToggle{border-radius:var(--radius-sm);width:40px;height:40px;transition:all var(--transition);color:var(--text-secondary);justify-content:center;align-items:center;display:flex}.Header-module__ldgnoG__themeToggle:hover{background:var(--accent-light);color:var(--accent)}.Header-module__ldgnoG__burger{width:40px;height:40px;color:var(--text-primary);justify-content:center;align-items:center;display:none}.Header-module__ldgnoG__overlay{display:none}@media (max-width:1024px){.Header-module__ldgnoG__nav{top:var(--header-height);width:60%;max-width:320px;height:calc(100vh - var(--header-height));background:var(--bg-primary);box-shadow:var(--shadow-lg);transition:right var(--transition);z-index:99;flex-direction:column;gap:0;padding:24px 0;position:fixed;right:-100%}.Header-module__ldgnoG__navOpen{right:0}.Header-module__ldgnoG__navLink{font-size:var(--fs-body);padding:14px 28px}.Header-module__ldgnoG__navLink:after{display:none}.Header-module__ldgnoG__burger{display:flex}.Header-module__ldgnoG__overlay{inset:0;top:var(--header-height);z-index:98;background:#0006;display:block;position:fixed}}@media (max-width:480px){.Header-module__ldgnoG__nav{width:80%}.Header-module__ldgnoG__navLink{padding:16px 24px}}
.Button-module__8RiFmG__button{border-radius:var(--radius-md);font-weight:600;font-size:var(--fs-body);transition:all var(--transition);cursor:pointer;align-items:center;gap:8px;padding:clamp(10px,1.2vw + 4px,14px) clamp(20px,2vw + 8px,28px);text-decoration:none;display:inline-flex}.Button-module__8RiFmG__primary{background:var(--accent-gradient);color:#fff;box-shadow:var(--shadow-md)}.Button-module__8RiFmG__primary:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.Button-module__8RiFmG__outline{border:2px solid var(--accent);color:var(--accent);background:0 0}.Button-module__8RiFmG__outline:hover{background:var(--accent-light);transform:translateY(-2px)}
.Typewriter-module__OFZP5q__cursor{color:var(--accent);margin-left:2px;font-weight:300;display:inline-block}
.Hero-module__JgYmMq__hero{min-height:100vh;padding:calc(var(--header-height) + 40px)var(--space-container)40px;flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.Hero-module__JgYmMq__hero:before{content:"";background:var(--accent-gradient);opacity:.05;filter:blur(80px);pointer-events:none;border-radius:50%;width:clamp(300px,40vw + 100px,600px);height:clamp(300px,40vw + 100px,600px);position:absolute;top:-50%;right:-20%}.Hero-module__JgYmMq__container{max-width:var(--max-width);gap:var(--space-gap-lg);grid-template-columns:1fr 1fr;align-items:center;width:100%;display:grid}.Hero-module__JgYmMq__content{gap:var(--space-gap-sm);flex-direction:column;display:flex}.Hero-module__JgYmMq__greeting{font-size:var(--fs-hero-greeting);color:var(--accent);font-weight:500;font-family:var(--font-mono)}.Hero-module__JgYmMq__name{font-size:var(--fs-hero-name);background:var(--accent-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-weight:800;line-height:1.1}.Hero-module__JgYmMq__role{font-size:var(--fs-hero-role);color:var(--text-primary);font-weight:600}.Hero-module__JgYmMq__description{font-size:var(--fs-hero-desc);color:var(--text-secondary);max-width:500px;line-height:1.7}.Hero-module__JgYmMq__buttons{gap:var(--space-gap-sm);opacity:0;pointer-events:none;flex-wrap:wrap;margin-top:12px;transition:opacity .5s;display:flex}.Hero-module__JgYmMq__buttonsVisible{opacity:1;pointer-events:auto}.Hero-module__JgYmMq__photoWrapper{justify-content:center;display:flex;position:relative}.Hero-module__JgYmMq__photoBorder{background:var(--accent-gradient);box-shadow:var(--shadow-lg);border-radius:50%;padding:4px;animation:.8s ease-out both Hero-module__JgYmMq__photoFadeIn;position:relative}@keyframes Hero-module__JgYmMq__photoFadeIn{0%{opacity:.3;filter:blur(4px)}to{opacity:1;filter:blur()}}.Hero-module__JgYmMq__photoInner{background:var(--bg-primary);border-radius:50%;padding:4px;overflow:hidden}.Hero-module__JgYmMq__photo{object-fit:cover;border-radius:50%;width:clamp(200px,20vw + 80px,340px);height:clamp(200px,20vw + 80px,340px);display:block}.Hero-module__JgYmMq__photoGlow{background:var(--accent-gradient);opacity:.08;filter:blur(50px);pointer-events:none;z-index:-1;border-radius:50%;width:clamp(240px,24vw + 100px,400px);height:clamp(240px,24vw + 100px,400px);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.Hero-module__JgYmMq__scrollIndicator{color:var(--text-muted);opacity:0;pointer-events:none;transition:opacity .6s .3s;position:absolute;bottom:32px;left:50%;transform:translate(-50%)}.Hero-module__JgYmMq__scrollIndicatorVisible{opacity:1}.Hero-module__JgYmMq__scrollIndicatorBounce{animation:2s ease-in-out infinite Hero-module__JgYmMq__bounce}@keyframes Hero-module__JgYmMq__bounce{0%,to{transform:translateY(0)}50%{transform:translateY(8px)}}@media (max-width:1024px){.Hero-module__JgYmMq__container{grid-template-columns:1fr 1fr;gap:clamp(24px,3vw,40px)}.Hero-module__JgYmMq__description{max-width:100%}}@media (max-width:768px){.Hero-module__JgYmMq__container{text-align:center;grid-template-columns:1fr}.Hero-module__JgYmMq__content{order:2;align-items:center}.Hero-module__JgYmMq__photoWrapper{order:1}.Hero-module__JgYmMq__description{max-width:100%}.Hero-module__JgYmMq__buttons{justify-content:center}}@media (max-width:480px){.Hero-module__JgYmMq__buttons{flex-direction:column;align-items:center}}
.Section-module__BZ7-0a__section{padding:var(--space-section)var(--space-container);opacity:0;transition:opacity .5s,transform .5s;position:relative;transform:translateY(30px)}.Section-module__BZ7-0a__visible{opacity:1;transform:translateY(0)}.Section-module__BZ7-0a__alternate{background-color:var(--bg-secondary)}.Section-module__BZ7-0a__container{max-width:var(--max-width);margin:0 auto}
.SectionTitle-module__h10XBq__wrapper{text-align:center;margin-bottom:clamp(32px,4vw + 8px,60px)}.SectionTitle-module__h10XBq__title{font-size:var(--fs-h2);color:var(--text-primary);margin-bottom:12px;font-weight:700}.SectionTitle-module__h10XBq__subtitle{font-size:var(--fs-body);color:var(--text-secondary);max-width:600px;margin:0 auto}.SectionTitle-module__h10XBq__divider{background:var(--accent-gradient);border-radius:2px;width:60px;height:4px;margin:20px auto 0}
.About-module__S-Ka5a__description{text-align:center;font-size:var(--fs-body);color:var(--text-secondary);max-width:700px;margin:clamp(-24px,-3vw,-40px) auto clamp(32px,4vw,48px);line-height:1.7}.About-module__S-Ka5a__subtitle{font-size:var(--fs-h3);color:var(--text-primary);margin-bottom:var(--space-gap-md);text-align:center;font-weight:600}.About-module__S-Ka5a__techGrid{gap:var(--space-gap-sm);grid-template-columns:repeat(auto-fill,minmax(clamp(100px,10vw + 40px,140px),1fr));margin-bottom:clamp(32px,4vw,48px);display:grid}.About-module__S-Ka5a__techCard{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);transition:all var(--transition);flex-direction:column;align-items:center;gap:12px;padding:clamp(16px,2vw,24px) clamp(12px,1.5vw,16px);display:flex}.About-module__S-Ka5a__techCard:hover{box-shadow:var(--shadow-md);background:var(--bg-card-hover);transform:translateY(-4px)}.About-module__S-Ka5a__techIcon{transition:transform var(--transition)}.About-module__S-Ka5a__techCard:hover .About-module__S-Ka5a__techIcon{transform:scale(1.15)}.About-module__S-Ka5a__techName{font-size:var(--fs-xs);color:var(--text-secondary);text-align:center;font-weight:500}.About-module__S-Ka5a__skillsGrid{gap:var(--space-gap-sm);grid-template-columns:repeat(auto-fill,minmax(clamp(180px,16vw + 40px,220px),1fr));display:grid}.About-module__S-Ka5a__skillCard{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);font-weight:500;font-size:var(--fs-small);color:var(--text-secondary);transition:all var(--transition);align-items:center;gap:12px;padding:clamp(14px,1.5vw + 4px,20px) clamp(16px,2vw,24px);display:flex}.About-module__S-Ka5a__skillCard:hover{background:var(--bg-card-hover);transform:translateY(-2px)}.About-module__S-Ka5a__skillIcon{color:var(--accent);flex-shrink:0}@media (max-width:1024px){.About-module__S-Ka5a__skillsGrid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}}@media (max-width:480px){.About-module__S-Ka5a__skillsGrid{grid-template-columns:1fr}}
.Projects-module__T_D1Ca__grid{gap:var(--space-gap-md);grid-template-columns:repeat(auto-fill,minmax(clamp(280px,24vw + 80px,350px),1fr));display:grid}.Projects-module__T_D1Ca__card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);transition:transform var(--transition),box-shadow var(--transition),background var(--transition);opacity:0;animation:.4s both Projects-module__T_D1Ca__cardFadeIn;animation-delay:calc(var(--i,0)*.1s);flex-direction:column;gap:clamp(14px,1.5vw + 4px,20px);padding:clamp(20px,2.5vw + 4px,32px);display:flex;position:relative;overflow:hidden;transform:translateY(20px)}@keyframes Projects-module__T_D1Ca__cardFadeIn{to{opacity:1;transform:translateY(0)}}.Projects-module__T_D1Ca__card:before{content:"";background:var(--accent-gradient);opacity:0;height:3px;transition:opacity var(--transition);position:absolute;top:0;left:0;right:0}.Projects-module__T_D1Ca__card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.Projects-module__T_D1Ca__card:hover:before{opacity:1}.Projects-module__T_D1Ca__cardHeader{flex-direction:column;gap:8px;display:flex}.Projects-module__T_D1Ca__cardTitle{color:var(--text-primary);font-size:clamp(1.05rem,.9rem + .6vw,1.25rem);font-weight:700;line-height:1.3}.Projects-module__T_D1Ca__cardSubheader{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.Projects-module__T_D1Ca__companyBadge{font-size:var(--fs-xs);color:var(--accent);background:var(--accent-light);white-space:nowrap;border-radius:12px;padding:3px 10px;font-weight:600}.Projects-module__T_D1Ca__location{font-size:var(--fs-xs);color:var(--text-muted);font-weight:500}.Projects-module__T_D1Ca__cardDescription{font-size:var(--fs-small);color:var(--text-secondary);line-height:1.6}.Projects-module__T_D1Ca__screenshotsSection{flex-direction:column;gap:10px;display:flex}.Projects-module__T_D1Ca__screenshotsLabel{font-size:var(--fs-xs);color:var(--text-muted);align-items:center;gap:6px;font-weight:600;display:flex}.Projects-module__T_D1Ca__screenshotsGrid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.Projects-module__T_D1Ca__screenshotThumb{border-radius:var(--radius-sm);border:1px solid var(--border);cursor:pointer;transition:all var(--transition);background:0 0;padding:0;position:relative;overflow:hidden}.Projects-module__T_D1Ca__screenshotThumb:hover{border-color:var(--accent);box-shadow:var(--shadow-md);transform:scale(1.03)}.Projects-module__T_D1Ca__screenshotImg{object-fit:cover;width:100%;height:clamp(50px,6vw + 20px,80px);display:block}.Projects-module__T_D1Ca__highlights{background:var(--accent-light);border-radius:var(--radius-sm);align-items:flex-start;gap:10px;padding:clamp(10px,1.2vw + 4px,16px);display:flex}.Projects-module__T_D1Ca__highlightIcon{color:var(--accent);flex-shrink:0;margin-top:2px}.Projects-module__T_D1Ca__highlightText{font-size:var(--fs-xs);color:var(--text-secondary);line-height:1.5}.Projects-module__T_D1Ca__techStack{flex-wrap:wrap;gap:8px;display:flex}.Projects-module__T_D1Ca__techBadge{background:var(--bg-secondary);border:1px solid var(--border);font-size:var(--fs-xs);color:var(--text-secondary);white-space:nowrap;border-radius:20px;padding:4px 12px;font-weight:500}.Projects-module__T_D1Ca__meta{gap:var(--space-gap-sm);padding-top:var(--space-gap-sm);border-top:1px solid var(--border);flex-wrap:wrap;margin-top:auto;display:flex}.Projects-module__T_D1Ca__metaItem{font-size:var(--fs-xs);color:var(--text-muted);align-items:center;gap:6px;display:flex}.Projects-module__T_D1Ca__metaAccent{color:var(--accent);font-weight:500}.Projects-module__T_D1Ca__lightbox{z-index:200;-webkit-backdrop-filter:blur(8px);touch-action:none;-webkit-user-select:none;user-select:none;background:#000000e6;justify-content:center;align-items:center;animation:.2s both Projects-module__T_D1Ca__lightboxIn;display:flex;position:fixed;inset:0}@keyframes Projects-module__T_D1Ca__lightboxIn{0%{opacity:0}to{opacity:1}}.Projects-module__T_D1Ca__lightboxClose{color:#fff;opacity:.7;transition:opacity var(--transition);z-index:201;padding:8px;position:absolute;top:16px;right:16px}.Projects-module__T_D1Ca__lightboxClose:hover{opacity:1}.Projects-module__T_D1Ca__lightboxArrow{color:#fff;opacity:.7;transition:opacity var(--transition);z-index:201;background:#ffffff1a;border-radius:50%;padding:12px;position:absolute;top:50%;transform:translateY(-50%)}.Projects-module__T_D1Ca__lightboxArrow:hover{opacity:1;background:#fff3}.Projects-module__T_D1Ca__lightboxArrowLeft{left:12px}.Projects-module__T_D1Ca__lightboxArrowRight{right:12px}.Projects-module__T_D1Ca__lightboxContent{pointer-events:none;flex-direction:column;align-items:center;gap:12px;max-width:90vw;max-height:85vh;display:flex}.Projects-module__T_D1Ca__lightboxImg{object-fit:contain;border-radius:var(--radius-md);pointer-events:auto;width:auto;max-width:90vw;height:auto;max-height:75vh;transition:opacity .15s}.Projects-module__T_D1Ca__lightboxCounter{color:#fff9;font-size:var(--fs-small);font-family:var(--font-mono)}.Projects-module__T_D1Ca__lightboxSwipeHint{display:none}@media (max-width:1024px){.Projects-module__T_D1Ca__grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}@media (max-width:640px){.Projects-module__T_D1Ca__grid{grid-template-columns:1fr}.Projects-module__T_D1Ca__lightboxArrow{padding:10px;top:auto;bottom:24px;transform:none}.Projects-module__T_D1Ca__lightboxArrowLeft{left:calc(50% - 60px)}.Projects-module__T_D1Ca__lightboxArrowRight{right:calc(50% - 60px)}.Projects-module__T_D1Ca__lightboxImg{max-height:65vh}.Projects-module__T_D1Ca__lightboxSwipeHint{color:#ffffff59;font-size:var(--fs-xs);font-family:var(--font-mono);animation:3s forwards Projects-module__T_D1Ca__fadeInOut;display:block}}@keyframes Projects-module__T_D1Ca__fadeInOut{0%{opacity:0}20%{opacity:1}80%{opacity:1}to{opacity:0}}
.Experience-module__Dh2kUW__timeline{max-width:800px;margin:0 auto;position:relative}.Experience-module__Dh2kUW__timeline:before{content:"";background:var(--border);width:2px;position:absolute;top:0;bottom:0;left:24px}.Experience-module__Dh2kUW__timelineItem{opacity:0;animation:.5s both Experience-module__Dh2kUW__timelineFadeIn;animation-delay:calc(var(--i,0)*.15s);padding-left:72px;position:relative;transform:translate(-20px)}@keyframes Experience-module__Dh2kUW__timelineFadeIn{to{opacity:1;transform:translate(0)}}.Experience-module__Dh2kUW__timelineItem+.Experience-module__Dh2kUW__timelineItem{margin-top:clamp(24px,3vw,32px)}.Experience-module__Dh2kUW__timelineDot{background:var(--accent-gradient);color:#fff;z-index:1;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;display:flex;position:absolute;top:0;left:8px}.Experience-module__Dh2kUW__timelineContent{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;gap:clamp(14px,1.5vw + 4px,20px);padding:clamp(20px,2.5vw + 4px,32px);display:flex}.Experience-module__Dh2kUW__timelineHeader{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.Experience-module__Dh2kUW__company{color:var(--text-primary);font-size:clamp(1.15rem,.9rem + 1vw,1.5rem);font-weight:700}.Experience-module__Dh2kUW__role{font-size:var(--fs-body);color:var(--accent);margin-top:4px;font-weight:600}.Experience-module__Dh2kUW__period{font-size:var(--fs-xs);color:var(--text-muted);background:var(--accent-light);white-space:nowrap;border-radius:20px;padding:6px 16px;font-weight:500}.Experience-module__Dh2kUW__companyDescription{font-size:var(--fs-small);color:var(--text-secondary);line-height:1.7}.Experience-module__Dh2kUW__achievementsBlock{padding-top:var(--space-gap-sm);border-top:1px solid var(--border)}.Experience-module__Dh2kUW__achievementsTitle{font-size:var(--fs-body);color:var(--text-primary);margin-bottom:var(--space-gap-sm);font-weight:600}.Experience-module__Dh2kUW__achievementsList{flex-direction:column;gap:12px;display:flex}.Experience-module__Dh2kUW__achievementItem{font-size:var(--fs-small);color:var(--text-secondary);align-items:flex-start;gap:12px;line-height:1.5;display:flex}.Experience-module__Dh2kUW__checkIcon{color:var(--accent);flex-shrink:0;margin-top:2px}@media (max-width:1024px){.Experience-module__Dh2kUW__timeline{max-width:100%}}@media (max-width:640px){.Experience-module__Dh2kUW__timeline:before{display:none}.Experience-module__Dh2kUW__timelineItem{padding-left:0}.Experience-module__Dh2kUW__timelineDot{display:none}.Experience-module__Dh2kUW__timelineHeader{flex-direction:column}}
.Contacts-module__IaFgsG__grid{grid-template-columns:repeat(auto-fill,minmax(clamp(200px,18vw + 50px,250px),1fr));gap:clamp(14px,1.5vw + 4px,20px);margin-bottom:clamp(32px,4vw,48px);display:grid}.Contacts-module__IaFgsG__card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);transition:transform var(--transition),box-shadow var(--transition),background var(--transition),border-color var(--transition);text-align:center;opacity:0;animation:.35s both Contacts-module__IaFgsG__contactFadeIn;animation-delay:calc(var(--i,0)*80ms);flex-direction:column;align-items:center;gap:12px;padding:clamp(20px,2.5vw + 4px,32px) clamp(16px,2vw,24px);text-decoration:none;display:flex;transform:translateY(16px)}@keyframes Contacts-module__IaFgsG__contactFadeIn{to{opacity:1;transform:translateY(0)}}.Contacts-module__IaFgsG__card:hover{box-shadow:var(--shadow-md);background:var(--bg-card-hover);border-color:var(--accent)}.Contacts-module__IaFgsG__icon{color:var(--accent)}.Contacts-module__IaFgsG__label{font-size:var(--fs-body);color:var(--text-primary);font-weight:600}.Contacts-module__IaFgsG__value{font-size:var(--fs-small);color:var(--text-secondary);font-family:var(--font-mono);word-break:break-all}.Contacts-module__IaFgsG__resumeSection{justify-content:center;display:flex}@media (max-width:640px){.Contacts-module__IaFgsG__grid{grid-template-columns:1fr 1fr}}@media (max-width:400px){.Contacts-module__IaFgsG__grid{grid-template-columns:1fr}}
.Footer-module__Grjkva__footer{padding:clamp(24px,3vw + 8px,40px)var(--space-container);border-top:1px solid var(--border);background:var(--bg-secondary)}.Footer-module__Grjkva__container{max-width:var(--max-width);align-items:center;gap:var(--space-gap-sm);flex-direction:column;margin:0 auto;display:flex}.Footer-module__Grjkva__socials{gap:var(--space-gap-sm);display:flex}.Footer-module__Grjkva__socialLink{border-radius:var(--radius-sm);width:44px;height:44px;color:var(--text-secondary);border:1px solid var(--border);transition:all var(--transition);justify-content:center;align-items:center;display:flex}.Footer-module__Grjkva__socialLink:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-light);transform:translateY(-2px)}.Footer-module__Grjkva__builtWith,.Footer-module__Grjkva__copyright{font-size:var(--fs-xs);color:var(--text-muted)}
