.Container-module__TIb3lW__container{max-width:1200px;margin:0 auto;padding:0 40px}@media (max-width:768px){.Container-module__TIb3lW__container{padding:0 20px}}
.ProjectList-module__VnSX2a__grid{grid-template-columns:repeat(4,1fr);gap:16px;padding:0;list-style:none;display:grid}.ProjectList-module__VnSX2a__card{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;transition:transform .25s,border-color .25s;overflow:hidden}.ProjectList-module__VnSX2a__card:hover{border-color:var(--accent);transform:translateY(-4px)}.ProjectList-module__VnSX2a__card.ProjectList-module__VnSX2a__active{border-color:var(--accent)}.ProjectList-module__VnSX2a__card:hover .ProjectList-module__VnSX2a__tech,.ProjectList-module__VnSX2a__card.ProjectList-module__VnSX2a__active .ProjectList-module__VnSX2a__tech,.ProjectList-module__VnSX2a__card:hover .ProjectList-module__VnSX2a__overlay,.ProjectList-module__VnSX2a__card.ProjectList-module__VnSX2a__active .ProjectList-module__VnSX2a__overlay{opacity:1}.ProjectList-module__VnSX2a__cardLink{background:linear-gradient(160deg, var(--bg-secondary) 0%, var(--bg-card) 100%);background-position:50%;background-repeat:no-repeat;background-size:20%;height:280px;text-decoration:none;display:block;position:relative}.ProjectList-module__VnSX2a__dot{background:var(--accent);z-index:2;border-radius:50%;width:8px;height:8px;transition:background .3s;position:absolute;top:14px;left:14px}.ProjectList-module__VnSX2a__tech{color:var(--text-secondary);text-align:right;z-index:2;opacity:0;font-family:Oswald,sans-serif;font-size:10px;line-height:1.5;transition:opacity .3s;position:absolute;top:12px;right:12px}.ProjectList-module__VnSX2a__card:hover .ProjectList-module__VnSX2a__tech{opacity:1}.ProjectList-module__VnSX2a__title{color:var(--text-primary);z-index:3;font-family:Notable,sans-serif;font-size:22px;transition:color .3s;position:absolute;bottom:16px;left:16px}.ProjectList-module__VnSX2a__overlay{opacity:0;background:#0000008c;border-radius:16px;align-items:flex-end;padding:16px;transition:opacity .35s;display:flex;position:absolute;inset:0}[data-theme=light] .ProjectList-module__VnSX2a__overlay{background:#fff9}.ProjectList-module__VnSX2a__card:hover .ProjectList-module__VnSX2a__overlay{opacity:1}.ProjectList-module__VnSX2a__overlayText{color:#fff;font-family:Oswald,sans-serif;font-size:13px;line-height:1.5}[data-theme=light] .ProjectList-module__VnSX2a__overlayText{color:#111}@media (max-width:1024px){.ProjectList-module__VnSX2a__grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:768px){.ProjectList-module__VnSX2a__grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:480px){.ProjectList-module__VnSX2a__grid{grid-template-columns:1fr}}
.cvpage-module__Jy0_bW__pageHeader{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-end;margin-bottom:40px;padding:48px 0 32px;transition:border-color .3s;display:flex}.cvpage-module__Jy0_bW__pageTitle{color:var(--text-primary);font-family:Notable,sans-serif;font-size:clamp(36px,5vw,60px);line-height:1;transition:color .3s}.cvpage-module__Jy0_bW__actions{flex-shrink:0;gap:10px;display:flex}.cvpage-module__Jy0_bW__actionBtn{cursor:pointer;border:1px solid var(--border);color:var(--text-secondary);background:0 0;border-radius:6px;padding:8px 18px;font-family:Oswald,sans-serif;font-size:13px;transition:all .2s}.cvpage-module__Jy0_bW__actionBtn:hover{border-color:var(--accent);color:var(--accent)}.cvpage-module__Jy0_bW__cvLayout{grid-template-columns:280px 1fr;gap:48px;padding-bottom:80px;display:grid}.cvpage-module__Jy0_bW__sidebar{flex-direction:column;gap:28px;display:flex}.cvpage-module__Jy0_bW__photoWrap{aspect-ratio:1;border:1px solid var(--border);border-radius:12px;width:100%;transition:border-color .3s;overflow:hidden}.cvpage-module__Jy0_bW__photoPlaceholder{background:var(--bg-card);width:100%;height:100%;color:var(--accent);justify-content:center;align-items:center;min-height:200px;font-family:Notable,sans-serif;font-size:42px;transition:background .3s,color .3s;display:flex}.cvpage-module__Jy0_bW__sideSection{border-top:1px solid var(--border);padding-top:20px;transition:border-color .3s}.cvpage-module__Jy0_bW__sideTitle{color:var(--accent);margin-bottom:6px;font-family:Oswald,sans-serif;font-size:18px;font-weight:600;transition:color .3s}.cvpage-module__Jy0_bW__sideLocation{color:var(--text-secondary);font-family:Oswald,sans-serif;font-size:14px;transition:color .3s}.cvpage-module__Jy0_bW__contactList{flex-direction:column;gap:8px;list-style:none;display:flex}.cvpage-module__Jy0_bW__contactList li{flex-direction:column;gap:2px;display:flex}.cvpage-module__Jy0_bW__contactLabel{letter-spacing:2px;text-transform:uppercase;color:var(--text-secondary);font-family:Oswald,sans-serif;font-size:10px;transition:color .3s}.cvpage-module__Jy0_bW__contactLink{color:var(--accent);word-break:break-all;font-family:Oswald,sans-serif;font-size:14px;text-decoration:none;transition:color .3s}.cvpage-module__Jy0_bW__contactLink:hover{text-decoration:underline}.cvpage-module__Jy0_bW__skillsHeading{letter-spacing:3px;text-transform:uppercase;color:var(--text-secondary);margin-bottom:14px;font-family:Oswald,sans-serif;font-size:11px;transition:color .3s}.cvpage-module__Jy0_bW__skillList{flex-direction:column;gap:10px;list-style:none;display:flex}.cvpage-module__Jy0_bW__skillList li{color:var(--text-secondary);flex-direction:column;gap:2px;font-family:Oswald,sans-serif;font-size:14px;line-height:1.5;transition:color .3s;display:flex}.cvpage-module__Jy0_bW__skillLabel{color:var(--accent);letter-spacing:1px;font-size:12px;font-weight:600;transition:color .3s}.cvpage-module__Jy0_bW__main{flex-direction:column;display:flex}.cvpage-module__Jy0_bW__aboutMe{color:var(--text-secondary);border-bottom:1px solid var(--border);margin-bottom:36px;padding-bottom:36px;font-family:Oswald,sans-serif;font-size:20px;font-weight:300;line-height:1.7;transition:color .3s,border-color .3s}.cvpage-module__Jy0_bW__sectionHeading{color:var(--text-primary);background:var(--bg-card);border-radius:8px;margin-top:8px;margin-bottom:20px;padding:10px 16px;font-family:Notable,sans-serif;font-size:22px;transition:color .3s,background .3s}.cvpage-module__Jy0_bW__entry{border-bottom:1px solid var(--border);flex-direction:column;gap:6px;margin-bottom:20px;padding-bottom:20px;transition:border-color .3s;display:flex}.cvpage-module__Jy0_bW__entryLast{border-bottom:none}.cvpage-module__Jy0_bW__entryHeader{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.cvpage-module__Jy0_bW__entryTitle{color:var(--text-primary);font-family:Oswald,sans-serif;font-size:18px;font-weight:600;transition:color .3s}.cvpage-module__Jy0_bW__entryDate{color:var(--text-secondary);white-space:nowrap;flex-shrink:0;font-family:Oswald,sans-serif;font-size:13px;transition:color .3s}.cvpage-module__Jy0_bW__entryCompany{color:var(--accent);font-family:Oswald,sans-serif;font-size:14px;font-weight:600;transition:color .3s}.cvpage-module__Jy0_bW__entryDesc{color:var(--text-secondary);font-family:Oswald,sans-serif;font-size:14px;line-height:1.6;transition:color .3s}@media (max-width:900px){.cvpage-module__Jy0_bW__cvLayout{grid-template-columns:1fr}.cvpage-module__Jy0_bW__photoWrap{max-width:200px}}@media print{.cvpage-module__Jy0_bW__pageHeader{margin-bottom:20px;padding:0 0 20px}.cvpage-module__Jy0_bW__actions{display:none}.cvpage-module__Jy0_bW__cvLayout{gap:24px}.cvpage-module__Jy0_bW__sectionHeading{background:0 0;border-bottom:2px solid #000;border-radius:0;padding:6px 0}.cvpage-module__Jy0_bW__entry{page-break-inside:avoid}}
.page-module___KLj1a__hero{padding:72px 0 56px}.page-module___KLj1a__tag{letter-spacing:4px;text-transform:uppercase;color:var(--accent);margin-bottom:16px;font-family:Oswald,sans-serif;font-size:12px;font-weight:600;transition:color .3s;display:block}.page-module___KLj1a__title{color:var(--text-primary);margin-bottom:28px;font-family:Notable,sans-serif;font-size:clamp(42px,7vw,88px);line-height:1;transition:color .3s}@media screen and (min-width:1200px){.page-module___KLj1a__title{font-size:clamp(52px,7vw,88px)}}.page-module___KLj1a__subtitle{color:var(--text-secondary);max-width:680px;font-family:Oswald,sans-serif;font-size:clamp(18px,2.2vw,26px);font-weight:300;line-height:1.65;transition:color .3s}.page-module___KLj1a__projects{padding-bottom:80px}.page-module___KLj1a__sectionTitle{color:var(--text-primary);border-bottom:1px solid var(--border);margin-bottom:32px;padding-bottom:16px;font-family:Notable,sans-serif;font-size:clamp(28px,4vw,42px);transition:color .3s,border-color .3s}@media (max-width:768px){.page-module___KLj1a__hero{padding:48px 0 40px}}
.ProjectPage-module__vHbeVW__cont{flex-direction:column;gap:20px;padding:48px 0 80px;display:flex;position:relative}.ProjectPage-module__vHbeVW__backbutton{letter-spacing:2px;text-transform:uppercase;color:var(--text-secondary);border:1px solid var(--border);border-radius:4px;align-self:flex-start;align-items:center;padding:7px 18px;font-family:Oswald,sans-serif;font-size:13px;text-decoration:none;transition:all .2s;display:inline-flex}.ProjectPage-module__vHbeVW__backbutton:hover,.ProjectPage-module__vHbeVW__backbutton:focus{border-color:var(--accent);color:var(--accent)}.ProjectPage-module__vHbeVW__visitWebsite{letter-spacing:2px;text-transform:uppercase;color:var(--text-secondary);border:1px solid var(--border);border-radius:4px;align-self:flex-start;align-items:center;padding:7px 18px;font-family:Oswald,sans-serif;font-size:13px;text-decoration:none;transition:all .2s;display:inline-flex}.ProjectPage-module__vHbeVW__visitWebsite:hover,.ProjectPage-module__vHbeVW__visitWebsite:focus{border-color:var(--accent);color:var(--accent)}.ProjectPage-module__vHbeVW__headerRow{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;display:flex}.ProjectPage-module__vHbeVW__title{color:var(--text-primary);margin:0;font-family:Notable,sans-serif;font-size:clamp(52px,8vw,88px);line-height:1;transition:color .3s}.ProjectPage-module__vHbeVW__lunaTitle{margin:0;font-family:Notable,sans-serif;font-size:clamp(52px,8vw,88px);line-height:1}.ProjectPage-module__vHbeVW__sectionTitle{color:var(--text-primary);background:var(--bg-card);border-radius:6px;padding:8px 16px;font-family:Oswald,sans-serif;font-size:22px;font-weight:600;transition:color .3s,background .3s}.ProjectPage-module__vHbeVW__sub{color:var(--text-secondary);font-family:Oswald,sans-serif;font-size:18px;font-weight:300;line-height:1.7;transition:color .3s}.ProjectPage-module__vHbeVW__mark{font-family:Oswald,sans-serif;font-size:inherit;color:var(--accent);font-weight:600;transition:color .3s}.ProjectPage-module__vHbeVW__attention{background:var(--accent);color:#fff;text-align:center;border-radius:6px;padding:10px 20px;font-family:Oswald,sans-serif;font-size:16px}.ProjectPage-module__vHbeVW__featureList{flex-direction:column;gap:10px;display:flex}.ProjectPage-module__vHbeVW__preview{border:1px solid var(--border);border-radius:12px;width:100%;transition:border-color .3s}.ProjectPage-module__vHbeVW__introBlock{color:var(--text-secondary);font-family:Oswald,sans-serif;font-size:clamp(18px,2.5vw,26px);font-weight:300;line-height:1.65;transition:color .3s}.ProjectPage-module__vHbeVW__divider{background:var(--border);height:1px;transition:background .3s}@media (max-width:768px){.ProjectPage-module__vHbeVW__title{font-size:clamp(42px,12vw,64px)}.ProjectPage-module__vHbeVW__headerRow{flex-direction:column;align-items:flex-start}}
