@keyframes hero-module-scss-module__La-d5a__cursorAnimation{0%{opacity:0}50%{opacity:1}to{opacity:0}}.hero-module-scss-module__La-d5a__heroContainer{width:100%;min-height:100vh;position:relative;overflow:hidden}.hero-module-scss-module__La-d5a__linesSection{border-bottom:1px solid #444;height:28vh;min-height:168px;padding-left:30px;padding-right:30px;position:relative}.hero-module-scss-module__La-d5a__linesSection .hero-module-scss-module__La-d5a__linesPattern{background-image:linear-gradient(#0000 0%,#b095ea14 100%),linear-gradient(0deg,#b095ea40 1px,#0000 1px),linear-gradient(90deg,#b095ea40 1px,#0000 1px);background-size:100% 100%,15px 15px,15px 15px;position:absolute;inset:0 30px;-webkit-mask:linear-gradient(#0003 0%,#000 100%);mask:linear-gradient(#0003 0%,#000 100%)}.hero-module-scss-module__La-d5a__terminalSection{justify-content:center;align-items:flex-start;min-height:50vh;margin-top:-33px;padding:0 30px;display:flex;position:relative}.hero-module-scss-module__La-d5a__terminalContainer{z-index:10;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000;border:1px solid #444;border-radius:5px;width:100%;max-width:900px;position:relative;overflow:hidden;box-shadow:0 10px 20px #0006}.hero-module-scss-module__La-d5a__windowBar{background:#111216;border-bottom:1px solid #444;justify-content:space-between;align-items:center;height:32px;padding:0 16px;display:flex}.hero-module-scss-module__La-d5a__terminalWrapper{padding:0}@media screen and (max-width:800px){.hero-module-scss-module__La-d5a__heroContainer{min-height:90vh}.hero-module-scss-module__La-d5a__gradientSection{height:25vh;min-height:150px}.hero-module-scss-module__La-d5a__linesSection{height:21vh;min-height:112px}.hero-module-scss-module__La-d5a__terminalSection{min-height:50vh;margin-top:-33px;padding:0 50px}.hero-module-scss-module__La-d5a__terminalContainer{width:100%;max-width:calc(100vw - 60px)}.hero-module-scss-module__La-d5a__windowBar{padding:0 12px}.hero-module-scss-module__La-d5a__windowBar .hero-module-scss-module__La-d5a__windowTitle{font-size:11px}.hero-module-scss-module__La-d5a__windowBar .hero-module-scss-module__La-d5a__windowButton{width:10px;height:10px}.hero-module-scss-module__La-d5a__terminalWrapper .terminal{min-height:250px!important;padding:20px!important}}@media screen and (min-width:800px){.hero-module-scss-module__La-d5a__terminalSection{margin-top:-33px;padding:0 30px}.hero-module-scss-module__La-d5a__terminalWrapper .terminal{min-height:350px!important}}@media screen and (min-width:1200px){.hero-module-scss-module__La-d5a__gradientSection,.hero-module-scss-module__La-d5a__linesSection{height:35vh}.hero-module-scss-module__La-d5a__terminalContainer{max-width:1000px}.hero-module-scss-module__La-d5a__gradientPattern:before{animation:20s ease-in-out infinite hero-module-scss-module__La-d5a__gradientFloat}}@keyframes hero-module-scss-module__La-d5a__gradientFloat{0%,to{opacity:.6;transform:scale(1)}50%{opacity:.8;transform:scale(1.02)}}
@keyframes terminal-module-scss-module__QiyRTa__cursorAnimation{0%{opacity:0}50%{opacity:1}to{opacity:0}}.terminal-module-scss-module__QiyRTa__terminal{text-wrap:wrap;opacity:0;background-color:#0000;border:none;border-radius:0;width:100%;height:auto;min-height:300px;padding:8px 20px 20px;animation:.8s ease-out forwards terminal-module-scss-module__QiyRTa__dropIn;transform:translateY(20px)}.terminal-module-scss-module__QiyRTa__terminal *{color:#fff;text-wrap:wrap;font-size:16px}.terminal-module-scss-module__QiyRTa__line{word-wrap:break-word;overflow-wrap:break-word;max-width:80vw}.terminal-module-scss-module__QiyRTa__line span{white-space:normal}.terminal-module-scss-module__QiyRTa__cursor,.terminal-module-scss-module__QiyRTa__cursorAnimation{background-color:#fff}.terminal-module-scss-module__QiyRTa__cursorAnimation{animation:1.3s step-start infinite terminal-module-scss-module__QiyRTa__cursorAnimation}.terminal-module-scss-module__QiyRTa__terminalOutput{font-weight:300}.terminal-module-scss-module__QiyRTa__textWrapper{flex-direction:row;height:fit-content;display:flex}@media screen and (max-width:800px){.terminal-module-scss-module__QiyRTa__terminal{padding:8px 20px 20px}.terminal-module-scss-module__QiyRTa__terminal *{color:#fff;text-wrap:wrap;font-size:14px}}@media screen and (min-width:800px){.terminal-module-scss-module__QiyRTa__terminal{min-height:400px}}@keyframes terminal-module-scss-module__QiyRTa__dropIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@keyframes projects-module-scss-module__4QbKGW__cursorAnimation{0%{opacity:0}50%{opacity:1}to{opacity:0}}.projects-module-scss-module__4QbKGW__projectWrapper{border-top:none;border-bottom:1px solid #444;width:100%;padding:0 30px;position:relative}.projects-module-scss-module__4QbKGW__projectHeader,.projects-module-scss-module__4QbKGW__projectPageHeader{box-sizing:border-box;max-width:1000px;margin:0 auto;padding:40px 31px 0}.projects-module-scss-module__4QbKGW__projectPageHeader{border-left:1px solid #444;border-right:1px solid #444;height:120px!important}.projects-module-scss-module__4QbKGW__projectSectionTitle{color:#fff;margin:0 0 20px;font-size:28px;font-weight:600;line-height:1.2}.projects-module-scss-module__4QbKGW__projectGrid{box-sizing:border-box;border-left:1px solid #444;border-right:1px solid #444;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));align-items:stretch;gap:24px;max-width:1000px;margin:0 auto;padding:20px 31px 40px;display:grid}.projects-module-scss-module__4QbKGW__projectCard{background:#b095ea08;border:1px solid #444;border-radius:5px;flex-direction:column;height:100%;transition:all .3s;display:flex;overflow:hidden;box-shadow:0 2px 8px #0000001a}.projects-module-scss-module__4QbKGW__projectCard:hover{border-color:#b095ea4d;transform:translateY(-4px);box-shadow:0 8px 20px #00000026}.projects-module-scss-module__4QbKGW__projectHeader,.projects-module-scss-module__4QbKGW__projectPageHeader{width:100%;height:270px;overflow:hidden}.projects-module-scss-module__4QbKGW__projectImage{object-fit:cover;width:100%;height:100%;transition:transform .3s;display:block}.projects-module-scss-module__4QbKGW__projectContent{flex:1;padding:20px}.projects-module-scss-module__4QbKGW__projectTitle{color:#fff;margin:0 0 6px;font-size:18px;font-weight:600;line-height:1.3}.projects-module-scss-module__4QbKGW__projectSubtitle{color:#afafaf;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin:0 0 16px;font-size:14px;line-height:1.4;display:-webkit-box;overflow:hidden}.projects-module-scss-module__4QbKGW__projectDetails{margin:0;padding-left:16px;list-style:none}.projects-module-scss-module__4QbKGW__projectDetails li{color:#afafaf;margin-bottom:8px;font-size:13px;line-height:1.4;position:relative}.projects-module-scss-module__4QbKGW__projectDetails li:before{content:"•";color:#afafaf;font-size:14px;font-weight:600;position:absolute;left:-16px}.projects-module-scss-module__4QbKGW__projectDetails li:last-child{margin-bottom:0}.projects-module-scss-module__4QbKGW__projectFooter{background:#b095ea05;border-top:1px solid #b095ea0d;justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;display:flex}.projects-module-scss-module__4QbKGW__projectLink{color:#fff;text-align:center;letter-spacing:.01em;background:#1a1c21;border:1px solid #2a2c31;border-radius:4px;flex:1;padding:6px 12px;font-size:11px;font-weight:400;text-decoration:none;transition:all .15s}.projects-module-scss-module__4QbKGW__projectLink:hover{background:#242731;border-color:#3a3c41;transform:none}.projects-module-scss-module__4QbKGW__projectLink:active{background:#141618;border-color:#1a1c21}@media screen and (max-width:980px){.projects-module-scss-module__4QbKGW__projectHeader,.projects-module-scss-module__4QbKGW__projectPageHeader{border-left:none;border-right:none;padding:40px 50px 0}.projects-module-scss-module__4QbKGW__projectGrid{border-left:none;border-right:none;padding:20px 50px 40px}}@media screen and (max-width:768px){.projects-module-scss-module__4QbKGW__projectHeader,.projects-module-scss-module__4QbKGW__projectPageHeader{padding:24px 50px 0}.projects-module-scss-module__4QbKGW__projectSectionTitle{margin-bottom:16px;font-size:24px}.projects-module-scss-module__4QbKGW__projectGrid{grid-template-columns:1fr;gap:16px;padding:16px 50px 24px}.projects-module-scss-module__4QbKGW__projectHeader,.projects-module-scss-module__4QbKGW__projectPageHeader{height:120px}.projects-module-scss-module__4QbKGW__projectContent{padding:16px}.projects-module-scss-module__4QbKGW__projectTitle{font-size:16px}.projects-module-scss-module__4QbKGW__projectSubtitle{margin-bottom:12px;font-size:13px}.projects-module-scss-module__4QbKGW__projectDetails li{font-size:12px}.projects-module-scss-module__4QbKGW__projectFooter{flex-direction:column;gap:8px;padding:12px 16px}.projects-module-scss-module__4QbKGW__projectLink{padding:6px 10px;font-size:10px}}@media screen and (max-width:400px){.projects-module-scss-module__4QbKGW__projectHeader,.projects-module-scss-module__4QbKGW__projectPageHeader{padding:30px 20px 0}.projects-module-scss-module__4QbKGW__projectSectionTitle{font-size:22px}.projects-module-scss-module__4QbKGW__projectGrid{padding:16px 20px 30px}}@media screen and (min-width:1200px){.projects-module-scss-module__4QbKGW__projectGrid{grid-template-columns:repeat(auto-fit,minmax(350px,1fr))}}
@keyframes footer-module-scss-module__cv_yfG__cursorAnimation{0%{opacity:0}50%{opacity:1}to{opacity:0}}.footer-module-scss-module__cv_yfG__footerWrapper{padding-bottom:30px}.footer-module-scss-module__cv_yfG__footer{border:1px solid #444;border-left:none;border-right:none;flex-direction:row;padding:30px 60px;font-size:13px;display:flex}.footer-module-scss-module__cv_yfG__f,.footer-module-scss-module__cv_yfG__f2,.footer-module-scss-module__cv_yfG__f1{flex-grow:1;justify-content:flex-start;align-items:center;display:flex}.footer-module-scss-module__cv_yfG__f2{justify-content:flex-end;align-items:flex-end}.footer-module-scss-module__cv_yfG__ytLink{color:#fff}@media screen and (max-width:800px){.footer-module-scss-module__cv_yfG__footerWrapper{padding-bottom:10px}.footer-module-scss-module__cv_yfG__footer{flex-direction:column;gap:20px}.footer-module-scss-module__cv_yfG__f2{justify-content:flex-start}}
@keyframes workexperience-module-scss-module__Iy3LPq__cursorAnimation{0%{opacity:0}50%{opacity:1}to{opacity:0}}.workexperience-module-scss-module__Iy3LPq__workExperienceWrapper{border-top:1px solid #444;border-bottom:1px solid #444;width:100%;padding:0 30px;position:relative}.workexperience-module-scss-module__Iy3LPq__contentContainer{box-sizing:border-box;border-left:1px solid #444;border-right:1px solid #444;max-width:1000px;min-height:400px;margin:0 auto;padding:60px 31px}.workexperience-module-scss-module__Iy3LPq__introText{color:#fff;margin-bottom:32px;font-size:18px;font-weight:400}.workexperience-module-scss-module__Iy3LPq__experienceList{margin:0 0 40px;padding:0;list-style:none}.workexperience-module-scss-module__Iy3LPq__experienceItem{margin-bottom:32px}.workexperience-module-scss-module__Iy3LPq__experienceItem:last-child{margin-bottom:0}.workexperience-module-scss-module__Iy3LPq__companyHeader{color:#fff;margin-bottom:12px;font-size:16px;line-height:1.4}.workexperience-module-scss-module__Iy3LPq__companyHeader strong{font-weight:600}.workexperience-module-scss-module__Iy3LPq__roleDetails{margin:0;padding-left:20px;list-style:none}.workexperience-module-scss-module__Iy3LPq__roleDetails li{color:#afafaf;margin-bottom:8px;font-size:14px;line-height:1.5;position:relative}.workexperience-module-scss-module__Iy3LPq__roleDetails li:before{content:"•";color:#afafaf;font-size:16px;font-weight:600;position:absolute;left:-20px}.workexperience-module-scss-module__Iy3LPq__roleDetails li:last-child{margin-bottom:0}.workexperience-module-scss-module__Iy3LPq__roleDetails li strong{color:#fff;font-weight:600}.workexperience-module-scss-module__Iy3LPq__cvLink{margin-top:40px;font-size:16px}.workexperience-module-scss-module__Iy3LPq__cvLink a{color:#b095ea;text-decoration:none;transition:color .2s}.workexperience-module-scss-module__Iy3LPq__cvLink a:hover{color:#fff;text-decoration:underline}@media screen and (max-width:980px){.workexperience-module-scss-module__Iy3LPq__contentContainer{border-left:none;border-right:none;padding:40px 50px}.workexperience-module-scss-module__Iy3LPq__introText{font-size:16px}.workexperience-module-scss-module__Iy3LPq__companyHeader{font-size:15px}.workexperience-module-scss-module__Iy3LPq__roleDetails li{font-size:13px}.workexperience-module-scss-module__Iy3LPq__cvLink{font-size:15px}}@media screen and (max-width:400px){.workexperience-module-scss-module__Iy3LPq__contentContainer{padding:30px 20px}.workexperience-module-scss-module__Iy3LPq__roleDetails{padding-left:16px}.workexperience-module-scss-module__Iy3LPq__roleDetails li:before{left:-16px}}
@keyframes background-module-scss-module__vpzgOa__cursorAnimation{0%{opacity:0}50%{opacity:1}to{opacity:0}}.background-module-scss-module__vpzgOa__background{z-index:10;pointer-events:none;border:0;border-left:1px solid #444;border-right:1px solid #444;position:fixed;inset:0 30px}
@keyframes skills-module-scss-module__e5t8qW__cursorAnimation{0%{opacity:0}50%{opacity:1}to{opacity:0}}.skills-module-scss-module__e5t8qW__skillsWrapper{border-top:none;border-bottom:1px solid #444;width:100%;padding:0;position:relative}.skills-module-scss-module__e5t8qW__contentContainer{box-sizing:border-box;border-left:1px solid #444;border-right:1px solid #444;max-width:1000px;min-height:400px;margin:0 auto;padding:60px 31px}.skills-module-scss-module__e5t8qW__sectionTitle{color:#fff;margin:0 0 40px;font-size:28px;font-weight:600;line-height:1.2}.skills-module-scss-module__e5t8qW__skillCategory{margin-bottom:48px}.skills-module-scss-module__e5t8qW__skillCategory:last-child{margin-bottom:0}.skills-module-scss-module__e5t8qW__categoryTitle{color:#fff;margin:0 0 20px;font-size:18px;font-weight:500;line-height:1.4}.skills-module-scss-module__e5t8qW__skillsList{flex-wrap:wrap;align-items:center;gap:12px 0;margin:0 0 20px;padding:0;line-height:1.6;display:flex}.skills-module-scss-module__e5t8qW__skillItem{align-items:center;gap:8px;transition:all .2s;display:flex}.skills-module-scss-module__e5t8qW__skillItem:hover{transform:translateY(-1px)}.skills-module-scss-module__e5t8qW__skillItem:hover .skills-module-scss-module__e5t8qW__skillName{color:#b095ea}.skills-module-scss-module__e5t8qW__skillLogo{object-fit:contain;opacity:.8;flex-shrink:0;width:20px;height:20px}.skills-module-scss-module__e5t8qW__skillName{color:#fff;font-size:15px;font-weight:400;line-height:1.4;transition:color .2s}.skills-module-scss-module__e5t8qW__skillSeparator{color:#afafaf;opacity:.6;-webkit-user-select:none;user-select:none;margin:0 12px;font-size:15px;font-weight:300}.skills-module-scss-module__e5t8qW__categoryNotes{margin:20px 0 0;padding-left:20px;list-style:none}.skills-module-scss-module__e5t8qW__categoryNotes li{color:#afafaf;margin-bottom:8px;font-size:14px;line-height:1.5;position:relative}.skills-module-scss-module__e5t8qW__categoryNotes li:before{content:"•";color:#afafaf;font-size:16px;font-weight:600;position:absolute;left:-20px}.skills-module-scss-module__e5t8qW__categoryNotes li:last-child{margin-bottom:0}.skills-module-scss-module__e5t8qW__categoryNotes li strong{color:#fff;font-weight:600}@media screen and (max-width:980px){.skills-module-scss-module__e5t8qW__contentContainer{border-left:none;border-right:none;padding:40px 50px}.skills-module-scss-module__e5t8qW__sectionTitle{margin-bottom:32px;font-size:24px}.skills-module-scss-module__e5t8qW__categoryTitle{margin-bottom:16px;font-size:16px}.skills-module-scss-module__e5t8qW__skillsList{gap:10px 0}.skills-module-scss-module__e5t8qW__skillItem{gap:6px}.skills-module-scss-module__e5t8qW__skillLogo{width:18px;height:18px}.skills-module-scss-module__e5t8qW__skillName{font-size:14px}.skills-module-scss-module__e5t8qW__skillSeparator{margin:0 10px;font-size:14px}.skills-module-scss-module__e5t8qW__skillCategory{margin-bottom:36px}.skills-module-scss-module__e5t8qW__categoryNotes{margin-top:16px;padding-left:16px}.skills-module-scss-module__e5t8qW__categoryNotes li{font-size:13px}.skills-module-scss-module__e5t8qW__categoryNotes li:before{left:-16px}}@media screen and (max-width:480px){.skills-module-scss-module__e5t8qW__skillsList{gap:8px 0}.skills-module-scss-module__e5t8qW__skillItem{gap:6px}.skills-module-scss-module__e5t8qW__skillLogo{width:16px;height:16px}.skills-module-scss-module__e5t8qW__skillName{font-size:13px}.skills-module-scss-module__e5t8qW__skillSeparator{margin:0 8px;font-size:13px}}
@keyframes separator-module-scss-module__m79wXq__cursorAnimation{0%{opacity:0}50%{opacity:1}to{opacity:0}}.separator-module-scss-module__m79wXq__separator{border-bottom:1px solid #444;position:relative}
