:root{color:#fef7ff;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--purple:#8c3cff;--orange:#ff7a1a;background-color:#06020a;font-family:Inter,Segoe UI,Roboto,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0;overflow-x:hidden}body{-webkit-overflow-scrolling:touch;background:radial-gradient(circle at 0 0,#8c3cff2e,#0000 32%),radial-gradient(circle at 100% 100%,#ff7a1a29,#0000 28%),#06020a;min-height:100dvh;overflow-y:auto}a{color:inherit;text-decoration:none}.page{place-items:center;min-height:100dvh;padding:clamp(1rem,3vw,2rem);display:grid}:root{--ticker-gap:1rem}.hero-shell{background:#07040eed;border-radius:2rem;place-items:center;width:min(1080px,100%);min-height:520px;padding:clamp(2rem,4vw,3rem);display:grid;position:relative;overflow:hidden;box-shadow:0 32px 80px #00000073}.close-x{z-index:3;color:#e9e1fb;opacity:0;background:#ffffff08;border:1px solid #ffffff0f;border-radius:2rem;place-items:center;width:44px;height:44px;font-size:1.15rem;text-decoration:none;transition:transform .14s,background .14s,color .14s;animation:.78s forwards fadeIn;display:grid;position:absolute;top:1rem;left:1rem}.close-x:hover{background:#ffffff0f;transform:translateY(-3px)}.hero-shell:before,.hero-shell:after{content:"";pointer-events:none;border-radius:50%;position:absolute}.hero-shell:before{background:radial-gradient(circle,#8c3cff73,#0000 60%);width:360px;height:360px;top:-120px;left:-140px}.hero-shell:after{background:radial-gradient(circle,#ff7a1a59,#0000 60%);width:280px;height:280px;bottom:-110px;right:-90px}.content-block{z-index:1;text-align:center;justify-items:center;gap:2rem;width:100%;display:grid;position:relative}.about-intro{grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr);align-items:center;gap:2rem;width:100%;display:grid}.about-copy{text-align:left;gap:1rem;display:grid}.about-heading{gap:.75rem;display:grid}.about-heading h2{color:#fff;margin:0;font-size:clamp(1.6rem,2.4vw,2.25rem)}.profile-photo-card{aspect-ratio:1;background:#ffffff0d;border:1px solid #ffffff1f;border-radius:1.75rem;justify-self:start;width:min(100%,280px);overflow:hidden;box-shadow:0 20px 50px #00000040}.profile-photo-card img{object-fit:cover;width:100%;height:100%;display:block}.eyebrow{text-transform:uppercase;letter-spacing:.35em;color:#ff9b4f;margin:0;font-size:.8rem}h1{color:#fff;margin:0;font-size:clamp(3rem,5vw,5rem);line-height:.98}h1 span{color:#9f84ff}.page-title{letter-spacing:.35em;text-transform:uppercase;color:#ffffffa6;z-index:2;opacity:0;align-items:center;font-size:.95rem;position:absolute;top:1.25rem;left:50%;transform:translate(-50%)}.page-title.animate-fade{animation:.78s forwards fadeIn}.is-switching.switch-out .page-title,.is-switching.switch-out .close-x{animation:.42s forwards fadeOut}.is-switching.switch-in .page-title,.is-switching.switch-in .close-x{animation:.78s forwards fadeIn}.description{color:#b9a7d2;max-width:42rem;margin:0;font-size:1.05rem;line-height:1.75}@media (width<=760px){.about-intro{grid-template-columns:1fr}.profile-photo-card{justify-self:center;width:min(100%,220px)}.about-copy{text-align:center}}.projects-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.25rem;width:100%;margin-top:1.5rem;display:grid}.project-card{text-align:left;background:#ffffff0a;border:1px solid #ffffff14;border-radius:1.5rem;gap:1rem;padding:1.5rem;display:grid}.project-card h2{color:#fff;margin:0;font-size:1.25rem}.project-card p{color:#c9b7e0;margin:0;line-height:1.75}.project-tag{letter-spacing:.24em;text-transform:uppercase;color:#ff9b4f;margin:0;font-size:.75rem}.project-link{color:#d9ccff;background:#9f84ff1f;border-radius:999px;justify-content:center;align-items:center;padding:.85rem 1rem;font-size:.9rem;text-decoration:none;transition:transform .14s,background .14s;display:inline-flex}.project-link:hover{background:#9f84ff2e;transform:translateY(-1px)}.actions{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.btn{letter-spacing:.02em;border-radius:999px;justify-content:center;align-items:center;padding:.95rem 1.6rem;font-weight:700;transition:transform .18s,box-shadow .18s,background .18s;display:inline-flex}.btn:hover{transform:translateY(-2px)}.btn-primary{color:#fff;background:linear-gradient(135deg, var(--purple), var(--orange));box-shadow:0 16px 40px #8c3cff38}.btn-secondary{color:#f7e5ff;background:#ffffff0d;border:1px solid #ff7a1a59}.social-row{flex-wrap:wrap;justify-content:center;gap:1.5rem;display:flex}.social-row a{color:#b8a9d0;align-items:center;gap:.55rem;font-size:.98rem;display:inline-flex}.social-row svg{color:#b8a9d0;width:1rem;height:1rem}.social-row span{display:none}.top-ticker,.ticker{border-top:1px solid #ffffff14;width:100%;overflow:hidden}.top-ticker{padding-bottom:var(--ticker-gap);border-top:none;border-bottom:1px solid #ffffff14;margin-bottom:1.25rem}.ticker{padding-top:var(--ticker-gap);margin-top:3rem}.ticker-window{width:100%;overflow:hidden}.ticker-track{white-space:nowrap;gap:3rem;animation:24s linear infinite rollLeft;display:inline-flex}.ticker-track.top-reverse{animation:24s linear infinite rollRight;transform:translate(-50%)}.ticker-seq{gap:3rem;display:inline-flex}@keyframes exitLeft{0%{transform:translate(0)}to{transform:translate(-120%)}}@keyframes exitRight{0%{transform:translate(0)}to{transform:translate(120%)}}@keyframes enterLeft{0%{transform:translate(120%)}to{transform:translate(0)}}@keyframes enterRight{0%{transform:translate(-120%)}to{transform:translate(0)}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.is-switching.switch-out .ticker-seq[aria-hidden=true],.is-switching.switch-in .ticker-seq[aria-hidden=true]{display:none}.is-switching.switch-out .ticker-track{gap:1rem;transform:translate(0)}.is-switching.switch-in .ticker-track{gap:1rem}.is-switching.switch-out .ticker-track:not(.top-reverse){animation:.52s cubic-bezier(.2,0,1,1) forwards exitLeft}.is-switching.switch-out .ticker-track.top-reverse{animation:.52s cubic-bezier(.2,0,1,1) forwards exitRight}.is-switching.switch-out .ticker-track span{animation:.42s forwards fadeOut}.is-switching.switch-in .ticker-track:not(.top-reverse){animation:.88s cubic-bezier(0,0,.2,1) forwards enterLeft;transform:translate(120%)}.is-switching.switch-in .ticker-track.top-reverse{animation:.88s cubic-bezier(0,0,.2,1) forwards enterRight;transform:translate(-120%)}.is-switching.switch-in .ticker-track span{animation:.78s forwards fadeIn}@keyframes heroExit{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-12px)}}@keyframes heroEnter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.is-switching.switch-out .hero-shell .content-block{animation:.52s cubic-bezier(.2,0,1,1) forwards heroExit}.is-switching.switch-in .hero-shell .content-block{animation:.88s cubic-bezier(0,0,.2,1) forwards heroEnter}.ticker-track span{color:#ffffffa6;letter-spacing:.24em;text-transform:uppercase;font-size:.95rem}@keyframes rollLeft{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes rollRight{0%{transform:translate(-50%)}to{transform:translate(0)}}@media (width<=760px){.hero-shell{padding:1.75rem}.content-block{gap:1.25rem}h1{font-size:clamp(2.5rem,8vw,3.2rem)}.actions{gap:.75rem}.ticker-track{gap:2rem}}
