@import"https://fonts.googleapis.com/css2?family=Google+Sans+Code:ital,wght@0,300..800;1,300..800&display=swap";:root{--bg-color: #e4e4e4;--text-primary: #18181b;--text-secondary: #484b52;--accent-color: #2563eb;--accent-glow: rgba(37, 100, 235, .089);--glass-bg: rgba(247, 247, 247, .72);--glass-border: rgba(24, 24, 27, .08);--pill-active: #ffffff;--transition-cubic: all .5s cubic-bezier(.4, 0, .2, 1);--shadow-premium: 0 20px 50px -12px rgba(0, 0, 0, .08);--dot-color: rgba(24, 24, 27, .05);color-scheme:light}.dark{--bg-color: #0a0a0b;--text-primary: #f4f4f5;--text-secondary: #a1a1aa;--accent-color: #4d8dfd;--accent-glow: rgba(77, 141, 253, .055);--glass-bg: rgba(24, 24, 27, .68);--glass-border: rgba(255, 255, 255, .07);--pill-active: #1c1c1f;--dot-color: rgba(255, 255, 255, .025);color-scheme:dark}.theme-transitioning,.theme-transitioning *,.theme-transitioning *:before,.theme-transitioning *:after{transition:none!important}*{margin:0;padding:0;box-sizing:border-box;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html{scroll-behavior:smooth;min-height:100%}body{margin:0;padding:0;min-height:100vh;background-color:var(--bg-color);color:var(--text-primary);font-family:Google Sans Code,Fira Code,monospace;transition:background-color .4s ease,color .4s ease;overflow-x:hidden;position:relative}.glass-effect{background:var(--glass-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--glass-border);box-shadow:var(--shadow-premium);transition:background .4s ease,border .4s ease}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:10px;background-color:var(--accent-color);color:#fff!important;padding:.9rem 2rem;border-radius:14px;font-weight:700;font-size:1rem;text-decoration:none;border:none;cursor:pointer;transition:var(--transition-cubic);box-shadow:0 10px 20px -5px var(--accent-glow)}.btn-primary:hover{transform:translateY(-3px) scale(1.02);filter:brightness(1.1);box-shadow:0 15px 30px -5px var(--accent-glow)}.btn-primary:active{transform:scale(.96)}.text-gradient{background:linear-gradient(135deg,var(--text-primary) 30%,var(--accent-color));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}::selection{background-color:var(--accent-color);color:#fff}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-color)}::-webkit-scrollbar-thumb{background:var(--glass-border);border-radius:10px;border:2px solid var(--bg-color)}::-webkit-scrollbar-thumb:hover{background:var(--accent-color)}.app-container{margin:0;padding:0}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.about-section{padding:140px 5% 100px;position:relative;overflow:hidden;max-width:100vw;box-sizing:border-box}.about-container{max-width:1200px;width:100%;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:6rem;align-items:center}.about-visuals{position:relative;display:flex;justify-content:center}.image-composition{position:relative;width:100%;max-width:400px}.main-image-wrapper{position:relative;z-index:2;border-radius:40px;overflow:hidden;aspect-ratio:4/5;background:var(--accent-glow);box-shadow:var(--shadow-premium)}.main-photo{width:100%;height:100%;object-fit:cover;opacity:0;position:relative;z-index:2;transition:opacity .8s ease,transform .8s cubic-bezier(.4,0,.2,1)}.main-photo.visible{opacity:1}.about-cta:focus-visible{outline:2px solid var(--accent-color);outline-offset:6px}.stack-chip:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}@media(hover:hover)and (pointer:fine){.main-image-wrapper:hover .main-photo{transform:scale(1.05)}.stack-chip:hover{border-color:var(--chip-color);transform:translateY(-3px);box-shadow:0 10px 20px -12px var(--chip-color)}.about-cta:hover{gap:15px}}.image-border-effect{position:absolute;inset:0;border:1px solid rgba(255,255,255,.1);border-radius:40px;z-index:3;pointer-events:none}.about-shimmer{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,var(--glass-bg) 25%,var(--glass-border) 50%,var(--glass-bg) 75%);background-size:800px 100%;animation:shimmer 1.6s linear infinite}.floating-experience{position:absolute;bottom:-20px;right:-20px;background:var(--accent-color);color:#fff;padding:20px;border-radius:24px;display:flex;align-items:center;gap:12px;z-index:4;box-shadow:0 15px 35px var(--accent-glow)}.exp-number{font-size:2.5rem;font-weight:900;line-height:1}.exp-text{font-size:.75rem;font-weight:700;text-transform:uppercase;line-height:1.2;letter-spacing:1px}.about-content-area{display:flex;flex-direction:column;gap:2.5rem;min-width:0}.about-intro{display:flex;align-items:center;gap:10px;margin-bottom:.5rem}.label-caps{font-size:.85rem;font-weight:800;color:var(--accent-color);text-transform:uppercase;letter-spacing:3px}.word-wrapper{display:inline-block;overflow:hidden;vertical-align:bottom}.about-heading{font-size:clamp(2rem,5vw,3rem);font-weight:900;line-height:1.1;color:var(--text-primary);letter-spacing:-2px;margin-bottom:20px}.about-bio{font-size:1.1rem;line-height:1.7;color:var(--text-secondary);max-width:600px}.about-bio p{margin-bottom:1rem}.about-text-skeleton{display:flex;flex-direction:column;gap:.85rem;max-width:600px}.skeleton-line{border-radius:8px;background:linear-gradient(90deg,var(--glass-bg) 25%,var(--glass-border) 50%,var(--glass-bg) 75%);background-size:800px 100%;animation:shimmer 1.6s linear infinite}.skeleton-title{height:2.5rem;width:95%;margin-bottom:.5rem}.skeleton-title.short{width:55%;margin-bottom:1.25rem}.skeleton-text{height:1rem;width:100%}.skeleton-text.short{width:65%}.highlights-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}.h-card{background:var(--glass-bg);border:1px solid var(--glass-border);padding:1.25rem;border-radius:24px;display:flex;align-items:center;gap:15px;min-width:0;transition:var(--transition-cubic);transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden;will-change:transform,opacity}.h-icon{width:48px;height:48px;border-radius:14px;background:var(--bg-color);color:var(--accent-color);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm);flex-shrink:0}.h-icon-stack{display:flex;align-items:center;justify-content:center}.h-icon-avatar{width:24px;height:24px;border-radius:50%;background:var(--bg-color);border:2px solid var(--glass-bg);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm)}.h-icon-avatar:not(:first-child){margin-left:-9px}.h-text{display:flex;flex-direction:column}.h-title{font-size:.95rem;font-weight:800;color:var(--text-primary)}.h-desc{font-size:.85rem;color:var(--text-secondary);font-weight:500}.about-stack{display:flex;flex-direction:column;gap:.9rem;min-width:0;width:100%}.about-stack-label{font-size:.8rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:2px}.about-stack-row{display:flex;flex-wrap:wrap;gap:.6rem;min-width:0;max-width:100%}.stack-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--text-primary);font-size:.85rem;font-weight:600;white-space:nowrap;transition:var(--transition-cubic)}.stack-chip svg{color:var(--chip-color);flex-shrink:0}.about-cta{display:flex;align-items:center;gap:8px;font-weight:700;color:var(--accent-color);text-decoration:none;font-size:1rem;transition:gap .3s ease;width:fit-content;border-radius:4px}@media(max-width:1024px){.about-container{grid-template-columns:minmax(0,1fr);gap:4rem;text-align:center}.about-visuals{order:2}.about-intro{justify-content:center}.about-bio,.about-text-skeleton{margin:0 auto}.highlights-grid{max-width:600px;margin:0 auto}.h-card{text-align:left}.about-stack-label{text-align:center}.about-stack-row{justify-content:center}.about-cta{justify-content:center;margin:0 auto}.about-bio{font-size:1rem}}@media(max-width:600px){.about-section{padding:80px 4% 60px}.about-bio{font-size:.9rem}.highlights-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;width:100%}.h-card{padding:.8rem;gap:10px;border-radius:16px;flex-direction:column;align-items:center;text-align:center}.h-icon{width:38px;height:38px;border-radius:10px}.h-icon svg{width:18px;height:18px}.h-icon-avatar{width:19px;height:19px}.h-title{font-size:.8rem}.h-desc{font-size:.7rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.about-heading{font-size:1.8rem}.skeleton-title{height:1.8rem}.floating-experience{padding:10px 14px;right:-10px;bottom:-10px}.exp-number{font-size:1.8rem}.exp-text{font-size:.6rem}.about-stack-row{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;padding:4px 4px 8px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:none;mask-image:linear-gradient(to right,transparent 0,black 24px,black calc(100% - 24px),transparent 100%);-webkit-mask-image:linear-gradient(to right,transparent 0,black 24px,black calc(100% - 24px),transparent 100%)}.about-stack-row::-webkit-scrollbar{display:none}.stack-chip{scroll-snap-align:start;flex-shrink:0}}@media(max-width:360px){.highlights-grid{gap:.5rem}.h-card{padding:.6rem}}@media(prefers-reduced-motion:reduce){.about-shimmer,.skeleton-line{animation:none}.main-photo,.h-card,.stack-chip,.about-cta{transition:none}}@keyframes morphing{0%,to{border-radius:30% 70% 70% 30%/30% 30% 70% 70%}50%{border-radius:60% 40% 30% 70%/60% 30% 70% 40%}}.footer-container{padding:80px 5% 40px;background:var(--glass-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--glass-border);position:relative;z-index:10;margin-top:50px}.footer-content{max-width:1200px;margin:0 auto 60px;display:grid;grid-template-columns:2fr 1fr 1fr;gap:4rem}.footer-brand-side{display:flex;flex-direction:column;gap:1.5rem}.footer-logo{font-size:1.5rem;font-weight:900;text-decoration:none;color:var(--text-primary);letter-spacing:-1px}.footer-logo span{color:var(--accent-color)}.footer-bio{font-size:1rem;color:var(--text-secondary);line-height:1.6;max-width:380px}.footer-status{display:flex;align-items:center;gap:10px;font-size:.85rem;font-weight:600;color:var(--accent-color);background:var(--accent-glow);padding:6px 12px;border-radius:100px;width:fit-content}.status-dot{width:6px;height:6px;background:var(--accent-color);border-radius:50%;box-shadow:0 0 8px var(--accent-color)}.footer-links-group{display:flex;flex-direction:column;gap:1.5rem}.footer-label{font-size:.9rem;text-transform:uppercase;letter-spacing:2px;font-weight:800;color:var(--text-primary)}.footer-nav{display:flex;flex-direction:column;gap:1rem}.footer-link{text-decoration:none;color:var(--text-secondary);font-size:.95rem;font-weight:500;transition:.3s ease;display:flex;align-items:center;gap:8px;width:fit-content}.footer-link:hover{color:var(--accent-color);transform:translate(5px)}.arrow-icon{opacity:0;transform:translate(-5px,5px);transition:.3s ease;color:var(--accent-color)}.footer-link:hover .arrow-icon{opacity:1;transform:translate(0)}.footer-bottom{border-top:1px solid var(--glass-border);padding-top:30px}.footer-bottom-content{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;color:var(--text-secondary);font-size:.9rem}.copyright span{color:var(--text-primary);font-weight:700}@media(max-width:968px){.footer-content{grid-template-columns:1fr;text-align:center;gap:3rem}.footer-brand-side,.footer-links-group,.footer-nav,.footer-status,.footer-link{align-items:center;margin:0 auto}.footer-bottom-content{flex-direction:column;gap:1.5rem;text-align:center}}.header-main{position:fixed;top:0;left:0;width:100%;z-index:1000;padding:1rem 0;transition:var(--transition-cubic)}.header-main.scrolled{padding:.75rem 0}.nav-box{max-width:1200px;margin:0 auto;width:92%;display:flex;justify-content:space-between;align-items:center;padding:.3rem .6rem;border-radius:20px;background:transparent;border:1px solid transparent;transition:var(--transition-cubic)}.header-main.scrolled .nav-box{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:var(--shadow-premium)}.logo-container{text-decoration:none;cursor:pointer;z-index:10}.logo-code{display:flex;align-items:center;font-family:Fira Code,monospace;font-weight:700;font-size:1.2rem;color:var(--text-primary);letter-spacing:-.5px}.logo-bracket{color:var(--accent-color)}.logo-slash{color:var(--accent-color);opacity:.6}.logo-text{padding:0 4px}.logo-cursor{display:inline-block;width:8px;height:1.2rem;background:var(--accent-color);margin-left:4px;border-radius:1px}.nav-menu{display:none;background:#0000000a;padding:4px;border-radius:100px;position:relative;gap:2px}.dark .nav-menu{background:#ffffff0a}@media(min-width:768px){.nav-menu{display:flex}}.nav-link{position:relative;text-decoration:none;color:var(--text-secondary);font-size:.875rem;font-weight:500;padding:.6rem 1.2rem;transition:color .3s ease;z-index:1;display:flex;align-items:center;justify-content:center}.nav-link.active{color:var(--accent-color)}.active-pill-bg{position:absolute;inset:0;background:var(--pill-active);border-radius:100px;z-index:-1;box-shadow:0 4px 12px #0000000d}.actions{display:flex;align-items:center;gap:12px}.theme-btn{color:var(--text-primary);width:42px;height:42px;padding-top:4px;display:flex;align-items:center;justify-content:center;background-color:transparent;cursor:pointer;border:none;overflow:hidden;transition:background .3s ease}.btn-contact{display:none;background:var(--text-primary);color:var(--bg-color)!important;padding:.7rem 1.4rem;border-radius:100px;text-decoration:none;font-weight:600;font-size:.875rem;align-items:center;gap:8px;transition:var(--transition-cubic)}@media(min-width:1024px){.btn-contact{display:flex}}.btn-contact:hover{transform:translateY(-2px);box-shadow:0 10px 20px var(--accent-glow);filter:brightness(1.2)}.mobile-toggle{background:transparent;color:var(--accent-color);width:44px;height:44px;border-radius:14px;display:flex;align-items:center;justify-content:center;cursor:pointer;border:none}@media(min-width:768px){.mobile-toggle{display:none}}.sidebar-overlay{position:fixed;inset:0;background:#0006;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1999}.mobile-sidebar{position:fixed;top:0;right:0;width:85%;max-width:280px;height:100dvh;background:var(--glass-bg);backdrop-filter:blur(25px);-webkit-backdrop-filter:blur(25px);z-index:2000;padding:20px 1.5rem;display:flex;flex-direction:column;border-left:1px solid var(--glass-border);box-shadow:-15px 0 45px #0003}.sidebar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4rem}.sidebar-title{font-size:.75rem;letter-spacing:.25rem;text-transform:uppercase;color:var(--text-secondary);font-weight:800}.close-btn{background:transparent;border:none;color:var(--text-primary);width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:transform .3s ease}.close-btn:active{transform:scale(.9)}.sidebar-nav{display:flex;flex-direction:column;gap:1.25rem;font-size:1rem}.sidebar-link{text-decoration:none;font-size:1.7rem;font-weight:800;color:var(--text-primary);letter-spacing:-1.5px;transition:color .3s ease}.sidebar-link.active{color:var(--accent-color)}.sidebar-footer{margin-top:auto;display:flex;flex-direction:column;gap:1.5rem}.btn-talk-mobile{background:var(--accent-color);color:#fff;text-decoration:none;text-align:center;padding:1.2rem;border-radius:18px;font-weight:700;font-size:1.125rem;box-shadow:0 15px 30px var(--accent-glow);transition:transform .2s ease}.btn-talk-mobile:active{transform:scale(.98)}@media(max-width:768px){.nav-box{width:100%;border-radius:0;margin-top:0}.nav-box .scrolled{box-shadow:var(--shadow-premium)}.header-main{top:-12px}}@media(max-height:700px){.sidebar-header{margin-bottom:2rem}}.theme-btn{cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.dark body{transition:background-color .4s ease,color .4s ease}.welcome-topbar{margin-top:40px;left:0;right:0;display:flex;justify-content:center;gap:1.5rem;z-index:1}.welcome-social-icon{display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:var(--transition-cubic)}.welcome-social-icon:hover{color:var(--brand-color);transform:translateY(-2px)}.hero-container{height:100vh;display:flex;align-items:center;justify-content:center;padding:clamp(90px,14vh,120px) 5% clamp(24px,5vh,40px) 5%;position:relative;overflow:hidden}.hero-content{max-width:1200px;width:100%;display:grid;grid-template-columns:1.2fr .8fr;gap:4rem;align-items:center}.hero-text-area{display:flex;flex-direction:column;gap:clamp(.75rem,2vh,1.25rem);z-index:2}.hero-badge{display:flex;align-items:center;gap:10px;background:var(--accent-glow);color:var(--accent-color);padding:8px 16px;border-radius:100px;font-size:.85rem;font-weight:700;width:fit-content;border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.badge-dot{width:8px;height:8px;background:var(--accent-color);border-radius:50%;box-shadow:0 0 10px var(--accent-color);animation:pulse 2s infinite}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.4);opacity:.5}}.hero-title{font-size:3.5rem;font-weight:900;line-height:1.1;color:var(--text-primary);letter-spacing:-2px}.accent-dot{color:var(--accent-color);text-shadow:0 0 20px var(--accent-glow)}.hero-subtitle{font-size:clamp(1.2rem,3vw,2.2rem);font-weight:600;color:var(--text-secondary);margin-top:-.5rem}.hero-description{font-size:1.1rem;color:var(--text-secondary);line-height:1.7;max-width:540px}.social-links{display:flex;gap:.8rem;margin:1rem 0}.social-icon{width:48px;height:48px;display:flex;justify-content:center;align-items:center;border-radius:14px;background-color:var(--glass-bg);border:1px solid var(--glass-border);color:var(--text-primary);transition:var(--transition-cubic)}.social-icon:hover{background:var(--accent-color);color:#fff;transform:translateY(-4px);box-shadow:0 10px 20px var(--accent-glow)}.hero-actions{display:flex;gap:1.2rem;margin-top:1rem}.btn-hero{display:inline-flex;align-items:center;gap:10px;padding:1rem 2rem;border-radius:16px;font-weight:700;font-size:1rem;text-decoration:none;transition:var(--transition-cubic);white-space:nowrap}.btn-talk{background:var(--accent-color);color:#fff!important;box-shadow:0 10px 25px var(--accent-glow)}.btn-cv{background:transparent;border:2px solid var(--accent-color);color:var(--accent-color)!important}.btn-talk:hover,.btn-cv:hover{transform:translateY(-3px);filter:brightness(1.1)}.stats-grid{display:flex;gap:2.5rem;margin-top:2rem;border-top:1px solid var(--glass-border);padding-top:2rem}.stat-card{display:flex;flex-direction:column}.stat-number{font-size:2rem;font-weight:800;color:var(--accent-color);line-height:1}.stat-label{font-size:.75rem;text-transform:uppercase;letter-spacing:1px;color:var(--text-secondary);font-weight:600;margin-top:6px}.hero-image-area{display:flex;justify-content:flex-end;align-items:center;position:relative}.avatar-container{position:relative;width:100%;max-width:400px}.avatar-glow{position:absolute;inset:-20px;background:radial-gradient(circle,var(--accent-glow) 0%,transparent 70%);filter:blur(50px);z-index:0}.avatar-wrapper{position:relative;z-index:2;aspect-ratio:1/1;border-radius:30% 70% 70% 30%/30% 30% 70% 70%;overflow:hidden;border:6px solid var(--glass-border);animation:morphing 12s ease-in-out infinite;background:var(--bg-color)}.avatar-img{width:100%;height:100%;object-fit:cover}.floating-card{position:absolute;z-index:10;background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--glass-border);padding:12px 20px;border-radius:20px;display:flex;align-items:center;gap:12px;box-shadow:var(--shadow-premium)}.card-icon{font-size:1.5rem}.card-text b{font-size:.9rem;color:var(--text-primary);display:block}.card-text span{font-size:.75rem;color:var(--text-secondary)}.card-top{top:10%;left:-30px}.card-bottom{bottom:15%;right:-20px}@media(max-width:1024px){.hero-content{grid-template-columns:1fr;text-align:center;gap:1rem}.hero-text-area{align-items:center}.hero-description{margin:0 auto}.hero-image-area{order:-1;justify-content:center}.avatar-container{max-width:280px}.card-top{left:-10%}.card-bottom{right:-10%}}@media(max-width:768px){.stats-grid{display:none!important}.hero-container{padding:100px 6% 40px}.hero-badge{display:none}.avatar-container{max-width:150px}.floating-card{padding:6px 12px;gap:8px;border-radius:12px}.card-icon{font-size:1rem}.card-text b{font-size:.7rem}.card-text span{font-size:.6rem}.card-top{top:-5%;left:-15%}.card-bottom{bottom:-5%;right:-15%}}@media(max-width:480px){.hero-title{font-size:1.7rem;margin-bottom:1rem}.hero-subtitle{font-size:1.2rem}.hero-description{font-size:.9rem}.hero-actions{width:100%;gap:.8rem}.btn-hero{width:100%;padding:.8rem}}@media(max-height:780px){.hero-container{padding-top:clamp(80px,12vh,100px)}.hero-text-area{gap:.65rem}.hero-description{line-height:1.5}.stats-grid{margin-top:1.25rem;padding-top:1.25rem}}@media(max-height:650px){.stats-grid{display:none!important}}:root{--swiper-theme-color: #007aff}:host{position:relative;display:block;margin-left:auto;margin-right:auto;z-index:1}.swiper{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1;display:block}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function, initial);box-sizing:content-box}.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper{transform:translateZ(0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform;display:block}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{transform:translateZ(0);backface-visibility:hidden}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px}.swiper-3d .swiper-slide,.swiper-3d .swiper-cube-shadow{transform-style:preserve-3d}.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-css-mode.swiper-horizontal>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-css-mode.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-slides-offset-before);scroll-margin-inline-start:var(--swiper-slides-offset-before)}.swiper-css-mode.swiper-horizontal>.swiper-wrapper>.swiper-slide:last-child{margin-inline-end:var(--swiper-slides-offset-after)}.swiper-css-mode.swiper-vertical>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-css-mode.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-slides-offset-before);scroll-margin-block-start:var(--swiper-slides-offset-before)}.swiper-css-mode.swiper-vertical>.swiper-wrapper>.swiper-slide:last-child{margin-block-end:var(--swiper-slides-offset-after)}.swiper-css-mode.swiper-free-mode>.swiper-wrapper{scroll-snap-type:none}.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:none}.swiper-css-mode.swiper-centered>.swiper-wrapper:before{content:"";flex-shrink:0;order:9999}.swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper:before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper:before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top,.swiper-3d .swiper-slide-shadow-bottom{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-3d .swiper-slide-shadow{background:#00000026}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(to left,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(to right,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(to top,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom,#00000080,#0000)}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color, var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}:is(.swiper:not(.swiper-watch-progress),.swiper-watch-progress .swiper-slide-visible) .swiper-lazy-preloader{animation:swiper-preloader-spin 1s infinite linear}.swiper-lazy-preloader-white{--swiper-preloader-color: #fff}.swiper-lazy-preloader-black{--swiper-preloader-color: #000}@keyframes swiper-preloader-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.swiper-pagination{position:absolute;text-align:center;transition:.3s opacity;transform:translateZ(0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-disabled>.swiper-pagination,.swiper-pagination.swiper-pagination-disabled{display:none!important}.swiper-pagination-fraction,.swiper-pagination-custom,.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal{bottom:var(--swiper-pagination-bottom, 8px);top:var(--swiper-pagination-top, auto);left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transform:scale(.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active,.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{width:var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));height:var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));display:inline-block;border-radius:var(--swiper-pagination-bullet-border-radius, 50%);background:var(--swiper-pagination-bullet-inactive-color, #000);opacity:var(--swiper-pagination-bullet-inactive-opacity, .2)}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet:only-child{display:none!important}.swiper-pagination-bullet-active{opacity:var(--swiper-pagination-bullet-opacity, 1);background:var(--swiper-pagination-color, var(--swiper-theme-color))}.swiper-vertical>.swiper-pagination-bullets,.swiper-pagination-vertical.swiper-pagination-bullets{right:var(--swiper-pagination-right, 8px);left:var(--swiper-pagination-left, auto);top:50%;transform:translate3d(0,-50%,0)}:is(.swiper-vertical>.swiper-pagination-bullets,.swiper-pagination-vertical.swiper-pagination-bullets) .swiper-pagination-bullet{margin:var(--swiper-pagination-bullet-vertical-gap, 6px) 0;display:block}:is(.swiper-vertical>.swiper-pagination-bullets,.swiper-pagination-vertical.swiper-pagination-bullets).swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px}:is(.swiper-vertical>.swiper-pagination-bullets,.swiper-pagination-vertical.swiper-pagination-bullets).swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;transition:.2s transform,.2s top}:is(.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-horizontal.swiper-pagination-bullets) .swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap, 4px)}:is(.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-horizontal.swiper-pagination-bullets).swiper-pagination-bullets-dynamic{left:50%;transform:translate(-50%);white-space:nowrap}:is(.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-horizontal.swiper-pagination-bullets).swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s left}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s right}.swiper-pagination-fraction{color:var(--swiper-pagination-fraction-color, inherit)}.swiper-pagination-progressbar{background:var(--swiper-pagination-progressbar-bg-color, rgba(0, 0, 0, .25));position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color, var(--swiper-theme-color));position:absolute;left:0;top:0;width:100%;height:100%;transform:scale(0);transform-origin:left top}.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:right top}.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite{width:100%;height:var(--swiper-pagination-progressbar-size, 4px);left:0;top:0}.swiper-vertical>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite{width:var(--swiper-pagination-progressbar-size, 4px);height:100%;left:0;top:0}.swiper-pagination-lock{display:none}.projects-section{padding:120px 0;background-size:40px 40px;position:relative;overflow:hidden;max-width:100vw}.projects-container{max-width:1300px;margin:0 auto;padding:0 40px}.projects-header{text-align:center;margin-bottom:56px;position:relative}.section-badge{display:inline-block;padding:8px 16px;background:var(--accent-glow);color:var(--accent-color);border-radius:100px;font-family:Fira Code,monospace;font-size:.85rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;margin-bottom:16px;border:1px solid var(--glass-border)}.section-title{font-size:3rem;font-weight:800;color:var(--text-primary);letter-spacing:-2px;line-height:1.1}.accent-dot{color:var(--accent-color)}.section-subtitle{color:var(--text-secondary);font-size:1.05rem;line-height:1.6;max-width:560px;margin:16px auto 0}.grid-wrapper{display:flex;flex-direction:column;align-items:center}.projects-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;width:100%}.projects-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;min-height:280px;color:var(--text-secondary);text-align:center}.projects-empty svg{color:var(--accent-color);opacity:.7}.projects-empty p{font-size:1rem;max-width:320px}.new-project-card{background:var(--glass-bg);border:1px solid var(--glass-border);overflow:hidden;display:flex;flex-direction:column;height:620px;min-width:0;transition:var(--transition-cubic);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:relative}.new-project-card:hover{border-color:var(--accent-color);box-shadow:0 40px 80px -20px #00000040;background:#ffffffe6}.dark .new-project-card:hover{background:#0f172ae6}.card-image-box{position:relative;width:100%;height:240px!important;flex-shrink:0;aspect-ratio:16 / 10;overflow:hidden;cursor:zoom-in;background:var(--bg-color)}.card-image-box img{width:100%;height:100%!important;object-fit:cover!important;object-position:top center;transition:transform .7s cubic-bezier(.4,0,.2,1)}.new-project-card:hover .card-image-box img{transform:scale(1.1)}.card-image-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--bg-color);color:var(--text-secondary);cursor:default}.card-overlay-hint{position:absolute;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#fff;opacity:0;transition:all .4s ease}.card-image-box:hover .card-overlay-hint{opacity:1}.card-content{padding:20px;flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}.card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.card-category{font-size:.75rem;font-weight:800;text-transform:uppercase;color:var(--accent-color);letter-spacing:1.5px}.info-btn{background:var(--accent-glow);color:var(--accent-color);border:none;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:.3s}.info-btn:hover{background:var(--accent-color);color:#fff;transform:rotate(15deg)}.card-title{font-size:1.5rem;font-weight:800;color:var(--text-primary);margin-bottom:12px;line-height:1.2}.card-description{color:var(--text-secondary);font-size:1rem;line-height:1.5;margin-bottom:20px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;max-height:4.5rem}.card-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px;min-height:30px}.tag-item{font-family:Fira Code,monospace;font-size:.7rem;font-weight:600;padding:6px 12px;background:var(--glass-border);color:var(--text-primary);border-radius:8px;border:1px solid transparent;transition:.3s}.tag-item--more{background:transparent;border:1px dashed var(--glass-border);color:var(--text-secondary)}.card-footer{margin-top:auto;padding-top:24px;border-top:1px solid var(--glass-border);display:flex;gap:20px}.action-link{display:flex;align-items:center;gap:8px;font-size:.9rem;font-weight:700;color:var(--text-primary);text-decoration:none;transition:.3s;padding:8px 14px;border:1px solid var(--glass-border);border-radius:10px;background-color:var(--accent-glow)}.action-link:hover{color:var(--accent-color);border-color:var(--accent-color)}.action-link.repo{color:var(--text-secondary);background-color:transparent}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.skeleton-card{background:var(--glass-bg);border:1px solid var(--glass-border);height:620px;display:flex;flex-direction:column;overflow:hidden}.skeleton-image{height:240px;flex-shrink:0;background:linear-gradient(90deg,var(--glass-bg) 25%,var(--glass-border) 50%,var(--glass-bg) 75%);background-size:800px 100%;animation:shimmer 1.6s linear infinite}.skeleton-content{padding:20px;display:flex;flex-direction:column;gap:14px}.skeleton-line{border-radius:6px;background:linear-gradient(90deg,var(--glass-bg) 25%,var(--glass-border) 50%,var(--glass-bg) 75%);background-size:800px 100%;animation:shimmer 1.6s linear infinite}.skeleton-category{height:.75rem;width:35%}.skeleton-title{height:1.5rem;width:70%}.skeleton-text{height:.9rem;width:100%}.skeleton-text.short{width:60%}.skeleton-tags{display:flex;gap:8px;margin-top:4px}.skeleton-chip{display:inline-block;width:56px;height:24px;border-radius:8px;background:linear-gradient(90deg,var(--glass-bg) 25%,var(--glass-border) 50%,var(--glass-bg) 75%);background-size:800px 100%;animation:shimmer 1.6s linear infinite}@media(max-width:1024px){.projects-section{padding:60px 0}.new-project-card,.skeleton-card{height:550px;border-radius:24px}.card-image-box,.skeleton-image{height:200px!important;aspect-ratio:16 / 10}.card-image-box img{height:100%!important;object-fit:cover!important}.card-content{padding:20px}.card-title{font-size:1.25rem;margin-bottom:8px}.card-description{font-size:.9rem;line-height:1.4;-webkit-line-clamp:3;max-height:calc(.9rem * 1.4 * 3)}.card-tags{margin-bottom:16px}}@media(max-width:768px){.projects-grid{grid-template-columns:minmax(0,1fr)}.projects-container{padding:0 20px}.projects-header{margin-bottom:40px;text-align:center}.section-title{text-align:center;font-size:1.8rem}.info-modal-card{border:none!important}}.carousel-wrapper{position:relative;width:100%}.mobile-swiper{overflow:visible!important;padding:4px 0 44px!important}.mobile-swiper .swiper-pagination{bottom:4px!important}.mobile-swiper .swiper-pagination-bullet{background:var(--accent-color)!important;opacity:.2;transition:all .4s ease}.mobile-swiper .swiper-pagination-bullet-active{width:28px!important;border-radius:10px!important;opacity:1}.swipe-hint{position:absolute;top:-34px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:6px;font-size:.75rem;font-weight:600;color:var(--text-secondary);letter-spacing:.5px;pointer-events:none;white-space:nowrap}.swipe-hint svg{color:var(--accent-color);animation:swipe-hint-nudge 1.6s ease-in-out infinite}.swipe-hint svg:last-child{animation-direction:reverse}@keyframes swipe-hint-nudge{0%,to{transform:translate(0)}50%{transform:translate(-3px)}}.carousel-controls{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:4px}.carousel-nav-btn{width:42px;height:42px;border-radius:50%;background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--text-primary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--transition-cubic)}.carousel-nav-btn:hover{background:var(--accent-color);border-color:var(--accent-color);color:#fff;transform:translateY(-2px)}.carousel-nav-btn.swiper-button-disabled{opacity:.35;cursor:default;pointer-events:none;transform:none}.carousel-counter{font-family:Fira Code,monospace;font-size:.85rem;font-weight:600;color:var(--text-secondary);letter-spacing:1px;min-width:64px;text-align:center}.load-more-btn{margin-top:60px;padding:18px 40px;background:var(--accent-color);color:#fff;border:none;border-radius:16px;font-size:1rem;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:10px;box-shadow:0 20px 40px var(--accent-glow);transition:.4s}.load-more-btn:hover{transform:scale(1.05) translateY(-5px);filter:brightness(1.1)}.modal-overlay{position:fixed;inset:0;background:#020617f2;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px}.modal-close-btn{position:absolute;top:24px;right:24px;z-index:10;width:44px;height:44px;border-radius:50%;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:all .3s ease}.modal-close-btn:hover{background:var(--accent-color);border-color:var(--accent-color);transform:rotate(90deg)}.image-modal-figure{display:flex;flex-direction:column;align-items:center;gap:14px;max-width:92vw;max-height:90vh}.modal-fullscreen-img{max-width:92vw;max-height:82vh;width:auto;height:auto;object-fit:contain;border-radius:16px;box-shadow:0 25px 60px #00000080;border:1px solid rgba(255,255,255,.1)}.image-modal-figure figcaption{color:#ffffffd9;font-size:.95rem;font-weight:600;text-align:center}.info-modal-card{background:var(--bg-color);max-width:800px;width:100%;max-height:90vh;border-radius:32px;padding:40px;overflow-y:auto;position:relative;box-shadow:0 25px 50px -12px #00000080;border:1px solid var(--glass-border)}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;gap:16px}.modal-header h3{font-size:2rem;font-weight:800;color:var(--text-primary);letter-spacing:-1px}.close-info{background:var(--glass-border);border:none;color:var(--text-primary);width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:all .3s ease}.close-info:hover{background:var(--accent-color);color:#fff;transform:rotate(90deg)}.modal-body{display:flex;flex-direction:column;gap:24px}.modal-img-container{width:100%;aspect-ratio:16 / 9;border-radius:20px;overflow:hidden;margin-bottom:24px;border:1px solid var(--glass-border)}.modal-img-container img{width:100%;height:100%;object-fit:cover;object-position:top center}.modal-img-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--glass-bg);color:var(--text-secondary)}.modal-text-content{display:flex;flex-direction:column;gap:16px}.modal-cat{font-size:.85rem;font-weight:800;color:var(--accent-color);text-transform:uppercase;letter-spacing:2px}.modal-text-content p{font-size:1.1rem;line-height:1.7;color:var(--text-secondary)}.modal-tags{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0 20px}.modal-actions{display:flex;flex-wrap:wrap;gap:16px;padding-top:20px;border-top:1px solid var(--glass-border)}.action-btn-main,.action-btn-sub{display:inline-flex;align-items:center;gap:10px;padding:14px 28px;border-radius:12px;font-weight:700;font-size:.95rem;text-decoration:none;transition:all .3s ease}.action-btn-main{background:var(--accent-color);color:#fff;box-shadow:0 10px 20px var(--accent-glow)}.action-btn-main:hover{transform:translateY(-3px);filter:brightness(1.1);box-shadow:0 15px 30px var(--accent-glow)}.action-btn-sub{background:transparent;color:var(--text-primary);border:1px solid var(--glass-border)}.action-btn-sub:hover{background:var(--glass-border);transform:translateY(-3px)}@media(max-width:768px){.info-modal-card{padding:24px;width:95%;margin:10px}.modal-header h3{font-size:1.5rem}.modal-actions{flex-direction:column}.action-btn-main,.action-btn-sub{width:100%;justify-content:center}.modal-close-btn{top:16px;right:16px;width:38px;height:38px}}@media(prefers-reduced-motion:reduce){.skeleton-image,.skeleton-line,.skeleton-chip,.swipe-hint svg{animation:none}.new-project-card,.load-more-btn,.carousel-nav-btn,.modal-close-btn,.close-info,.action-link,.action-btn-main,.action-btn-sub{transition:none}}.load-more-btn:focus-visible,.carousel-nav-btn:focus-visible,.modal-close-btn:focus-visible,.close-info:focus-visible,.info-btn:focus-visible,.action-link:focus-visible{outline:2px solid var(--accent-color);outline-offset:3px}.marquee-row{position:relative;overflow:hidden;width:100%;-webkit-mask-image:linear-gradient(to right,transparent 0%,black 8%,black 92%,transparent 100%);mask-image:linear-gradient(to right,transparent 0%,black 8%,black 92%,transparent 100%)}.marquee-track{display:flex;width:max-content;animation:marquee-scroll var(--marquee-duration, 30s) linear infinite}.marquee-track--reverse{animation-direction:reverse}.marquee-track--pausable:hover{animation-play-state:paused}.marquee-content{display:flex;align-items:stretch;gap:16px;padding-right:16px;flex-shrink:0}@keyframes marquee-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}@media(prefers-reduced-motion:reduce){.marquee-track{animation:none}.marquee-row{overflow-x:auto;-webkit-mask-image:none;mask-image:none;scrollbar-width:none}.marquee-row::-webkit-scrollbar{display:none}}.skills-section{padding:100px 5%;position:relative;background:transparent}.skills-container{max-width:1200px;margin:0 auto}.skills-header{margin-bottom:25px;text-align:center}.section-subtitle{color:var(--text-secondary);margin-top:1rem;font-size:.95rem;line-height:1.6;text-align:center}.skills-filters{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:2rem 0 2.75rem}.filter-chip{position:relative;flex-shrink:0;border:1px solid var(--glass-border);background:var(--glass-bg);border-radius:100px;padding:0;cursor:pointer;overflow:hidden;-webkit-tap-highlight-color:transparent}.filter-chip:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}.filter-chip-content{position:relative;z-index:1;display:flex;align-items:center;gap:8px;padding:9px 18px;font-size:.85rem;font-weight:600;color:var(--text-secondary);transition:color .25s ease;white-space:nowrap}.filter-chip[aria-selected=true] .filter-chip-content{color:#fff}.filter-chip:not([aria-selected=true]):hover .filter-chip-content{color:var(--text-primary)}.filter-chip-active{position:absolute;inset:0;background:var(--accent-color);border-radius:100px;z-index:0}.skills-marquee-wrap{display:flex;flex-direction:column;gap:20px}.skills-marquee-crossfade{display:flex;flex-direction:column;padding:20px 0;gap:20px}.skills-marquee-row{width:100%}.skill-tech-card{--tech-color: var(--accent-color);display:flex;align-items:center;gap:14px;width:220px;flex-shrink:0;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:18px;padding:1rem 1.15rem;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:border-color .3s ease,transform .3s ease,box-shadow .3s ease}.skill-tech-card:hover{border-color:var(--tech-color);box-shadow:0 12px 24px -12px var(--tech-color)}.skill-tech-icon{flex-shrink:0;width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:var(--tech-color);background:color-mix(in srgb,var(--tech-color) 14%,transparent)}.skill-tech-info{display:flex;flex-direction:column;gap:2px;min-width:0}.skill-tech-name{font-size:.95rem;font-weight:700;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.skill-tech-category{font-size:.75rem;font-weight:500;color:var(--text-secondary)}@media(max-width:768px){.skills-header{text-align:center}.section-subtitle{font-size:.8rem;margin:1rem auto 0}.skills-filters{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;-webkit-mask-image:linear-gradient(to right,transparent,black 4%,black 96%,transparent);mask-image:linear-gradient(to right,transparent,black 4%,black 96%,transparent);padding-bottom:4px;scrollbar-width:none}.skills-filters::-webkit-scrollbar{display:none}.skill-tech-card{width:190px;padding:.85rem 1rem}}.welcome-screen{position:fixed;inset:0;z-index:3000;display:flex;flex-direction:column;background:var(--bg-color);overflow:hidden;touch-action:none}.welcome-main{flex:1;display:flex;flex-direction:column;justify-content:center;gap:.3rem;padding:2rem 1.5rem}.welcome-greeting{font-size:clamp(1rem,2.5vw,1.3rem);color:var(--text-secondary);font-weight:600;text-align:left;margin:0 auto}.theme-btn-wrapper{position:absolute;z-index:100;top:28px;right:40px}.welcome-title{font-size:2.5rem;font-weight:900;color:var(--text-primary);letter-spacing:-2px;min-height:1.2em;left:15px;text-align:left;margin:0 auto;margin-left:calc(50% + 15px);transform:translate(-50%);white-space:nowrap}.welcome-cursor{display:inline-block;color:var(--accent-color);opacity:0;margin-left:0;font-weight:400}.welcome-cursor.visible{opacity:1}.welcome-subtitle{font-size:1rem;color:var(--text-secondary);font-weight:500;max-width:480px;margin-top:.5rem}.welcome-scroll-hint{position:absolute;bottom:7rem;display:flex;flex-direction:column;align-items:center;gap:.4rem;color:var(--text-secondary);font-size:.75rem;font-weight:700;letter-spacing:.15em;left:0;width:100%;text-transform:uppercase}.welcome-marquee{padding:.4rem 0;overflow:hidden}.marquee-track{display:flex;width:max-content;gap:1rem;animation:marqueeScroll 26s linear infinite}.marquee-item{display:flex;align-items:center;gap:9px;padding:9px 18px;border-radius:100px;background:var(--bg-color);border:1px solid var(--glass-border);box-shadow:var(--shadow-premium);color:var(--text-primary);font-weight:600;font-size:.9rem;white-space:nowrap;transition:var(--transition-cubic)}.marquee-item:hover{border-color:var(--brand-color);transform:translateY(-2px)}.marquee-icon{color:var(--brand-color);flex-shrink:0}@keyframes marqueeScroll{0%{transform:translate(0)}to{transform:translate(-50%)}}@media(prefers-reduced-motion:reduce){.marquee-track,.welcome-scroll-hint{animation:none!important}}@media(max-width:768px){.theme-btn-wrapper{display:none}}@media(max-width:480px){.welcome-title{font-size:2rem}.welcome-greeting{font-size:.95rem}}.certificates-section{position:relative;padding:clamp(64px,10vw,120px) 0}.certificates-container{max-width:1180px;margin:0 auto;padding:0 24px}.certificates-header{margin-bottom:40px;display:flex;justify-content:center;text-align:center}.cert-badge{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono, "Fira Code", monospace);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--primary, #7c9dff);background:color-mix(in srgb,var(--primary, #7c9dff) 12%,transparent);border:1px solid color-mix(in srgb,var(--primary, #7c9dff) 30%,transparent);padding:6px 12px;border-radius:999px;margin-bottom:16px}.cert-title{font-size:clamp(28px,4vw,40px);font-weight:700;color:var(--text-primary, #f4f4f5);letter-spacing:-.02em;margin:0 0 12px}.cert-accent-dot{color:var(--primary, #7c9dff)}.cert-subtitle{max-width:560px;font-size:15px;line-height:1.6;color:var(--text-secondary, #a1a1aa);margin:0}.cert-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:32px}.cert-filter-chip{font-family:var(--font-mono, "Fira Code", monospace);font-size:13px;color:var(--text-secondary, #a1a1aa);background-color:var(--glass-bg);border:1px solid var(--border-color, rgba(255, 255, 255, .08));padding:8px 16px;border-radius:999px;cursor:pointer;transition:color .2s ease,background .2s ease,border-color .2s ease,transform .15s ease}.cert-filter-chip:hover{color:var(--text-primary, #f4f4f5);border-color:color-mix(in srgb,var(--primary, #7c9dff) 40%,transparent);transform:translateY(-1px)}.cert-filter-chip.is-active{color:#fff;background:var(--primary, #7c9dff);border-color:var(--primary, #7c9dff)}.cert-filter-chip:focus-visible{outline:2px solid var(--primary, #7c9dff);outline-offset:2px}.cert-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.cert-card{display:flex;flex-direction:column;height:100%;background:var(--glass-bg, rgba(255, 255, 255, .04));backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-color, rgba(255, 255, 255, .08));border-radius:16px;overflow:hidden;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}.cert-card:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--primary, #7c9dff) 35%,transparent);box-shadow:0 16px 40px -20px #00000080}.cert-image-box{position:relative;aspect-ratio:16 / 10;overflow:hidden;background:color-mix(in srgb,var(--bg-surface, #1a1a1f) 60%,black)}.cert-image-box[role=button]{cursor:pointer}.cert-image-box img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}.cert-card:hover .cert-image-box img{transform:scale(1.05)}.cert-overlay-hint{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:#fff;font-family:var(--font-mono, "Fira Code", monospace);font-size:13px;background:#0000008c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);opacity:0;transition:opacity .25s ease}.cert-card:hover .cert-overlay-hint,.cert-image-box:focus-visible .cert-overlay-hint{opacity:1}.cert-image-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--text-secondary, #a1a1aa)}.cert-content{display:flex;flex-direction:column;gap:10px;padding:18px;flex:1}.cert-issuer-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.cert-issuer-badge{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono, "Fira Code", monospace);font-size:12px;color:var(--text-secondary, #a1a1aa)}.cert-date{font-family:var(--font-mono, "Fira Code", monospace);font-size:12px;color:var(--text-secondary, #a1a1aa);opacity:.8;white-space:nowrap}.cert-card-title{font-size:16px;font-weight:600;line-height:1.35;color:var(--text-primary, #f4f4f5);margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.cert-skills{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}.cert-tag{font-family:var(--font-mono, "Fira Code", monospace);font-size:11px;color:var(--text-secondary, #a1a1aa);background:color-mix(in srgb,var(--text-primary, #f4f4f5) 6%,transparent);border:1px solid var(--border-color, rgba(255, 255, 255, .08));padding:4px 9px;border-radius:6px}.cert-tag--more{color:var(--primary, #7c9dff);border-color:color-mix(in srgb,var(--primary, #7c9dff) 30%,transparent)}.cert-verify-link{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:500;color:var(--primary, #7c9dff);text-decoration:none;margin-top:auto;padding-top:8px;width:fit-content}.cert-verify-link:hover{text-decoration:underline}.cert-verify-link:focus-visible{outline:2px solid var(--primary, #7c9dff);outline-offset:3px;border-radius:4px}.cert-load-more-btn{display:flex;align-items:center;justify-content:center;gap:8px;margin:32px auto 0;padding:12px 24px;font-family:var(--font-mono, "Fira Code", monospace);font-size:13px;color:var(--text-primary, #f4f4f5);background:var(--bg-surface, rgba(255, 255, 255, .04));border:1px solid var(--border-color, rgba(255, 255, 255, .08));border-radius:999px;cursor:pointer;transition:border-color .2s ease,background .2s ease}.cert-load-more-btn:hover{border-color:color-mix(in srgb,var(--primary, #7c9dff) 40%,transparent);background:color-mix(in srgb,var(--primary, #7c9dff) 10%,transparent)}.cert-load-more-btn:focus-visible{outline:2px solid var(--primary, #7c9dff);outline-offset:2px}.cert-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:64px 24px;color:var(--text-secondary, #a1a1aa);text-align:center}.cert-empty p{font-size:14px;margin:0;max-width:320px}@keyframes cert-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.cert-skeleton-card{display:flex;flex-direction:column;border-radius:16px;overflow:hidden;background:var(--bg-surface, rgba(255, 255, 255, .04));border:1px solid var(--border-color, rgba(255, 255, 255, .08))}.cert-skeleton-image{aspect-ratio:16 / 10;background:linear-gradient(90deg,var(--bg-surface, rgba(255, 255, 255, .04)) 25%,var(--border-color, rgba(255, 255, 255, .09)) 37%,var(--bg-surface, rgba(255, 255, 255, .04)) 63%);background-size:200% 100%;animation:cert-shimmer 1.6s ease-in-out infinite}.cert-skeleton-content{display:flex;flex-direction:column;gap:10px;padding:18px}.cert-skeleton-line{height:12px;border-radius:6px;background:linear-gradient(90deg,var(--bg-surface, rgba(255, 255, 255, .04)) 25%,var(--border-color, rgba(255, 255, 255, .09)) 37%,var(--bg-surface, rgba(255, 255, 255, .04)) 63%);background-size:200% 100%;animation:cert-shimmer 1.6s ease-in-out infinite}.cert-skeleton-issuer{width:40%}.cert-skeleton-title{width:85%;height:16px}.cert-skeleton-tags{display:flex;gap:6px;margin-top:4px}.cert-skeleton-chip{width:56px;height:20px;border-radius:6px;background:linear-gradient(90deg,var(--bg-surface, rgba(255, 255, 255, .04)) 25%,var(--border-color, rgba(255, 255, 255, .09)) 37%,var(--bg-surface, rgba(255, 255, 255, .04)) 63%);background-size:200% 100%;animation:cert-shimmer 1.6s ease-in-out infinite}.cert-modal-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:32px;background:#08080ad9;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.cert-modal-close-btn{position:absolute;top:20px;right:20px;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;color:#fff;background:#ffffff14;border:1px solid rgba(255,255,255,.15);cursor:pointer;transition:background .2s ease}.cert-modal-close-btn:hover{background:#ffffff29}.cert-modal-close-btn:focus-visible{outline:2px solid var(--primary, #7c9dff);outline-offset:2px}.cert-modal-figure{display:flex;flex-direction:column;align-items:center;gap:14px;max-width:min(90vw,960px);max-height:90vh;margin:0}.cert-modal-img{max-width:100%;max-height:78vh;object-fit:contain;border-radius:12px;box-shadow:0 24px 60px -20px #000000b3}.cert-modal-figure figcaption{font-family:var(--font-mono, "Fira Code", monospace);font-size:13px;color:#f4f4f5;text-align:center}.cert-modal-figure figcaption span{color:#f4f4f599}@media(max-width:640px){.cert-grid{grid-template-columns:1fr}.cert-modal-overlay{padding:16px}.cert-modal-close-btn{top:12px;right:12px}}@media(prefers-reduced-motion:reduce){.cert-card,.cert-image-box img,.cert-overlay-hint,.cert-filter-chip,.cert-load-more-btn,.cert-modal-close-btn{transition:none!important}.cert-skeleton-image,.cert-skeleton-line,.cert-skeleton-chip{animation:none!important}}
