:root{--bg: #0a0a0c;--bg-2: #0e0e12;--surface: #131318;--surface-2: #17171d;--surface-3: #1d1d24;--border: rgba(255, 255, 255, .08);--border-2: rgba(255, 255, 255, .15);--text: #f4f5f7;--text-2: #9a9ba4;--text-3: #6b6c75;--accent: #58c7ff;--accent-2: #a78bfa;--accent-3: #f472b6;--grad: linear-gradient(100deg, var(--accent), var(--accent-2) 55%, var(--accent-3));--r-sm: 10px;--r: 14px;--r-lg: 20px;--r-pill: 50px;--shadow-sm: 0 4px 16px rgba(0, 0, 0, .4);--shadow: 0 14px 34px rgba(0, 0, 0, .5);--shadow-lg: 0 26px 60px rgba(0, 0, 0, .6);--ease: cubic-bezier(.16, 1, .3, 1);--dur: .4s;--fs-eyebrow: 11px;--fs-h2: clamp(1.75rem, 1.1rem + 2.4vw, 2.9rem);--fs-h3: clamp(1.15rem, 1rem + .6vw, 1.4rem)}*{margin:0;padding:0;box-sizing:border-box;font-family:Outfit,Onest,sans-serif;scroll-behavior:smooth}body{background-color:var(--bg);background-image:radial-gradient(1200px 720px at 80% -10%,rgba(88,199,255,.06),transparent 60%),radial-gradient(1000px 720px at 8% 6%,rgba(167,139,250,.05),transparent 62%);background-attachment:fixed;color:var(--text);overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}::selection{background:var(--accent);color:#05121b}.header{position:fixed;top:0;left:0;width:100%;padding:40px 60px;display:flex;justify-content:space-between;align-items:center;z-index:100;background:linear-gradient(to bottom,#0c0c0c,#0c0c0c00)}.logo{color:#fff;text-decoration:none;font-size:28px;font-weight:800;letter-spacing:1px}.nav{display:flex;gap:40px}.nav a{color:#777;text-decoration:none;font-size:11px;letter-spacing:2px;font-weight:500;transition:color .3s ease;text-transform:uppercase}.nav a:hover,.nav a.active{color:#fff}.social-links{position:fixed;left:60px;bottom:40px;display:flex;flex-direction:column;gap:20px;z-index:100}.social-links a{color:#666;text-decoration:none;font-size:16px;transition:color .3s ease,transform .3s ease}.social-links a:hover{color:#fff;transform:translateY(-3px)}.scroll-indicator{position:fixed;right:60px;bottom:40px;display:flex;flex-direction:column;align-items:center;gap:20px;z-index:100}.scroll-indicator span{writing-mode:vertical-rl;font-size:9px;letter-spacing:4px;color:#666;text-transform:uppercase;font-weight:500}.scroll-indicator .line{width:1px;height:30px;background-color:#444}.section{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;padding:100px 150px}.hero-content{text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;animation:fadeIn 1.5s ease}.small-text{font-size:11px;letter-spacing:6px;color:#777;text-transform:uppercase;font-weight:500}.main-title{font-size:13vw;font-weight:800;letter-spacing:-2px;line-height:1.1;margin:10px 0;color:#fff}.bottom-text{margin-top:5px}.about{background-color:#111}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;max-width:1100px;width:100%;align-items:center}.about-image{width:100%;max-width:380px;aspect-ratio:4/5;margin:0 auto;border-radius:20px;overflow:hidden;position:relative;box-shadow:0 15px 35px #000c,0 0 40px #ffffff08;border:1px solid rgba(255,255,255,.08);transition:transform .4s cubic-bezier(.175,.885,.32,1.275),box-shadow .4s ease}.about-image:hover{transform:translateY(-10px);box-shadow:0 25px 45px #000000e6,0 0 60px #ffffff14;border-color:#ffffff26}.about-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease,filter .5s ease;filter:grayscale(20%) brightness(.9)}.about-image:hover img{transform:scale(1.05);filter:grayscale(0%) brightness(1.05)}.about-text h2{font-size:32px;font-weight:700;margin-bottom:30px;letter-spacing:2px}.about-text p{color:#888;font-size:14px;line-height:1.8;margin-bottom:20px;font-weight:300}.stats{display:flex;gap:40px;margin-top:40px}.stat h3{font-size:28px;font-weight:700;margin-bottom:5px}.stat span{font-size:11px;color:#777;letter-spacing:2px;text-transform:uppercase}.skills{flex-direction:column}.skills-container{max-width:1100px;width:100%;text-align:center}.skills-container h2{font-size:32px;font-weight:700;margin-bottom:50px;letter-spacing:2px}.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:30px}.skill-card{background:#151515;padding:40px 20px;border-radius:5px;transition:transform .3s ease,background .3s ease;cursor:default}.skill-card:hover{transform:translateY(-10px);background:#1a1a1a}.skill-card i{font-size:40px;color:#555;margin-bottom:15px;display:inline-block;transition:color .3s ease}.skill-card:hover i{color:#fff}.skill-card h3{font-size:14px;font-weight:500;letter-spacing:1px}.network{flex-direction:column}.network-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:40px;max-width:1000px;width:100%}.network-card{background:#151515;padding:40px 30px;border-radius:5px;text-decoration:none;color:inherit;transition:transform .3s ease,background .3s ease;text-align:center;display:flex;flex-direction:column;align-items:center}.network-card:hover{transform:translateY(-10px);background:#1a1a1a}.network-avatar{width:90px;height:90px;border-radius:50%;overflow:hidden;margin-bottom:20px;border:2px solid #333;transition:border-color .3s ease}.network-card:hover .network-avatar{border-color:#fff}.network-avatar img{width:100%;height:100%;object-fit:cover;transition:filter .3s ease}.network-card h3{font-size:18px;font-weight:600;margin-bottom:5px}.network-card p{color:#777;font-size:11px;letter-spacing:2px;text-transform:uppercase;margin-bottom:20px}.network-link{font-size:12px;color:#fff;text-transform:uppercase;letter-spacing:1px;display:flex;align-items:center;gap:8px;transition:color .3s ease}.network-link:hover{color:#888}.carousel-wrapper{position:relative;max-width:1000px;width:100%;margin:0 auto}.carousel-wrapper:before,.carousel-wrapper:after{content:"";position:absolute;top:0;bottom:0;width:80px;z-index:2;pointer-events:none}.carousel-wrapper:before{left:0;background:linear-gradient(to right,#0c0c0c,transparent)}.carousel-wrapper:after{right:0;background:linear-gradient(to left,#0c0c0c,transparent)}.friends-carousel{overflow-x:auto;padding-bottom:40px;padding-top:20px;max-width:1000px;width:100%;scrollbar-width:none;-webkit-overflow-scrolling:touch;scroll-behavior:auto}.friends-carousel::-webkit-scrollbar{display:none}.marquee-content{display:flex;width:max-content}.marquee-group{display:flex;gap:30px;padding-right:30px}.friend-card{min-width:200px;background:#0d0d0d;border:1px solid #1a1a1a;transition:transform .4s cubic-bezier(.175,.885,.32,1.275),border-color .4s ease,box-shadow .4s ease}.friend-card:hover{transform:translateY(-15px) scale(1.03);border-color:#333;background:#111;box-shadow:0 15px 35px #000c}.blog{flex-direction:column}.blog-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:40px;max-width:1200px;width:100%}.blog-card{background:#151515;padding:40px;border-radius:5px;text-decoration:none;color:inherit;transition:transform .3s ease,background .3s ease}.blog-card:hover{transform:translateY(-10px);background:#1a1a1a}.blog-date{font-size:11px;color:#777;margin-bottom:15px;letter-spacing:2px;text-transform:uppercase}.blog-card h3{font-size:20px;font-weight:600;margin-bottom:15px;line-height:1.4}.blog-card p{color:#888;font-size:13px;line-height:1.6;margin-bottom:30px}.read-more{font-size:12px;color:#fff;text-transform:uppercase;letter-spacing:1px;display:flex;align-items:center;gap:5px}.blog-card:hover .read-more{gap:10px}.portfolio{flex-direction:column;background-color:#111}.portfolio-carousel{display:flex;align-items:center;justify-content:center;gap:20px;margin-bottom:60px;width:100%;max-width:900px}.portfolio-item{flex:1;aspect-ratio:4/5;overflow:hidden;filter:grayscale(100%);transition:all .6s cubic-bezier(.165,.84,.44,1);opacity:.5;cursor:pointer}.portfolio-item:hover{filter:grayscale(0%);opacity:1;transform:scale(1.05);z-index:5}.portfolio-item img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.portfolio-item:hover img{transform:scale(1.1)}.portfolio-item.center{aspect-ratio:3/4;transform:scale(1.1);opacity:1;z-index:2;box-shadow:0 20px 50px #00000080}.portfolio-item.center:hover{transform:scale(1.15)}.portfolio-info{text-align:center}.portfolio-info h2{font-size:32px;font-weight:700;margin-bottom:15px;letter-spacing:1px}.portfolio-info p{font-size:10px;color:#666;letter-spacing:3px;margin-bottom:40px;text-transform:uppercase;font-weight:500}.spotlight{position:relative;width:100%;max-width:1000px;margin:0 auto}.spot-viewport{overflow:hidden;border-radius:8px;border:1px solid #1c1c1c}.spot-track{display:flex;transition:transform .55s cubic-bezier(.22,.61,.36,1)}.spot-slide{flex:0 0 100%;display:grid;grid-template-columns:1fr 1fr;background:#0c0c0c}.spot-cover{height:360px}.spot-cover img,.spot-cover .cover-svg{width:100%;height:100%;object-fit:cover;display:block}.spot-info{padding:46px;display:flex;flex-direction:column;justify-content:center}.spot-index{font-size:13px;letter-spacing:3px;color:#666;margin-bottom:14px}.spot-info h3{font-size:26px;font-weight:600;color:#fff}.spot-info p{color:#999;line-height:1.7;margin:14px 0 22px}.spot-info .tags{margin-bottom:26px}.spot-arrow{position:absolute;top:180px;transform:translateY(-50%);z-index:5;width:48px;height:48px;border-radius:50%;border:1px solid #2a2a2a;background:#0c0c0ce6;color:#fff;font-size:26px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(4px);transition:background .3s ease,border-color .3s ease}.spot-arrow:hover{background:#1d1d1d;border-color:#444}.spot-arrow.prev{left:-22px}.spot-arrow.next{right:-22px}.spot-dots{display:flex;gap:10px;justify-content:center;margin-top:28px}.spot-dot{width:9px;height:9px;padding:0;border:none;border-radius:50%;background:#333;cursor:pointer;transition:background .3s ease,width .3s ease}.spot-dot.active{background:#fff;width:26px;border-radius:5px}@media(max-width:800px){.spot-slide{grid-template-columns:1fr}.spot-cover{height:200px}.spot-info{padding:30px}.spot-arrow{top:100px}.spot-arrow.prev{left:8px}.spot-arrow.next{right:8px}}.project-card{background:#0c0c0c;border-radius:5px;overflow:hidden;transition:transform .3s ease}.project-card:hover{transform:translateY(-10px)}.project-img{width:100%;height:250px;overflow:hidden}.project-img img,.project-img .cover-svg{width:100%;height:100%;object-fit:cover;display:block}.project-content{padding:30px}.project-content h3{font-size:20px;font-weight:600;margin-bottom:15px}.project-content p{color:#888;font-size:13px;line-height:1.6;margin-bottom:20px}.tags{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:25px}.tag{font-size:10px;padding:5px 12px;background:#1a1a1a;color:#aaa;border-radius:20px;text-transform:uppercase;letter-spacing:1px}.project-link{color:#fff;text-decoration:none;font-size:12px;letter-spacing:1px;text-transform:uppercase;display:flex;align-items:center;gap:8px;transition:color .3s ease}.project-link:hover{color:#888}.pdeck{width:100%;max-width:900px;margin:0 auto;--fan-x: 122px;--fan-y: 34px}.pdeck-stage{position:relative;height:500px;perspective:1600px;margin-bottom:30px}.pcard{position:absolute;left:0;right:0;top:44px;margin:0 auto;width:300px;max-width:82%;height:430px;background:#0c0c0c;border:1px solid #1e1e1e;border-radius:12px;overflow:hidden;display:flex;flex-direction:column;transform-origin:center;transition:transform .55s cubic-bezier(.22,.61,.36,1),opacity .5s ease,box-shadow .5s ease,filter .5s ease;will-change:transform,opacity;box-shadow:0 22px 48px #0000008c;-webkit-tap-highlight-color:transparent}.pcard-cover{height:158px;flex-shrink:0;overflow:hidden;border-bottom:1px solid #1a1a1a}.pcard-cover img,.pcard-cover .cover-svg{width:100%;height:100%;object-fit:cover;display:block}.pcard-body{padding:20px 24px 22px;flex:1;min-height:0;display:flex;flex-direction:column}.pcard-index{font-size:11px;letter-spacing:3px;font-weight:600;color:var(--accent, #38bdf8);flex-shrink:0}.pcard-body h3{font-size:20px;font-weight:600;margin:8px 0 10px;color:#fff;flex-shrink:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.pcard-body p{color:#8a8a8a;font-size:13px;line-height:1.6;margin-bottom:16px;flex:1 1 auto;min-height:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.pcard-body .tags{display:flex;flex-wrap:nowrap;gap:5px;flex-shrink:0;margin-bottom:14px;max-width:100%}.pcard-body .tag{font-size:9px;padding:4px 7px;letter-spacing:0;white-space:nowrap;flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}.pcard-body .project-link{flex-shrink:0;margin-top:auto}.pcard[data-front="0"]{cursor:pointer}.pcard[data-front="1"]{cursor:default}.pdeck-controls{display:flex;align-items:center;justify-content:center;gap:20px}.pdeck-arrow{width:46px;height:46px;border-radius:50%;background:#111;border:1px solid #333;color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;cursor:pointer;flex-shrink:0;transition:background .3s ease,border-color .3s ease,transform .2s ease}.pdeck-arrow:hover{background:#1a1a1a;border-color:#555;transform:scale(1.08)}@media(max-width:800px){.pdeck{--fan-x: 40px;--fan-y: 24px}.pdeck-stage{overflow:hidden}.pcard{width:84%;max-width:340px}}@media(max-width:480px){.pdeck{--fan-x: 24px;--fan-y: 18px}.pdeck-stage{height:500px}.pcard{height:424px;width:86%;top:30px}.pcard-cover{height:140px}.pcard-body{padding:16px 20px 20px}.pcard-body h3{font-size:18px;margin:6px 0 8px}.pcard-body p,.pcard-body .tags{margin-bottom:12px}.pcard-body .tag{font-size:8.5px;padding:4px 6px}.pdeck-arrow{width:42px;height:42px;font-size:18px}}.btn{display:inline-block;padding:18px 45px;background:#111;color:#fff;border:1px solid #333;text-decoration:none;font-size:11px;letter-spacing:3px;font-weight:500;border-radius:50px;transition:all .4s ease;cursor:pointer;text-transform:uppercase}.btn:hover{background:#fff;color:#000;border-color:#fff}.contact{background-color:#111}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;max-width:1100px;width:100%;align-items:center}.contact-info h2,.contact-form h2{font-size:28px;font-weight:700;margin-bottom:25px;letter-spacing:2px}.contact-info>p{color:#888;font-size:13px;line-height:1.8;margin-bottom:60px;font-weight:300;max-width:90%}.contact-details{display:flex;flex-direction:column;gap:35px;text-align:center}.detail-item{display:flex;flex-direction:column;align-items:center}.detail-item h3{font-size:14px;font-weight:700;margin-bottom:8px;letter-spacing:1px}.detail-item p{color:#777;font-size:13px;font-weight:300}.contact-info{text-align:center;display:flex;flex-direction:column;align-items:center}.contact-form{background:#151515;padding:50px;border-radius:2px}.input-group{margin-bottom:30px}.input-group input,.input-group textarea{width:100%;background:transparent;border:none;border-bottom:1px solid #333;padding:12px 0;color:#fff;font-size:13px;font-family:Outfit,Onest,sans-serif;outline:none;transition:border-color .3s ease}.input-group textarea{resize:none;min-height:72px;line-height:1.6}.input-group input:focus,.input-group textarea:focus{border-bottom-color:#fff}.input-group input::placeholder,.input-group textarea::placeholder{color:#555;font-weight:300}.contact-form .btn{width:100%;margin-top:10px;background:transparent;border:1px solid #333}.contact-form .btn:hover{background:#fff;color:#000}.footer{border-top:1px solid #1a1a1a;background-color:#0a0a0a;color:#888;padding:60px 60px 0;font-size:14px;font-weight:400;letter-spacing:0;text-align:left}.footer-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1.6fr 1fr 1.4fr;gap:40px;padding-bottom:50px}.footer-logo{display:inline-block;font-size:26px;font-weight:800;color:#fff;text-decoration:none;letter-spacing:1px}.footer-name{color:#fff;font-weight:600;font-size:16px;margin-top:14px}.footer-tagline{margin-top:6px;color:#888;line-height:1.6}.footer-loc{margin-top:10px;color:#666;font-size:13px}.footer-loc i{margin-right:6px}.footer h4{color:#fff;font-size:12px;letter-spacing:2px;text-transform:uppercase;margin-bottom:18px;font-weight:600}.footer-nav{display:flex;flex-direction:column;gap:12px}.footer-nav a,.footer-connect a{color:#888;text-decoration:none;transition:color .3s ease,transform .3s ease;font-size:14px}.footer-nav a:hover,.footer-connect a:hover{color:#fff}.footer-email{display:inline-flex;align-items:center;gap:6px;word-break:break-all}.footer-socials{display:flex;gap:16px;margin-top:22px;font-size:20px}.footer-socials a:hover{transform:translateY(-3px)}.footer-bottom{max-width:1200px;margin:0 auto;border-top:1px solid #1a1a1a;padding:24px 0;display:flex;justify-content:space-between;align-items:center;font-size:13px;color:#666}.footer-bottom p{margin:0}.footer-top{color:#888;text-decoration:none;transition:color .3s ease;white-space:nowrap}.footer-top:hover{color:#fff}.tw-cursor{display:inline-block;color:#777;font-weight:300;animation:blink 1s step-end infinite;margin-left:2px}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}html{scroll-padding-top:120px}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:#0c0c0c}::-webkit-scrollbar-thumb{background:#222;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#333}@media(prefers-reduced-motion:no-preference){.reveal{opacity:0;transform:translateY(45px);transition:opacity .85s cubic-bezier(.16,1,.3,1),transform .85s cubic-bezier(.16,1,.3,1);will-change:opacity,transform}.reveal.visible{opacity:1;transform:translateY(0)}}.hero{position:relative;overflow:hidden}.hero-content{position:relative;z-index:1}@media(prefers-reduced-motion:no-preference){.hero-content{animation:none}.hero-content>*{opacity:0;transform:translateY(30px);animation:heroUp 1s cubic-bezier(.16,1,.3,1) forwards}.hero-content>*:nth-child(1){animation-delay:.2s}.hero-content>*:nth-child(2){animation-delay:.35s}.hero-content>*:nth-child(3){animation-delay:.5s}.hero-content>*:nth-child(4){animation-delay:.7s}.hero:before{content:"";position:absolute;top:50%;left:50%;width:70vw;height:70vw;max-width:850px;max-height:850px;transform:translate(-50%,-50%);background:radial-gradient(circle,#ffffff0f,#fff0 62%);pointer-events:none;z-index:0;animation:glowPulse 6s ease-in-out infinite}}@keyframes heroUp{to{opacity:1;transform:translateY(0)}}@keyframes glowPulse{0%,to{opacity:.55;transform:translate(-50%,-50%) scale(1)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.18)}}@supports ((-webkit-background-clip: text) or (background-clip: text)){.main-title{background:linear-gradient(100deg,#fff 0% 34%,#cfe8ff 50%,#fff 66%,#c9c9c9);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}@media(prefers-reduced-motion:no-preference){.main-title{animation:heroUp 1s cubic-bezier(.16,1,.3,1) .35s forwards,titleShimmer 7s ease-in-out 1.4s infinite}}}@keyframes titleShimmer{0%,to{background-position:0% 0}50%{background-position:100% 0}}.hero-aurora{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}.hero-aurora:before,.hero-aurora:after{content:"";position:absolute;width:48vw;height:48vw;max-width:620px;max-height:620px;border-radius:50%;filter:blur(90px);opacity:.4;will-change:transform}.hero-aurora:before{background:radial-gradient(circle,rgba(56,189,248,.55),transparent 62%);top:4%;left:10%}.hero-aurora:after{background:radial-gradient(circle,rgba(167,139,250,.5),transparent 62%);bottom:2%;right:8%}@media(prefers-reduced-motion:no-preference){.hero-aurora:before{animation:auroraA 17s ease-in-out infinite alternate}.hero-aurora:after{animation:auroraB 21s ease-in-out infinite alternate}}@keyframes auroraA{0%{transform:translate(-8%,-6%) scale(1)}to{transform:translate(16%,12%) scale(1.28)}}@keyframes auroraB{0%{transform:translate(8%,6%) scale(1.12)}to{transform:translate(-14%,-10%) scale(.9)}}.cursor-glow{position:fixed;top:0;left:0;width:520px;height:520px;margin:-260px 0 0 -260px;border-radius:50%;background:radial-gradient(circle,rgba(130,175,255,.13),transparent 60%);pointer-events:none;z-index:3;opacity:0;transition:opacity .5s ease;transform:translate3d(var(--cx, -9999px),var(--cy, -9999px),0);will-change:transform;mix-blend-mode:screen}body.cursor-active .cursor-glow{opacity:1}@media(hover:none),(pointer:coarse),(prefers-reduced-motion:reduce){.cursor-glow{display:none}}.cursor-ring{position:fixed;top:0;left:0;width:18px;height:18px;margin:-9px 0 0 -9px;border-radius:50%;border:1px solid rgba(255,255,255,.55);pointer-events:none;z-index:9998;opacity:0;transform:translate3d(-100px,-100px,0);will-change:transform;transition:opacity .35s ease,border-color .2s ease,background .18s ease}body.cursor-active .cursor-ring{opacity:1}body.cursor-down .cursor-ring{background:var(--grad);border-color:#ffffffd9}@media(hover:hover)and (pointer:fine){body.cursor-ready,body.cursor-ready a,body.cursor-ready button,body.cursor-ready .btn,body.cursor-ready .pcard,body.cursor-ready .skill-card,body.cursor-ready .site-lang-btn{cursor:none}body.cursor-ready input,body.cursor-ready textarea,body.cursor-ready [contenteditable]{cursor:text}}@media(hover:none),(pointer:coarse),(prefers-reduced-motion:reduce){.cursor-ring{display:none}}.preloader{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:#0a0a0a;animation:preloaderOut .6s ease 2s forwards}.preloader.done{animation:preloaderOut .5s ease forwards}@keyframes preloaderOut{to{opacity:0;visibility:hidden;pointer-events:none}}.preloader-logo{position:relative;font-family:Outfit,sans-serif;font-weight:800;font-size:clamp(42px,9vw,86px);letter-spacing:6px;color:#fff;opacity:0;animation:preloaderLogo .7s cubic-bezier(.22,.61,.36,1) .1s forwards}.preloader-logo:after{content:"";position:absolute;left:0;bottom:-12px;height:2px;width:100%;background:linear-gradient(90deg,#38bdf8,#a78bfa,#f472b6);transform:scaleX(0);transform-origin:left center;animation:preloaderBar 1.5s cubic-bezier(.22,.61,.36,1) .2s forwards}@keyframes preloaderLogo{to{opacity:1}}@keyframes preloaderBar{to{transform:scaleX(1)}}@media(prefers-reduced-motion:reduce){.preloader{animation-delay:.3s;animation-duration:.3s}.preloader-logo{animation:none;opacity:1}.preloader-logo:after{animation:none;transform:scaleX(1)}}.scroll-progress{position:fixed;top:0;left:0;height:3px;width:100%;transform-origin:left center;transform:scaleX(var(--sp, 0));background:linear-gradient(90deg,#38bdf8,#a78bfa,#f472b6);z-index:250;pointer-events:none}@media(prefers-reduced-motion:reduce){.scroll-progress{display:none}}.tilt{transform-style:preserve-3d;transition:transform .25s cubic-bezier(.22,.61,.36,1),box-shadow .25s ease;will-change:transform}.spot{position:relative}.spot:after{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(220px circle at var(--mx, 50%) var(--my, 50%),rgba(255,255,255,.1),transparent 46%);opacity:0;transition:opacity .35s ease;pointer-events:none;z-index:1}.spot:hover:after{opacity:1}@media(hover:none),(pointer:coarse),(prefers-reduced-motion:reduce){.spot:after{display:none}}.nav a{position:relative}.nav a:after{content:"";position:absolute;left:0;bottom:-7px;width:0;height:1px;background:#fff;transition:width .3s ease}.nav a:hover:after,.nav a.active:after{width:100%}.skill-card:hover,.blog-card:hover,.network-grid .network-card:hover,.project-card:hover{box-shadow:0 18px 40px #0000008c}.skill-card i{transition:color .3s ease,transform .3s ease}.skill-card:hover i{transform:translateY(-4px) scale(1.12)}.btn:hover{transform:translateY(-2px);box-shadow:0 12px 28px #ffffff1a}.scroll-indicator .line{position:relative;overflow:hidden}.scroll-indicator .line:after{content:"";position:absolute;top:-30px;left:0;width:100%;height:30px;background:#fff;animation:scrollLine 2.2s ease-in-out infinite}@keyframes scrollLine{0%{top:-30px}to{top:30px}}@media(prefers-reduced-motion:reduce){.hero:before,.scroll-indicator .line:after{animation:none}.hero-content>*{opacity:1;transform:none;animation:none}*{scroll-behavior:auto!important}}.nav-toggle{display:none;flex-direction:column;justify-content:center;gap:6px;width:34px;height:34px;padding:0;background:none;border:none;cursor:pointer;z-index:200}.nav-toggle span{display:block;width:26px;height:2px;background:#fff;border-radius:2px;transition:transform .35s ease,opacity .25s ease}@media(max-width:800px){.nav-toggle{display:flex}.nav{position:fixed;inset:0;flex-direction:column;align-items:center;justify-content:center;gap:36px;background:#0a0a0af7;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transform:translate(100%);transition:transform .45s cubic-bezier(.16,1,.3,1);z-index:150}.nav.open{transform:translate(0)}.nav a{font-size:17px;letter-spacing:3px}.nav-toggle.open span:nth-child(1){transform:translateY(8px) rotate(45deg)}.nav-toggle.open span:nth-child(2){opacity:0}.nav-toggle.open span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}.section{padding:110px 24px 70px;min-height:auto}.hero{min-height:100vh;padding-top:0;padding-bottom:0}.main-title{font-size:9.5vw;letter-spacing:-1px}.hero-content>div{flex-wrap:wrap;gap:15px!important}.btn{padding:15px 34px}.about-grid{grid-template-columns:1fr;gap:40px}.about-image{width:100%;max-width:380px;aspect-ratio:4/5;margin:0 auto;border-radius:20px;overflow:hidden;position:relative;box-shadow:0 15px 35px #000c,0 0 40px #ffffff08;border:1px solid rgba(255,255,255,.08);transition:transform .4s cubic-bezier(.175,.885,.32,1.275),box-shadow .4s ease}.about-image:hover{transform:translateY(-10px);box-shadow:0 25px 45px #000000e6,0 0 60px #ffffff14;border-color:#ffffff26}.about-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease,filter .5s ease;filter:grayscale(20%) brightness(.9)}.about-image:hover img{transform:scale(1.05);filter:grayscale(0%) brightness(1.05)}.about-text{text-align:center}.stats{justify-content:center;gap:30px;flex-wrap:wrap}.about-text h2,.skills-container h2,.portfolio-info h2,.contact-info h2,.contact-form h2{font-size:26px}.contact-form{padding:35px 25px}}@media(max-width:480px){.header{padding:22px}.section{padding:100px 20px 60px}.skills-grid{grid-template-columns:1fr 1fr;gap:16px}.skill-card{padding:28px 14px}.skill-card i{font-size:34px}.stats{gap:22px}.stat h3{font-size:24px}.contact-form{padding:28px 20px}.footer{padding:50px 30px 0}.footer-inner{grid-template-columns:1fr;gap:34px;padding-bottom:40px}.footer-bottom{flex-direction:column;gap:14px;text-align:center}}.side-panel{position:fixed;top:0;left:0;width:350px;max-width:86vw;height:100vh;background:#0c0c0ceb;backdrop-filter:blur(25px);-webkit-backdrop-filter:blur(25px);border-right:1px solid rgba(255,255,255,.1);box-shadow:15px 0 45px #000c,inset -1px 0 #ffffff0d;z-index:1000;transform:translate(-100%);visibility:hidden;transition:transform .42s cubic-bezier(.16,1,.3,1),visibility 0s linear .42s;display:flex;flex-direction:column;padding:30px}.side-panel.open{transform:translate(0);visibility:visible;transition:transform .42s cubic-bezier(.16,1,.3,1),visibility 0s}.drawer-overlay{position:fixed;inset:0;background:#0000008c;opacity:0;pointer-events:none;transition:opacity .4s ease;z-index:999}.drawer-overlay.show{opacity:1;pointer-events:auto}body.drawer-open{overflow:hidden}.side-panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:40px;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:15px}.side-panel-header h3{font-size:20px;font-weight:700;letter-spacing:1px}.close-btn,.close-panel{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:transparent;border:none;color:#fff;font-size:24px;line-height:1;cursor:pointer;transition:transform .3s ease,color .3s ease,background .3s ease}.close-btn:hover,.close-panel:hover{color:#ff4a4a;background:#ffffff0f;transform:rotate(90deg)}.side-panel-content{flex-grow:1;overflow-y:auto;overscroll-behavior:contain}.side-panel-content::-webkit-scrollbar{width:4px}.side-panel-content::-webkit-scrollbar-thumb{background:#fff3;border-radius:10px}.panel-section{margin-bottom:35px}.panel-section h4{font-size:13px;color:#fff;margin-bottom:20px;letter-spacing:2px;text-transform:uppercase;font-weight:700;display:flex;align-items:center;gap:12px;opacity:.8}.panel-section h4 i{font-size:18px;color:#fff;opacity:.5}.panel-section ul{list-style:none;padding-left:0}.panel-section ul li{font-size:15px;color:#aaa;margin-bottom:15px;display:flex;align-items:center;font-weight:400;transition:color .3s ease,transform .3s ease;cursor:pointer}.panel-section ul li:hover{color:#fff;transform:translate(5px)}.panel-section ul li:before{content:"—";color:#f36;margin-right:15px;font-size:14px;font-weight:700;transition:width .3s ease;display:inline-block;width:15px}.panel-section ul li:hover:before{width:25px}@media(max-width:1024px){.contact-grid{gap:50px}.section{padding:100px}}@media(max-width:800px){.header{padding:30px}.social-links,.scroll-indicator{display:none}.section{padding:100px 30px}.main-title{font-size:clamp(2.4rem,12.5vw,4.5rem);letter-spacing:-1px;overflow-wrap:break-word;max-width:100%}.portfolio-carousel{flex-direction:column;gap:30px}.portfolio-item,.portfolio-item.center{width:100%;max-width:400px;aspect-ratio:auto;height:300px;transform:scale(1)}.portfolio-item.center:hover{transform:scale(1.02)}.contact-grid{grid-template-columns:1fr}.contact-info{max-width:100%}.contact-info>p{max-width:100%}}.skip-link{position:fixed;top:-60px;left:16px;z-index:2000;background:#fff;color:#000;padding:12px 20px;border-radius:8px;font-size:13px;font-weight:600;letter-spacing:1px;text-decoration:none;transition:top .25s ease}.skip-link:focus{top:16px}:focus-visible{outline:2px solid #7cc4ff;outline-offset:3px;border-radius:4px}@media(prefers-reduced-motion:reduce){.pcard,.spot-track,.side-panel,.nav,.drawer-overlay,.about-image{transition-duration:.001ms!important}html{scroll-behavior:auto!important}}.print-btn{background:transparent;border:1px solid #333;color:#fff;padding:8px 16px;border-radius:50px;font-size:11px;letter-spacing:1px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:background .3s ease,border-color .3s ease}.print-btn:hover{background:#fff;color:#000;border-color:#fff}@media print{body{background:#fff!important;color:#000!important}.header,.print-btn,.back-btn,.lang-switcher{display:none!important}.container{padding:0!important}.doc-container,.doc-text,.doc-text span,.doc-section a,.doc-text a{color:#000!important}hr{border-top-color:#ccc!important}a[target=_blank]{text-decoration:underline}}.site-lang{display:flex;align-items:center;gap:2px;margin-left:12px;border:1px solid #2a2a2a;border-radius:50px;padding:3px}.site-lang-btn{background:transparent;border:none;color:#777;font-size:10px;font-weight:600;letter-spacing:1px;padding:4px 9px;border-radius:50px;cursor:pointer;transition:color .3s ease,background .3s ease}.site-lang-btn:hover{color:#fff}.site-lang-btn.active{background:#fff;color:#000}@media(max-width:800px){.site-lang{margin-left:0;margin-top:20px}.site-lang-btn{font-size:13px;padding:6px 14px}}.about,.contact,.portfolio{background:var(--bg-2)}.header{padding:24px 60px;background:linear-gradient(to bottom,#0a0a0cb3,#0a0a0c00);-webkit-backdrop-filter:blur(16px) saturate(140%);backdrop-filter:blur(16px) saturate(140%)}.header:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,var(--border-2),transparent);opacity:.7}.logo,.footer-logo{background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.nav a{color:var(--text-2)}.nav a:hover,.nav a.active{color:var(--text)}.nav a:after{height:2px;border-radius:2px;background:var(--grad)}.about-text h2,.skills-container h2,.portfolio-info h2{font-size:var(--fs-h2);letter-spacing:-.5px}.contact-info h2,.contact-form h2{font-size:clamp(1.5rem,1.2rem + 1vw,1.9rem);letter-spacing:-.3px}.skills-container h2:after,.portfolio-info h2:after{content:"";display:block;width:56px;height:3px;margin:18px auto 0;border-radius:3px;background:var(--grad)}.about-text h2:after{content:"";display:block;width:56px;height:3px;margin:16px 0 0;border-radius:3px;background:var(--grad)}.skill-card,.network-card,.blog-card,.contact-form{position:relative;background:linear-gradient(180deg,var(--surface-2),var(--surface));border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:inset 0 1px #ffffff0f,var(--shadow-sm);transition:transform var(--dur) var(--ease),border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease),background var(--dur) var(--ease)}.skill-card:hover,.network-grid .network-card:hover,.blog-card:hover{border-color:var(--border-2);background:linear-gradient(180deg,var(--surface-3),var(--surface-2));box-shadow:inset 0 1px #ffffff14,var(--shadow-lg),0 0 42px #58c7ff14}.friend-card{background:linear-gradient(180deg,var(--surface),var(--bg-2));border:1px solid var(--border)}.friend-card:hover{border-color:var(--border-2)}.skill-card i{color:var(--text-3)}.skill-card:hover i{color:var(--accent);filter:drop-shadow(0 0 12px rgba(88,199,255,.5))}.pcard{background:linear-gradient(180deg,var(--surface-2),var(--bg-2));border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:inset 0 1px #ffffff0d,0 22px 48px #0000008c}.pcard[data-front="1"]{border-color:var(--border-2);box-shadow:inset 0 1px #ffffff14,var(--shadow-lg),0 0 46px #58c7ff1a}.pcard-index{color:var(--accent)}.pdeck-arrow{background:#ffffff0a;border:1px solid var(--border)}.pdeck-arrow:hover{background:#58c7ff1a;border-color:var(--accent);color:var(--text)}.spot-dot{background:var(--surface-3)}.spot-dot.active{background:var(--grad)}.tag,.pcard-body .tag{background:#ffffff0d;border:1px solid var(--border);color:var(--text-2);border-radius:var(--r-pill)}.stat h3{font-size:clamp(1.8rem,1.4rem + 1.4vw,2.2rem);background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.btn{border-radius:var(--r-pill);border:1px solid transparent;background:var(--grad);color:#06121b;font-weight:700;box-shadow:0 10px 30px #58c7ff2e;transition:transform .3s var(--ease),box-shadow .3s var(--ease),filter .3s var(--ease)}.btn:hover{background:var(--grad);color:#06121b;transform:translateY(-3px);box-shadow:0 16px 42px #58c7ff52;filter:brightness(1.06)}.btn-ghost,.contact-form .btn{background:#ffffff08!important;color:var(--text)!important;border:1px solid var(--border-2)!important;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:none}.btn-ghost:hover,.contact-form .btn:hover{background:#ffffff14!important;color:var(--text)!important;border-color:var(--accent)!important;transform:translateY(-3px)}.input-group input,.input-group textarea{background:#ffffff08;border:1px solid var(--border);border-radius:var(--r-sm);padding:14px 16px;color:var(--text);transition:border-color .3s var(--ease),box-shadow .3s var(--ease),background .3s var(--ease)}.input-group input:focus,.input-group textarea:focus{border-color:var(--accent);background:#ffffff0d;box-shadow:0 0 0 3px #58c7ff26}.input-group input::placeholder,.input-group textarea::placeholder{color:var(--text-3)}.detail-item h3{color:var(--text)}.network-link:hover,.project-link:hover,.social-links a:hover,.footer-socials a:hover{color:var(--accent)}.footer{background:var(--bg);border-top:1px solid var(--border)}.footer-bottom,.footer-inner{border-color:var(--border)}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:linear-gradient(var(--accent),var(--accent-2));border-radius:10px}::-webkit-scrollbar-thumb:hover{background:linear-gradient(var(--accent-2),var(--accent-3))}.site-lang-btn.active{background:var(--grad);color:#06121b}.site-lang{border-color:var(--border)}
