*{box-sizing:border-box}html{scroll-behavior:smooth;background:#050505}body{background:#050505;min-width:320px;min-height:100vh;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,a{font:inherit}::selection{color:#050505;background:#eab308}.light-rays-container{pointer-events:none;z-index:3;width:100%;height:100%;position:relative;overflow:hidden}.line-sidebar{--accent-color:#a855f7;--text-color:#c4c4c4;--marker-color:#6c6c6c;--marker-length:60px;--marker-gap:0px;--tick-scale:.5;--max-shift:30px;--item-gap:20px;--font-size:1.1rem;--smoothing:.1s;justify-content:flex-start;display:flex;position:relative}.line-sidebar--markers{padding-left:calc(var(--marker-length) + var(--marker-gap))}.line-sidebar__list{gap:var(--item-gap);flex-direction:column;margin:0;padding:1rem 0;list-style:none;display:flex}.line-sidebar__item{cursor:pointer;position:relative}.line-sidebar__item:before{content:"";position:absolute;inset:-6px -48px}.line-sidebar__label{font-size:var(--font-size);color:color-mix(in srgb, var(--accent-color) calc(var(--effect,0) * 100%), var(--text-color));transform:translateX(calc(var(--effect,0) * var(--max-shift)));align-items:baseline;line-height:1.2;display:inline-flex;position:relative}.line-sidebar__index{opacity:calc(.55 + var(--effect,0) * .45);margin-right:.6rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85em}.line-sidebar__marker{top:50%;left:calc(-1 * var(--marker-length) - var(--marker-gap));height:1px;width:var(--marker-length);background-color:color-mix(in srgb, var(--accent-color) calc(var(--effect,0) * 100%), var(--marker-color));transform-origin:0;transform:translateY(-50%) scaleX(calc(.7 + var(--effect,0) * .5));position:absolute}.line-sidebar--markers .line-sidebar__item:not(:last-child):after{content:"";top:calc(100% + var(--item-gap) / 2);left:calc(-1 * var(--marker-length) - var(--marker-gap));height:1px;width:calc(var(--marker-length) * var(--tick-scale));background-color:var(--marker-color);opacity:.5;position:absolute;transform:translateY(-50%)}.line-sidebar--scale-tick .line-sidebar__item:not(:last-child):after{transform-origin:0;transform:translateY(-50%) scaleX(calc(.7 + var(--effect,0) * .6))}.about{align-items:center;min-height:100vh;padding:6rem 8vw;display:flex}.about__content{max-width:900px}.about__eyebrow{color:#eab308;letter-spacing:.12em;text-transform:uppercase;margin:0 0 1.5rem;font-size:.85rem}.about__title{color:#e7e7de;letter-spacing:-.04em;margin:0;font-size:clamp(2rem,4vw,3.5rem);font-weight:400;line-height:1}.about__name{color:#eab308;letter-spacing:-.06em;margin:.4rem 0 0;font-size:clamp(4rem,9vw,8rem);font-weight:600;line-height:.95}.about__description{color:#c4c4c4;max-width:700px;margin:2.5rem 0 0;font-size:clamp(1.1rem,2vw,1.4rem);line-height:1.7}.about__current{color:#777;max-width:650px;margin:1.5rem 0 0;font-size:1rem;line-height:1.7}.projects{min-height:100vh;padding:10rem 8vw;scroll-margin-top:0}.projects__header{max-width:800px;margin-bottom:7rem}.projects__eyebrow{color:#eab308;letter-spacing:.14em;text-transform:uppercase;margin:0 0 1rem;font-size:.8rem}.projects__title{color:#e7e7de;letter-spacing:-.05em;margin:0;font-size:clamp(4rem,8vw,7rem);font-weight:500;line-height:.95}.projects__intro{color:#777;max-width:620px;margin:2rem 0 0;font-size:1.1rem;line-height:1.7}.projects__list{max-width:1050px}.project{border-top:1px solid #222;grid-template-columns:80px 1fr;gap:2rem;padding:4rem 0;display:grid}.project:last-child{border-bottom:1px solid #222}.project__number{color:#555;padding-top:.3rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85rem}.project__content{max-width:850px}.project__status{color:#eab308;letter-spacing:.12em;text-transform:uppercase;margin:0 0 .8rem;font-size:.75rem}.project__title{color:#e7e7de;letter-spacing:-.05em;margin:0;font-size:clamp(2.5rem,5vw,4.5rem);font-weight:500;line-height:1}.project__subtitle{color:#666;margin:.75rem 0 0;font-size:1.1rem}.project__description{color:#999;max-width:700px;margin:1.75rem 0 0;font-size:1rem;line-height:1.8}.project__tags{flex-wrap:wrap;gap:.6rem;margin-top:1.75rem;display:flex}.project__tags span{color:#777;letter-spacing:.04em;border:1px solid #292929;padding:.45rem .8rem;font-size:.75rem}.project__link{color:#eab308;text-transform:uppercase;letter-spacing:.1em;align-items:center;gap:.5rem;margin-top:2rem;font-size:.85rem;text-decoration:none;display:inline-flex}.project__link span{font-size:1rem}.project__link:hover{color:#facc15}.experience{min-height:100vh;padding:10rem 8vw;scroll-margin-top:0}.experience__header{max-width:800px;margin-bottom:7rem}.experience__eyebrow{color:#eab308;letter-spacing:.14em;text-transform:uppercase;margin:0 0 1rem;font-size:.8rem}.experience__title{color:#e7e7de;letter-spacing:-.05em;margin:0;font-size:clamp(4rem,8vw,7rem);font-weight:500;line-height:.95}.experience__list{max-width:1100px}.experience__item{border-top:1px solid #222;grid-template-columns:180px 1fr;gap:4rem;max-width:1100px;padding:4rem 0;display:grid}.experience__item:last-child{border-bottom:1px solid #222}.experience__meta{flex-direction:column;gap:1rem;display:flex}.experience__number{color:#555;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85rem}.experience__date{color:#555;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem;line-height:1.5}.experience__content{max-width:800px}.experience__organization{color:#eab308;letter-spacing:.12em;text-transform:uppercase;margin:0 0 .75rem;font-size:.8rem}.experience__role{color:#e7e7de;letter-spacing:-.05em;margin:0;font-size:clamp(2.5rem,5vw,4.5rem);font-weight:500;line-height:1}.experience__position{color:#777;margin:1rem 0 0;font-size:1rem;line-height:1.6}.experience__description{color:#999;max-width:750px;margin:2rem 0 0;font-size:1rem;line-height:1.8}.experience__tags{flex-wrap:wrap;gap:.6rem;margin-top:2rem;display:flex}.experience__tags span{color:#777;letter-spacing:.04em;border:1px solid #292929;padding:.45rem .8rem;font-size:.75rem}.skills{min-height:100vh;padding:10rem 8vw;scroll-margin-top:0}.skills__header{max-width:800px;margin-bottom:6rem}.skills__eyebrow{color:#eab308;letter-spacing:.14em;text-transform:uppercase;margin:0 0 1rem;font-size:.8rem}.skills__title{color:#e7e7de;letter-spacing:-.05em;margin:0;font-size:clamp(4rem,8vw,7rem);font-weight:500;line-height:.95}.skills__intro{color:#777;max-width:600px;margin:2rem 0 0;font-size:1.1rem;line-height:1.7}.skills__grid{border-top:1px solid #222;border-bottom:1px solid #222;grid-template-columns:repeat(3,1fr);max-width:1100px;display:grid}.skills__group{border-right:1px solid #222;min-height:280px;padding:2.5rem 2rem}.skills__group:first-child{padding-left:0}.skills__group:last-child{border-right:none}.skills__group-header{align-items:flex-start;gap:1rem;margin-bottom:2.5rem;display:flex}.skills__number{color:#555;padding-top:.25rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.75rem}.skills__group-title{color:#e7e7de;margin:0;font-size:1.1rem;font-weight:500}.skills__items{flex-wrap:wrap;gap:.7rem;display:flex}.skills__items span{color:#888;border:1px solid #292929;padding:.5rem .75rem;font-size:.8rem;transition:color .2s,border-color .2s}.skills__items span:hover{color:#eab308;border-color:#eab308}.contact{flex-direction:column;justify-content:space-between;min-height:100vh;padding:10rem 8vw 3rem;scroll-margin-top:0;display:flex}.contact__content{max-width:1000px;padding-top:4rem}.contact__eyebrow{color:#eab308;letter-spacing:.14em;text-transform:uppercase;margin:0 0 2rem;font-size:.8rem}.contact__title{color:#e7e7de;letter-spacing:-.06em;margin:0;font-size:clamp(4.5rem,10vw,9rem);font-weight:500;line-height:.9}.contact__description{color:#888;max-width:550px;margin:3rem 0 0;font-size:1rem;line-height:1.8}.contact__email{color:#e7e7de;border-bottom:1px solid #444;margin-top:2.5rem;padding-bottom:.4rem;font-size:clamp(1.2rem,2vw,1.6rem);text-decoration:none;transition:color .2s,border-color .2s;display:inline-block}.contact__email:hover{color:#eab308;border-color:#eab308}.contact__links{gap:2rem;margin-top:3rem;display:flex}.contact__links a{color:#eab308;align-items:center;gap:.5rem;font-size:.85rem;text-decoration:none;transition:color .2s;display:flex}.contact__links a span{color:#eab308;font-size:1rem;transition:transform .2s}.contact__links a:hover{color:#eab308}.contact__links a:hover span{transform:translate(3px,-3px)}.contact__footer{color:#444;letter-spacing:.05em;text-transform:uppercase;border-top:1px solid #222;justify-content:space-between;padding-top:2rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.7rem;display:flex}.app{color:#e7e7de;background:#050505;min-height:100vh;position:relative}.app__background{z-index:0;pointer-events:none;position:fixed;inset:0}.app__background .light-rays-container{width:100%;height:100vh}.app__sidebar{z-index:10;position:fixed;top:50%;left:0;transform:translateY(-50%)}.app__content{z-index:2;min-height:100vh;margin-left:250px;position:relative}.placeholder-section{align-items:center;min-height:100vh;padding:6rem 8vw;display:flex}.placeholder-section span{color:#333;font-size:4rem;font-weight:500}.education{min-height:100vh;padding:10rem 8vw;scroll-margin-top:0}.education__header{max-width:800px;margin-bottom:7rem}.education__eyebrow{color:#eab308;letter-spacing:.14em;text-transform:uppercase;margin:0 0 1rem;font-size:.8rem}.education__title{color:#e7e7de;letter-spacing:-.05em;margin:0;font-size:clamp(4rem,8vw,7rem);font-weight:500;line-height:.95}.education__list{max-width:1100px}.education__item{border-top:1px solid #222;grid-template-columns:180px 1fr;gap:4rem;max-width:1100px;padding:4rem 0;display:grid}.education__item:last-child{border-bottom:1px solid #222}.education__meta{flex-direction:column;gap:1rem;display:flex}.education__number{color:#555;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85rem}.education__date{color:#555;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem;line-height:1.5}.education__content{max-width:800px}.education__institution{color:#eab308;letter-spacing:.12em;text-transform:uppercase;margin:0 0 .75rem;font-size:.8rem}.education__degree{color:#e7e7de;letter-spacing:-.05em;margin:0;font-size:clamp(2.5rem,5vw,4.5rem);font-weight:500;line-height:1}.education__field{color:#888;max-width:700px;margin:1.25rem 0 0;font-size:1rem;line-height:1.7}.education__status{color:#999;letter-spacing:.08em;text-transform:uppercase;margin:2rem 0 0;font-size:.8rem}.education__achievement{color:#e7e7de;margin:1.5rem 0 0;font-size:.95rem;line-height:1.6}.education__description{color:#888;max-width:700px;margin:1rem 0 0;font-size:.95rem;line-height:1.7}
