body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--bg-color:#fff;--text-color:#333;--text-color-bright:#000;--accent-color:#06f;--font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}@keyframes fadeInUp{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}body{background-color:#fff;background-color:var(--bg-color);color:#333;color:var(--text-color);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-family:var(--font-family);line-height:1.6;margin:0;scroll-behavior:smooth}.portfolio{max-width:1600px;padding:0 150px}.portfolio-left{max-width:480px;padding:100px 0}.portfolio-right{margin-left:40%;max-width:800px;padding:100px 0 60px 100px}header{height:100%;justify-content:space-between}.top-content,header{display:flex;flex-direction:column}.top-content{gap:24px}.header-content{margin-bottom:0}h1{color:#000;color:var(--text-color-bright);font-size:56px;font-weight:600;letter-spacing:-.02em;line-height:1.1;margin:0}h2{font-weight:500;margin:10px 0 20px;opacity:.9}.tagline,h2{color:#333;color:var(--text-color);font-size:16px}.tagline{line-height:1.5;margin:20px 0 0;max-width:540px}.section-nav{margin:0}.section-nav ul{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0;padding:0}.nav-link{background:none;border:none;color:#333;color:var(--text-color);cursor:pointer;font-size:14px;font-weight:500;letter-spacing:.5px;padding:0;text-align:left;text-decoration:none;transition:color .2s}.nav-link.active,.nav-link:hover{color:#06f;color:var(--accent-color)}.experience-item,.project-item{border-radius:12px;display:flex;gap:40px;margin:-32px -32px 32px;padding:32px;position:relative;transition:all .25s cubic-bezier(.645,.045,.355,1)}.experience-item:first-child,.project-item:first-child{margin-top:-32px}.experience-item:last-child,.project-item:last-child{margin-bottom:-32px}.experience-item:hover,.project-item:hover{-webkit-backdrop-filter:none;backdrop-filter:none;background-color:initial;box-shadow:none}.experience-item:after,.project-item:after{border:1px solid #0000000d;border-radius:12px;content:"";inset:0;opacity:0;position:absolute;transition:all .25s cubic-bezier(.645,.045,.355,1)}.experience-item:hover:after,.project-item:hover:after{opacity:0}.experience-item h3,.project-item h3{transition:color .2s ease}.experience-item:hover h3,.project-item:hover h3{color:#000;color:var(--text-color-bright)}.date{color:#333;color:var(--text-color);font-size:13px;line-height:1.2;min-width:140px;opacity:.6;padding-top:4px}.role-details h3{color:#000;color:var(--text-color-bright);font-size:20px;font-weight:600;line-height:1.2;margin:0 0 4px}.role-details .secondary-role{font-size:16px;margin:4px 0}.location,.role-details .secondary-role{color:#333;color:var(--text-color);opacity:.7}.location{font-size:13px;margin:4px 0 12px}.role-details .description,.role-details p{color:#333;color:var(--text-color);font-size:13px;line-height:1.4;margin:16px 0;opacity:.8;text-align:left}.skills{display:flex;flex-wrap:wrap;gap:15px;margin-top:20px}.skill-tag{border-radius:4px;color:#06f;color:var(--accent-color);font-size:12px;letter-spacing:.5px;padding:6px 14px;transition:all .25s cubic-bezier(.645,.045,.355,1)}.experience-item:hover .skill-tag,.project-item:hover .skill-tag,.skill-tag{background-color:#0066ff0d}.reference-link{color:#333;color:var(--text-color);font-size:14px;margin-right:16px}@media screen and (max-width:1024px){.portfolio{display:block;flex-direction:column;margin:0;max-width:100%;padding:0 21px 0 15px!important;width:100%}.portfolio-left{height:auto!important;margin:35px 0 20px!important;padding:50px 14px 60px 10px!important;position:static!important}.portfolio-left,.portfolio-right{max-width:none!important;width:100%!important}.portfolio-right{margin:0!important;padding:0 14px 50px 10px!important}.projects-grid{align-items:center;display:flex;padding:0}.project-card,.projects-grid{flex-direction:column;margin:0;width:100%}.project-card{align-items:flex-start;gap:0!important;max-width:600px;padding:12px 0!important}.project-card:after{display:none}.project-image{flex:none;margin-bottom:0!important;width:30%}.image-wrapper{padding-top:56.25%}.project-content{gap:2px;margin:0!important;padding:0!important;width:100%}.project-card .project-header{margin:0 0 8px!important}.project-card h3,.project-title{font-size:18px;margin:0!important}.project-description{background:none;font-size:14px;line-height:1.6;margin:2px 0 0;opacity:.8;padding:0}.project-tech-list{margin-top:8px}.experience-item:after,.project-item:after{display:none}.experience-item{flex-direction:column;gap:8px;margin:0;padding:25px 0;width:100%}.date{font-size:11px;margin:0;min-width:0;min-width:auto;opacity:.6;padding:0}.role-details{display:flex;flex-direction:column;gap:2px}.role-details h3{font-size:18px;margin:0 0 -2px}.role-details .secondary-role{font-size:15px;margin:0}.location{font-size:13px;margin:-2px 0 8px;opacity:.7}.role-details .description,.role-details p{font-size:14px;line-height:1.6;margin:2px 0 0;opacity:.8}.skills{margin-top:12px}section{margin:0 0 60px!important;padding:0}.about p{margin:0 0 16px}.section-nav{display:none!important}h1{font-size:48px;margin-bottom:10px}h2{font-size:16px;margin:5px 0}.tagline{font-size:15px;margin:20px 0}.section-header-container{padding:0 16px 0 0}.section-header{display:block;font-size:18px;position:-webkit-sticky;position:sticky;top:0;z-index:10}.header-location{display:none}.view-resume{display:inline-block;margin-top:50px}}@media screen and (max-width:768px){.portfolio-left{margin:40px 0 25px!important;padding:35px 10px 50px 8px!important}.portfolio-right{padding:0 10px 35px 8px!important}h1{font-size:40px}.section-header-container{padding:0 12px 0 0}.experience-item,.project-card{padding:20px 0}.project-card{gap:0!important}.project-image{width:38%}}@media screen and (max-width:480px){.portfolio-left{margin:25px 0 15px!important;padding:25px 8px 40px 5px!important}.portfolio-right{padding:0 8px 25px 5px!important}h1{font-size:36px}.experience-item{padding:16px 0}.about p,.role-details .description,.role-details p{padding:0 2px}section{padding:16px 0}.section-header-container{padding:0 8px 0 0}.project-card{gap:0!important;padding:16px 0}.project-image{width:45%}}section{margin-bottom:120px;position:relative}.cv-container section{scroll-margin-top:90px}.portfolio:not(.cv-container) section.about{scroll-margin-top:120px}.portfolio:not(.cv-container) section.projects,.portfolio:not(.cv-container) section.work-experience{scroll-margin-top:80px}.about{padding-top:8px}.about p{margin:0 0 16px;text-align:left}.about p:last-child{margin-bottom:0}.work-experience{padding-top:0}.bottom-content{display:flex;flex-direction:column;gap:24px;margin-top:auto;padding-bottom:20px}.education-brief{color:#333;color:var(--text-color);font-size:16px}.education-brief p{font-weight:500;margin:0}.education-brief .school{color:#333;color:var(--text-color);font-size:14px;margin-top:4px;opacity:.8}.social-links{align-items:center;display:flex;gap:12px}.social-links a{color:#333;color:var(--text-color);font-size:32px;transition:color .2s}.social-links a:hover{color:#06f;color:var(--accent-color)}.social-links .icon-button{align-items:flex-end;background:none;border:none;color:#333;color:var(--text-color);cursor:pointer;display:flex;font-size:32px;height:32px;margin:0;padding:0;transition:color .2s}.social-links .icon-button:hover{color:#06f;color:var(--accent-color)}section:first-of-type p:first-child{margin-top:0}.projects{padding-top:0}.cv-content{margin-top:8px}.projects-grid{margin:8px -32px 32px;padding-left:12px}.project-card{align-items:flex-start;display:flex;gap:15px;margin-bottom:0;max-width:calc(100% - 32px);padding:20px 20px 20px 0;position:relative}.project-card,.project-card:after{transition:all .25s cubic-bezier(.645,.045,.355,1)}.project-card:after{border:1px solid #0000000d;border-radius:12px;content:"";inset:0;opacity:0;position:absolute}.project-card:hover:after{opacity:1}.project-card:hover{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-shadow:0 0 1px #0000001a}.project-card:hover .project-title{color:#06f;color:var(--accent-color)}.view-archive,.view-resume{color:#333;color:var(--text-color);display:inline-block;font-size:16px;font-weight:600;margin-left:-32px;margin-top:0;opacity:1;padding:0 32px;text-decoration:none;transition:color .2s}.view-archive:hover,.view-resume:hover{color:#06f;color:var(--accent-color);opacity:1;text-decoration:underline;text-underline-offset:4px}.view-archive:after,.view-resume:after{display:none}.view-archive{margin-left:0;margin-top:16px;padding:0}.company-link{color:inherit;cursor:pointer;position:relative;text-decoration:none;transition:color .2s;z-index:1}.company-link:hover{color:#06f;color:var(--accent-color)}.experience-item:hover .company-link{pointer-events:auto}.footer{margin-top:40px;padding-top:20px}.footer p{font-size:13px;line-height:1.5;opacity:.7}.footer a,.footer p{color:#333;color:var(--text-color)}.footer a{padding:0 2px;text-decoration:none;transition:color .2s}.footer a:hover{color:#06f;color:var(--accent-color)}.name-link{color:#000;color:var(--text-color-bright);text-decoration:none;transition:color .2s}.name-link:hover{color:#06f;color:var(--accent-color)}.contact-info{color:#333;color:var(--text-color);font-size:14px;margin-top:16px;opacity:.8}.contact-link{color:inherit;text-decoration:none;transition:color .2s}.contact-link:hover{color:#06f;color:var(--accent-color)}.contact-divider{margin:0 8px}.contact-location{color:inherit}.contact-social{display:flex;flex-direction:column;gap:12px}.subtitle{color:#333;color:var(--text-color);font-size:14px;margin:8px 0 16px;opacity:.8}.subtitle .contact-link{color:inherit;text-decoration:none;transition:color .2s}.subtitle .contact-link:hover{color:#06f;color:var(--accent-color)}.subtitle .contact-divider{margin:0 8px}.middle-content{margin:auto 0;padding:40px 0}.contact-links{display:flex;flex-direction:column;gap:4px}.contact-links .contact-link{color:#333;color:var(--text-color);font-size:14px;opacity:.7;text-decoration:none;transition:color .2s}.contact-links .contact-link:hover,.social-links a:hover{color:#06f;color:var(--accent-color);opacity:1}h1 a{color:inherit;text-decoration:none}h1 a:hover{color:#06f;color:var(--accent-color)}.project-image{flex:0 0 135px}.image-wrapper,.project-image{border-radius:4px;overflow:hidden}.image-wrapper{background-color:#ffffff0d;padding-top:56.25%;position:relative}.project-content{display:flex;flex:1 1;flex-direction:column;overflow:hidden;padding-top:0}.project-title{color:#000;line-height:1}.title-arrow{display:inline-block;font-size:18px;margin-left:4px;transition:transform .2s ease;vertical-align:middle}a:hover>.title-arrow{transform:translate(2px,-2px)}a:hover>.title-arrow-right{transform:translateX(4px)}a:hover>.title-arrow-left{transform:translateX(-4px)}.project-description{background-color:#ffffff0d;border-radius:4px;color:#333;line-height:1.4;margin:8px 0;padding:0;text-align:left}.project-tech-list{gap:15px;margin:8px 0 0}.project-tech-list li{color:#06f}.project-card .project-header{margin:0}.projects-grid .project-card .project-header{margin:0!important}.tooltip-container{align-items:center;display:flex;position:relative}.tooltip{animation:fadeInOut 2s ease;background-color:#333;background-color:var(--text-color);border-radius:4px;bottom:-30px;color:#fff;color:var(--bg-color);font-size:12px;left:50%;padding:4px 8px;pointer-events:none;position:absolute;transform:translateX(-50%);white-space:nowrap;z-index:10}@keyframes fadeInOut{0%{opacity:0}10%{opacity:1}90%{opacity:1}to{opacity:0}}.tech-pill{border-radius:4px;color:#06f;color:var(--accent-color);font-size:12px;letter-spacing:.5px;padding:4px 10px;transition:all .25s cubic-bezier(.645,.045,.355,1);white-space:nowrap}.experience-item:hover .tech-pill,.project-card:hover .tech-pill,.tech-pill{background-color:#0066ff0d}.tech-list{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:8px 0 0;padding:0}.project-tech-list,.skills{display:none}.project-stats{gap:12px;margin-right:12px}.project-stats,.stat-item{align-items:center;display:flex}.stat-item{color:#333;color:var(--text-color);font-size:14px;gap:4px;opacity:.7}.stat-item svg{font-size:16px}.project-links{align-items:center}.project-links .external-link{color:#333;color:var(--text-color);font-size:16px;opacity:.7;transition:color .2s}.project-links .external-link:hover{color:#06f;color:var(--accent-color);opacity:1}.cv-section h2{line-height:1;margin:0;padding:0}.cv-section>div:first-of-type,.experience-item:first-of-type{margin-top:0}.section-header{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background-color:#ffffffd9;color:#000;color:var(--text-color-bright);display:none;font-size:20px;font-weight:600;letter-spacing:1px;margin:0;padding:20px 0;position:relative;text-transform:uppercase}.section-header-title{color:inherit;font-size:inherit;font-weight:inherit;letter-spacing:inherit;margin:0;padding:0;text-transform:inherit}.section-header-container{align-items:center;display:flex;justify-content:space-between;padding:0 24px 0 0}.section-nav-mobile{display:none}.section-sentinel{height:0;visibility:hidden;width:0}@media screen and (max-width:1024px){.section-header{background-color:#ffffffd9;display:block;font-size:18px;margin-left:-25px;margin-right:-35px;padding:30px 35px 40px 25px;position:-webkit-sticky;position:sticky;top:0;z-index:10}.section-header-container{padding:0}.section-nav-mobile{align-items:center;display:none;gap:16px}.section-header.is-stuck .section-nav-mobile{display:flex}.section-nav-mobile a{color:#333;color:var(--text-color);font-size:14px;letter-spacing:normal;opacity:.7;text-decoration:none;text-transform:none;transition:all .2s}.section-nav-mobile a.active,.section-nav-mobile a:hover{color:#06f;color:var(--accent-color);opacity:1}.bottom-content .cv-navigation{display:none}}@media screen and (max-width:768px){.section-header{font-size:16px;margin-left:-23px;margin-right:-31px;padding:20px 31px 20px 23px}.section-header-container{padding:0 12px 0 0}.section-nav-mobile{gap:12px}.section-nav-mobile a{font-size:13px}}@media screen and (max-width:480px){.section-header{font-size:15px;letter-spacing:.8px;margin-left:-20px;margin-right:-29px;padding:20px 29px 16px 20px}.section-header-container{padding:0 8px 0 0}.section-nav-mobile{gap:10px}.section-nav-mobile a{font-size:12px}}section{counter-increment:section}.about-section p{margin-bottom:1rem}.about-section a{color:#333;color:var(--text-color);font-weight:600;position:relative;text-decoration:none;transition:color .2s ease}.about-section a:hover{color:#06f;color:var(--accent-color)}.about-section a:after{background-color:#06f;background-color:var(--accent-color);bottom:-2px;content:"";height:1px;left:0;position:absolute;transform:scaleX(0);transform-origin:right;transition:transform .3s ease;width:100%}.about-section a:hover:after{transform:scaleX(1);transform-origin:left}.about-link:after{background-color:#06f;background-color:var(--accent-color);bottom:-2px;content:"";height:1px;left:0;position:absolute;transform:scaleX(0);transform-origin:right;transition:transform .3s ease;width:100%}.about-link:hover:after{transform:scaleX(1);transform-origin:left}.about strong{color:#333;color:var(--text-color);font-weight:600}.about-link{position:relative}.about strong,.about-link,.about-section strong{color:#333;color:var(--text-color);font-weight:600}.about-link{text-decoration:none;transition:color .2s ease}.about-link:hover{color:#06f;color:var(--accent-color)}.about a,.about strong,.about-link,.about-section a,.about-section strong{color:#333;color:var(--text-color);font-weight:600;text-decoration:none;transition:color .2s ease}.about a:hover,.about-link:hover,.about-section a:hover{color:#06f;color:var(--accent-color)}.about a:after,.about a:hover:after,.about-link:after,.about-link:hover:after,.about-section a:after,.about-section a:hover:after{display:none}.portfolio-left .top-content{animation:fadeInUp .35s ease both}.portfolio-left .bottom-content{animation:fadeInUp .35s ease .08s both}.portfolio-right section:first-of-type{animation:fadeInUp .3s ease .04s both}.portfolio-right section:nth-of-type(2){animation:fadeInUp .3s ease .1s both}.portfolio-right section:nth-of-type(3){animation:fadeInUp .3s ease .16s both}.portfolio-right .footer{animation:fadeInUp .3s ease .2s both}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.portfolio{margin:0 auto;max-width:1400px;min-height:100vh;padding:0 80px;width:100%}.portfolio,.portfolio-left{box-sizing:border-box;display:flex}.portfolio-left{flex-direction:column;height:100vh;justify-content:space-between;max-width:600px;padding:90px 60px 60px 0;position:fixed;width:40%}.portfolio-right{box-sizing:border-box;margin-left:45%;max-width:700px;padding:90px 0 60px 60px;width:60%}.cv-container{background-color:var(--bg-color);color:var(--text-color);display:flex;min-height:100vh}.cv-container .portfolio-left{max-width:400px;padding-top:90px;width:25%}.cv-container .portfolio-right{margin-left:28%;max-width:900px;padding-top:90px;width:75%}.cv-nav ul{list-style:none;margin:0;padding:0}.cv-nav a{color:var(--text-color);display:block;opacity:.7;padding:12px 40px;text-decoration:none;transition:all .2s}.cv-nav a.active,.cv-nav a:hover{background-color:#ffffff0d;color:var(--accent-color);opacity:1}.cv-content{display:flex;flex-direction:column;gap:16px;margin-top:0;max-width:100%}.cv-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:60px}.cv-header h1{font-size:36px;margin:0}.pdf-download{background-color:#0066ff1a;border-radius:4px;color:var(--accent-color);padding:8px 16px;text-decoration:none;transition:background-color .2s}.pdf-download:hover{background-color:#06f3}.cv-section{margin-bottom:40px;scroll-margin-top:90px}.cv-section h2{color:var(--text-color-bright);font-size:16px;font-weight:600;letter-spacing:1px;margin-bottom:8px;text-transform:uppercase}.cv-section h2:after{background:#ffffff26;bottom:-1px;content:"";height:1px;left:0;position:absolute;width:100%}.cv-content,.info-table{margin-top:4px}.info-table{display:flex;flex-direction:column;gap:8px}.cv-item{margin-bottom:24px}.info-row{align-items:center;display:flex;min-height:28px}.info-label{color:var(--text-color);font-weight:500;opacity:.8;width:120px}.info-value{color:var(--text-color-bright);flex:1 1}.info-link{color:var(--accent-color);text-decoration:none;transition:color .2s}.info-link:hover{opacity:.8}.domain-part{color:var(--text-color);opacity:.8}.phone-part{color:var(--accent-color)}.cv-contact{display:flex;font-size:15px;gap:24px;opacity:.8}.cv-social{display:flex;gap:16px}.cv-social a{color:inherit;text-decoration:none;transition:color .2s}.cv-social a:hover{color:var(--accent-color)}.cv-item h3{color:var(--text-color-bright);font-size:18px;margin-bottom:8px}.cv-subtitle{font-size:15px;margin-bottom:2px;opacity:.8}.cv-date{font-size:14px;margin-bottom:8px;opacity:.7}.cv-skills{display:flex;flex-wrap:wrap;gap:3px;list-style:none;margin-top:16px;padding:0}.cv-skills li{background:#0066ff0d;border-radius:4px;color:var(--accent-color);font-size:13px;padding:2px 8px}.skills-grid{display:flex;flex-direction:column;gap:4px;margin-top:2px}.skill-category{width:100%}.skill-category h4{color:var(--text-color-bright);font-size:16px;margin:2px 0}.skill-category ul{list-style:none;margin:0;padding:0}.skill-category li{font-size:14px;margin-bottom:4px;opacity:.8}.cv-container .section-header{-webkit-backdrop-filter:none;backdrop-filter:none;background-color:var(--bg-color);margin-bottom:8px;padding:0 0 8px}.cv-container .section-header:after{background:#ffffff26;bottom:-1px;content:"";height:1px;left:0;position:absolute;width:100%}@media (max-width:1024px){.cv-container .portfolio-left{padding:40px 0;position:relative;width:100%}.cv-container .portfolio-right{margin-left:0;padding:40px 0;width:100%}.cv-container .section-header{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background-color:#ffffffd9;margin-bottom:0;padding:30px 35px 40px 25px}.cv-container .section-header:after{display:none}}.cv-container .header-content h1,.cv-container .portfolio-left h1{font-size:24px;line-height:1.2}.cv-container .header-content h2,.cv-container .portfolio-left h2{font-size:13px;margin:4px 0 8px;opacity:.8}.info-grid{display:none}.email-separator{color:var(--text-color);margin:0 8px;opacity:.7}.cv-container .section-nav .nav-link{font-size:12px;font-weight:500;letter-spacing:.5px;opacity:.7;transition:all .2s}.cv-container .section-nav .nav-link:hover{color:var(--accent-color);opacity:1}.cv-container .section-nav ul{gap:0}.cv-container .section-nav .nav-link{padding:4px 0}.education-item{margin-top:8px}.education-header{align-items:flex-start;display:flex;gap:12px}.education-date{background:#0066ff0d;border-radius:4px;color:var(--text-color);font-size:13px;opacity:.7;padding:4px 8px;white-space:nowrap}.education-main{flex:1 1}.education-main h3{color:var(--text-color-bright);font-size:16px;margin-bottom:8px}.education-school{margin-bottom:12px}.education-detail,.education-school{color:var(--text-color);font-size:14px;opacity:.7}.education-detail{margin-bottom:4px}.course-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.course-pill{background:#0066ff0d;border-radius:4px;color:var(--accent-color);font-size:13px;padding:2px 8px;white-space:nowrap}.experience-item .company{margin-bottom:4px;margin-top:-4px}.experience-item h3{margin-bottom:4px}.cv-profile-photo{border-radius:58px;height:115px;margin-bottom:16px;overflow:hidden;width:150px}.cv-profile-photo img{height:100%;object-fit:cover;width:100%}.cv-container .name-link{color:inherit;text-decoration:none;transition:color .2s}.cv-container .name-link:hover{color:var(--accent-color)}.projects-grid{display:flex;flex-direction:column;gap:20px}.project-card{border-radius:4px;padding:20px;transition:background-color .2s}.project-card:hover{background-color:#ffffff0d}.project-card{background-color:initial}.project-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:15px}.project-title{color:var(--text-color-bright);font-size:20px;margin:0}.project-title a{color:var(--text-color-bright);text-decoration:none}.project-title a:hover{color:var(--accent-color)}.project-links{display:flex;gap:10px}.external-link{color:var(--text-color);font-size:20px;transition:color .2s}.external-link:hover{color:var(--accent-color)}.project-description{color:var(--text-color);font-size:14px;margin-bottom:15px;opacity:.8}.project-tech-list{display:flex;flex-wrap:wrap;gap:3px;list-style:none;margin:0;padding:0}.project-tech-list li{background:#0066ff0d;border-radius:4px;color:var(--accent-color);font-size:13px;padding:2px 8px;white-space:nowrap}.cv-section h2{background-color:var(--bg-color);padding-bottom:8px;position:relative;z-index:2}.experience-item{border-radius:12px;margin:4px -32px 8px;padding:16px 32px;transition:all .25s cubic-bezier(.645,.045,.355,1)}.cv-section#education .experience-item:first-child{margin-top:4px}.experience-item .role-details h3{margin-bottom:8px}.experience-item .company{margin-bottom:12px}.experience-item .description{margin:12px 0}.cv-section#education .experience-item .cv-skills{margin-bottom:8px}.project-image img{border-radius:4px;height:100%;left:0;object-fit:cover;position:absolute;top:0;transition:all .25s cubic-bezier(.645,.045,.355,1);width:100%}.archive-page{margin:0 auto;max-width:1200px;padding:80px 80px 120px}.archive-top-row{align-items:flex-end;display:flex;justify-content:space-between;margin-bottom:64px}.archive-back-link{color:var(--accent-color);display:inline-block;font-size:17px;font-weight:600;margin-bottom:8px;text-decoration:none;transition:opacity .2s}.archive-back-link:hover{opacity:.7}.archive-title{color:var(--text-color-bright);font-size:48px;font-weight:700;letter-spacing:-.02em;line-height:1.15;margin:0}.archive-view-toggle{background-color:#0000000a;border-radius:8px;display:flex;gap:4px;padding:4px}.view-toggle-btn{align-items:center;background:none;border:none;border-radius:6px;color:var(--text-color);cursor:pointer;display:flex;font-size:18px;height:36px;justify-content:center;opacity:.4;transition:all .2s;width:36px}.view-toggle-btn:hover{opacity:.7}.view-toggle-btn.active{background-color:var(--bg-color);box-shadow:0 1px 3px #00000014;opacity:1}.archive-table{width:100%}.archive-header,.archive-row{grid-column-gap:40px;align-items:start;column-gap:40px;display:grid;grid-template-columns:44px 1fr 1.6fr minmax(160px,auto);padding:20px 0;text-align:left}.archive-header{border-bottom:1px solid #00000014;margin-bottom:0;padding-bottom:20px}.archive-header span{color:var(--text-color);font-size:13px;font-weight:500;letter-spacing:.3px;opacity:.5}.archive-row{border-bottom:1px solid #0000000f;padding:28px 0;transition:background-color .15s}.archive-row:last-child{border-bottom:none}.archive-year{font-feature-settings:"tnum";align-self:start;color:var(--text-color);font-size:12px;font-variant-numeric:tabular-nums;opacity:.4;padding-top:3px}.archive-project{word-wrap:break-word;min-width:0;overflow-wrap:break-word}.archive-project-title{color:var(--text-color-bright);font-size:17px;font-weight:600;line-height:1.3;text-decoration:none;transition:color .2s}a.archive-project-title:hover{color:var(--accent-color)}.archive-tech{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-start}.archive-tech .tech-pill{background-color:#0066ff0d;border-radius:4px;color:var(--accent-color);font-size:11px;letter-spacing:.5px;padding:3px 8px}.archive-link{text-align:left}.archive-link a{color:var(--text-color);font-size:13px;opacity:.5;text-decoration:none;transition:color .2s,opacity .2s;white-space:nowrap}.archive-link a:hover{color:var(--accent-color);opacity:1}.archive-gallery{grid-gap:40px 28px;display:grid;gap:40px 28px;grid-template-columns:repeat(3,1fr)}.archive-card{border-radius:8px;color:inherit;display:flex;flex-direction:column;text-decoration:none;transition:transform .2s ease}a.archive-card:hover{transform:translateY(-2px)}a.archive-card:hover .archive-card-title{color:var(--accent-color)}.archive-card-image{aspect-ratio:16/10;background-color:#0000000a;border-radius:8px;overflow:hidden;position:relative;width:100%}.archive-card-image img{display:block;height:100%;object-fit:cover;transition:transform .3s ease;width:100%}a.archive-card:hover .archive-card-image img{transform:scale(1.03)}.archive-card-placeholder{align-items:center;background:linear-gradient(135deg,#0066ff0f,#0066ff05);display:flex;height:100%;justify-content:center;padding:24px;width:100%}.archive-card-placeholder span{color:var(--text-color);font-size:15px;font-weight:600;line-height:1.3;opacity:.35;text-align:center}.archive-card-arrow{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#ffffffe6;border-radius:50%;color:var(--text-color-bright);display:flex;font-size:14px;height:28px;justify-content:center;opacity:0;position:absolute;right:12px;top:12px;transition:opacity .2s ease;width:28px}a.archive-card:hover .archive-card-arrow{opacity:1}.archive-card-title{color:var(--text-color-bright);font-size:16px;font-weight:600;line-height:1.35;margin:14px 0 0;transition:color .2s}.archive-card-year{font-feature-settings:"tnum";color:var(--text-color);font-family:SF Mono,Fira Code,Fira Mono,Roboto Mono,monospace;font-size:13px;font-variant-numeric:tabular-nums;margin-top:4px;opacity:.4}@media screen and (max-width:1024px){.archive-page{padding:60px 40px 80px}.archive-header,.archive-row{gap:28px;grid-template-columns:50px 1fr 1.4fr minmax(100px,auto)}.archive-gallery{gap:32px 24px;grid-template-columns:repeat(3,1fr)}}@media screen and (max-width:768px){.archive-page{padding:40px 32px 60px}.archive-top-row{margin-bottom:48px}.archive-title{font-size:42px}.archive-header,.archive-row{gap:20px;grid-template-columns:55px 1fr}.archive-col-tech,.archive-header span:last-child,.archive-link,.archive-tech{display:none}.archive-header span{font-size:14px;font-weight:600;opacity:.6}.archive-row{padding:20px 0}.archive-year{font-size:14px;opacity:.5;padding-top:2px}.archive-project-title{font-size:17px;font-weight:700;line-height:1.4}.archive-gallery{gap:28px 20px;grid-template-columns:repeat(2,1fr)}.archive-card-title{font-size:15px}}@media screen and (max-width:480px){.archive-page{padding:30px 24px 40px}.archive-top-row{margin-bottom:40px}.archive-title{font-size:36px}.archive-header,.archive-row{gap:16px;grid-template-columns:48px 1fr}.archive-row{padding:18px 0}.archive-year{font-size:14px}.archive-project-title{font-size:16px}.archive-gallery{gap:32px;grid-template-columns:1fr}.archive-card-arrow{opacity:1}.archive-card-title{font-size:16px}}
/*# sourceMappingURL=main.052bd42f.css.map*/