:root{--primary-color:#59a2de;--secondary-color:#e0e0e0;--text-color:#a9b7c6;--background-color:#20232a;--card-background:#303134;--border-color:#444;--link-hover-color:#59a2de1a;--background-scrolled:#202124e6;--shadow-color:#0009;--job-duration-color:#b0bec5;--gradient-border:linear-gradient(to right, var(--primary-color), #407baa);--font-sans:"Calibre", "Inter", "San Francisco", "SF Pro Text", -apple-system, sans-serif;--font-mono:"SF Mono", "Fira Code", "Fira Mono", "Roboto Mono", monospace;--font-size-xxs:.8rem;--font-size-xs:clamp(.9rem, 1.5vw, 1rem);--font-size-sm:clamp(1rem, 2vw, 1.125rem);--font-size-md:clamp(1.25rem, 3vw, 1.5rem);--font-size-lg:clamp(1.5rem, 4vw, 2rem);--font-size-xl:clamp(1.8rem, 5vw, 2.5rem);--font-size-xxl:clamp(2.2rem, 6vw, 3rem);--font-size-section-heading:clamp(2.5rem, 7vw, 3.5rem);--section-padding-desktop:100px 0;--section-padding-mobile:50px 2rem;--section-padding-desktop-vertical:80px;--section-padding-mobile-vertical:50px}.light-theme{--primary-color:#007acc;--secondary-color:#2b2b2b;--text-color:#555;--background-color:#f5f5f5;--card-background:#eee;--border-color:#ccc;--link-hover-color:#007acc1a;--background-scrolled:#f5f5f5e6;--shadow-color:#0000001a;--job-duration-color:#5e6b91}*,:before,:after{box-sizing:border-box}body{font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--background-color);color:var(--text-color);margin:0;padding:0;line-height:1.5}.content-wrapper{max-width:1200px;margin:0 auto;padding:0 2rem}.section-separator{border-bottom:1px dashed var(--border-color);opacity:.5;width:70%;max-width:900px;margin:20px auto}section{padding:var(--section-padding-desktop-vertical) 0;margin:0 auto}a{color:inherit;text-decoration:none}.view-all-projects-button{border:1px solid #0000;border-image:var(--gradient-border) 1;color:var(--primary-color);font-family:var(--font-mono);font-size:var(--font-size-xs);border-radius:4px;padding:.75rem 1.5rem;text-decoration:none;transition:all .3s ease-in-out;display:inline-block}.view-all-projects-button:hover{background-color:var(--link-hover-color);transform:translateY(-3px)}@media (width<=768px){section{padding:var(--section-padding-mobile)}}.gradient-text{background:var(--gradient-border);-webkit-text-fill-color:transparent;text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.socials-list{flex-direction:column;align-items:center;margin:0;padding:0;list-style:none;display:flex}.socials-list:after{content:"";background-color:var(--text-color);width:1px;height:4rem;margin:0 auto;display:block}.socials-list li{margin-bottom:1rem}.socials-list li a svg{width:1.5rem;height:1.5rem;stroke:var(--text-color);fill:none;transition:all .2s ease-in-out}.socials-list li a:hover svg{stroke:var(--primary-color)}.socials-list li a .feather-scholar{fill:var(--text-color);stroke:none}.socials-list li a:hover .feather-scholar{fill:var(--primary-color)}.navbar{color:var(--secondary-color);z-index:1000;width:100%;font-family:var(--font-mono);background-color:#0000;border-bottom:1px solid #0000;justify-content:space-between;align-items:center;padding:1rem 2rem;transition:background-color .25s cubic-bezier(.645,.045,.355,1),border-color .25s cubic-bezier(.645,.045,.355,1);display:flex;position:fixed;top:0}.navbar.scrolled{background-color:var(--background-color);box-shadow:none;backdrop-filter:none;border-bottom-color:#a9b7c61a}.nav-logo a{font-size:var(--font-size-lg);color:var(--primary-color);font-weight:700;text-decoration:none}.nav-links{flex-wrap:wrap;gap:2rem;margin:0;padding:0;list-style:none;display:flex}.nav-links li:not(.nav-cv){counter-increment:item 1}.nav-links li a{color:var(--secondary-color);font-size:var(--font-size-xs);text-decoration:none;transition:all .3s ease-in-out}.nav-links li a:before{content:"0" counter(item) ".";color:var(--primary-color);font-size:var(--font-size-xxs);text-align:right;margin-right:5px}.nav-links li.nav-cv a:before{content:none}.nav-links a:hover{color:var(--primary-color)}.nav-cv a{border:1px solid var(--primary-color);color:var(--primary-color);border-radius:4px;padding:.5rem 1rem;transition:all .3s ease-in-out}.nav-cv a:hover{background-color:var(--link-hover-color)}.menu-toggle{cursor:pointer;z-index:1010;background:0 0;border:none;width:30px;height:25px;display:none;position:relative}.hamburger-line{background-color:var(--primary-color);width:100%;height:2px;transition:all .3s ease-in-out;display:block;position:absolute;left:0}.hamburger-line:first-child{top:0}.hamburger-line:nth-child(2){top:50%;transform:translateY(-50%)}.hamburger-line:nth-child(3){bottom:0}.hamburger-line.open:first-child{top:50%;transform:translateY(-50%)rotate(45deg)}.hamburger-line.open:nth-child(2){opacity:0}.hamburger-line.open:nth-child(3){bottom:50%;transform:translateY(50%)rotate(-45deg)}.nav-links-mobile{background-color:var(--background-scrolled);width:100vw;height:100vh;box-shadow:none;visibility:hidden;pointer-events:none;z-index:999;font-family:var(--font-mono);flex-direction:column;justify-content:center;align-items:center;margin:0;padding:5rem 2rem;list-style:none;transition:transform .3s ease-in-out,visibility 0s linear .3s;display:flex;position:fixed;top:0;left:0;transform:translateY(-100%)}.nav-links-mobile.open{visibility:visible;pointer-events:auto;box-shadow:0 10px 30px -10px var(--shadow-color);justify-content:center;align-items:center;gap:2rem;transition:transform .3s ease-in-out;display:flex;transform:translateY(0)}.nav-cv-mobile a{border:1px solid var(--primary-color);color:var(--primary-color);border-radius:4px;padding:.75rem 1.5rem;transition:all .3s ease-in-out}.nav-socials-mobile{margin-top:2rem}.nav-socials-mobile .socials-list{flex-direction:row;gap:1.5rem}.nav-socials-mobile .socials-list:after{display:none}.nav-socials-mobile .socials-list li{margin-bottom:0}@media (width<=768px){.nav-links{display:none}.menu-toggle{display:block}}.overlay{backdrop-filter:blur(5px);z-index:998;opacity:0;visibility:hidden;background-color:#0a192fb3;width:100%;height:100%;transition:opacity .3s ease-in-out,visibility .3s ease-in-out;position:fixed;top:0;left:0}.overlay.open{opacity:1;visibility:visible}.home-section{flex-direction:column;justify-content:center;align-items:flex-start;max-width:900px;min-height:92vh;display:flex}.home-section .intro{color:var(--primary-color);font-family:var(--font-mono);font-size:var(--font-size-xs);letter-spacing:.02em;margin:0 0 1rem}.home-section .name{color:var(--secondary-color);letter-spacing:-.035em;margin:0;font-size:clamp(3rem,7vw,4.75rem);line-height:1.05}.home-section .title{color:var(--text-color);letter-spacing:-.025em;margin:.5rem 0 0;font-size:clamp(2rem,5vw,3.5rem);line-height:1.1}.home-section .description{max-width:680px;color:var(--text-color);font-size:var(--font-size-sm);margin:1.75rem 0 0;line-height:1.7}@media (width<=768px){.home-section{min-height:85vh;padding:var(--section-padding-mobile);text-align:left;align-items:flex-start}}.projects-section{padding:100px 0}.projects-heading{white-space:nowrap;color:var(--secondary-color);align-items:center;margin-bottom:40px;font-size:clamp(26px,5vw,32px);display:flex}.projects-heading .projects-number{color:var(--primary-color);font-family:var(--font-mono);margin-right:10px;font-size:clamp(16px,3vw,20px);font-weight:400}.project-card{grid-gap:10px;grid-template-columns:repeat(12,1fr);align-items:center;margin-bottom:100px;display:grid}.project-content{text-align:left;grid-area:1/1/2/7;position:relative}.project-image-container{grid-area:1/6/2/-1;position:relative}.project-card:nth-of-type(2n) .project-content{text-align:right;grid-column:7/-1}.project-card:nth-of-type(2n) .project-image-container{grid-column:1/8}.project-label{color:var(--primary-color);font-family:var(--font-mono);font-size:13px;font-weight:400}.project-title{color:var(--secondary-color);margin:0 0 20px;font-size:clamp(24px,5vw,28px)}.project-description{z-index:2;background-color:var(--card-background);color:var(--text-color);font-size:var(--font-size-sm);border-radius:4px;padding:25px;position:relative;box-shadow:0 10px 30px -15px #020c1bb3}.project-tech-list{z-index:2;flex-wrap:wrap;margin:25px 0 10px;padding:0;list-style:none;display:flex;position:relative}.project-card:nth-of-type(odd) .project-tech-list{justify-content:flex-start}.project-card:nth-of-type(2n) .project-tech-list{justify-content:flex-end}.project-tech-list li{color:var(--text-color);font-family:var(--font-mono);white-space:nowrap;margin:0 20px 5px 0;font-size:13px}.project-card:nth-of-type(2n) .project-tech-list li{margin:0 0 5px 20px}.project-image{vertical-align:middle;mix-blend-mode:normal;filter:none;border-radius:4px;width:100%;max-width:100%;position:relative}.project-card:hover .project-image{filter:none;mix-blend-mode:normal}@media (width<=768px){.project-card{flex-direction:column;margin-bottom:70px;display:flex}.project-content{text-align:left;grid-column:1/-1;padding:40px 40px 30px}.project-image-container{opacity:1;order:-1;grid-column:1/-1;height:100%}.project-description{background-color:var(--card-background);padding:25px;position:static;box-shadow:0 10px 30px -15px #020c1bb3}.project-card:nth-of-type(2n) .project-content{text-align:left}.project-tech-list{justify-content:flex-start}.project-tech-list li,.project-card:nth-of-type(2n) .project-tech-list li{margin:0 10px 5px 0}}.publications-section{max-width:1000px}.publications-heading{font-size:var(--font-size-lg);color:var(--secondary-color);align-items:center;margin-bottom:3rem;display:flex}.publications-number{color:var(--primary-color);font-family:var(--font-mono);font-size:var(--font-size-xs);margin-right:.5rem}.publications-list{border-top:1px solid var(--border-color)}.publication-row{border-bottom:1px solid var(--border-color);grid-template-columns:72px minmax(0,1fr) auto;align-items:start;gap:1.75rem;padding:1.75rem 0;display:grid}.publication-year{color:var(--primary-color);font-family:var(--font-mono);font-size:var(--font-size-xs);line-height:1.5}.publication-main{min-width:0}.publication-title{color:var(--secondary-color);font-size:var(--font-size-sm);margin:0 0 .55rem;font-weight:600;line-height:1.4;transition:color .2s ease-in-out}.publication-row:hover .publication-title{color:var(--primary-color)}.publication-authors{color:var(--text-color);font-size:var(--font-size-xs);margin:0 0 .35rem;line-height:1.55}.publication-author-self{color:var(--secondary-color);font-weight:600}.publication-venue{color:var(--job-duration-color);font-family:var(--font-mono);font-size:var(--font-size-xxs);margin:0}.publication-links{white-space:nowrap;justify-content:flex-end;gap:1rem;display:flex}.publication-links a,.publications-footer a{color:var(--primary-color);font-family:var(--font-mono);font-size:var(--font-size-xxs);transition:opacity .2s ease-in-out}.publication-links a:hover,.publications-footer a:hover{opacity:.72}.publications-footer{text-align:right;margin-top:1.5rem}@media (width<=700px){.publication-row{grid-template-columns:1fr;gap:.65rem;padding:1.5rem 0}.publication-links{justify-content:flex-start;margin-top:.25rem}.publications-footer{text-align:left}}.about-heading{font-size:var(--font-size-lg);color:var(--secondary-color);align-items:center;margin-bottom:2rem;display:flex}.about-number{color:var(--primary-color);font-family:var(--font-mono);font-size:var(--font-size-xs);margin-right:.5rem}.about-content{align-items:flex-start;gap:4rem;display:flex}.about-text{flex:2}.about-text p{color:var(--text-color);line-height:1.6;font-size:var(--font-size-sm);margin-bottom:1.5rem}.skills-list{grid-template-columns:repeat(2,minmax(140px,200px));gap:0 10px;margin-top:1.5rem;padding:0;list-style:none;display:grid}.skills-list li{color:var(--text-color);font-size:var(--font-size-xs);margin-bottom:10px;padding-left:20px;position:relative}.skills-list li:before{content:"▹";color:var(--primary-color);position:absolute;left:0}.about-image-container{border-radius:4px;flex:1;max-width:300px;position:relative}.profile-image{filter:contrast();z-index:1;border-radius:4px;width:100%;transition:all .3s ease-in-out;position:relative}.profile-text-svg{z-index:3;width:50px;height:300px;position:absolute;top:350px;right:0;transform:translate(50%,-50%)}.svg-text-outline{font-family:var(--font-sans);fill:var(--secondary-color);stroke:var(--border-color);stroke-width:4px;writing-mode:vertical-rl;text-orientation:upright;font-size:50px}@media (width<=768px){.about-content{flex-direction:column;align-items:center;gap:2rem}.skills-list{grid-template-columns:1fr}.about-image-container{max-width:200px;margin-bottom:2rem;display:block}.profile-text-svg{display:none}}.experiences-section{max-width:900px}.experiences-heading{font-size:var(--font-size-lg);color:var(--secondary-color);align-items:center;margin-bottom:3rem;display:flex}.experiences-number{color:var(--primary-color);font-family:var(--font-mono);font-size:var(--font-size-xs);margin-right:.5rem}.experiences-tab{display:flex}.tab-list{border-left:2px solid #0000;border-image:var(--gradient-border) 1;flex-direction:column;min-width:150px;margin-right:2rem;display:flex}.tab-button{color:var(--text-color);text-align:left;cursor:pointer;font-size:var(--font-size-xs);background-color:#0000;border:none;border-left:2px solid #0000;padding:1rem;transition:all .2s ease-in-out}.tab-button.active{color:var(--primary-color);background-color:var(--card-background);border-left:2px solid #0000;border-image:var(--gradient-border) 1}.tab-button:hover{background-color:var(--card-background)}.tab-content{flex-grow:1}.job-title{font-size:var(--font-size-sm);color:var(--secondary-color);margin-bottom:.5rem}.company-name{color:var(--primary-color)}.job-duration{font-size:var(--font-size-xxs);color:var(--job-duration-color);font-family:var(--font-mono);margin-bottom:1rem}.job-details{color:var(--text-color);padding:0;list-style-type:none}.job-details li{font-size:var(--font-size-sm);margin-bottom:.5rem;padding-left:1.5rem;position:relative}.job-details li:before{content:"▹";color:var(--primary-color);position:absolute;left:0}@media (width<=768px){.experiences-section{padding:var(--section-padding-mobile)}.experiences-tab{flex-direction:column}.tab-list{border-left:none;border-bottom:2px solid var(--border-color);flex-direction:row;margin-bottom:1rem;margin-right:0;overflow-x:auto}.tab-button{border-bottom:2px solid #0000;border-left:none;padding:.75rem}.tab-button.active{border-left:none;border-bottom:2px solid var(--primary-color)}.job-title,.company-name{font-size:var(--font-size-md)}}.contact-section{text-align:center;max-width:540px}.contact-heading{font-size:var(--font-size-section-heading);color:var(--secondary-color);font-family:var(--font-sans);justify-content:center;align-items:center;margin-bottom:2.5rem;font-weight:600;display:flex}.contact-number{color:var(--primary-color);font-family:var(--font-mono);font-size:var(--font-size-xs);margin-right:.5rem}.contact-text{color:var(--text-color);line-height:1.6;font-size:var(--font-size-sm);margin-bottom:3rem}.contact-button{border:1px solid var(--primary-color);color:var(--primary-color);font-family:var(--font-mono);font-size:var(--font-size-xs);border-radius:4px;padding:1.25rem 1.75rem;text-decoration:none;transition:all .3s ease-in-out}.contact-button:hover{background-color:var(--link-hover-color);color:var(--primary-color)}@media (width<=768px){.contact-section{padding:var(--section-padding-mobile)}.contact-heading{text-align:center;font-size:var(--font-size-xl);flex-direction:column}}.side-elements-container .socials-wrapper{z-index:10;width:40px;position:fixed;bottom:0;left:40px;right:auto}.side-elements-container .email-wrapper{z-index:10;flex-direction:column;align-items:center;width:40px;display:flex;position:fixed;bottom:0;left:auto;right:40px}.email-wrapper a{font-family:var(--font-mono);font-size:var(--font-size-xs);writing-mode:vertical-rl;letter-spacing:.1rem;color:var(--text-color);margin:20px auto;padding:10px;transition:all .2s ease-in-out}.email-wrapper a:hover{color:var(--primary-color);transform:translateY(-3px)}.email-wrapper:after{content:"";background-color:var(--text-color);width:1px;height:90px;margin:0 auto;display:block}@media (width<=768px),(aspect-ratio<=4/3){.side-elements-container{display:none}}.footer{text-align:center;color:var(--text-color);font-family:var(--font-mono);font-size:var(--font-size-xxs);margin-top:3rem;padding:2rem}.footer a{color:var(--primary-color);text-decoration:none;transition:all .2s ease-in-out}.footer a:hover{filter:brightness(1.2)}.footer-socials{display:none}@media (width<=768px),(aspect-ratio<=4/3){.footer-socials{justify-content:center;margin-bottom:1.5rem;display:flex}.footer-socials .socials-list{flex-direction:row;justify-content:center;gap:1.5rem}.footer-socials .socials-list:after{display:none}.footer-socials .socials-list li{margin:0}.footer-socials .socials-list li a{justify-content:center;align-items:center;padding:.35rem;display:inline-flex}}
