*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;line-height:1.6;color:#4a5568;background:#fff;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img{max-width:100%;display:block}a{color:inherit;text-decoration:none;transition:color .2s ease}a:hover{color:#3182ce}ul,ol{list-style:none}h1,h2,h3,h4,h5,h6{color:#1a202c;line-height:1.3;font-weight:600}h1{font-size:clamp(1.75rem,3vw,2.5rem)}h2{font-size:clamp(1.25rem,2.5vw,1.75rem)}h3{font-size:clamp(1rem,2vw,1.25rem)}h4{font-size:1rem}p{margin-bottom:1rem}.page-wrapper{min-height:100vh;display:flex;flex-direction:column}.content-wrapper{flex:1;padding-top:3.5rem}.container{max-width:1100px;margin:0 auto;padding:0 1.5rem}.section{padding:4rem 0}.section--alt{background:#f8f9fb}.section-title{text-align:center;margin-bottom:2.5rem;text-transform:uppercase;letter-spacing:.1em;font-size:.85rem;font-weight:700;color:#a0aec0}.nav{position:fixed;top:0;left:0;right:0;height:3.5rem;background:#fff;border-bottom:1px solid #e2e8f0;z-index:1000;display:flex;align-items:center;justify-content:space-between;padding:0 2rem}.nav__logo{font-weight:700;font-size:.95rem;letter-spacing:.02em;color:#1a202c;white-space:nowrap}.nav__logo a{color:inherit;border:none}.nav__links{display:flex;gap:2rem;align-items:center}.nav__links a{font-size:.85rem;font-weight:500;color:#4a5568;letter-spacing:.03em;text-transform:uppercase;border:none;transition:color .2s ease;padding:.25rem 0}.nav__links a:hover{color:#3182ce}@media (max-width: 768px){.nav__links{display:none}}.nav__hamburger{display:none;background:none;border:none;cursor:pointer;padding:.5rem;min-width:44px;min-height:44px;align-items:center;justify-content:center}@media (max-width: 768px){.nav__hamburger{display:flex}}.nav__hamburger .hamburger-icon{width:22px;height:16px;position:relative;display:flex;flex-direction:column;justify-content:space-between}.nav__hamburger .hamburger-icon span{display:block;width:100%;height:2px;background:#1a202c;border-radius:1px;transition:all .3s ease}.nav__hamburger--open .hamburger-icon span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.nav__hamburger--open .hamburger-icon span:nth-child(2){opacity:0}.nav__hamburger--open .hamburger-icon span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}.mobile-menu{position:fixed;top:3.5rem;left:0;right:0;bottom:0;background:#fff;z-index:999;display:flex;flex-direction:column;padding:2rem;opacity:0;visibility:hidden;transition:all .3s ease}.mobile-menu--open{opacity:1;visibility:visible}.mobile-menu a{font-size:1.25rem;font-weight:500;color:#1a202c;padding:1rem 0;border-bottom:1px solid #e2e8f0;display:block}.mobile-menu a:hover{color:#3182ce}.footer{background:#f8f9fb;border-top:1px solid #e2e8f0;padding:2rem 0}.footer__inner{display:flex;align-items:center;justify-content:space-between;max-width:1100px;margin:0 auto;padding:0 1.5rem}@media (max-width: 480px){.footer__inner{flex-direction:column;gap:1rem;text-align:center}}.footer__copyright{font-size:.8rem;color:#a0aec0}.footer__icons{display:flex;gap:1.25rem}.footer__icons a{color:#a0aec0;font-size:1.1rem;transition:color .2s ease;border:none}.footer__icons a:hover{color:#3182ce}.main-content{min-height:calc(100vh - 3.5rem - 120px)}.hero{padding:5rem 0 4rem;text-align:center}@media (max-width: 480px){.hero{padding:3rem 0 2.5rem}}.hero__photo{width:180px;height:180px;border-radius:50%;object-fit:cover;margin:0 auto 1.5rem;border:3px solid #e2e8f0}.hero__name{font-size:clamp(2rem,4vw,3rem);font-weight:700;margin-bottom:.25rem;color:#1a202c}.hero__title{font-size:clamp(1rem,2vw,1.25rem);color:#a0aec0;font-weight:400;margin-bottom:1rem;letter-spacing:.04em}.hero__tagline{font-size:1rem;color:#4a5568;max-width:600px;margin:0 auto 2rem;line-height:1.7}.hero__cta{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.highlights{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;padding:3rem 0}@media (max-width: 768px){.highlights{grid-template-columns:1fr;gap:1.5rem}}.highlights__card{text-align:center;padding:2rem 1.5rem;border:1px solid #e2e8f0;border-radius:8px;transition:box-shadow .2s ease}.highlights__card:hover{box-shadow:0 4px 12px #0000000f}.highlights__card h3{margin-bottom:.5rem;font-size:1rem;font-weight:600}.highlights__card p{font-size:.9rem;color:#4a5568;margin:0;line-height:1.6}.highlights__card .highlight-icon{font-size:1.5rem;color:#3182ce;margin-bottom:1rem}.about-brief{max-width:750px;margin:0 auto;padding:2rem 0}.about-brief p{font-size:1rem;line-height:1.8;color:#4a5568}.tech-stack{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;padding:1rem 0 2rem}.tech-stack__tag{display:inline-block;padding:.35rem .85rem;background:#f8f9fb;border:1px solid #e2e8f0;border-radius:4px;font-size:.8rem;font-weight:500;color:#4a5568;transition:all .2s ease}.tech-stack__tag:hover{background:#1a2744;color:#fff;border-color:#1a2744}.btn{display:inline-block;padding:.7rem 1.8rem;border-radius:4px;font-size:.9rem;font-weight:600;letter-spacing:.02em;transition:all .2s ease;cursor:pointer;border:none;text-decoration:none}.btn--primary{background:#1a2744;color:#fff}.btn--primary:hover{background:#0f1626;color:#fff}.btn--secondary{background:transparent;color:#1a2744;border:2px solid #1a2744}.btn--secondary:hover{background:#1a2744;color:#fff}#resume{padding:3rem 0}#resume .resume-header{text-align:center;margin-bottom:3rem}#resume .resume-header h2{margin-bottom:.5rem}#resume .resume-header .resume-nav{display:flex;gap:1.5rem;justify-content:center;margin-top:1rem}#resume .resume-header .resume-nav a{font-size:.85rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:#a0aec0;border:none;padding:.25rem 0;border-bottom:2px solid transparent;transition:all .2s ease}#resume .resume-header .resume-nav a:hover{color:#3182ce;border-bottom-color:#3182ce}#resume .link-to{position:relative;top:-4.5rem}#resume .experience,#resume .education,#resume .stack-section,#resume .references{margin-bottom:3rem}#resume .experience>.title,#resume .education>.title,#resume .stack-section>.title,#resume .references>.title{margin-bottom:1.5rem}#resume .experience>.title h3,#resume .education>.title h3,#resume .stack-section>.title h3,#resume .references>.title h3{font-size:1.1rem;text-transform:uppercase;letter-spacing:.08em;color:#1a202c;border-bottom:2px solid #e2e8f0;padding-bottom:.5rem;display:inline-block}.jobs-container{margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid #e2e8f0}.jobs-container:last-child{border-bottom:none}.jobs-container header{margin-bottom:.75rem}.jobs-container header h4{font-size:1rem;font-weight:600;color:#1a202c;margin-bottom:.15rem}.jobs-container header h4 a{color:#3182ce;border:none}.jobs-container header h4 a:hover{color:#2768a5}.jobs-container header .daterange{font-size:.85rem;color:#a0aec0;margin-bottom:0}.jobs-container header .location{font-size:.8rem;color:#a0aec0}.jobs-container header .summary{font-size:.9rem;color:#4a5568;margin-top:.25rem;font-style:italic}.jobs-container .points{padding-left:1.25rem}.jobs-container .points li{font-size:.9rem;line-height:1.6;margin-bottom:.35rem;color:#4a5568;list-style:disc;padding-left:.25rem}.degree-container{margin-bottom:1.25rem}.degree-container h4{font-weight:600;font-size:1rem;color:#1a202c;margin-bottom:0}.degree-container .school{font-size:.9rem;color:#4a5568;margin-bottom:.25rem}.degree-container .school a{color:#3182ce;border:none}.degree-container .details{font-size:.85rem;color:#a0aec0;margin-bottom:0}.stack-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.5rem}.stack-category h4{font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#1a202c;margin-bottom:.75rem}.stack-tags{display:flex;flex-wrap:wrap;gap:.4rem}.stack-tag{display:inline-block;padding:.3rem .7rem;background:#f8f9fb;border:1px solid #e2e8f0;border-radius:4px;font-size:.78rem;font-weight:500;color:#4a5568;transition:all .2s ease}.stack-tag:hover{background:#1a2744;color:#fff;border-color:#1a2744}.references .title{text-align:center}.references .title h3{font-size:.9rem!important;color:#a0aec0!important;font-weight:400!important;text-transform:none!important;letter-spacing:0!important;border-bottom:none!important}#projects{padding:3rem 0}#projects .projects-header{text-align:center;margin-bottom:3rem}#projects .projects-header h2{margin-bottom:.5rem}#projects .projects-header p{color:#a0aec0;font-size:.95rem}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}.project-card{border:1px solid #e2e8f0;border-radius:8px;overflow:hidden;transition:box-shadow .2s ease,transform .2s ease}.project-card:hover{box-shadow:0 6px 20px #00000014;transform:translateY(-2px)}.project-card__image{width:100%;height:180px;object-fit:cover;border-bottom:1px solid #e2e8f0}.project-card__body{padding:1.25rem}.project-card__title{font-size:1.05rem;font-weight:600;color:#1a202c;margin-bottom:.15rem}.project-card__subtitle{font-size:.8rem;color:#a0aec0;margin-bottom:.75rem;font-weight:400}.project-card__desc{font-size:.88rem;color:#4a5568;line-height:1.6;margin-bottom:1rem}.project-card__tags{display:flex;flex-wrap:wrap;gap:.35rem}.project-card__tag{font-size:.7rem;padding:.2rem .55rem;background:#f8f9fb;border:1px solid #e2e8f0;border-radius:3px;color:#4a5568;font-weight:500}#contact{padding:3rem 0}#contact .contact-header{text-align:center;margin-bottom:3rem}#contact .contact-header h2{margin-bottom:.5rem}#contact .contact-content{max-width:600px;margin:0 auto;text-align:center}#contact .contact-content .availability{font-size:.95rem;color:#4a5568;margin-bottom:2rem;line-height:1.7}#contact .contact-content .availability strong{color:#1a202c}#contact .contact-content .contact-email{font-size:1.15rem;margin-bottom:2.5rem}#contact .contact-content .contact-email a{color:#3182ce;font-weight:600;border:none}#contact .contact-content .contact-email a:hover{color:#2768a5}.contact-icons{display:flex;gap:1.5rem;justify-content:center;margin-top:1rem}.contact-icons a{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border:1px solid #e2e8f0;border-radius:50%;color:#4a5568;font-size:1.15rem;transition:all .2s ease}.contact-icons a:hover{background:#1a2744;color:#fff;border-color:#1a2744}.not-found{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;text-align:center;padding:2rem}.not-found h1{font-size:2rem;margin-bottom:1rem;color:#1a202c}.not-found p{color:#4a5568}.not-found p a{color:#3182ce;font-weight:600;border:none}table{width:100%;border-collapse:collapse}table th,table td{padding:.5rem .75rem;text-align:left;border-bottom:1px solid #e2e8f0}table th{font-weight:600;color:#1a202c;font-size:.85rem}table td{font-size:.9rem}
