*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#080810;--surface:#0f0f1a;--surface2:#16162a;--accent:#7c6af7;--accent2:#e8654a;--accent3:#4af0c8;--text:#f0eeff;--muted:#7a7a9a;--border:#7c6af72e}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);cursor:none;font-family:Syne,sans-serif;overflow-x:hidden}#cursor{background:var(--accent);pointer-events:none;z-index:9999;border-radius:50%;width:12px;height:12px;transition:transform .15s,opacity .2s;position:fixed;transform:translate(-50%,-50%)}#cursor-ring{pointer-events:none;z-index:9998;border:1.5px solid #7c6af780;border-radius:50%;width:36px;height:36px;transition:width .3s,height .3s,border-color .3s;position:fixed;transform:translate(-50%,-50%)}body:hover #cursor{opacity:1}a:hover~#cursor,button:hover~#cursor{transform:translate(-50%,-50%)scale(2.5)}#bg-canvas{z-index:0;pointer-events:none;position:fixed;inset:0}nav{z-index:100;-webkit-backdrop-filter:blur();backdrop-filter:blur();background:#08081000;justify-content:space-between;align-items:center;padding:1.5rem 4rem;transition:background .4s,-webkit-backdrop-filter .4s,backdrop-filter .4s;display:flex;position:fixed;top:0;left:0;right:0}nav.scrolled{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid var(--border);background:#080810d9}.nav-logo{color:var(--text);letter-spacing:-.02em;font-family:DM Serif Display,serif;font-size:1.4rem;text-decoration:none}.nav-links{gap:2.5rem;list-style:none;display:flex}.nav-links a{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;font-size:.8rem;font-weight:600;text-decoration:none;transition:color .2s;position:relative}.nav-links a:after{content:"";background:var(--accent);width:0;height:1px;transition:width .3s;position:absolute;bottom:-4px;left:0}.nav-links a:hover{color:var(--text)}.nav-links a:hover:after{width:100%}#hero{z-index:1;flex-direction:column;justify-content:center;min-height:100vh;padding:8rem 4rem;display:flex;position:relative;overflow:hidden}.hero-tag{color:var(--accent3);letter-spacing:.2em;text-transform:uppercase;opacity:0;margin-bottom:2rem;font-family:JetBrains Mono,monospace;font-size:.7rem;animation:.8s .3s forwards fadeUp;transform:translateY(20px)}.hero-name{letter-spacing:-.02em;opacity:0;margin-bottom:2rem;font-family:DM Serif Display,serif;font-size:clamp(3rem,7vw,6rem);line-height:1.1;animation:.9s .5s forwards fadeUp;transform:translateY(30px)}.hero-name .accent{color:var(--accent);font-style:italic}.hero-desc{color:var(--muted);opacity:0;max-width:500px;margin-bottom:3rem;font-size:1rem;line-height:1.8;animation:.8s .7s forwards fadeUp;transform:translateY(20px)}.hero-cta{opacity:0;gap:1rem;animation:.8s .9s forwards fadeUp;display:flex;transform:translateY(20px)}.btn-primary{background:var(--accent);color:#fff;letter-spacing:.05em;cursor:none;clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,12px 100%,0 calc(100% - 12px));border:none;padding:.8rem 2rem;font-family:Syne,sans-serif;font-size:.85rem;font-weight:600;text-decoration:none;transition:background .2s,transform .2s;display:inline-block}.btn-primary:hover{background:#9585ff;transform:translateY(-2px)}.btn-outline{color:var(--text);border:1px solid var(--border);letter-spacing:.05em;cursor:none;clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,12px 100%,0 calc(100% - 12px));background:0 0;padding:.8rem 2rem;font-family:Syne,sans-serif;font-size:.85rem;font-weight:600;text-decoration:none;transition:border-color .2s,transform .2s;display:inline-block}.btn-outline:hover{border-color:var(--accent);transform:translateY(-2px)}.hero-scroll-hint{color:var(--muted);letter-spacing:.15em;opacity:0;align-items:center;gap:1rem;font-family:JetBrains Mono,monospace;font-size:.65rem;animation:.8s 1.4s forwards fadeUp;display:flex;position:absolute;bottom:3rem;left:4rem}.scroll-line{background:var(--muted);width:40px;height:1px;animation:2s 2s infinite scrollPulse}@keyframes scrollPulse{0%,to{opacity:.5;width:40px}50%{opacity:1;width:70px}}.hero-stats{opacity:0;flex-direction:column;align-items:flex-end;gap:1.5rem;animation:.8s 1.1s forwards fadeUp;display:flex;position:absolute;bottom:3rem;right:4rem}.stat-item{text-align:right}.stat-num{color:var(--text);font-family:DM Serif Display,serif;font-size:2.5rem;line-height:1}.stat-label{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:.65rem}section{z-index:1;position:relative}.section-label{color:var(--accent3);letter-spacing:.2em;text-transform:uppercase;margin-bottom:1rem;font-family:JetBrains Mono,monospace;font-size:.65rem}.section-title{letter-spacing:-.02em;margin-bottom:3rem;font-family:DM Serif Display,serif;font-size:clamp(2.5rem,5vw,4rem);line-height:1.1}#projects{padding:8rem 4rem}.projects-grid{background:var(--border);grid-template-columns:1fr 1fr;gap:1.5px;display:grid}.project-card{background:var(--bg);cursor:none;padding:3rem;transition:background .3s;position:relative;overflow:hidden}.project-card:before{content:"";opacity:0;background:linear-gradient(135deg,#7c6af70d 0%,#0000 60%);transition:opacity .4s;position:absolute;inset:0}.project-card:hover{background:var(--surface)}.project-card:hover:before{opacity:1}.project-num{color:var(--muted);letter-spacing:.15em;margin-bottom:2rem;font-family:JetBrains Mono,monospace;font-size:.65rem}.project-icon-wrap{border:1px solid var(--border);clip-path:polygon(0 0,calc(100% - 8px) 0,100% 8px,100% 100%,8px 100%,0 calc(100% - 8px));justify-content:center;align-items:center;width:48px;height:48px;margin-bottom:2rem;transition:border-color .3s;display:flex}.project-card:hover .project-icon-wrap{border-color:var(--accent)}.project-icon{font-size:1.3rem}.project-name{letter-spacing:-.02em;margin-bottom:.5rem;font-family:DM Serif Display,serif;font-size:1.8rem;transition:color .2s}.project-card:hover .project-name{color:var(--accent)}.project-role{color:var(--accent2);letter-spacing:.12em;text-transform:uppercase;margin-bottom:1.5rem;font-size:.7rem;font-weight:600}.project-desc{color:var(--muted);margin-bottom:2rem;font-size:.88rem;line-height:1.8}.project-tags{flex-wrap:wrap;gap:.5rem;margin-bottom:2rem;display:flex}.tag{color:var(--accent);letter-spacing:.05em;border:1px solid #7c6af74d;padding:.25rem .6rem;font-family:JetBrains Mono,monospace;font-size:.65rem}.project-link{letter-spacing:.08em;text-transform:uppercase;color:var(--text);align-items:center;gap:.5rem;font-size:.75rem;font-weight:600;text-decoration:none;transition:color .2s,gap .2s;display:inline-flex}.project-link:hover{color:var(--accent);gap:.8rem}.project-link-arrow{font-size:1rem;transition:transform .2s}.project-link:hover .project-link-arrow{transform:translate(4px)rotate(-45deg)}#about{grid-template-columns:1fr 1fr;align-items:center;gap:6rem;padding:8rem 4rem;display:grid}.about-visual{height:500px;position:relative}.about-card{border:1px solid var(--border);background:var(--surface);padding:2rem;position:absolute}.about-card-main{flex-direction:column;justify-content:flex-end;display:flex;inset:0 0 4rem;overflow:hidden}.about-card-main:before{content:"";background:linear-gradient(#7c6af71a,#0000);height:60%;position:absolute;top:0;left:0;right:0}.about-grid-bg{background-image:linear-gradient(#7c6af714 1px,#0000 1px),linear-gradient(90deg,#7c6af714 1px,#0000 1px);background-size:30px 30px;position:absolute;inset:0}.about-initials{color:#7c6af726;letter-spacing:-.05em;font-family:DM Serif Display,serif;font-size:8rem;line-height:1;position:absolute;top:1rem;left:1rem}.about-name-tag{z-index:1;position:relative}.about-name-tag h3{font-family:DM Serif Display,serif;font-size:2rem}.about-name-tag p{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin-top:.25rem;font-size:.75rem}.about-card-float{width:200px;padding:1.25rem;top:3rem;right:-2rem}.float-label{color:var(--accent3);letter-spacing:.15em;text-transform:uppercase;margin-bottom:.75rem;font-family:JetBrains Mono,monospace;font-size:.6rem}.float-stat{font-family:DM Serif Display,serif;font-size:2.5rem;line-height:1}.float-stat-label{color:var(--muted);margin-top:.25rem;font-size:.65rem}.about-text h2{letter-spacing:-.02em;margin-bottom:2rem;font-family:DM Serif Display,serif;font-size:3rem;line-height:1.15}.about-text p{color:var(--muted);margin-bottom:1.5rem;font-size:.92rem;line-height:1.9}.skills-grid{grid-template-columns:1fr 1fr;gap:.5rem;margin-top:2rem;display:grid}.skill-item{color:var(--muted);border:1px solid #0000;align-items:center;gap:.5rem;padding:.6rem .75rem;font-family:JetBrains Mono,monospace;font-size:.72rem;transition:border-color .2s,color .2s;display:flex}.skill-item:hover{border-color:var(--border);color:var(--text)}.skill-dot{background:var(--accent3);border-radius:50%;flex-shrink:0;width:4px;height:4px}#roles{background:var(--surface);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:8rem 4rem}.roles-list{flex-direction:column;display:flex}.role-row{border-bottom:1px solid var(--border);cursor:none;grid-template-columns:80px 1fr auto;align-items:center;gap:2rem;padding:2rem 0;transition:padding .3s;display:grid;position:relative;overflow:hidden}.role-row:before{content:"";background:var(--accent);width:3px;transition:left .3s;position:absolute;top:0;bottom:0;left:-100%}.role-row:hover{padding-left:1rem}.role-row:hover:before{left:0}.role-num{color:var(--muted);letter-spacing:.15em;font-family:JetBrains Mono,monospace;font-size:.65rem}.role-info h3{font-family:DM Serif Display,serif;font-size:1.8rem;transition:color .3s}.role-row:hover .role-info h3{color:var(--accent)}.role-info p{color:var(--muted);margin-top:.25rem;font-size:.75rem}.role-badges{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.badge{letter-spacing:.05em;padding:.25rem .75rem;font-family:JetBrains Mono,monospace;font-size:.65rem}.badge-pm{color:var(--accent);background:#7c6af71f;border:1px solid #7c6af740}.badge-cd{color:var(--accent2);background:#e8654a1f;border:1px solid #e8654a40}.marquee-section{border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--bg);padding:2rem 0;overflow:hidden}.marquee-track{gap:3rem;width:max-content;animation:25s linear infinite marquee;display:flex}.marquee-item{color:var(--muted);white-space:nowrap;align-items:center;gap:3rem;font-family:DM Serif Display,serif;font-size:1.2rem;display:flex}.marquee-dot{color:var(--accent);font-size:1.5rem}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}#contact{text-align:center;padding:8rem 4rem;position:relative}.contact-glow{pointer-events:none;background:radial-gradient(circle,#7c6af714 0%,#0000 70%);width:600px;height:600px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.contact-tag{margin:0 auto 1rem}.contact-title{letter-spacing:-.03em;margin-bottom:2rem;font-family:DM Serif Display,serif;font-size:clamp(3rem,8vw,7rem);line-height:1}.contact-title em{color:var(--accent);font-style:italic}.contact-sub{color:var(--muted);margin-bottom:3rem;font-size:.9rem}.contact-links{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.contact-link{color:var(--muted);letter-spacing:.1em;border:1px solid var(--border);align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-family:JetBrains Mono,monospace;font-size:.75rem;text-decoration:none;transition:all .2s;display:flex}.contact-link:hover{color:var(--text);border-color:var(--accent);background:#7c6af714}footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;padding:2rem 4rem;display:flex}footer p{color:var(--muted);letter-spacing:.1em;font-family:JetBrains Mono,monospace;font-size:.65rem}@keyframes fadeUp{to{opacity:1;transform:translateY(0)}}.reveal{opacity:0;transition:opacity .8s,transform .8s;transform:translateY(40px)}.reveal.visible{opacity:1;transform:translateY(0)}.reveal-delay-1{transition-delay:.1s}.reveal-delay-2{transition-delay:.2s}.reveal-delay-3{transition-delay:.3s}.reveal-delay-4{transition-delay:.4s}@media (max-width:900px){nav{padding:1.5rem 2rem}.nav-links{gap:1.5rem}#hero,#projects,#about,#roles,#contact{padding-left:2rem;padding-right:2rem}.hero-stats{right:2rem}.projects-grid{grid-template-columns:1fr}#about{grid-template-columns:1fr;gap:3rem}.about-visual{height:350px}.about-card-float{top:1rem;right:0}.role-row{grid-template-columns:60px 1fr}.role-badges{display:none}footer{text-align:center;flex-direction:column;gap:1rem}}
