@import"https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Playfair+Display:wght@400;500;600;700;800;900&family=Space+Grotesk:wght@300;400;500;600;700&family=Inter:wght@300;400;500;600;700;800;900&display=swap";*{margin:0;padding:0;box-sizing:border-box}:root{--bg-center: #1a1a1a;--bg-edge: #000000;--text-primary: #ffffff;--text-secondary: rgba(255, 255, 255, .75);--text-tertiary: rgba(255, 255, 255, .5);--border-subtle: rgba(255, 255, 255, .15);--border-medium: rgba(255, 255, 255, .3);--border-glow: rgba(255, 255, 255, .5);--glass-bg: rgba(255, 255, 255, .12);--glass-blur: 40px;--overlay-strong: rgba(0, 0, 0, .7);--overlay-medium: rgba(0, 0, 0, .5);--overlay-light: rgba(0, 0, 0, .3);--glow-primary: rgba(255, 255, 255, .15);--glow-secondary: rgba(255, 255, 255, .08);--glow-inner: rgba(255, 255, 255, .12);--transition-smooth: all .3s cubic-bezier(.25, .1, .25, 1);--transition-theme: background-color .5s ease, color .5s ease, border-color .5s ease;--font-display: "Bebas Neue", "Impact", -apple-system, BlinkMacSystemFont, sans-serif;--font-heading: "Playfair Display", "Georgia", serif;--font-subheading: "Space Grotesk", "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--hero-gradient-start: #ffffff;--hero-gradient-mid: rgba(255, 255, 255, .7);--hero-gradient-end: #ffffff;--project-card-bg: rgba(0, 0, 0, .3);--project-card-hover-bg: rgba(0, 0, 0, .5);--project-image-overlay: rgba(0, 0, 0, .5);--project-image-overlay-hover: rgba(0, 0, 0, .7);--skill-card-bg: rgba(0, 0, 0, .1);--skill-card-hover-bg: rgba(0, 0, 0, .5);font-family:var(--font-body);font-feature-settings:"cv11","ss01";font-optical-sizing:auto;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.7}:root[data-theme=light]{--bg-center: #f9f9f9;--bg-edge: #ffffff;--text-primary: #000000;--text-secondary: rgba(0, 0, 0, .75);--text-tertiary: rgba(0, 0, 0, .55);--border-subtle: rgba(0, 0, 0, .12);--border-medium: rgba(0, 0, 0, .25);--border-glow: rgba(0, 0, 0, .4);--glass-bg: rgba(255, 255, 255, .8);--glass-blur: 40px;--overlay-strong: rgba(0, 0, 0, .25);--overlay-medium: rgba(0, 0, 0, .15);--overlay-light: rgba(0, 0, 0, .1);--glow-primary: rgba(0, 0, 0, .08);--glow-secondary: rgba(0, 0, 0, .04);--glow-inner: rgba(0, 0, 0, .06);--hero-gradient-start: #000000;--hero-gradient-mid: rgba(0, 0, 0, .7);--hero-gradient-end: #000000;--project-card-bg: rgba(255, 255, 255, .3);--project-card-hover-bg: rgba(255, 255, 255, .5);--project-image-overlay: rgba(255, 255, 255, .2);--project-image-overlay-hover: rgba(255, 255, 255, .4);--skill-card-bg: rgba(255, 255, 255, .1);--skill-card-hover-bg: rgba(255, 255, 255, .5)}html{scroll-behavior:smooth;overflow-x:hidden}html,body{margin:0;padding:0;width:100%;min-height:100vh;overflow-x:hidden}body{background-color:var(--bg-edge);background-image:radial-gradient(ellipse 85% 75% at 50% 35%,rgba(255,255,255,.12) 0%,rgba(255,255,255,.06) 30%,rgba(255,255,255,.02) 55%,transparent 75%),repeating-linear-gradient(45deg,transparent,transparent 60px,rgba(255,255,255,.01) 60px,rgba(255,255,255,.01) 62px),repeating-linear-gradient(-45deg,transparent,transparent 80px,rgba(255,255,255,.008) 80px,rgba(255,255,255,.008) 82px),radial-gradient(ellipse 100% 100% at 50% 50%,transparent 0%,transparent 55%,rgba(0,0,0,.5) 85%,rgba(0,0,0,.7) 100%),repeating-linear-gradient(0deg,transparent,transparent 3px,rgba(255,255,255,.01) 3px,rgba(255,255,255,.01) 6px);background-size:100% 100%,100% 100%,100% 100%,100% 100%,100% 100%,100% 100%;background-position:center,center,center,center,center,center;background-attachment:fixed;color:var(--text-primary);overflow-x:hidden;position:relative;isolation:isolate;transition:var(--transition-theme)}:root[data-theme=light] body{background-image:radial-gradient(ellipse 85% 75% at 50% 35%,rgba(0,0,0,.06) 0%,rgba(0,0,0,.03) 30%,rgba(0,0,0,.01) 55%,transparent 75%),repeating-linear-gradient(45deg,transparent,transparent 60px,rgba(0,0,0,.015) 60px,rgba(0,0,0,.015) 62px),repeating-linear-gradient(-45deg,transparent,transparent 80px,rgba(0,0,0,.01) 80px,rgba(0,0,0,.01) 82px),radial-gradient(ellipse 100% 100% at 50% 50%,transparent 0%,transparent 60%,rgba(255,255,255,.5) 90%,rgba(255,255,255,.8) 100%),repeating-linear-gradient(0deg,transparent,transparent 3px,rgba(0,0,0,.01) 3px,rgba(0,0,0,.01) 6px)}body:before{content:"";position:fixed;inset:0;background:radial-gradient(ellipse 60% 50% at 50% 28%,rgba(255,255,255,.1),transparent 70%),radial-gradient(circle at 35% 65%,rgba(255,255,255,.05),transparent 55%),radial-gradient(circle at 65% 40%,rgba(255,255,255,.04),transparent 60%);filter:blur(35px);opacity:1;pointer-events:none;z-index:0;mix-blend-mode:screen;animation:gentleAmbient 38s ease-in-out infinite;transition:opacity .5s ease;will-change:opacity;transform:translateZ(0);backface-visibility:hidden}:root[data-theme=light] body:before{background:radial-gradient(ellipse 60% 50% at 50% 28%,rgba(0,0,0,.04),transparent 70%),radial-gradient(circle at 35% 65%,rgba(0,0,0,.03),transparent 55%),radial-gradient(circle at 65% 40%,rgba(0,0,0,.02),transparent 60%);mix-blend-mode:multiply;filter:blur(35px)}body:after{content:"";position:fixed;inset:0;background-image:radial-gradient(circle 3.5px at 28% 22%,rgba(255,255,255,.16),rgba(255,255,255,.06) 60%,transparent),radial-gradient(circle 3px at 72% 58%,rgba(255,255,255,.14),rgba(255,255,255,.05) 60%,transparent),radial-gradient(circle 2.5px at 42% 72%,rgba(255,255,255,.12),rgba(255,255,255,.04) 60%,transparent),radial-gradient(circle 3px at 85% 35%,rgba(255,255,255,.13),rgba(255,255,255,.05) 60%,transparent),radial-gradient(circle 2px at 18% 68%,rgba(255,255,255,.11),rgba(255,255,255,.04) 60%,transparent),radial-gradient(circle at 1px 1px,rgba(255,255,255,.03) 1px,transparent 1px);background-size:100% 100%,100% 100%,100% 100%,100% 100%,100% 100%,45px 45px;background-position:0 0,0 0,0 0,0 0,0 0,0 0;background-repeat:no-repeat,no-repeat,no-repeat,no-repeat,no-repeat,repeat;opacity:.65;pointer-events:none;z-index:1;mix-blend-mode:screen;animation:smoothOrbFloat 32s ease-in-out infinite;transition:opacity .5s ease;will-change:background-position;transform:translateZ(0);backface-visibility:hidden}:root[data-theme=light] body:after{background-image:radial-gradient(circle 3.5px at 28% 22%,rgba(0,0,0,.08),rgba(0,0,0,.03) 60%,transparent),radial-gradient(circle 3px at 72% 58%,rgba(0,0,0,.07),rgba(0,0,0,.025) 60%,transparent),radial-gradient(circle 2.5px at 42% 72%,rgba(0,0,0,.06),rgba(0,0,0,.02) 60%,transparent),radial-gradient(circle 3px at 85% 35%,rgba(0,0,0,.065),rgba(0,0,0,.025) 60%,transparent),radial-gradient(circle 2px at 18% 68%,rgba(0,0,0,.055),rgba(0,0,0,.02) 60%,transparent),radial-gradient(circle at 1px 1px,rgba(0,0,0,.02) 1px,transparent 1px);opacity:.6;mix-blend-mode:multiply}#root{width:100%;min-height:100vh;position:relative;z-index:2;overflow-x:hidden}#root:before{content:"";position:fixed;inset:-5%;width:110%;height:110%;pointer-events:none;z-index:999;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 400 400' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='2.5' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");background-size:cover;opacity:.15;mix-blend-mode:overlay;animation:grainFlicker .3s steps(3) infinite,grainMove 8s steps(10) infinite;will-change:transform,opacity;transform:translateZ(0);backface-visibility:hidden}#root:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:998;box-shadow:inset 0 0 200px #00000080,inset 0 0 400px #0000004d,inset 0 0 600px #0003;mix-blend-mode:multiply;animation:vignetteBreath 6s ease-in-out infinite;will-change:box-shadow;transform:translateZ(0);backface-visibility:hidden}:root[data-theme=light] #root:before{opacity:.08;mix-blend-mode:soft-light}:root[data-theme=light] #root:after{box-shadow:inset 0 0 200px #fff9,inset 0 0 400px #fff6,inset 0 0 600px #ffffff4d;mix-blend-mode:screen;animation:vignetteBreathLight 6s ease-in-out infinite}.app{width:100%;min-height:100vh}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:transparent;transition:var(--transition-theme)}::-webkit-scrollbar-thumb{background:var(--border-glow);border-radius:4px;transition:var(--transition-theme)}::-webkit-scrollbar-thumb:hover{background:var(--border-medium)}:root[data-theme=light] ::-webkit-scrollbar-thumb{background:#0000004d}:root[data-theme=light] ::-webkit-scrollbar-thumb:hover{background:#0006}h1{font-family:var(--font-display);font-weight:400;line-height:1;letter-spacing:.02em;text-transform:uppercase;transition:letter-spacing .3s cubic-bezier(.25,.1,.25,1);text-shadow:0 4px 16px rgba(0,0,0,.5)}h1:hover{letter-spacing:.04em}h2{font-family:var(--font-heading);font-weight:700;line-height:1.2;letter-spacing:-.02em;transition:letter-spacing .3s cubic-bezier(.25,.1,.25,1);text-shadow:0 2px 12px rgba(0,0,0,.4)}h2:hover{letter-spacing:0em}h3,h4{font-family:var(--font-subheading);font-weight:600;line-height:1.3;letter-spacing:-.01em;transition:letter-spacing .3s cubic-bezier(.25,.1,.25,1);text-shadow:0 2px 8px rgba(0,0,0,.3)}h3:hover,h4:hover{letter-spacing:.01em}h5,h6{font-family:var(--font-body);font-weight:700;line-height:1.4;letter-spacing:.02em;text-transform:uppercase;font-size:.875rem;transition:letter-spacing .3s cubic-bezier(.25,.1,.25,1);text-shadow:0 1px 4px rgba(0,0,0,.2)}p{font-family:var(--font-body);line-height:1.7;font-weight:400}:root[data-theme=light] h1,:root[data-theme=light] h2,:root[data-theme=light] h3,:root[data-theme=light] h4,:root[data-theme=light] h5,:root[data-theme=light] h6{text-shadow:0 1px 3px rgba(0,0,0,.1)}.tracking-tighter{letter-spacing:-.05em}.tracking-widest{letter-spacing:.15em}.text-gradient{background:linear-gradient(to bottom,var(--text-primary) 0%,var(--text-secondary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.glass-card{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--border-subtle);border-radius:16px;transition:var(--transition-smooth);box-shadow:0 10px 40px -10px #000c,inset 0 0 0 1px #ffffff0d}.glass-card:hover{background:#ffffff26;border-color:var(--border-glow);box-shadow:0 20px 60px -10px #ffffff1a,inset 0 0 0 1px #ffffff1a;transform:translateY(-4px)}:root[data-theme=light] .glass-card{background:#ffffffe6;border:1px solid rgba(0,0,0,.1);box-shadow:0 10px 40px -10px #0000001a,inset 0 0 0 1px #00000005}:root[data-theme=light] .glass-card:hover{background:#fffffff2;border-color:#0003;box-shadow:0 20px 60px -10px #00000026,inset 0 0 0 1px #0000000d}.container{max-width:1200px;margin:0 auto;padding:0 24px}@media(max-width:768px){.container{padding:0 16px}}.section{padding:120px 0}@media(max-width:768px){.section{padding:80px 0}}.btn{padding:12px 32px;border:1px solid var(--border-glow);background:transparent;color:var(--text-primary);font-size:14px;font-weight:500;text-transform:uppercase;letter-spacing:.1em;cursor:pointer;border-radius:6px;transition:var(--transition-smooth);position:relative;overflow:hidden}.btn:hover{border-color:var(--border-medium);box-shadow:var(--shadow-glow);transform:translateY(-1px)}.btn-primary{background:var(--glass-bg)}.btn-primary:hover{background:var(--glass-bg);opacity:.9}@keyframes grainFlicker{0%,to{opacity:.1}50%{opacity:.13}}@keyframes grainMove{0%,to{transform:translate(0)}10%{transform:translate(-1%,-1%)}20%{transform:translate(1.5%,.5%)}30%{transform:translate(-.5%,1.5%)}40%{transform:translate(1%,-.5%)}50%{transform:translate(-1.5%,1%)}60%{transform:translate(.5%,-1.5%)}70%{transform:translate(-1%,.5%)}80%{transform:translate(1.5%,-1%)}90%{transform:translate(-.5%,-.5%)}}@keyframes vignetteBreath{0%,to{box-shadow:inset 0 0 200px #00000080,inset 0 0 400px #0000004d,inset 0 0 600px #0003}50%{box-shadow:inset 0 0 180px #00000073,inset 0 0 380px #00000047,inset 0 0 580px #0000002e}}@keyframes vignetteBreathLight{0%,to{box-shadow:inset 0 0 200px #fff6,inset 0 0 400px #fff3,inset 0 0 600px #ffffff1a}50%{box-shadow:inset 0 0 180px #ffffff59,inset 0 0 380px #ffffff2e,inset 0 0 580px #ffffff14}}@keyframes gentleAmbient{0%,to{opacity:1}50%{opacity:.85}}@keyframes smoothOrbFloat{0%,to{background-position:0% 0%,0% 0%,0% 0%,0% 0%,0% 0%,0 0}33%{background-position:3% 4%,-2% 5%,4% -3%,5% 6%,-3% 4%,8px 10px}66%{background-position:-2% 6%,5% -3%,-4% 5%,-3% -2%,6% 7%,-6px 15px}}@keyframes breathe{0%,to{opacity:.4}50%{opacity:.7}}.breathe{animation:breathe 3s ease-in-out infinite}@keyframes glow-pulse{0%,to{box-shadow:0 0 10px #ffffff1a}50%{box-shadow:0 0 20px #fff3}}@keyframes shimmer{0%{background-position:-200% center}to{background-position:200% center}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes noiseFlicker{0%,to{opacity:.76}50%{opacity:.72}}.flex-center{display:flex;align-items:center;justify-content:center}.text-uppercase{text-transform:uppercase}.opacity-40{opacity:.4}.opacity-70{opacity:.7}::selection{background:var(--text-primary);color:var(--bg-edge);text-shadow:none}::-moz-selection{background:var(--text-primary);color:var(--bg-edge);text-shadow:none}body{cursor:none}#custom-cursor{position:fixed;width:20px;height:20px;border-radius:50%;border:2px solid var(--text-primary);pointer-events:none;z-index:10000;transition:width .15s cubic-bezier(.25,.1,.25,1),height .15s cubic-bezier(.25,.1,.25,1),background .15s cubic-bezier(.25,.1,.25,1),border-width .15s cubic-bezier(.25,.1,.25,1);mix-blend-mode:difference;will-change:transform}#custom-cursor.hover{width:50px;height:50px;background:#ffffff1a;border-width:1px}#custom-cursor.click{width:10px;height:10px}#cursor-trail{position:fixed;width:6px;height:6px;border-radius:50%;background:var(--text-primary);pointer-events:none;z-index:9999;opacity:.5;mix-blend-mode:difference;will-change:transform}a{color:inherit;text-decoration:none;transition:var(--transition-smooth);position:relative}a:hover{opacity:.8}a:not([class*=btn]):not([class*=glass-card]):not([href^="#"]):not([style*="display: flex"]):after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:1px;background:currentColor;transition:width .3s cubic-bezier(.25,.1,.25,1)}a:not([class*=btn]):not([class*=glass-card]):not([href^="#"]):not([style*="display: flex"]):hover:after{width:100%}.gradient-text{display:inline-block;background:linear-gradient(90deg,var(--text-primary) 0%,var(--text-secondary) 45%,var(--text-primary) 50%,var(--text-secondary) 55%,var(--text-primary) 100%);background-size:200% auto;color:transparent;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:shimmer 8s linear infinite;will-change:background-position}h1,h2,h3{transition:letter-spacing .3s cubic-bezier(.25,.1,.25,1)}h1:hover,h2:hover,h3:hover{letter-spacing:.02em}.reveal{opacity:0;animation:fadeInUp .8s cubic-bezier(.25,.1,.25,1) forwards}.reveal-delay-1{animation-delay:.1s}.reveal-delay-2{animation-delay:.2s}.reveal-delay-3{animation-delay:.3s}@media(hover:none)and (pointer:coarse){body{cursor:auto!important}#custom-cursor,#cursor-trail{display:none!important}}@media(max-width:1024px){.container{padding:0 20px}.section{padding:100px 0}}@media(max-width:768px){html{font-size:14px}.section{padding:60px 0}.container{padding:0 16px}.glass-card{padding:20px}section[style*="paddingTop: 180px"]{padding-top:120px!important;padding-bottom:60px!important}div[style*="width: 280px"][style*="height: 280px"]{width:200px!important;height:200px!important;margin:0 auto!important}div[style*="display: flex"][style*="gap: 64px"]{flex-direction:column!important;gap:32px!important;align-items:center!important;text-align:center!important}div[style*="display: flex"][style*="gap: 16px"][style*="marginBottom: 32px"]{justify-content:center!important}div[style*="display: flex"][style*="gap: 16px"]{flex-direction:column;gap:12px!important}button[style*="padding: 18px 48px"]{width:100%;padding:16px 32px!important}.back-to-top-btn{bottom:20px!important;right:20px!important;width:48px!important;height:48px!important;font-size:16px!important}div[style*="gap: 32px"]{gap:20px!important}div[style*="display: flex"][style*="gap: 32px"][style*=marginBottom]{gap:16px!important}div[style*="display: flex"][style*="gap: 24px"][style*="justifyContent: center"]{flex-direction:column!important;gap:12px!important;align-items:center!important}div[style*="display: flex"][style*="gap: 24px"][style*="justifyContent: center"] a{width:100%;max-width:300px;justify-content:center!important}}@media(max-width:480px){html{font-size:13px}.section{padding:50px 0}.container{padding:0 16px}.btn{padding:10px 24px;font-size:12px}div[style*="width: 280px"][style*="height: 280px"]{width:160px!important;height:160px!important}.back-to-top-btn{bottom:16px!important;right:32px!important;width:44px!important;height:44px!important;font-size:14px!important}}@media(hover:none)and (pointer:coarse){button,a{-webkit-tap-highlight-color:transparent}}@media(max-width:768px){.hero-content{text-align:center;display:flex;flex-direction:column;align-items:center}.hero-role{justify-content:center!important}.hero-social{flex-direction:row!important;justify-content:center!important;flex-wrap:wrap}.hero-buttons{justify-content:center!important}}
