:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}html{scroll-behavior:smooth}.hero{position:relative;min-height:100vh;width:100%;background-size:cover;background-position:center;background-repeat:no-repeat;color:#fff;overflow:hidden}.hero__overlay{position:absolute;inset:0;background:#0000008c;box-shadow:inset 0 0 200px #0009;pointer-events:none}.topbar{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:20px 28px;flex-wrap:nowrap;gap:16px}.topbar--fixed{position:fixed;top:0;left:0;width:100%;background:#000000f2;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:1000;box-shadow:0 6px 20px #0006}.topbar__name{font-weight:800;letter-spacing:.4px;font-size:1.2rem;line-height:1;flex:0 0 auto;display:flex;align-items:center;gap:8px}.topbar__logo{height:2.4rem;width:auto;transform:translateY(-.6rem)}.topbar__links{display:flex;align-items:center;gap:18px;font-weight:700;opacity:.95;flex:0 0 auto}.topbar__link{display:inline-flex;align-items:center;gap:10px;padding:10px 14px;font-size:1rem;border-radius:12px;background:#ffffff1a;transition:transform .15s ease,background .15s ease;will-change:transform}.topbar__icon{width:20px;height:20px;object-fit:contain}.topbar__link:hover{transform:scale(1.06);background:#ffffff29}.hero__content{position:relative;z-index:2;min-height:calc(100vh - 72px);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:0 28px 40px;max-width:1000px;margin:0 auto}.hero__title{font-size:clamp(2.5rem,5vw,4rem);margin:0 0 10px}.hero__subtitle{font-size:clamp(1.1rem,2vw,1.4rem);margin:0;opacity:.9}@media(max-width:1000px){.topbar{flex-wrap:nowrap;justify-content:space-between;padding:12px 14px;gap:8px}.topbar .topbar__nav{display:none}.topbar__name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar__links{gap:8px;min-width:0;max-width:45vw;flex-wrap:nowrap;overflow-x:auto}.topbar .topbar__links .topbar__link span{display:none}}.topbar__left{display:flex;align-items:center;gap:18px}.topbar__nav{display:flex;gap:14px;flex-wrap:wrap;font-weight:800}.topbar__nav a{padding:8px 10px;border-radius:10px;transition:transform .15s ease,background .15s ease}.topbar__nav a:hover{transform:scale(1.05);background:#ffffff1f}.hero__scroll-indicator{position:absolute;left:50%;bottom:22px;transform:translate(-50%);z-index:3;display:flex;flex-direction:column;gap:0px;padding:8px 10px;border-radius:999px;text-decoration:none;-webkit-user-select:none;user-select:none}.hero__scroll-indicator:hover{transform:translate(-50%) scale(1.03)}.chev{width:256px!important;height:40px;display:block;opacity:1}.chev svg{width:100%;height:100%;display:block}.chev svg path{fill:none;stroke:#fffffff2;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round}.chev--top{animation:fadeSwapTop 2.4s infinite ease-in-out}.chev--bottom{margin-top:-20px;animation:fadeSwapBottom 2.4s infinite ease-in-out}@keyframes fadeSwapTop{0%,50%{opacity:1}50.01%,to{opacity:.35}}@keyframes fadeSwapBottom{0%,50%{opacity:.35}50.01%,to{opacity:1}}@media(prefers-reduced-motion:reduce){.chev--top,.chev--bottom{animation:none;opacity:1}}.hero__scroll-indicator{opacity:0;animation:fadeInScroll .6s ease forwards;animation-delay:0s}@keyframes fadeInScroll{to{opacity:1}}.about{background:#fff;color:#000;padding:96px 24px}.about__container{max-width:1500px;margin:0 auto;display:grid;grid-template-columns:.7fr 1.3fr;gap:48px;align-items:center;opacity:0;transform:translateY(28px);transition:opacity 1.3s ease-out,transform 1.3s ease-out}.about__container.is-visible{opacity:1;transform:translateY(0)}.about__imageWrapper{display:flex;justify-content:center}.about__image{width:100%;max-width:320px;border-radius:18px;object-fit:cover}.about__title{margin:0 0 18px;font-size:2.2rem;font-weight:800}.about__text{margin:0;font-size:1.05rem;font-weight:600;line-height:1.7;max-width:60ch}@media(max-width:800px){.about__container{grid-template-columns:1fr;text-align:center}.about__text{margin:0 auto}}.education{background:#0064a4;color:#ffd200;padding:96px 24px}.section_title{text-align:center;font-size:3rem;font-weight:800;margin-bottom:50px;margin-top:0}.education__container{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:.9fr auto 1.6fr;gap:48px;align-items:flex-start;opacity:0;transform:translate(36px);transition:opacity 1.3s ease-out,transform 1.3s ease-out}.education__container.is-visible{opacity:1;transform:translate(0)}.education__school{font-size:1.9rem;font-weight:800;line-height:1.2}.education__divider{width:4px;background:#ffd200;border-radius:2px;align-self:stretch}.education__details{font-size:1.3rem;font-weight:700;line-height:1.6}.education__details>div{margin-bottom:12px}.education__coursework{margin-top:16px}.education__coursework ul{margin:8px 0 0;padding-left:20px}.education__coursework li{font-size:1.05rem;margin-bottom:6px}@media(max-width:900px){.education__container{grid-template-columns:1fr;gap:24px}.education__divider{width:100%;height:4px}.education__school{text-align:center}}.experience{background:#000;color:#fff;padding:96px 24px}.section_title{text-align:center;font-size:5rem;font-weight:800;margin-bottom:50px;margin-top:0}.experience__container{max-width:1200px;margin:0 auto 50px;display:grid;grid-template-columns:.9fr auto 1.6fr;gap:48px;align-items:flex-start;opacity:0;transform:translate(-36px);transition:opacity 1.3s ease-out,transform 1.3s ease-out}.experience__container.is-visible{opacity:1;transform:translate(0)}.research__logo{width:250px;margin-bottom:12px}.experience__company{font-size:1.9rem;font-weight:800;line-height:1.2}.experience__date{font-size:1.1rem;font-weight:600;color:#bbb;margin-top:4px}.experience__logo{width:250px;margin-bottom:12px}.experience__divider{width:4px;background:#fff;border-radius:2px;align-self:stretch}.experience__details{font-size:1.3rem;font-weight:700;line-height:1.6}.experience__details>div{margin-bottom:12px}.experience__information{margin-top:16px}.experience__information ul{font-size:1.1rem;margin:8px 0 15px;padding-left:20px}.experience__information li{margin-bottom:8px}@media(max-width:900px){.section_title{font-size:3.5rem}.experience__container{grid-template-columns:1fr;gap:24px}.experience__divider{width:100%;height:4px}.experience__company{text-align:center}}.projects{background:#fff;color:#000;padding:96px 24px}.projects__container{max-width:1200px;margin:0 auto}.projects__title{text-align:center;font-size:5rem;font-weight:800;margin-bottom:50px;margin-top:0}.projects__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.projectCard{height:260px;overflow:hidden;background:#0b0b0b;border:1px solid rgba(0,0,0,.08);width:130px;background-color:#fff;border:3px solid #000000;border-radius:15px;position:relative;top:0;right:0;margin-left:auto;transform:none;transition:all 1.3s ease-out}.projectCard.is-visible{width:100%;background-color:#0b0b0b;border:1px solid rgba(0,0,0,.08);border-radius:20px;margin-left:0}.projectCard__front{position:absolute;inset:0;background-size:cover;background-position:center;transform:translate(0);transition:transform .26s ease}.projectCard__fade{position:absolute;inset:0;background:#ffffffb8}.projectCard__frontContent{position:absolute;left:18px;bottom:18px;right:18px}.projectCard__name{font-size:1.25rem;font-weight:900;color:#000;margin-bottom:6px}.projectCard__blurb{font-size:1rem;font-weight:700;color:#000000d9}.projectCard__back{position:absolute;inset:0;padding:18px;display:flex;flex-direction:column;justify-content:center;background:#fff;transform:translate(100%);transition:transform .26s ease}.projectCard__backTitle{font-weight:900;font-size:1.05rem;margin-bottom:8px}.projectCard__tech{font-weight:700;line-height:1.5;margin-bottom:14px}.projectCard__links{display:flex;gap:12px;flex-wrap:wrap}.projectCard__links a{display:inline-flex;padding:8px 12px;border-radius:12px;font-weight:800;background:#0000000f;transition:transform .16s ease,background .16s ease}.projectCard__links a:hover{transform:scale(1.04);background:#0000001a}.projectCard:hover .projectCard__front{transform:translate(-35%)}.projectCard:hover .projectCard__back{transform:translate(0)}@media(max-width:900px){.projects__grid{grid-template-columns:1fr}.projectCard{height:280px;width:140px}.projectCard.is-visible{width:100%}.projectCard:hover .projectCard__front{transform:translate(-28%)}}*{box-sizing:border-box}html,body{height:100%;margin:0}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}.reveal{opacity:0;will-change:transform,opacity}.reveal.is-visible{opacity:1}.reveal--up.is-visible{animation:revealUp 1.3s ease-out both}@keyframes revealUp{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}.reveal--right.is-visible{animation:revealRight 1.3s ease-out both}@keyframes revealRight{0%{opacity:0;transform:translate(-36px)}to{opacity:1;transform:translate(0)}}.reveal--left.is-visible{animation:revealLeft 1.3s ease-out both}@keyframes revealLeft{0%{opacity:0;transform:translate(36px)}to{opacity:1;transform:translate(0)}}.reveal--scale.is-visible{animation:revealScale 1.3s ease-out both}@keyframes revealScale{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}.reveal--down.is-visible{animation:revealDown 1.3s ease-out both}@keyframes revealDown{0%{opacity:0;transform:translateY(-26px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.reveal,.reveal.is-visible,.reveal--up.is-visible,.reveal--right.is-visible,.reveal--left.is-visible,.reveal--scale.is-visible,.reveal--down.is-visible{animation:none!important;opacity:1!important;transform:none!important}}
