@import url(https://fonts.googleapis.com/css2?family=Bebas+Neue&family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;1,9..40,300&family=JetBrains+Mono:wght@400;500&display=swap);:root{--bg:#07070a;--surface:#16181c;--surface-2:#24272b;--accent:#3e78b2;--accent-dim:#004ba8;--text:#dde4ee;--text-muted:#4a525a;--border:#1e2126;--font-display:"Bebas Neue",cursive;--font-body:"DM Sans",sans-serif;--font-mono:"JetBrains Mono",monospace}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:auto}body{background-color:#07070a;background-color:var(--bg);color:#dde4ee;color:var(--text);font-family:DM Sans,sans-serif;font-family:var(--font-body);line-height:1.6;overflow-x:hidden}body:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='a'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Cpath filter='url(%23a)' d='M0 0h300v300H0z'/%3E%3C/svg%3E");background-size:180px 180px;content:"";inset:0;opacity:.028;pointer-events:none;position:fixed;z-index:99000}::-webkit-scrollbar{width:3px}::-webkit-scrollbar-track{background:#07070a;background:var(--bg)}::-webkit-scrollbar-thumb{background:#004ba8;background:var(--accent-dim);border-radius:2px}.section-inner{margin:0 auto;max-width:1080px}.section-header{align-items:baseline;display:flex;gap:20px;margin-bottom:64px}.section-number{color:#3e78b2;color:var(--accent);font-size:.7rem;letter-spacing:.12em}.section-title{color:#dde4ee;color:var(--text);font-family:Bebas Neue,cursive;font-family:var(--font-display);font-size:clamp(2.8rem,5vw,4.5rem);letter-spacing:.03em;line-height:1}.btn,.font-mono{font-family:JetBrains Mono,monospace;font-family:var(--font-mono)}.btn{border:1px solid #0000;display:inline-block;font-size:.7rem;font-weight:500;letter-spacing:.14em;padding:12px 28px;text-decoration:none;text-transform:uppercase;transition:all .25s ease}.btn-primary{background:#3e78b2;background:var(--accent);border-color:#3e78b2;border-color:var(--accent);color:#07070a;color:var(--bg)}.btn-primary:hover{background:#0000;color:#3e78b2;color:var(--accent)}.btn-secondary{background:#0000;border-color:#1e2126;border-color:var(--border);color:#4a525a;color:var(--text-muted)}.btn-secondary:hover{border-color:#4a525a;border-color:var(--text-muted);color:#dde4ee;color:var(--text)}.reveal .reveal-child{opacity:0;transform:translateY(32px);transition:opacity .7s cubic-bezier(.22,1,.36,1) 0s,transform .7s cubic-bezier(.22,1,.36,1) 0s;transition:opacity .7s cubic-bezier(.22,1,.36,1) calc(var(--i, 0)*.1s),transform .7s cubic-bezier(.22,1,.36,1) calc(var(--i, 0)*.1s)}.reveal.in-view .reveal-child{opacity:1;transform:none}.App-nav{align-items:center;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);background:#0d0d0d80;border-bottom:1px solid #ffffff0f;display:flex;height:58px;justify-content:space-between;left:0;padding:0 60px;position:fixed;top:0;width:100%;z-index:1000;z-index:9999}.sitename{color:var(--accent);font-family:var(--font-display);font-size:1.5rem;letter-spacing:.12em}.nav-links{display:flex;gap:40px}.nav-links a{color:var(--text-muted);font-family:var(--font-mono);font-size:.68rem;letter-spacing:.14em;position:relative;text-decoration:none;text-transform:uppercase;transition:color .2s ease}.nav-links a:after{background:var(--accent);bottom:-3px;content:"";height:1px;left:0;position:absolute;transition:width .2s ease;width:0}.nav-links a:hover{color:var(--text)}.nav-links a:hover:after{width:100%}@media (max-width:600px){.App-nav{padding:0 24px}.nav-links{gap:24px}}*{cursor:none!important}@media (hover:hover) and (pointer:fine){.cursor-dot{background:var(--accent);border-radius:50%;height:8px;width:8px;z-index:99999}.cursor-dot,.cursor-ring{left:0;pointer-events:none;position:fixed;top:0;will-change:transform}.cursor-ring{border:1px solid #3e78b28c;border-radius:50%;height:40px;transition:width .25s ease,height .25s ease,border-color .25s ease,opacity .25s ease;width:40px;z-index:99998}.cursor-ring.expanded{border-color:var(--accent);height:64px;opacity:.9;width:64px}}.hero{align-items:center;background:var(--bg);display:flex;min-height:100vh;overflow:hidden;padding:58px 60px 80px;position:relative}.hero-bg-grid{animation:gridDrift 20s linear infinite;background-image:radial-gradient(var(--border) 1.5px,#0000 1.5px);background-size:36px 36px;inset:-100px;mask-image:radial-gradient(ellipse 75% 85% at 25% 50%,#000 15%,#0000 75%);-webkit-mask-image:radial-gradient(ellipse 75% 85% at 25% 50%,#000 15%,#0000 75%);opacity:.8;position:absolute}@keyframes gridDrift{0%{background-position:0 0}to{background-position:36px 36px}}.hero-glow{animation:glowPulse 6s ease-in-out infinite;background:radial-gradient(circle,#3e78b21a 0,#0000 68%);border-radius:50%;height:700px;left:20%;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);width:700px}@keyframes glowPulse{0%,to{opacity:.7;transform:translate(-50%,-50%) scale(1)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.08)}}.hero-content{max-width:1000px;position:relative;z-index:1}.hero-label{animation:fadeUp .5s ease .1s forwards;color:var(--accent);font-size:.68rem;letter-spacing:.3em;margin-bottom:28px;opacity:0;text-transform:uppercase}.hero-name{color:var(--text);display:flex;flex-direction:column;font-family:var(--font-display);font-size:clamp(5.5rem,16vw,14rem);gap:.02em;letter-spacing:.01em;line-height:1;margin-bottom:40px}.anim-word{display:block}.anim-letter{animation:letterCrash .55s cubic-bezier(.2,.8,.2,1) forwards;display:inline-block;opacity:0}@keyframes letterCrash{0%{opacity:0;transform:translateY(-60px) rotate(-8deg) scaleX(1.2)}60%{opacity:1;transform:translateY(6px) rotate(1deg) scaleX(.97)}to{opacity:1;transform:translateY(0) rotate(0) scaleX(1)}}.hero-divider{animation:expandWidth .45s ease 1.2s forwards;background:var(--accent);height:2px;margin-bottom:28px;opacity:0;width:0}@keyframes expandWidth{0%{opacity:0;width:0}to{opacity:1;width:56px}}.hero-role{animation:fadeIn .01s 1.38s forwards;color:var(--text-muted);font-size:.75rem;letter-spacing:.16em;margin-bottom:18px;min-height:1.2em;opacity:0;text-transform:uppercase}.type-cursor{animation:blink .9s step-end infinite;color:var(--accent);margin-left:1px}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.hero-description{animation:fadeUp .6s ease 1.9s forwards;color:var(--text-muted);font-size:1.05rem;line-height:1.8;margin-bottom:48px;max-width:420px;opacity:0}.hero-buttons{animation:fadeUp .6s ease 2.1s forwards;display:flex;flex-wrap:wrap;gap:14px;opacity:0}.hero-scroll-hint{align-items:center;animation:fadeIn .6s ease 2.6s forwards;bottom:44px;display:flex;flex-direction:column;gap:14px;opacity:0;position:absolute;right:60px}.hero-scroll-hint span{color:var(--text-muted);font-size:.58rem;letter-spacing:.24em;text-transform:uppercase;writing-mode:vertical-rl}.scroll-line{animation:scrollPulse 2.4s ease-in-out 3s infinite;background:linear-gradient(to bottom,var(--text-muted),#0000);height:56px;width:1px}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scrollPulse{0%,to{opacity:.2}50%{opacity:1}}@media (max-width:600px){.hero{padding:0 24px}.hero-scroll-hint{display:none}}.skills{background:var(--surface);-webkit-clip-path:polygon(0 80px,100% 0,100% 100%,0 100%);clip-path:polygon(0 80px,100% 0,100% 100%,0 100%);margin-top:-80px;padding:180px 60px 120px;position:relative;scroll-margin-top:58px;z-index:2}.skills-grid{border:1px solid var(--border);display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.skill-card{background:var(--surface-2);border-right:1px solid var(--border);overflow:hidden;padding:40px;position:relative;transition:background .25s ease}.skill-card:before{background:var(--accent);bottom:0;content:"";height:2px;left:0;position:absolute;transition:width .4s ease;width:0}.skill-card:hover{background:#1c1f24}.skill-card:hover:before{width:100%}.skill-card:last-child{border-right:none}.skill-card-title{color:var(--accent);font-size:.62rem;letter-spacing:.18em;margin-bottom:24px;text-transform:uppercase}.skill-list{list-style:none}.skill-item{border-bottom:1px solid var(--border);color:var(--text-muted);cursor:default;font-size:.92rem;padding:9px 0;transition:color .2s ease,padding-left .2s ease}.skill-item:last-child{border-bottom:none}.skill-item:hover{color:var(--text);padding-left:10px}@media (max-width:768px){.skills{-webkit-clip-path:polygon(0 40px,100% 0,100% 100%,0 100%);clip-path:polygon(0 40px,100% 0,100% 100%,0 100%);margin-top:-40px;padding:160px 24px 80px}.skills-grid{grid-template-columns:1fr}.skill-card{border-bottom:1px solid var(--border);border-right:none}.skill-card:last-child{border-bottom:none}}.projects{background:var(--bg);-webkit-clip-path:polygon(0 0,100% 80px,100% 100%,0 100%);clip-path:polygon(0 0,100% 80px,100% 100%,0 100%);margin-top:-80px;padding:180px 60px 120px;position:relative;scroll-margin-top:58px;z-index:1}.projects-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.project-card{background:var(--surface);border:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden;padding:36px;position:relative;transition:border-color .3s ease,transform .3s ease}.project-card:before{background:var(--accent);content:"";height:2px;left:0;position:absolute;top:0;transition:width .4s ease;width:0}.project-card:after{background:linear-gradient(135deg,#3e78b212,#0000 55%);content:"";inset:0;opacity:0;pointer-events:none;position:absolute;transition:opacity .3s ease}.project-card:hover{border-color:#2a3040;transform:translateY(-6px)}.project-card:hover:before{width:100%}.project-card:hover:after{opacity:1}.project-index{color:var(--accent);display:block;font-size:.62rem;letter-spacing:.12em;margin-bottom:18px}.project-title{color:var(--text);font-family:var(--font-display);font-size:2rem;letter-spacing:.04em;line-height:1;margin-bottom:14px}.project-desc{color:var(--text-muted);flex:1 1;font-size:.88rem;line-height:1.78;margin-bottom:24px}.project-tech{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}.tech-tag{border:1px solid var(--border);color:var(--text-muted);font-size:.6rem;letter-spacing:.1em;padding:4px 10px;text-transform:uppercase;transition:border-color .2s ease,color .2s ease}.project-card:hover .tech-tag{border-color:#2a3040;color:#a09590}.project-link{align-items:center;color:var(--accent);display:inline-flex;font-size:.68rem;gap:8px;letter-spacing:.12em;margin-top:auto;text-decoration:none;text-transform:uppercase;transition:gap .2s ease}.project-link:hover{gap:16px}.arrow{transition:transform .2s ease}.project-link:hover .arrow{transform:translateX(4px)}.project-card--soon{opacity:.35;pointer-events:none}.project-card--soon .project-title{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.18em;text-transform:uppercase}@media (max-width:600px){.projects{-webkit-clip-path:polygon(0 0,100% 40px,100% 100%,0 100%);clip-path:polygon(0 0,100% 40px,100% 100%,0 100%);margin-top:-40px;padding:160px 24px 80px}}.experience{background:var(--bg);-webkit-clip-path:polygon(0 0,100% 80px,100% 100%,0 100%);clip-path:polygon(0 0,100% 80px,100% 100%,0 100%);margin-top:-80px;padding:180px 60px 120px;position:relative;scroll-margin-top:58px;z-index:1}.exp-timeline{display:flex;flex-direction:column;gap:24px}.exp-item{background:var(--surface);border:1px solid var(--border);padding:28px 32px;position:relative;transition:border-color .3s ease}.exp-item:before{background:var(--accent);content:"";height:2px;left:0;position:absolute;top:0;transition:width .4s ease;width:0}.exp-item:hover{border-color:#2a3040}.exp-item:hover:before{width:100%}.exp-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:14px}.exp-role{color:var(--text);font-size:1rem;font-weight:500}.exp-org{color:var(--text-muted);font-size:.72rem;letter-spacing:.06em}.exp-period{color:var(--accent);font-size:.65rem;letter-spacing:.1em;white-space:nowrap}.exp-bullets{display:flex;flex-direction:column;gap:8px;list-style:none}.exp-bullets li{color:var(--text-muted);font-size:.86rem;line-height:1.7;padding-left:16px;position:relative}.exp-bullets li:before{color:var(--accent);content:"—";font-size:.7rem;left:0;position:absolute}@media (max-width:768px){.experience{-webkit-clip-path:polygon(0 0,100% 40px,100% 100%,0 100%);clip-path:polygon(0 0,100% 40px,100% 100%,0 100%);margin-top:-40px;padding:160px 24px 80px}.exp-header{flex-direction:column}}.education{background:var(--surface);-webkit-clip-path:polygon(0 80px,100% 0,100% 100%,0 100%);clip-path:polygon(0 80px,100% 0,100% 100%,0 100%);margin-top:-80px;padding:180px 60px 120px;position:relative;scroll-margin-top:58px;z-index:1}.edu-card{background:var(--surface-2);border:1px solid var(--border);padding:36px 40px}.edu-top{align-items:flex-start;border-bottom:1px solid var(--border);display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:28px;padding-bottom:28px}.edu-degree{color:var(--text);font-size:1.15rem;font-weight:500;margin-bottom:6px}.edu-school{color:var(--text-muted);font-size:.72rem;letter-spacing:.06em}.edu-period{color:var(--accent);font-size:.65rem;letter-spacing:.1em;white-space:nowrap}.edu-section-label{color:var(--accent);font-size:.6rem;letter-spacing:.18em;margin-bottom:12px;margin-top:24px;text-transform:uppercase}.edu-tags{display:flex;flex-wrap:wrap;gap:8px}.edu-projects{display:flex;flex-direction:column;gap:16px}.edu-project-course{color:var(--text-muted);display:block;font-size:.65rem;letter-spacing:.12em;margin-bottom:4px;text-transform:uppercase}.edu-project-desc{color:var(--text-muted);font-size:.86rem;line-height:1.75}@media (max-width:768px){.education{-webkit-clip-path:polygon(0 40px,100% 0,100% 100%,0 100%);clip-path:polygon(0 40px,100% 0,100% 100%,0 100%);margin-top:-40px;padding:160px 24px 80px}.edu-card{padding:24px}.edu-top{flex-direction:column}}.organizations{background:var(--bg);-webkit-clip-path:polygon(0 0,100% 80px,100% 100%,0 100%);clip-path:polygon(0 0,100% 80px,100% 100%,0 100%);margin-top:-80px;padding:180px 60px 120px;position:relative;scroll-margin-top:58px;z-index:1}.org-grid{grid-gap:2px;border:1px solid var(--border);display:grid;gap:2px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.org-item{align-items:center;background:var(--surface);border:1px solid #0000;display:flex;gap:20px;overflow:hidden;padding:24px 28px;position:relative;transition:border-color .3s ease,background .3s ease}.org-item:before{background:var(--accent);content:"";height:2px;left:0;position:absolute;top:0;transition:width .4s ease;width:0}.org-item:hover{background:var(--surface-2);border-color:#2a3040}.org-item:hover:before{width:100%}.org-index{color:var(--accent);flex-shrink:0;font-size:.58rem;letter-spacing:.12em}.org-name{color:var(--text);font-size:.9rem;line-height:1.4}@media (max-width:600px){.organizations{-webkit-clip-path:polygon(0 0,100% 40px,100% 100%,0 100%);clip-path:polygon(0 0,100% 40px,100% 100%,0 100%);margin-top:-40px;padding:160px 24px 80px}.org-grid{grid-template-columns:1fr}}.contact{align-items:center;background:var(--bg);-webkit-clip-path:polygon(0 0,100% 80px,100% 100%,0 100%);clip-path:polygon(0 0,100% 80px,100% 100%,0 100%);display:flex;margin-top:-80px;min-height:60vh;padding:180px 60px 80px;position:relative;scroll-margin-top:58px;z-index:1}.contact .section-inner{width:100%}.contact-title-large{font-size:clamp(3rem,8vw,6.5rem)!important}.contact-body{align-items:flex-start;display:flex;flex-wrap:wrap;gap:60px;justify-content:space-between;margin-top:60px}.contact-text{color:var(--text-muted);flex:1 1;font-size:.98rem;line-height:1.88;max-width:480px;min-width:240px}.contact-form{flex:1 1;gap:20px;max-width:480px;min-width:280px}.contact-form,.form-group{display:flex;flex-direction:column}.form-group{gap:6px}.form-label{color:var(--text-muted);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase}.form-input{background:#0000;border:1px solid var(--border);border-radius:6px;color:var(--text);font-family:inherit;font-size:.92rem;outline:none;padding:10px 14px;transition:border-color .2s}.form-input::placeholder{color:var(--text-muted);opacity:.6}.form-input:focus{border-color:var(--text)}.form-textarea{resize:none}.form-status{font-size:.72rem;letter-spacing:.1em}.form-status.success{color:#4ade80}.form-status.error{color:#f87171}.form-submit{align-self:flex-start}.contact-footer{border-top:1px solid var(--border);display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-top:100px;padding-top:28px}.footer-text{color:var(--text-muted);font-size:.58rem;letter-spacing:.16em;text-transform:uppercase}@media (max-width:600px){.contact{-webkit-clip-path:polygon(0 0,100% 40px,100% 100%,0 100%);clip-path:polygon(0 0,100% 40px,100% 100%,0 100%);margin-top:-40px;padding:160px 24px 60px}.contact-body{align-items:flex-start;gap:40px}.contact-body,.contact-footer{flex-direction:column}}
/*# sourceMappingURL=main.d413edfb.css.map*/