@charset "UTF-8";*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;line-height:1.6}body{font-family:system-ui,-apple-system,BlinkMacSystemFont,segoe ui,Roboto,helvetica neue,Arial,sans-serif;color:#0b1220;background:#fff;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:#2563eb;text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%;height:auto;display:block}.container{max-width:860px;margin:0 auto;padding:0 1.5rem}.site-nav{background:#fff;border-bottom:1px solid #e5e7eb;position:sticky;top:0;z-index:100}.nav-container{max-width:860px;margin:0 auto;padding:0 1.5rem}.nav-tabs{list-style:none;display:flex;gap:2rem;margin:0;padding:0}.nav-item{margin:0}.nav-link{display:block;padding:1.5rem 0;font-size:.75rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:#6b7280;text-decoration:none;border-bottom:2px solid transparent;transition:all .2s ease;cursor:pointer}.nav-link:hover{color:#0b1220;border-bottom-color:#e5e7eb;text-decoration:none}.nav-link:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.nav-link.is-active{color:#2563eb;border-bottom-color:#2563eb}main{padding:3rem 0;min-height:calc(100vh - 200px)}.hero{display:grid;grid-template-columns:1fr;gap:3rem;margin-bottom:4rem}@media(min-width:768px){.hero{grid-template-columns:1.5fr 1fr;align-items:center}}.hero-content{order:2}@media(min-width:768px){.hero-content{order:1}}.hero-image{order:1}@media(min-width:768px){.hero-image{order:2}}.hero-image img{width:100%;max-width:300px;margin:0 auto;border-radius:8px}.hero-name{font-size:2rem;font-weight:700;margin-bottom:.5rem;line-height:1.2}.hero-title{font-size:1.25rem;font-weight:600;color:#0b1220;margin-bottom:.5rem}.hero-subtitle{font-size:1rem;color:#6b7280;margin-bottom:1.5rem}.hero-summary{font-size:1rem;line-height:1.6;color:#0b1220;margin-bottom:2rem}.hero-links{display:flex;flex-wrap:wrap;gap:1rem}.btn-link{display:inline-block;padding:.5rem 1.5rem;font-size:.875rem;font-weight:500;color:#2563eb;border:1px solid #2563eb;border-radius:4px;text-decoration:none;transition:all .2s ease}.btn-link:hover{background:#2563eb;color:#fff;text-decoration:none}.btn-link.btn-primary{background:#2563eb;color:#fff}.btn-link.btn-primary:hover{background:#134cca;border-color:#134cca}.section-title{font-size:1.125rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-bottom:2rem;color:#0b1220}.highlights{margin-bottom:4rem}.highlights-grid{display:grid;grid-template-columns:1fr;gap:1.5rem}@media(min-width:640px){.highlights-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:768px){.highlights-grid{grid-template-columns:repeat(3,1fr)}}.highlight-card{padding:1.5rem;background:#f9fafb;border-radius:6px;border-left:3px solid #2563eb}.highlight-label{font-size:1.25rem;font-weight:700;color:#2563eb;margin-bottom:.5rem}.highlight-description{font-size:.875rem;color:#6b7280;line-height:1.5}.skills{margin-bottom:4rem}.skills-grid{display:grid;grid-template-columns:1fr;gap:1.5rem}@media(min-width:640px){.skills-grid{grid-template-columns:repeat(2,1fr)}}.skill-category{padding:1.5rem;background:#f9fafb;border-radius:6px}.skill-category-name{font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#0b1220;margin-bottom:1rem}.skill-list{list-style:none}.skill-list li{font-size:.875rem;color:#6b7280;padding:.25rem 0}.skill-list li:before{content:"•";color:#2563eb;display:inline-block;width:1em;margin-left:-1em;padding-right:.5em}.education{margin-bottom:4rem}.education-content{padding:1.5rem;background:#f9fafb;border-radius:6px}.education-institution{font-size:1rem;font-weight:600;color:#0b1220;margin-bottom:.5rem}.education-degree{font-size:.875rem;color:#6b7280}.page-header{margin-bottom:3rem}.page-title{font-size:1.75rem;font-weight:700;margin-bottom:1.5rem}.page-intro{font-size:1rem;color:#6b7280;line-height:1.6}.experience-timeline{display:flex;flex-direction:column;gap:3rem}.job{padding-bottom:3rem;border-bottom:1px solid #e5e7eb}.job:last-child{border-bottom:none}.job-header{display:grid;grid-template-columns:auto 1fr auto;gap:1.5rem;align-items:start;margin-bottom:1.5rem}@media(max-width:640px){.job-header{grid-template-columns:1fr}}.job-logo{width:48px;height:48px;flex-shrink:0}@media(max-width:640px){.job-logo{width:40px;height:40px;grid-row:1}}.job-logo img{width:100%;height:100%;object-fit:contain;border-radius:4px}.job-company{font-size:1.25rem;font-weight:700;color:#0b1220;margin-bottom:.5rem}.job-title{font-size:1rem;font-weight:600;color:#0b1220;margin-bottom:.5rem}.job-meta{display:flex;flex-wrap:wrap;gap:1.5rem;font-size:.875rem;color:#6b7280}.job-bullets{list-style:none;margin-bottom:1.5rem}.job-bullets li{font-size:.9375rem;line-height:1.6;margin-bottom:1rem;padding-left:1.5em;position:relative}.job-bullets li:before{content:"▸";color:#2563eb;position:absolute;left:0;font-weight:600}.job-tags{display:flex;flex-wrap:wrap;gap:.5rem}.tag{display:inline-block;padding:.25rem .75rem;font-size:.75rem;font-weight:500;color:#2563eb;background:rgba(37,99,235,.1);border-radius:12px}.projects-grid{display:grid;grid-template-columns:1fr;gap:2rem}@media(min-width:640px){.projects-grid{grid-template-columns:repeat(2,1fr)}}.project-card{padding:2rem;background:#f9fafb;border-radius:8px;border:1px solid #e5e7eb;transition:box-shadow .2s ease}.project-card:hover{box-shadow:0 4px 12px rgba(0,0,0,8%)}.project-title{font-size:1.125rem;font-weight:600;margin-bottom:1rem}.project-title a{color:#0b1220;text-decoration:none}.project-title a:hover{color:#2563eb}.project-description{font-size:.9375rem;color:#6b7280;line-height:1.6;margin-bottom:1.5rem}.project-stack{display:flex;flex-wrap:wrap;gap:.5rem}.tech-tag{display:inline-block;padding:.25rem .5rem;font-size:.75rem;color:#6b7280;background:#fff;border:1px solid #e5e7eb;border-radius:4px}.writing-list{display:flex;flex-direction:column;gap:2rem}.article-item{padding-bottom:2rem;border-bottom:1px solid #e5e7eb}.article-item:last-child{border-bottom:none}.article-title{font-size:1.25rem;font-weight:600;margin-bottom:.5rem}.article-title a{color:#0b1220;text-decoration:none}.article-title a:hover{color:#2563eb}.article-description{font-size:.9375rem;color:#6b7280;line-height:1.6;margin-bottom:.5rem}.article-date{font-size:.875rem;color:#6b7280;font-style:italic}.contact-content{max-width:600px}.contact-links{display:grid;grid-template-columns:1fr;gap:2rem;margin-top:3rem}@media(min-width:640px){.contact-links{grid-template-columns:repeat(2,1fr)}}.contact-item h3{font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#0b1220;margin-bottom:.5rem}.contact-item a{font-size:1rem;color:#2563eb}.site-footer{margin-top:4rem;padding:3rem 0;border-top:1px solid #e5e7eb;background:#f9fafb}.footer-text{text-align:center;font-size:.875rem;color:#6b7280}.footer-text a{color:#6b7280}.footer-text a:hover{color:#2563eb}@media(max-width:767px){.nav-tabs{gap:1.5rem;overflow-x:auto;-webkit-overflow-scrolling:touch}.hero-name{font-size:1.75rem}.page-title{font-size:1.5rem}}