:root{--bg:#f8f7f4;--surface:#fff;--surface-hover:#fbfaf7;--text:#3f4248;--text-muted:#707680;--text-strong:#16181b;--border:#dedbd4;--border-strong:#beb8ad;--accent:#1a6f64;--accent-contrast:#fff;--focus:#126b6447;--shadow:#1c181214;--shadow-strong:#1c181224;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Inter, Roboto, "Helvetica Neue", Arial, sans-serif;color:var(--text);background:var(--bg);font-family:var(--font-sans);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;line-height:1.6}:root[data-theme=dark]{--bg:#111315;--surface:#171a1d;--surface-hover:#1b1f23;--text:#c7ccd3;--text-muted:#9198a2;--text-strong:#f1eee8;--border:#2a2f35;--border-strong:#3c434b;--accent:#7ed8c8;--accent-contrast:#06231f;--focus:#72d1bf57;--shadow:#0000003d;--shadow-strong:#00000057}*{box-sizing:border-box}html{scroll-behavior:smooth;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;scroll-padding-top:190px}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{background:var(--bg);min-width:320px;min-height:100vh;margin:0}button,input,textarea,select{font:inherit}h1,h2,h3,p{overflow-wrap:anywhere}::selection{color:var(--bg);background:var(--accent)}.page{width:min(1080px,100% - 48px);margin:0 auto;animation:.48s both page-in}.topbar{z-index:20;background:color-mix(in srgb, var(--bg) 88%, transparent);border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);align-items:flex-start;padding:18px 0;display:flex;position:sticky;top:0}.nav-pill a,.profile-links a,.footer a{color:var(--text-strong);text-decoration:none}.nav-pill{border:1px solid var(--border);background:color-mix(in srgb, var(--surface) 82%, transparent);width:100%;max-width:100%;box-shadow:inset 0 1px 0 #ffffff0a, 0 16px 44px var(--shadow);scrollbar-width:none;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:999px;align-items:center;gap:16px;padding:6px;display:flex;overflow-x:auto}.nav-pill::-webkit-scrollbar{display:none}.nav-group,.profile-links{flex:none;align-items:center;gap:4px;display:flex}.profile-links{border-left:1px solid var(--border);gap:6px;margin-left:auto;padding-left:22px}.nav-pill a,.profile-links a,.footer a{color:var(--text-muted);font-size:.9rem;font-weight:650;transition:color .18s;position:relative}.nav-pill a{border-radius:999px;flex:none;padding:8px 13px;transition:background .18s,color .18s,transform .18s}.profile-links a{border-radius:999px;padding:7px 10px;transition:background .18s,color .18s,transform .18s}.nav-pill a:hover,.profile-links a:hover{color:var(--text-strong);background:var(--surface-hover);transform:translateY(-1px)}.nav-primary a.is-active{color:var(--text-strong);background:var(--surface-hover)}.footer a:after{content:"";opacity:0;background:currentColor;height:1px;transition:opacity .18s,transform .18s;position:absolute;bottom:-3px;left:0;right:0;transform:scaleX(.55)}.footer a:hover{color:var(--accent)}.footer a:hover:after{opacity:1;transform:scaleX(1)}.theme-control{border:1px solid var(--border);color:var(--text);cursor:pointer;background:0 0;border-radius:999px;flex:none;padding:7px 12px;transition:background .18s,border-color .18s,box-shadow .18s,color .18s,transform .18s}.theme-control:hover{border-color:var(--border-strong);color:var(--text-strong);background:var(--surface-hover);box-shadow:0 10px 24px var(--shadow);transform:translateY(-1px)}.theme-control:focus-visible,a:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.intro{grid-template-columns:340px minmax(0,1fr);align-items:center;gap:58px;min-height:calc(100svh - 78px);padding:80px 0 88px;display:grid}.reveal{opacity:0;transition:opacity .36s,transform .36s cubic-bezier(.22,1,.36,1);transform:translateY(18px)}.reveal.is-visible{opacity:1;transform:translateY(0)}.skills-list .reveal:nth-child(2),.project-list .reveal:nth-child(2),.hackathon-list .reveal:nth-child(2){transition-delay:35ms}.skills-list .reveal:nth-child(3),.project-list .reveal:nth-child(3),.hackathon-list .reveal:nth-child(3){transition-delay:70ms}.skills-list .reveal:nth-child(4),.hackathon-list .reveal:nth-child(4){transition-delay:.105s}.portrait{aspect-ratio:4/5;border:1px solid var(--border);background:var(--surface);width:340px;box-shadow:0 18px 46px var(--shadow);transform-origin:50%;border-radius:8px;place-items:center;transition:border-color .22s,box-shadow .22s,transform .22s;display:grid;overflow:hidden}.portrait:hover{border-color:var(--border-strong);box-shadow:0 24px 60px var(--shadow-strong);transform:translateY(-3px)}.portrait img{object-fit:cover;object-position:center center;width:100%;height:100%;transition:transform .28s}.portrait:hover img{transform:scale(1.025)}.portrait span{color:var(--accent);font-size:5rem;font-weight:760}.intro-copy{max-width:790px}.role{color:var(--text-muted);margin:0 0 10px;font-size:1.08rem;font-weight:520}h1,h2,h3,p{margin-top:0}h1{color:var(--text-strong);letter-spacing:-.035em;margin-bottom:26px;font-size:clamp(3.25rem,5.6vw,5.25rem);font-weight:780;line-height:1.02}.intro-copy p:not(.role),.section p,.footer{color:var(--text)}.intro-copy p:not(.role){max-width:760px;margin-bottom:16px;font-size:1.08rem;line-height:1.76}.section{border-top:1px solid var(--border);padding:42px 0}.section h2{color:var(--text-strong);letter-spacing:-.01em;align-items:center;gap:12px;margin-bottom:22px;font-size:1.12rem;font-weight:780;display:flex}.section h2:after{content:"";background:var(--border-strong);transform-origin:0;width:42px;height:1px;transition:background .18s,transform .22s}.section:hover h2:after{background:var(--accent);transform:scaleX(1.35)}.skills-list,.simple-list,.project-list,.hackathon-list{gap:14px;display:grid}.skill-row{border-radius:8px;grid-template-columns:180px minmax(0,1fr);gap:28px;padding:12px 14px;transition:background .18s,transform .18s;display:grid}.skill-row:hover{background:var(--surface);transform:translate(4px)}.skill-row h3,.experience-item h3,.project-item h3,.hackathon-item h3{color:var(--text-strong);margin-bottom:0;font-size:.98rem;font-weight:740}.skill-row p,.experience-item p,.project-item p,.experience-item time,.hackathon-item p{color:var(--text-muted);margin:0;font-size:.96rem}.experience-item,.project-item,.hackathon-item{border:1px solid var(--border);background:var(--surface);color:inherit;border-radius:8px;padding:20px;text-decoration:none;transition:background .2s,border-color .2s,box-shadow .2s,transform .2s;display:block;position:relative;overflow:hidden;box-shadow:0 1px #00000005}.experience-item:before,.project-item:before,.hackathon-item:before{content:"";background:linear-gradient(110deg, transparent 0 42%, color-mix(in srgb, var(--accent) 10%, transparent) 50%, transparent 58% 100%);opacity:0;pointer-events:none;transition:opacity .18s,transform .42s;position:absolute;inset:0;transform:translate(-40%)}.experience-item:hover,.project-item:hover,.hackathon-item:hover{border-color:var(--border-strong);background:var(--surface-hover);box-shadow:0 18px 42px var(--shadow);transform:translateY(-2px)}.experience-item:hover:before,.project-item:hover:before,.hackathon-item:hover:before{opacity:1;transform:translate(40%)}.project-item-link{cursor:pointer}.experience-item{grid-template-columns:minmax(0,1fr) auto;gap:10px 22px;display:grid}.experience-item>p{color:var(--text);grid-column:1/-1}.project-list{gap:16px}.project-title{align-items:baseline;margin-bottom:12px;display:flex}.project-item>p{color:var(--text);font-size:.98rem;line-height:1.66}.project-item .stack{color:var(--text-muted);margin-top:14px;font-size:.88rem;line-height:1.5}.hackathon-list{gap:16px}.hackathon-item{cursor:pointer;grid-template-columns:230px minmax(0,1fr);align-items:start;gap:18px;display:grid}.hackathon-result{color:var(--accent);letter-spacing:.04em;text-transform:uppercase;margin:0 0 6px;font-size:.78rem;font-weight:820}.hackathon-item>p{color:var(--text);line-height:1.66}.contact-section{padding-bottom:56px}.contact-layout{grid-template-columns:minmax(0,1.08fr) minmax(280px,.72fr);gap:28px;display:grid}.contact-form,.connect-panel{border:1px solid var(--border);background:var(--surface);border-radius:8px;box-shadow:0 1px #00000005}.contact-form{gap:18px;padding:24px;display:grid}.contact-form h2,.connect-panel h2{color:var(--text-strong);letter-spacing:-.02em;margin-bottom:4px;font-size:1.28rem;font-weight:780;display:block}.contact-form h2:after,.connect-panel h2:after{content:none}.contact-form label{color:var(--text-strong);gap:8px;font-size:.92rem;font-weight:700;display:grid}.contact-form input,.contact-form textarea{border:1px solid var(--border);width:100%;color:var(--text-strong);background:var(--bg);resize:vertical;border-radius:8px;padding:12px 13px;transition:background .18s,border-color .18s,box-shadow .18s}.contact-form input::placeholder,.contact-form textarea::placeholder{color:var(--text-muted)}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--accent);background:var(--surface-hover);box-shadow:0 0 0 4px var(--focus);outline:none}.submit-button{border:1px solid var(--accent);color:var(--accent-contrast);background:var(--accent);cursor:pointer;border-radius:8px;justify-self:start;padding:11px 16px;font-weight:760;transition:box-shadow .18s,filter .18s,transform .18s}.submit-button:hover{box-shadow:0 14px 34px var(--shadow-strong);filter:brightness(1.04);transform:translateY(-2px)}.connect-panel{align-self:start;padding:24px}.connect-kicker{color:var(--accent);letter-spacing:.04em;text-transform:uppercase;margin:0 0 10px;font-size:.82rem;font-weight:800}.connect-panel p:not(.connect-kicker){color:var(--text);margin-bottom:20px;line-height:1.7}.email-block{gap:4px;margin-bottom:22px;display:grid}.email-block span{color:var(--text-muted);text-transform:uppercase;font-size:.82rem;font-weight:760}.email-block a{color:var(--text-strong);overflow-wrap:anywhere;font-weight:700;text-decoration:none}.email-block a:hover{color:var(--accent)}.connect-links{flex-wrap:wrap;gap:8px;display:flex}.connect-links a{border:1px solid var(--border);color:var(--text-muted);border-radius:999px;padding:7px 11px;text-decoration:none;transition:background .18s,border-color .18s,color .18s,transform .18s}.connect-links a:hover{border-color:var(--border-strong);color:var(--text-strong);background:var(--surface-hover);transform:translateY(-1px)}.footer{border-top:1px solid var(--border);justify-content:flex-end;align-items:center;gap:18px;padding:32px 0 48px;font-size:.9rem;display:flex}.footer p{color:var(--text-muted);margin:0 auto 0 0}.footer div{gap:14px;display:flex}@keyframes page-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important}}@media (width<=680px){.topbar{padding:14px 0}.profile-links{margin-left:8px;padding-left:12px}.profile-links::-webkit-scrollbar{display:none}.nav-pill{width:100%}.intro{grid-template-columns:1fr;gap:22px;min-height:calc(100svh - 82px);padding:54px 0 48px}.portrait{width:min(320px,100%)}.skill-row,.experience-item,.hackathon-item,.contact-layout{grid-template-columns:1fr}.project-title,.footer{flex-direction:column;align-items:flex-start}.footer p{margin:0}}
