*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{color:#f5f5f7;background:#000;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.5;overflow-x:hidden}a{color:inherit;text-decoration:none}button{cursor:pointer;background:0 0;border:none;font-family:inherit}img{max-width:100%;display:block}::selection{color:#fff;background:#667eea59}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#fff3}*{-webkit-tap-highlight-color:transparent}@media (width<=768px){html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{-webkit-overflow-scrolling:touch}*{-webkit-tap-highlight-color:transparent}}@keyframes ensureVisible{to{opacity:1;filter:blur()}}.hero__char,.hero__subtitle,.hero__cta,.hero__scroll-indicator,.about__label,.about__title,.about__description,.about__stat,.about__philosophy-card,.skills__label,.skills__title,.skills__subtitle,.skills__category,.skills__tag,.works__label,.works__title,.works__subtitle,.works__card,.contact__label,.contact__title,.contact__typewriter,.contact__description,.contact__cta,.contact__social{animation-fill-mode:forwards!important}.global-bg{z-index:0;pointer-events:none;background:#000;position:fixed;inset:0}.global-bg__particles{z-index:1;opacity:.7;position:absolute;inset:0}.global-bg__glow{filter:blur(120px);z-index:0;border-radius:50%;position:absolute}.global-bg__glow--1{background:radial-gradient(circle,#667eea40,#0000 70%);width:700px;height:700px;animation:12s ease-in-out infinite globalGlowOrbit1;top:-250px;right:-150px}@media (width<=768px){.global-bg__glow--1{width:400px;height:400px;top:-150px;right:-100px}}.global-bg__glow--2{background:radial-gradient(circle,#764ba238,#0000 70%);width:550px;height:550px;animation:15s ease-in-out infinite globalGlowOrbit2;bottom:-200px;left:-150px}@media (width<=768px){.global-bg__glow--2{width:350px;height:350px;bottom:-120px;left:-100px}}.global-bg__glow--3{background:radial-gradient(circle,#ec489924,#0000 70%);width:450px;height:450px;animation:18s ease-in-out infinite globalGlowOrbit3;top:40%;left:45%}@media (width<=768px){.global-bg__glow--3{width:280px;height:280px}}.global-bg__glow--4{background:radial-gradient(circle,#4facfe1f,#0000 70%);width:300px;height:300px;animation:10s ease-in-out infinite globalGlowOrbit4;top:20%;left:15%}@media (width<=768px){.global-bg__glow--4{width:200px;height:200px}}@keyframes globalGlowOrbit1{0%,to{transform:translate(0)scale(1)}33%{transform:translate(-60px,40px)scale(1.1)}66%{transform:translate(20px,-30px)scale(.95)}}@keyframes globalGlowOrbit2{0%,to{transform:translate(0)scale(1)}33%{transform:translate(40px,-50px)scale(1.05)}66%{transform:translate(-30px,20px)scale(1.1)}}@keyframes globalGlowOrbit3{0%,to{transform:translate(-50%,-50%)scale(1)}33%{transform:translate(-45%,-55%)scale(1.15)}66%{transform:translate(-55%,-48%)scale(.9)}}@keyframes globalGlowOrbit4{0%,to{transform:translate(0)scale(1)}50%{transform:translate(30px,-20px)scale(1.2)}}.shooting-stars{z-index:1;pointer-events:none;position:fixed;inset:0;overflow:hidden}.shooting-star{opacity:0;filter:blur(.3px);background:linear-gradient(90deg,#fff0,#ffffff1a 10%,#667eea99 40%,#ec4899cc 70%,#fff);border-radius:0 2px 2px 0;height:2px;animation:linear both shootStar;position:absolute}.shooting-star:before{content:"";background:#fff;border-radius:50%;width:6px;height:6px;position:absolute;top:50%;right:-2px;transform:translateY(-50%);box-shadow:0 0 8px 2px #fffc,0 0 16px 4px #667eea99,0 0 30px 8px #ec48994d}.shooting-star:after{content:"";filter:blur(2px);background:linear-gradient(90deg,#0000,#667eea4d);width:30%;height:1px;position:absolute;top:50%;left:0;transform:translateY(-50%)}@keyframes shootStar{0%{opacity:0;transform:rotate(var(--angle,-25deg)) translateX(0)}5%{opacity:1}70%{opacity:1}to{opacity:0;transform:rotate(var(--angle,-25deg)) translateX(600px)}}@media (width<=768px){.shooting-stars{display:none}}.section-divider{z-index:2;justify-content:center;align-items:center;padding:0;display:flex;position:relative}.section-divider__line{flex:1;height:1px;position:relative;overflow:hidden}.section-divider__line:before{content:"";background:linear-gradient(90deg,#0000 0%,#667eea4d 30%,#764ba280 50%,#ec48994d 70%,#0000 100%);width:100%;height:100%;position:absolute;top:0;left:0}.section-divider__line:after{content:"";filter:blur(1px);background:linear-gradient(90deg,#0000,#667eeacc,#ec4899cc,#0000);width:50%;height:3px;animation:4s ease-in-out infinite lightFlow;position:absolute;top:-1px;left:-50%}.section-divider__line:last-child:after{animation-direction:reverse}.section-divider__orb{background:linear-gradient(135deg,#667eea,#ec4899);border-radius:50%;flex-shrink:0;width:6px;height:6px;margin:0 4px;animation:3s ease-in-out infinite orbPulse;position:relative}.section-divider__orb:before{content:"";background:radial-gradient(circle,#667eea66,#0000 70%);border-radius:50%;animation:3s ease-in-out infinite orbGlow;position:absolute;inset:-8px}.section-divider__orb:after{content:"";filter:blur(4px);background:radial-gradient(circle,#ec489926,#0000 70%);border-radius:50%;position:absolute;inset:-16px}@keyframes lightFlow{0%{left:-50%}to{left:100%}}@keyframes orbPulse{0%,to{transform:scale(1);box-shadow:0 0 10px #667eea80}50%{transform:scale(1.3);box-shadow:0 0 20px #ec489999,0 0 40px #667eea4d}}@keyframes orbGlow{0%,to{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.5)}}.lang-switcher{z-index:10;position:relative}.lang-switcher__trigger{color:#ffffffb3;cursor:pointer;white-space:nowrap;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:980px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:500;transition:all .3s;display:flex}.lang-switcher__trigger:hover{color:#fff;background:#ffffff1a;border-color:#fff3}.lang-switcher__flag{font-size:15px;line-height:1}.lang-switcher__code{letter-spacing:.5px}.lang-switcher__arrow{opacity:.5;transition:transform .3s}.lang-switcher__arrow--open{transform:rotate(180deg)}.lang-switcher__dropdown{-webkit-backdrop-filter:saturate(180%)blur(20px);opacity:0;pointer-events:none;background:#1e1e23f2;border:1px solid #ffffff1a;border-radius:14px;min-width:160px;padding:6px;transition:all .25s cubic-bezier(.16,1,.3,1);position:absolute;top:calc(100% + 8px);right:0;transform:translateY(-8px)scale(.96);box-shadow:0 8px 32px #0006,0 0 0 1px #ffffff0d}.lang-switcher__dropdown--open{opacity:1;pointer-events:all;transform:translateY(0)scale(1)}.lang-switcher__option{color:#ffffffb3;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;width:100%;padding:10px 12px;font-size:14px;font-weight:400;transition:all .2s;display:flex}.lang-switcher__option:hover{color:#fff;background:#ffffff14}.lang-switcher__option--active,.lang-switcher__option--active:hover{color:#667eea}.lang-switcher__option-flag{font-size:18px;line-height:1}.lang-switcher__option-label{flex:1}.lang-switcher__check{color:#667eea;flex-shrink:0}.navbar{z-index:1000;width:100%;padding:20px 0;transition:all .4s cubic-bezier(.16,1,.3,1);position:fixed;top:0;left:0}.navbar--scrolled{-webkit-backdrop-filter:saturate(180%)blur(24px);background:#000000d1;border-bottom:1px solid #ffffff1a;padding:10px 0}.navbar__inner{justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;padding:0 48px;display:flex}@media (width<=768px){.navbar__inner{padding:0 24px}}.navbar__logo{color:#fff;letter-spacing:-.5px;align-items:center;gap:10px;font-size:20px;font-weight:700;text-decoration:none;display:flex}.navbar__logo-icon{background:linear-gradient(135deg,#667eea,#764ba2);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:24px}.navbar__logo-text{background:linear-gradient(135deg,#f5f5f7 0%,#a1a1a6 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.navbar__links{gap:36px;margin:0;padding:0;list-style:none;display:flex}.navbar__links a{color:#fffc;letter-spacing:.5px;font-size:14px;font-weight:400;text-decoration:none;transition:color .3s;position:relative}.navbar__links a:after{content:"";background:linear-gradient(90deg,#0000,#fff,#0000);width:100%;height:1px;transition:transform .3s;position:absolute;bottom:-4px;left:50%;transform:translate(-50%)scaleX(0)}.navbar__links a:hover{color:#fff}.navbar__links a:hover:after{transform:translate(-50%)scaleX(1)}@media (width<=768px){.navbar__links{-webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px);opacity:0;pointer-events:none;background:#000000f2;flex-direction:column;justify-content:center;align-items:center;gap:40px;width:100%;height:100vh;transition:opacity .4s;position:fixed;top:0;left:0}.navbar__links--open{opacity:1;pointer-events:all}.navbar__links a{font-size:28px;font-weight:600}}.navbar__actions{align-items:center;gap:16px;display:flex}.navbar__burger{cursor:pointer;z-index:10;background:0 0;border:none;flex-direction:column;gap:6px;padding:4px;display:none}.navbar__burger span{transform-origin:50%;background:#fff;border-radius:2px;width:24px;height:1.5px;transition:all .35s;display:block}.navbar__burger--active span:first-child{transform:translateY(7.5px)rotate(45deg)}.navbar__burger--active span:nth-child(2){opacity:0}.navbar__burger--active span:nth-child(3){transform:translateY(-7.5px)rotate(-45deg)}@media (width<=768px){.navbar__burger{display:flex}}.hero{justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.hero--switching .hero__glitch{opacity:0!important;animation:none!important}.hero__content{z-index:2;text-align:center;will-change:transform, opacity;max-width:960px;padding:0 24px;position:relative}.hero__char{opacity:0;animation:.6s cubic-bezier(.16,1,.3,1) both charReveal;display:inline-block}.hero__char--title,.hero__char--gradient{animation-name:charReveal3D}.hero__greeting{color:#ffffff80;letter-spacing:4px;text-transform:uppercase;margin:0 0 24px;font-size:18px;font-weight:500}@media (width<=768px){.hero__greeting{letter-spacing:3px;font-size:14px}}.hero__title{letter-spacing:-3px;color:#f5f5f7;margin:0 0 36px;font-size:clamp(48px,10vw,120px);font-weight:800;line-height:1.05}.hero__title-line{white-space:pre-wrap;display:block}.hero__title-line--gradient{white-space:pre-wrap;display:inline-block;position:relative}.hero__title-line--gradient .hero__char--gradient{background:linear-gradient(135deg,#667eea 0%,#764ba2 40%,#ec4899 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.hero__title-line--gradient .hero__title-main{z-index:1;display:block;position:relative}.hero__title-line--gradient .hero__glitch{z-index:2;pointer-events:none;opacity:0;white-space:pre-wrap;background:linear-gradient(135deg,#667eea 0%,#764ba2 40%,#ec4899 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;display:block;position:absolute;inset:0}.hero__title-line--gradient .hero__glitch .hero__char{opacity:1!important;animation:none!important;transform:none!important}.hero__title-line--gradient .hero__glitch--top{animation:glitchLayerIn .35s var(--glitch-delay,1.4s) cubic-bezier(.16, 1, .3, 1) both, glitch1 1s calc(var(--glitch-delay,1.4s) + .35s) infinite linear alternate-reverse;clip-path:polygon(0 0,100% 0,100% 35%,0 35%)}.hero__title-line--gradient .hero__glitch--bottom{animation:glitchLayerIn .35s var(--glitch-delay,1.4s) cubic-bezier(.16, 1, .3, 1) both, glitch2 1s calc(var(--glitch-delay,1.4s) + .35s) infinite linear alternate-reverse;clip-path:polygon(0 65%,100% 65%,100% 100%,0 100%)}.hero__title-word{display:block}.hero__subtitle{color:#ffffff80;letter-spacing:.5px;opacity:0;margin:0 0 56px;font-size:clamp(16px,2.5vw,22px);font-weight:300;line-height:1.8;animation:1s cubic-bezier(.16,1,.3,1) 1.6s forwards subtitleFadeIn}.hero__cta{opacity:0;justify-content:center;gap:20px;animation:.8s cubic-bezier(.16,1,.3,1) 2s forwards ctaSlideUp;display:flex}@media (width<=480px){.hero__cta{flex-direction:column;align-items:center}}.hero__btn{cursor:pointer;border-radius:980px;align-items:center;gap:10px;padding:18px 40px;font-size:16px;font-weight:600;text-decoration:none;transition:all .4s cubic-bezier(.16,1,.3,1);display:inline-flex}@media (width<=480px){.hero__btn{justify-content:center;width:100%;padding:16px 32px;font-size:15px}}.hero__btn--primary{color:#fff;background:linear-gradient(135deg,#667eea,#764ba2);border:none;position:relative;overflow:hidden}.hero__btn--primary:before{content:"";opacity:0;border-radius:inherit;background:linear-gradient(135deg,#764ba2,#ec4899);transition:opacity .4s;position:absolute;inset:0}.hero__btn--primary:hover{transform:translateY(-3px)scale(1.02);box-shadow:0 10px 40px #667eea66,0 0 80px #667eea26}.hero__btn--primary:hover:before{opacity:1}.hero__btn--primary:hover .hero__btn-shimmer{animation:.8s forwards shimmerSweep}.hero__btn-text,.hero__btn-arrow{z-index:2;position:relative}.hero__btn-arrow{transition:transform .3s}.hero__btn:hover .hero__btn-arrow{transform:translate(6px)}.hero__btn-shimmer{z-index:1;border-radius:inherit;background:linear-gradient(90deg,#0000,#fff3,#0000);width:100%;height:100%;position:absolute;top:0;left:-100%}.hero__btn--ghost{color:#fffc;-webkit-backdrop-filter:blur(16px);background:#ffffff14;border:1px solid #ffffff2e}.hero__btn--ghost:hover{color:#fff;background:#ffffff14;border-color:#fff6;transform:translateY(-3px);box-shadow:0 8px 30px #ffffff0f}.hero__scroll-indicator{z-index:2;opacity:0;flex-direction:column;align-items:center;gap:12px;transition:opacity .5s,visibility .5s;animation:.8s cubic-bezier(.16,1,.3,1) 2.6s forwards scrollIndicatorIn;display:flex;position:absolute;bottom:40px;left:50%;transform:translate(-50%)}.hero__scroll-indicator--hidden{visibility:hidden;pointer-events:none;opacity:0!important}.hero__scroll-indicator span{color:#ffffff40;letter-spacing:3px;text-transform:uppercase;font-size:11px}.hero__scroll-mouse{border:1.5px solid #fff3;border-radius:14px;justify-content:center;width:24px;height:40px;padding-top:10px;display:flex;position:relative}.hero__scroll-mouse:before{content:"";border:1px solid #ffffff0d;border-radius:18px;position:absolute;inset:-4px}.hero__scroll-dot{background:linear-gradient(#fff9,#ffffff1a);border-radius:2px;width:2px;height:8px;animation:2s ease-in-out infinite scrollDot}@keyframes charReveal{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes charReveal3D{0%{opacity:0;transform:translateY(40px)rotateX(-40deg)scale(.8)}60%{transform:translateY(-4px)rotateX(4deg)scale(1.02)}to{opacity:1;transform:translateY(0)rotateX(0)scale(1)}}@keyframes subtitleFadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes ctaSlideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmerSweep{0%{left:-100%}to{left:100%}}@keyframes scrollIndicatorIn{0%{opacity:0;transform:translate(-50%)translateY(10px)}to{opacity:1;transform:translate(-50%)translateY(0)}}@keyframes scrollDot{0%,to{opacity:1;transform:translateY(0)}50%{opacity:.2;transform:translateY(10px)}}@keyframes glitch1{0%,85%{transform:translate(0)}86%{transform:translate(-3px,-1px)}87%{transform:translate(3px,1px)}88%{transform:translate(-2px)}89%{transform:translate(0)}90%{transform:translate(2px,-1px)}91%{transform:translate(-1px,2px)}92%,to{transform:translate(0)}}@keyframes glitch2{0%,83%{transform:translate(0)}84%{transform:translate(2px,1px)}85%{transform:translate(-3px,-1px)}86%{transform:translate(1px)}87%{transform:translate(0)}93%{transform:translate(-2px,1px)}94%{transform:translate(3px,-2px)}95%,to{transform:translate(0)}}@keyframes glitchLayerIn{0%{opacity:0}to{opacity:1}}.about{padding:160px 0;position:relative;overflow:hidden}@media (width<=768px){.about{padding:48px 0}}.about__container{max-width:1200px;margin:0 auto;padding:0 48px}@media (width<=768px){.about__container{padding:0 24px}}.about__header{text-align:center;max-width:800px;margin:0 auto 100px}@media (width<=768px){.about__header{margin:0 auto 32px}}.about__header.animate-in .about__label{animation:.8s .1s both aboutReveal}.about__header.animate-in .about__title{animation:.8s .3s both aboutReveal}.about__header.animate-in .about__description{animation:.8s .5s both aboutReveal}.about__label{letter-spacing:3px;text-transform:uppercase;color:#667eea;opacity:0;margin-bottom:24px;font-size:14px;font-weight:600;display:inline-block}.about__title{color:#f5f5f7;letter-spacing:-2px;opacity:0;margin:0 0 30px;font-size:clamp(36px,6vw,64px);font-weight:800;line-height:1.1}.about__title--highlight{background:linear-gradient(135deg,#667eea,#764ba2,#ec4899);-webkit-text-fill-color:transparent;background-size:200%;-webkit-background-clip:text;background-clip:text;animation:4s ease-in-out infinite gradientShift}.about__description{color:#ffffff80;opacity:0;font-size:18px;font-weight:300;line-height:1.8}.about__stats{grid-template-columns:repeat(4,1fr);gap:24px;margin-bottom:100px;display:grid}.about__stats.animate-in .about__stat{animation:.7s cubic-bezier(.34,1.56,.64,1) both statPopIn}@media (width<=768px){.about__stats{grid-template-columns:repeat(2,1fr);gap:16px}}.about__stat{text-align:center;-webkit-backdrop-filter:blur(12px);opacity:0;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:24px;padding:44px 20px;transition:all .5s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden}.about__stat:before{content:"";border-radius:inherit;opacity:0;background:radial-gradient(at 50% 0,#667eea14,#0000 70%);transition:opacity .4s;position:absolute;inset:0}.about__stat:hover{border-color:#667eea40;transform:translateY(-6px);box-shadow:0 20px 60px #667eea1a}.about__stat:hover:before{opacity:1}.about__stat-number{background:linear-gradient(135deg,#667eea,#764ba2);-webkit-text-fill-color:transparent;letter-spacing:-3px;font-variant-numeric:tabular-nums;-webkit-background-clip:text;background-clip:text;margin-bottom:10px;font-size:52px;font-weight:800;display:block}@media (width<=768px){.about__stat-number{letter-spacing:-2px;font-size:36px}}.about__stat-label{color:#ffffff59;letter-spacing:2px;text-transform:uppercase;font-size:13px}.about__philosophy{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.about__philosophy.animate-in .about__philosophy-card{animation:.8s cubic-bezier(.16,1,.3,1) both cardSlideUp}@media (width<=768px){.about__philosophy{grid-template-columns:1fr}}.about__philosophy-card{-webkit-backdrop-filter:blur(12px);text-align:center;opacity:0;transform-style:preserve-3d;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:28px;padding:52px 36px;position:relative;overflow:hidden}.about__philosophy-card:hover{border-color:#667eea4d}.about__philosophy-card:hover .about__philosophy-border{opacity:1}.about__philosophy-card:hover .about__philosophy-icon{transform:scale(1.15)translateY(-4px)}.about__philosophy-card h3{color:#f5f5f7;margin:0 0 14px;font-size:22px;font-weight:700;position:relative}.about__philosophy-card p{color:#fff6;margin:0;font-size:15px;line-height:1.7;position:relative}.about__philosophy-icon{margin-bottom:24px;font-size:44px;transition:transform .4s cubic-bezier(.16,1,.3,1);position:relative}.about__philosophy-border{border-radius:inherit;-webkit-mask-composite:xor;opacity:0;pointer-events:none;background:linear-gradient(135deg,#667eea66,#0000,#ec489966);padding:1px;transition:opacity .5s;position:absolute;inset:-1px;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}@keyframes aboutReveal{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes statPopIn{0%{opacity:0;transform:scale(.6)translateY(30px)}70%{transform:scale(1.03)translateY(-2px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes cardSlideUp{0%{opacity:0;transform:translateY(50px)rotateX(-8deg)}to{opacity:1;transform:translateY(0)rotateX(0)}}@keyframes gradientShift{0%,to{background-position:0%}50%{background-position:200%}}.skills{padding:160px 0;position:relative;overflow:hidden}@media (width<=768px){.skills{padding:48px 0}}.skills__container{max-width:1200px;margin:0 auto;padding:0 48px}@media (width<=768px){.skills__container{padding:0 24px}}.skills__header{text-align:center;margin-bottom:80px}@media (width<=768px){.skills__header{margin-bottom:28px}}.skills__header.animate-in .skills__label{animation:.8s .1s both skillsReveal}.skills__header.animate-in .skills__title{animation:.8s .25s both skillsReveal}.skills__header.animate-in .skills__subtitle{animation:.8s .4s both skillsReveal}.skills__label{letter-spacing:3px;text-transform:uppercase;color:#667eea;opacity:0;margin-bottom:20px;font-size:14px;font-weight:600;display:inline-block}.skills__title{color:#f5f5f7;letter-spacing:-2px;opacity:0;margin:0 0 16px;font-size:clamp(36px,6vw,56px);font-weight:800}.skills__subtitle{color:#fff6;opacity:0;margin:0;font-size:18px;font-weight:300}.skills__grid{grid-template-columns:repeat(3,1fr);gap:28px;margin-bottom:80px;display:grid}@media (width<=768px){.skills__grid{margin-bottom:28px}}.skills__grid.animate-in .skills__category{animation:.8s cubic-bezier(.16,1,.3,1) both skillsCardIn}@media (width<=1024px){.skills__grid{grid-template-columns:1fr;gap:24px}}.skills__category{-webkit-backdrop-filter:blur(12px);opacity:0;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:28px;padding:40px;transition:all .5s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden}.skills__category:before{content:"";opacity:0;background:linear-gradient(90deg,#0000,#667eea,#764ba2,#0000);height:2px;transition:opacity .4s;position:absolute;top:0;left:0;right:0}.skills__category:hover{background:#ffffff1a;border-color:#667eea40;transform:translateY(-6px);box-shadow:0 20px 60px #0000004d}.skills__category:hover:before{opacity:1}.skills__category-header{align-items:center;gap:14px;margin-bottom:32px;display:flex}.skills__category-icon{font-size:32px;transition:transform .4s cubic-bezier(.34,1.56,.64,1);display:inline-block;position:relative}.skills__category:hover .skills__category-icon{animation:.6s cubic-bezier(.34,1.56,.64,1) iconBounce}.skills__category-icon:after{content:"";opacity:0;pointer-events:none;border:2px solid #667eea66;border-radius:50%;width:50px;height:50px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(0)}.skills__category:hover .skills__category-icon:after{animation:.8s ease-out ripple}.skills__category-title{color:#f5f5f7;margin:0;font-size:22px;font-weight:700}.skills__list{flex-direction:column;gap:20px;display:flex}.skills__item{align-items:center;gap:16px;display:flex}.skills__item-ring{flex-shrink:0;width:48px;height:48px;position:relative}.skills__item-ring svg{display:block}.skills__item-ring-fill{transition:stroke-dashoffset 1.5s cubic-bezier(.16,1,.3,1)}.skills__item-ring-value{color:#ffffff80;font-variant-numeric:tabular-nums;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex;position:absolute;inset:0}.skills__item-info{flex:1;min-width:0}.skills__item-name{color:#ffffffb3;margin-bottom:8px;font-size:14px;font-weight:500;display:block}.skills__bar{background:#ffffff0d;border-radius:4px;height:3px;position:relative;overflow:hidden}.skills__bar-fill{border-radius:4px;height:100%;transition:width 1.5s cubic-bezier(.16,1,.3,1);position:relative}.skills__bar-glow{background:inherit;filter:blur(6px);opacity:.8;border-radius:50%;width:12px;height:12px;position:absolute;top:50%;right:0;transform:translateY(-50%)}.skills__floating-tags{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.skills__floating-tags.animate-in .skills__tag{animation:.6s cubic-bezier(.34,1.56,.64,1) both tagFloat}.skills__tag{color:#ffffff8c;-webkit-backdrop-filter:blur(8px);opacity:0;cursor:default;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:980px;padding:10px 24px;font-size:14px;font-weight:500;transition:all .4s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden}@media (width<=768px){.skills__tag{padding:8px 16px;font-size:12px}}.skills__tag:before{content:"";border-radius:inherit;opacity:0;background:linear-gradient(135deg,#667eea26,#ec489926);transition:opacity .3s;position:absolute;inset:0}.skills__tag:hover{color:#fff;border-color:#667eea66;transform:translateY(-4px)scale(1.05);box-shadow:0 8px 30px #667eea33}.skills__tag:hover:before{opacity:1}@keyframes skillsReveal{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes skillsCardIn{0%{opacity:0;transform:translateY(50px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes tagFloat{0%{opacity:0;transform:scale(.5)translateY(20px)}70%{transform:scale(1.06)translateY(-2px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes iconBounce{0%{transform:scale(1)rotate(0)}20%{transform:scale(1.3)rotate(-8deg)}40%{transform:scale(.9)rotate(6deg)}60%{transform:scale(1.15)rotate(-3deg)}80%{transform:scale(.97)rotate(1deg)}to{transform:scale(1)rotate(0)}}@keyframes ripple{0%{opacity:1;transform:translate(-50%,-50%)scale(0)}to{opacity:0;transform:translate(-50%,-50%)scale(2.5)}}.works{padding:160px 0;position:relative;overflow:hidden}@media (width<=768px){.works{padding:48px 0}}.works__container{max-width:1200px;margin:0 auto;padding:0 48px}@media (width<=768px){.works__container{padding:0 24px}}.works__header{text-align:center;margin-bottom:80px}@media (width<=768px){.works__header{margin-bottom:28px}}.works__header.animate-in .works__label{animation:.8s .1s both worksReveal}.works__header.animate-in .works__title{animation:.8s .25s both worksReveal}.works__header.animate-in .works__subtitle{animation:.8s .4s both worksReveal}.works__label{letter-spacing:3px;text-transform:uppercase;color:#667eea;opacity:0;margin-bottom:20px;font-size:14px;font-weight:600;display:inline-block}.works__title{color:#f5f5f7;letter-spacing:-2px;opacity:0;margin:0 0 16px;font-size:clamp(36px,6vw,56px);font-weight:800}.works__subtitle{color:#fff6;opacity:0;margin:0;font-size:18px;font-weight:300}.works__grid{grid-template-columns:repeat(3,1fr);gap:28px;display:grid}.works__grid.animate-in .works__card{animation:.9s cubic-bezier(.16,1,.3,1) both worksCardIn}@media (width<=1024px){.works__grid{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.works__grid{grid-template-columns:1fr}}.works__card{-webkit-backdrop-filter:blur(12px);opacity:0;cursor:pointer;will-change:transform;transform-style:preserve-3d;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:28px;transition:transform .4s cubic-bezier(.03,.98,.52,.99),border-color .3s,box-shadow .4s;position:relative;overflow:hidden}.works__card:hover{border-color:#ffffff1f;box-shadow:0 30px 80px #0006,0 0 60px #667eea0f}.works__card:hover .works__card-visual{transform:scale(1.06)}.works__card:hover .works__card-shine{animation:1s forwards shineSweep}.works__card:hover .works__card-glow,.works__card:hover .works__card-border-glow{opacity:1}.works__card:hover .works__card-emoji{transform:scale(1.2)translateZ(20px)}.works__card:hover .works__card-glare{opacity:.15}.works__card-visual{justify-content:center;align-items:center;height:240px;transition:transform .6s cubic-bezier(.16,1,.3,1);display:flex;position:relative;overflow:hidden}@media (width<=768px){.works__card-visual{height:200px}}.works__card-emoji{z-index:2;filter:drop-shadow(0 6px 24px #0006);transform-style:preserve-3d;font-size:64px;transition:transform .5s cubic-bezier(.16,1,.3,1);position:relative}.works__card-shine{z-index:3;background:linear-gradient(105deg,#0000 40%,#fff3 50%,#0000 60%);width:60%;height:100%;position:absolute;top:0;left:-100%}.works__card-glare{opacity:0;z-index:3;background:radial-gradient(at 50% 0,#ffffff4d,#0000 70%);transition:opacity .5s;position:absolute;inset:0}.works__card-content{padding:32px}@media (width<=768px){.works__card-content{padding:24px}}.works__card-date{color:#667eea;letter-spacing:.5px;margin-bottom:8px;font-size:13px;font-weight:500}.works__card-title{color:#f5f5f7;letter-spacing:-.5px;margin:0 0 12px;font-size:24px;font-weight:700}.works__card-desc{color:#fff6;margin:0 0 20px;font-size:15px;line-height:1.7}.works__card-tags{flex-wrap:wrap;gap:8px;display:flex}.works__card-tag{color:#ffffff73;background:#ffffff12;border:1px solid #ffffff1f;border-radius:980px;padding:5px 14px;font-size:12px;font-weight:500;transition:all .3s}.works__card:hover .works__card-tag{color:#fff9;border-color:#ffffff26}.works__card-glow{border-radius:inherit;background:radial-gradient(600px circle at var(--mouse-x,50%) var(--mouse-y,50%), #667eea1a, transparent 40%);opacity:0;pointer-events:none;transition:opacity .4s;position:absolute;inset:0}.works__card-border-glow{border-radius:inherit;background:radial-gradient(400px circle at var(--mouse-x,50%) var(--mouse-y,50%), #667eea80, transparent 40%);-webkit-mask-composite:xor;opacity:0;pointer-events:none;padding:1px;transition:opacity .4s;position:absolute;inset:-1px;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}@keyframes worksReveal{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes worksCardIn{0%{opacity:0;transform:perspective(800px)translateY(60px)rotateX(-8deg)scale(.95)}to{opacity:1;transform:perspective(800px)translateY(0)rotateX(0)scale(1)}}@keyframes shineSweep{0%{left:-60%}to{left:120%}}.location{padding:100px 0 80px;position:relative;overflow:hidden}@media (width<=768px){.location{padding:60px 0 40px}}.location__container{max-width:1200px;margin:0 auto;padding:0 48px}@media (width<=768px){.location__container{padding:0 20px}}.location__header{text-align:center;margin-bottom:48px}@media (width<=768px){.location__header{margin-bottom:20px}}.location__label{color:#667eea;letter-spacing:1px;text-transform:uppercase;background:#667eea1a;border-radius:20px;margin-bottom:20px;padding:6px 16px;font-size:13px;font-weight:600;display:inline-block}.location__title{color:#fff;letter-spacing:-1px;margin:0 0 16px;font-size:clamp(28px,4vw,44px);font-weight:800;line-height:1.2}.location__title-highlight{background:linear-gradient(135deg,#667eea,#764ba2);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.location__subtitle{color:#fff6;margin:0;font-size:16px}@media (width<=768px){.location__subtitle{font-size:14px}}.location__scene-wrapper{opacity:0;background:#000;border:1px solid #ffffff14;border-radius:20px;transition:opacity .8s,transform .8s;position:relative;overflow:hidden;transform:translateY(20px);box-shadow:0 20px 60px #000c}.location__scene-wrapper--loaded{opacity:1;transform:translateY(0)}.location__3d-view{z-index:2;width:100%;height:550px;position:relative}@media (width<=768px){.location__3d-view{height:400px}}.location__gradient-top{z-index:5;pointer-events:none;background:linear-gradient(#000 0%,#0000 100%);border-radius:20px 20px 0 0;height:60px;position:absolute;top:0;left:0;right:0}.location__gradient-bottom{z-index:5;pointer-events:none;background:linear-gradient(#0000 0%,#00000080 50%,#000000f2 100%);border-radius:0 0 20px 20px;height:120px;position:absolute;bottom:0;left:0;right:0}.location__overlay{z-index:6;justify-content:space-between;align-items:center;padding:20px 28px;display:flex;position:absolute;bottom:0;left:0;right:0}@media (width<=768px){.location__overlay{flex-direction:column;align-items:flex-start;gap:12px;padding:16px 20px}}.location__info{align-items:center;gap:14px;display:flex}.location__pin{font-size:28px;animation:2s ease-in-out infinite pinBounce}.location__details{flex-direction:column;display:flex}.location__place{color:#fff;text-shadow:0 2px 8px #0009;margin:0 0 2px;font-size:18px;font-weight:700}.location__address{color:#fff9;text-shadow:0 1px 4px #0009;margin:0;font-size:13px}.location__badge{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#07c160;white-space:nowrap;background:#07c16026;border:1px solid #07c16033;border-radius:20px;align-items:center;gap:8px;padding:8px 18px;font-size:13px;font-weight:600;display:flex}.location__badge-dot{background:#07c160;border-radius:50%;width:8px;height:8px;animation:1.5s infinite statusPulse}@keyframes pinBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes statusPulse{0%,to{opacity:1;box-shadow:0 0 #07c16066}50%{opacity:.7;box-shadow:0 0 0 6px #07c16000}}.contact{padding:160px 0 120px;position:relative;overflow:hidden}@media (width<=768px){.contact{padding:48px 0 36px}}.contact__bg-glow{pointer-events:none;border-radius:50%;position:absolute}.contact__bg-glow--1{background:radial-gradient(circle,#667eea14,#0000 70%);width:800px;height:800px;animation:6s ease-in-out infinite contactGlowPulse;top:50%;left:50%;transform:translate(-50%,-50%)}.contact__bg-glow--2{background:radial-gradient(circle,#ec48990f,#0000 70%);width:500px;height:500px;animation:8s ease-in-out infinite contactGlowFloat;top:30%;left:60%}.contact__container{z-index:1;max-width:900px;margin:0 auto;padding:0 48px;position:relative}@media (width<=768px){.contact__container{padding:0 24px}}.contact__content{text-align:center}.contact__content.animate-in .contact__label{animation:.8s .1s both contactReveal}.contact__content.animate-in .contact__title{animation:.8s .25s both contactReveal}.contact__content.animate-in .contact__typewriter{animation:.8s .4s both contactReveal}.contact__content.animate-in .contact__description{animation:.8s .5s both contactReveal}.contact__content.animate-in .contact__cta{animation:.8s .6s both contactReveal}.contact__content.animate-in .contact__social{animation:.6s both contactSocialIn}.contact__label{letter-spacing:3px;text-transform:uppercase;color:#667eea;opacity:0;margin-bottom:24px;font-size:14px;font-weight:600;display:inline-block}.contact__title{color:#f5f5f7;letter-spacing:-2px;opacity:0;margin:0 0 24px;font-size:clamp(36px,7vw,72px);font-weight:800;line-height:1.1}.contact__title--gradient{background:linear-gradient(135deg,#667eea 0%,#764ba2 40%,#ec4899 100%);-webkit-text-fill-color:transparent;background-size:200%;-webkit-background-clip:text;background-clip:text;animation:4s ease-in-out infinite gradientMove}.contact__typewriter{color:#fff9;opacity:0;min-height:32px;margin-bottom:24px;font-size:20px;font-weight:300}@media (width<=768px){.contact__typewriter{min-height:26px;font-size:16px}}.contact__typewriter-cursor{color:#667eea;margin-left:2px;font-weight:300;animation:.8s step-end infinite blink;display:inline-block}.contact__description{color:#fff6;opacity:0;margin:0 0 48px;font-size:18px;font-weight:300;line-height:1.8}@media (width<=768px){.contact__description{margin:0 0 32px;font-size:15px;line-height:1.7}}.contact__cta{color:#fff;opacity:0;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:980px;align-items:center;gap:12px;padding:18px 44px;font-size:17px;font-weight:600;text-decoration:none;transition:all .4s cubic-bezier(.16,1,.3,1);display:inline-flex;position:relative;overflow:visible}@media (width<=768px){.contact__cta{padding:16px 36px;font-size:15px}}.contact__cta:before{content:"";opacity:0;border-radius:inherit;background:linear-gradient(135deg,#764ba2,#ec4899);transition:opacity .4s;position:absolute;inset:0}.contact__cta:hover{transform:translateY(-3px)scale(1.03);box-shadow:0 10px 40px #667eea66,0 0 60px #667eea26}.contact__cta:hover:before{opacity:1}.contact__cta:hover .contact__cta-arrow{transform:translate(4px)}.contact__cta-pulse{border-radius:inherit;border:1px solid #667eea80;animation:2.5s cubic-bezier(.16,1,.3,1) infinite pulseRing;position:absolute;inset:0}.contact__cta-pulse--delay{animation-delay:1.2s}.contact__cta-text,.contact__cta-arrow,.contact__cta-icon{z-index:1;position:relative}.contact__cta-icon{font-size:20px}.contact__cta-arrow{transition:transform .3s;display:flex}.contact__socials{grid-template-columns:repeat(3,1fr);gap:16px;margin-top:60px;display:grid}@media (width<=768px){.contact__socials{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:40px}}.contact__social{white-space:nowrap;-webkit-backdrop-filter:blur(12px);color:#ffffff8c;opacity:0;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:18px;justify-content:center;align-items:center;gap:6px;padding:14px 24px;font-size:15px;font-weight:500;text-decoration:none;transition:all .4s cubic-bezier(.16,1,.3,1);display:flex;position:relative;overflow:hidden}@media (width<=768px){.contact__social{border-radius:14px;padding:12px 18px;font-size:13px}}.contact__social:before{content:"";border-radius:inherit;opacity:0;background:linear-gradient(135deg,#667eea1f,#ec489914);transition:opacity .3s;position:absolute;inset:0}.contact__social:hover{color:#fff;border-color:#667eea4d;transform:translateY(-4px)scale(1.03);box-shadow:0 12px 30px #0000004d}.contact__social:hover:before{opacity:1}.contact__social-icon{font-size:20px}@keyframes contactReveal{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes contactSocialIn{0%{opacity:0;transform:translateY(20px)scale(.9)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes pulseRing{0%{opacity:.6;transform:scale(1)}to{opacity:0;transform:scale(1.4)}}@keyframes contactGlowPulse{0%,to{opacity:.6;transform:translate(-50%,-50%)scale(1)}50%{opacity:1;transform:translate(-50%,-50%)scale(1.15)}}@keyframes contactGlowFloat{0%,to{transform:translate(0)}50%{transform:translate(-30px,20px)}}@keyframes gradientMove{0%,to{background-position:0%}50%{background-position:200%}}.footer{background:#ffffff05;border-top:1px solid #ffffff0f;padding:48px 0;position:relative}@media (width<=768px){.footer{padding:32px 0}}.footer__container{max-width:1200px;margin:0 auto;padding:0 48px}@media (width<=768px){.footer__container{padding:0 24px}}.footer__top{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}@media (width<=768px){.footer__top{text-align:center;flex-direction:column;gap:12px}}.footer__brand{align-items:center;gap:10px;display:flex}.footer__logo{background:linear-gradient(135deg,#667eea,#764ba2);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:20px}.footer__name{color:#fffc;letter-spacing:-.5px;font-size:18px;font-weight:700}.footer__tagline{color:#ffffff4d;margin:0;font-size:14px}.footer__divider{background:#ffffff14;height:1px;margin-bottom:24px}.footer__bottom{justify-content:space-between;align-items:center;display:flex}@media (width<=768px){.footer__bottom{text-align:center;flex-direction:column;gap:8px}}.footer__copyright,.footer__built{color:#ffffff59;margin:0;font-size:13px}.footer__icp{color:#ffffff59;text-align:center;margin:0;font-size:13px}.footer__icp a{color:#ffffff59;text-decoration:none;transition:color .3s}.footer__icp a:hover{color:#667eea}.app{z-index:1;min-height:100vh;position:relative;overflow-x:hidden}
