@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400&family=Inter:wght@300;400;500;600;700;800&family=Outfit:wght@400;600;800&family=Syne:wght@400;600;800&display=swap";:root{--bg-primary:#000;--bg-secondary:#111;--text-primary:#fff;--text-secondary:#a1a1aa;--accent-primary:#8b5cf6;--accent-secondary:#d946ef;--accent-gradient:linear-gradient(135deg, #fff, #a855f7);--glass-bg:#ffffff0d;--glass-border:#ffffff1a;--neon-violet:#8b5cf6}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;background-color:var(--bg-primary);color:var(--text-primary);font-family:Inter,sans-serif}body{-webkit-font-smoothing:antialiased;cursor:url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"32\" height=\"32\" viewBox=\"0 0 32 32\" fill=\"none\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M 8.4 5.2 L 5.45 4.4 Q 4 4 4.4 5.45 L 5.2 8.4\" stroke=\"%23d946ef\"/><path d=\"M 15 7 L 24.1 9.5 Q 26 10 24.1 10.6 L 15.9 13.4 Q 14 14 13.4 15.9 L 10.6 24.1 Q 10 26 9.5 24.1 L 7 15\" stroke=\"%238b5cf6\"/></svg>") 5 5,auto;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:Outfit,sans-serif}a{color:inherit;cursor:url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"32\" height=\"32\" viewBox=\"0 0 32 32\" fill=\"none\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M 8.4 5.2 L 5.45 4.4 Q 4 4 4.4 5.45 L 5.2 8.4\" stroke=\"%238b5cf6\"/><path d=\"M 15 7 L 24.1 9.5 Q 26 10 24.1 10.6 L 15.9 13.4 Q 14 14 13.4 15.9 L 10.6 24.1 Q 10 26 9.5 24.1 L 7 15\" stroke=\"%23d946ef\" fill=\"%23d946ef\" fill-opacity=\"0.2\"/></svg>") 5 5,pointer;text-decoration:none}.glass{background:var(--glass-bg);-webkit-backdrop-filter:blur(10px);border:1px solid var(--glass-border);box-shadow:0 8px 32px #0000000d}.text-gradient{background:var(--accent-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.container{max-width:1200px;margin:0 auto;padding:0 2rem}section{flex-direction:column;justify-content:center;min-height:100vh;padding:100px 0;display:flex}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:.8s ease-out forwards fadeIn}.btn{cursor:url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"32\" height=\"32\" viewBox=\"0 0 32 32\" fill=\"none\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M 8.4 5.2 L 5.45 4.4 Q 4 4 4.4 5.45 L 5.2 8.4\" stroke=\"%238b5cf6\"/><path d=\"M 15 7 L 24.1 9.5 Q 26 10 24.1 10.6 L 15.9 13.4 Q 14 14 13.4 15.9 L 10.6 24.1 Q 10 26 9.5 24.1 L 7 15\" stroke=\"%23d946ef\" fill=\"%23d946ef\" fill-opacity=\"0.2\"/></svg>") 5 5,pointer;border:none;border-radius:50px;padding:.8rem 2rem;font-weight:600;transition:all .5s cubic-bezier(.16,1,.3,1);display:inline-block}.btn-primary{background:var(--accent-gradient);color:#fff;box-shadow:0 4px 15px #8b5cf64d}.btn-primary:hover{background:var(--neon-violet);transform:translateY(-2px);box-shadow:0 0 20px #8b5cf6cc,0 0 40px #8b5cf666}.btn-outline{border:2px solid var(--accent-primary);color:var(--text-primary);background:0 0}.btn-outline:hover{background:var(--accent-primary);color:#fff;transform:translateY(-2px);box-shadow:0 0 20px #8b5cf6cc,0 0 40px #8b5cf666}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-smooth [data-lenis-prevent]{overflow:clip}.lenis.lenis-stopped{overflow:hidden}.lenis.lenis-smooth iframe{pointer-events:none}.navbar{z-index:1000;-webkit-backdrop-filter:blur(20px);color:#fff;background:#ffffff08;border:1px solid #a855f759;border-radius:50px;width:max-content;padding:.55rem 2.2rem;transition:opacity 1.2s cubic-bezier(.16,1,.3,1),transform 1.2s cubic-bezier(.16,1,.3,1),top 1.2s cubic-bezier(.16,1,.3,1),border-color .4s cubic-bezier(.16,1,.3,1),box-shadow .4s cubic-bezier(.16,1,.3,1);position:fixed;top:1rem;left:50%;transform:translate(-50%);box-shadow:0 8px 32px #00000080,0 0 15px #a855f740,0 0 30px #a855f71a,inset 0 1px 1px #ffffff40}.navbar:hover{border-color:#a855f7a6;box-shadow:0 8px 32px #0009,0 0 25px #a855f773,0 0 45px #a855f733,inset 0 1px 1px #ffffff59}.navbar.init-hidden{opacity:0;pointer-events:none;transform:translate(-50%)translateY(-60px)}.navbar-hidden{opacity:0;pointer-events:none;transition:opacity .5s cubic-bezier(.16,1,.3,1),transform .5s cubic-bezier(.16,1,.3,1),top .5s cubic-bezier(.16,1,.3,1);transform:translate(-50%)translateY(-20px)}.sidebar-nav{z-index:1000;opacity:0;pointer-events:none;flex-direction:column;gap:.5rem;transition:opacity .5s cubic-bezier(.16,1,.3,1),transform .5s cubic-bezier(.16,1,.3,1);display:flex;position:fixed;top:50%;left:1.2rem;transform:translateY(-50%)translate(-80px)}.sidebar-visible{opacity:1;pointer-events:all;transform:translateY(-50%)translate(0)}.sidebar-link{-webkit-backdrop-filter:blur(12px);color:#fff9;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;justify-content:center;align-items:center;width:42px;height:42px;text-decoration:none;transition:all .4s cubic-bezier(.16,1,.3,1);display:flex;position:relative}.sidebar-link:hover{color:#fff;background:#8b5cf640;border-color:#8b5cf680;transform:scale(1.12);box-shadow:0 0 14px #8b5cf680}.sidebar-link:after{content:attr(data-label);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#e2e8f0;white-space:nowrap;opacity:0;pointer-events:none;background:#0f0f0fe6;border:1px solid #8b5cf64d;border-radius:8px;padding:.3rem .7rem;font-size:.75rem;font-weight:500;transition:opacity .3s cubic-bezier(.16,1,.3,1);position:absolute;top:50%;left:calc(100% + 10px);transform:translateY(-50%)}.sidebar-link:hover:after{opacity:1}.nav-container{justify-content:center;align-items:center;display:flex}.nav-logo{letter-spacing:.02em;font-family:Cormorant Garamond,serif;font-size:1.6rem;font-style:italic;font-weight:700}.nav-links{align-items:center;gap:1.8rem;list-style:none;display:flex}.nav-links a{color:#fff;font-size:.9rem;font-weight:500;transition:color .4s cubic-bezier(.16,1,.3,1)}.nav-links a:hover:not(.btn){color:var(--accent-primary)}@media (width<=768px){.nav-links{display:none}.sidebar-nav{left:.6rem}.sidebar-link{border-radius:10px;width:36px;height:36px}}.hero-section{align-items:center;min-height:100vh;padding-top:80px;display:flex;position:relative;overflow:hidden}.hero-glow-1,.hero-glow-2{filter:blur(100px);z-index:0;opacity:.5;border-radius:50%;animation:10s ease-in-out infinite float;position:absolute}.hero-glow-1{background:var(--accent-primary);width:400px;height:400px;top:-100px;left:-100px}.hero-glow-2{background:var(--accent-secondary);width:300px;height:300px;animation-delay:-5s;bottom:10%;right:-50px}@keyframes float{0%{transform:translate(0)}50%{transform:translate(30px,50px)}to{transform:translate(0)}}.hero-container{z-index:1;width:100%;position:relative}.hero-content{max-width:800px}.hero-subtitle{color:var(--text-secondary);letter-spacing:2px;text-transform:uppercase;margin-bottom:.5rem;font-size:1.2rem;font-weight:500}.hero-title{letter-spacing:.02em;background:var(--accent-gradient);-webkit-text-fill-color:transparent;text-shadow:0 0 40px #a855f726;-webkit-background-clip:text;margin-bottom:1.2rem;font-family:Cormorant Garamond,serif;font-size:clamp(3.5rem,8vw,5.5rem);font-style:italic;font-weight:700;line-height:1.05}.hero-role{margin-bottom:1.5rem;font-size:clamp(1.5rem,4vw,2.5rem)}.hero-description{color:var(--text-secondary);max-width:600px;margin-bottom:2.5rem;font-size:1.1rem;line-height:1.6}.hero-cta{gap:1.5rem;display:flex}@media (width<=768px){.hero-cta{flex-direction:column;gap:1rem}.hero-glow-1{width:250px;height:250px}}.about-section{position:relative;overflow:hidden}.section-title{text-align:center;margin-bottom:3rem;font-size:2.5rem}.about-content{border-radius:20px;grid-template-columns:1fr 1fr;gap:3rem;max-width:900px;margin:0 auto;padding:3rem;display:grid}.about-text p{color:var(--text-secondary);margin-bottom:1.5rem;font-size:1.1rem;line-height:1.8}.about-stats{flex-direction:column;justify-content:center;gap:1.5rem;display:flex}.stat-card{border-left:4px solid var(--accent-primary);background:#ffffff05;border-radius:12px;padding:1.5rem;transition:transform .5s cubic-bezier(.16,1,.3,1),background .5s cubic-bezier(.16,1,.3,1),border-color .5s cubic-bezier(.16,1,.3,1),box-shadow .5s cubic-bezier(.16,1,.3,1)}.stat-card:hover{background:#ffffff0d;transform:translate(10px)}.stat-card h3{color:var(--text-primary);margin-bottom:.5rem;font-size:1.2rem}.stat-card p{color:var(--text-secondary);font-size:.95rem}@media (width<=992px){.about-content{grid-template-columns:1fr}.stat-card:hover{transform:translateY(-5px)}}.scroll-reveal{opacity:0;will-change:transform, opacity;transition-property:transform,opacity;transition-timing-function:cubic-bezier(.16,1,.3,1)}.reveal-up{transform:translateY(var(--distance,40px))}.reveal-down{transform:translateY(calc(-1 * var(--distance,40px)))}.reveal-left{transform:translateX(var(--distance,40px))}.reveal-right{transform:translateX(calc(-1 * var(--distance,40px)))}.reveal-fade{transform:none}.scroll-reveal.revealed{opacity:1;transform:translate(0,0)}.skills-section{position:relative}.skills-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;display:grid}.skill-card{border-radius:16px;padding:2.5rem;transition:transform .5s cubic-bezier(.16,1,.3,1),box-shadow .5s cubic-bezier(.16,1,.3,1),border-color .5s cubic-bezier(.16,1,.3,1)}.skill-card:hover{border-color:#6366f14d;transform:translateY(-10px);box-shadow:0 10px 30px #6366f11a}.skill-category{color:var(--text-primary);align-items:center;gap:.5rem;margin-bottom:1.5rem;font-size:1.4rem;display:flex}.skill-tags{flex-wrap:wrap;gap:.8rem;display:flex}.skill-tag{color:var(--text-secondary);background:#ffffff0d;border:1px solid #ffffff0d;border-radius:50px;padding:.6rem 1.2rem;font-size:.95rem;transition:all .4s cubic-bezier(.16,1,.3,1)}.skill-tag:hover{background:var(--accent-gradient);color:#fff;border-color:#0000;transform:scale(1.05)}.projects-section{position:relative}.projects-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2.5rem;display:grid}.project-card{border-radius:16px;flex-direction:column;transition:transform .6s cubic-bezier(.16,1,.3,1),box-shadow .6s cubic-bezier(.16,1,.3,1),border-color .6s cubic-bezier(.16,1,.3,1);display:flex;overflow:hidden}.project-card:hover{border-color:#a855f74d;transform:translateY(-10px);box-shadow:0 15px 35px #a855f726}.project-image-placeholder{width:100%;height:200px;position:relative;overflow:hidden}.project-image-placeholder:after{content:"";background:linear-gradient(#0000,#121212e6);position:absolute;inset:0}.project-info{flex-direction:column;flex-grow:1;padding:2rem;display:flex}.project-title{color:var(--text-primary);margin-bottom:1rem;font-size:1.4rem}.project-desc{color:var(--text-secondary);flex-grow:1;margin-bottom:1.5rem;font-size:.95rem;line-height:1.6}.project-tags{flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem;display:flex}.project-tag{color:var(--accent-secondary);background:#a855f71a;border-radius:4px;padding:.3rem .8rem;font-size:.8rem}.btn-link{color:var(--accent-primary);font-size:.95rem;font-weight:600;transition:color .4s cubic-bezier(.16,1,.3,1)}.btn-link:hover{color:var(--text-primary)}.contact-section{min-height:auto;padding-bottom:0;position:relative}.contact-container{text-align:center;border-radius:24px;max-width:800px;margin:0 auto 5rem;padding:4rem 2rem}.contact-desc{color:var(--text-secondary);max-width:600px;margin-bottom:3rem;margin-left:auto;margin-right:auto;font-size:1.1rem;line-height:1.6}.contact-buttons{flex-direction:column;align-items:center;gap:2rem;display:flex}.social-links{gap:1.5rem;display:flex}.social-link{color:var(--text-secondary);font-weight:500;transition:color .4s cubic-bezier(.16,1,.3,1)}.social-link:hover{color:var(--accent-primary)}.footer{text-align:center;border-top:1px solid var(--glass-border);color:var(--text-secondary);padding:2rem;font-size:.9rem}html,body{scrollbar-width:none;-ms-overflow-style:none}::-webkit-scrollbar{display:none!important}.scroll-tracker-container{z-index:99999;pointer-events:none;background:#8b5cf60d;border-radius:99px;width:2px;position:fixed;top:40px;bottom:40px;right:12px}.shooting-star-scrollbar{will-change:top;background:linear-gradient(#fff,#a855f7);border-radius:99px;width:6px;height:30px;position:absolute;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 10px #fff,0 0 20px #a855f7}.shooting-star-scrollbar:after{content:"";width:2px;height:40px;transition:all .3s cubic-bezier(.25,1,.5,1);position:absolute;left:50%;transform:translate(-50%)}.shooting-star-scrollbar.down:after{background:linear-gradient(#a855f700,#a855f7cc);bottom:100%}.shooting-star-scrollbar.up:after{background:linear-gradient(#a855f7cc,#a855f700);top:100%}*,:before,:after{cursor:none!important}.custom-cursor{pointer-events:none;z-index:99999;background:#8b5cf6;border-radius:50%;width:12px;height:12px;transition:width .4s cubic-bezier(.16,1,.3,1),height .4s cubic-bezier(.16,1,.3,1),background .4s cubic-bezier(.16,1,.3,1),box-shadow .4s cubic-bezier(.16,1,.3,1),border .4s cubic-bezier(.16,1,.3,1),opacity .4s cubic-bezier(.16,1,.3,1),-webkit-backdrop-filter .4s cubic-bezier(.16,1,.3,1),backdrop-filter .4s cubic-bezier(.16,1,.3,1);position:fixed;transform:translate(-50%,-50%);box-shadow:0 0 8px #8b5cf6,0 0 20px #8b5cf6,0 0 40px #8b5cf680}.custom-cursor.hover{-webkit-backdrop-filter:blur(4px);background:#fff3;border:1.5px solid #8b5cf666;width:28px;height:28px;box-shadow:0 0 10px #8b5cf633,0 0 20px #8b5cf614}.loading-screen{z-index:2000;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:fixed;top:0;left:0}.loading-text{letter-spacing:2px;margin-bottom:1rem;font-family:Outfit,sans-serif;font-size:2rem;font-weight:800}.loading-bar-wrapper{background:#ffffff1a;border-radius:99px;width:320px;height:4px;position:relative;overflow:hidden}.loading-bar-fill{background:linear-gradient(90deg,#fff,#a855f7);border-radius:99px;height:100%;transition:width .15s ease-out;position:relative;box-shadow:0 0 12px #fffc,0 0 24px #a855f766}.loading-bar-fill:after{content:"";background:#a855f7;border-radius:50%;width:10px;height:10px;position:absolute;top:50%;right:-3px;transform:translateY(-50%);box-shadow:0 0 8px #a855f7,0 0 16px #fff}.app-content{opacity:0;visibility:hidden;transition:opacity 1.2s cubic-bezier(.16,1,.3,1),visibility 1.2s cubic-bezier(.16,1,.3,1),transform 1.2s cubic-bezier(.16,1,.3,1);transform:translateY(15px)}.app-content.visible{opacity:1;visibility:visible;transform:translateY(0)}
