:root{--background:#fbfaf8;--ink:#20201e;--muted:#6f6d68;--border:#e3e0da;background:var(--background);color:var(--muted);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}#root{max-width:1440px;margin:0 auto}@media (prefers-color-scheme:dark){:root{--background:#171716;--ink:#f3f0e9;--muted:#b3b0a9;--border:#393834}}.site{min-height:100svh}.topbar{background:color-mix(in srgb, var(--background) 94%, transparent);border-bottom:1px solid var(--border);z-index:10;justify-content:space-between;align-items:center;padding:19px clamp(20px,5vw,72px);display:flex;position:sticky;top:0;box-shadow:0 2px 12px #1a1a180a}.brand,nav a{color:var(--ink);text-decoration:none}.brand{letter-spacing:-.03em;font-weight:700}.resume-link{align-items:center;gap:4px;display:inline-flex}.resume-link svg{width:12px;height:12px}nav{gap:clamp(16px,2.5vw,32px);display:flex}nav a{color:var(--muted);font-size:.92rem;transition:color .15s}nav a:hover,nav a:focus-visible{color:var(--ink)}.section{padding:clamp(80px,12vw,152px) clamp(20px,10vw,144px);scroll-margin-top:76px}.about-layout{align-items:center;gap:clamp(24px,4vw,72px);display:flex}.about-copy{flex:1 1 0;min-width:0}.profile-image{border:1px solid var(--border);object-fit:cover;border-radius:16px;flex:0 0 clamp(150px,26vw,340px);width:100%;height:clamp(340px,52vw,520px);display:block}.hero{align-content:center;min-height:calc(100svh - 76px)}.eyebrow{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;margin:0 0 18px;font-size:.76rem;font-weight:700}.social-links{flex-wrap:wrap;gap:10px;margin-bottom:28px;display:flex}.social-button{border:1px solid var(--border);color:var(--ink);border-radius:999px;justify-content:center;align-items:center;width:38px;height:38px;text-decoration:none;transition:background .15s,border-color .15s;display:inline-flex}.social-button svg{width:18px;height:18px}.social-button:hover,.social-button:focus-visible{background:var(--ink);border-color:var(--ink);color:var(--background)}h1,h2{color:var(--ink);letter-spacing:-.06em;margin:0 0 28px;line-height:.96}h1{font-size:clamp(3.5rem,9vw,7.5rem)}h2{font-size:clamp(2.5rem,5vw,4.25rem)}p{max-width:620px;margin:0;line-height:1.6}.intro{font-size:clamp(1.12rem,2vw,1.45rem)}.underline{text-underline-offset:.16em;text-decoration:underline;text-decoration-thickness:1px}.company-link{--company-color:var(--ink);--company-light:#fff;-webkit-background-clip:text;background-clip:text;background-image:linear-gradient(110deg, var(--company-color) 0%, var(--company-color) 42%, var(--company-light) 50%, var(--company-color) 58%, var(--company-color) 100%);color:#0000;background-position:100% 0;background-size:250% 100%;font-weight:650;text-decoration:none;display:inline-block}.company-link:hover,.company-link:focus-visible{animation:2.4s linear infinite light-sweep}.amazon{--company-color:#f90;--company-light:#ffe0ae}.synchrony{--company-color:#c69a00;--company-light:#fff1a8}.xlab{--company-color:#fff;--company-light:#ff5f05}@keyframes light-sweep{0%{background-position:100% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.company-link:hover,.company-link:focus-visible{animation:none}}.intro+.intro{margin-top:1rem}.timeline-section{grid-template-columns:minmax(180px,.8fr) minmax(0,1.2fr);gap:48px;display:grid}.timeline-section h2{margin:0}.timeline{width:100%;max-width:680px;margin-left:auto}.timeline-item{grid-template-columns:44px minmax(0,1fr);column-gap:16px;padding-bottom:52px;display:grid;position:relative}.timeline-item:last-child{padding-bottom:0}.reveal-ready .timeline-item{opacity:0;transition:opacity .5s ease var(--reveal-delay,0s), transform .5s ease var(--reveal-delay,0s);transform:translateY(18px)}.reveal-ready .timeline-item.is-visible{opacity:1;transform:translateY(0)}.timeline-icon{letter-spacing:-.04em;border-radius:7px;justify-content:center;align-items:center;width:44px;height:44px;font-size:.9rem;font-weight:800;display:inline-flex;overflow:hidden}.timeline-icon img{object-fit:contain;width:28px;max-width:28px;height:28px;max-height:28px;display:block}.uiuc,.amazon-icon,.synchrony-icon,.xlab-icon{background:#fff}.synchrony-icon img{transform:scale(1.35)}.amazon-icon img,.uiuc img,.xlab-icon img{width:36px;max-width:36px;height:36px;max-height:36px}.timeline-content{min-width:0}.timeline-organization{color:var(--ink);font-size:clamp(1.2rem,2.2vw,1.45rem);font-weight:650;line-height:1.2}.timeline-detail{margin-top:5px;font-size:clamp(1.04rem,1.8vw,1.2rem)}.timeline-item time{color:var(--muted);margin-top:12px;font-size:.98rem;display:block}.projects-section h2{margin-bottom:48px}.project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,28px);display:grid}.project-card{border:1px solid var(--border);border-radius:14px;flex-direction:column;min-height:250px;padding:clamp(24px,3vw,34px);transition:border-color .15s,transform .15s;display:flex}.project-card:hover{border-color:var(--muted);transform:translateY(-3px)}.project-card h3{color:var(--ink);letter-spacing:-.035em;margin:0 0 16px;font-size:clamp(1.35rem,2vw,1.65rem);line-height:1.15}.project-card p{font-size:1rem;line-height:1.55}.project-link{color:var(--ink);align-items:center;gap:6px;width:fit-content;margin-top:auto;padding-top:28px;font-size:.92rem;font-weight:650;text-decoration:none;display:inline-flex}.project-link:after{content:"";transform-origin:0;background:currentColor;width:100%;height:1px;transition:transform .15s;position:absolute;bottom:-3px;left:0;transform:scaleX(0)}.project-link{position:relative}.project-link:hover:after,.project-link:focus-visible:after{transform:scaleX(1)}.project-link svg{width:14px;height:14px}@media (width<=900px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=650px){.timeline-section{display:block}.timeline-section h2{margin-bottom:48px}.topbar{flex-direction:column;align-items:flex-start;gap:16px}nav{flex-wrap:wrap;gap:10px 18px}.hero{min-height:560px}.project-grid{grid-template-columns:1fr}.project-card{min-height:220px}}@media (width<=480px){.about-layout{flex-direction:column}.profile-image{max-width:300px}}@media (prefers-reduced-motion:reduce){.reveal-ready .timeline-item{opacity:1;transition:none;transform:none}}
