:root{--header-height:4.5rem;--header-bg:rgba(255,255,255,0.95);--header-shadow:0 4px 20px rgba(0,0,0,0.1);--logo-gradient:linear-gradient(135deg,var(--title-color),var(--title-color-dark));--nav-link-hover:rgba(var(--title-color-rgb),0.1)}[data-theme=dark]{--header-bg:rgba(20,20,20,0.95);--header-shadow:0 4px 20px rgba(0,0,0,0.3)}.header{position:fixed;top:0;left:0;width:100%;z-index:9999;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);transition:all .4s cubic-bezier(.25,.46,.45,.94);border-bottom:1px solid rgba(0,0,0,.05)}.header,.header-scrolled{background:var(--header-bg)}.header-scrolled{box-shadow:var(--header-shadow);border-bottom-color:rgba(0,0,0,.1)}[data-theme=dark] .header-scrolled{border-bottom-color:rgba(255,255,255,.1)}.nav{height:var(--header-height);display:flex;justify-content:space-between;align-items:center}.nav,.nav__logo-wrapper{position:relative}.nav__logo{display:flex;align-items:center;gap:.75rem;cursor:pointer;transition:all .3s ease;padding:.5rem;border-radius:.75rem}.nav__logo:hover{background:rgba(0,0,0,.05);transform:translateY(-2px)}[data-theme=dark] .nav__logo:hover{background:rgba(255,255,255,.05)}.logo__icon{width:2.5rem;height:2.5rem;background:var(--logo-gradient);border-radius:50%;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.logo__icon:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent,rgba(255,255,255,.3),transparent);transform:rotate(45deg);animation:logoShine 3s ease-in-out infinite}@keyframes logoShine{0%,to{transform:translateX(-100%) translateY(-100%) rotate(45deg)}50%{transform:translateX(100%) translateY(100%) rotate(45deg)}}.logo__icon i{font-size:1.25rem;color:#fff;z-index:1}.logo__text{display:flex;flex-direction:column}.logo__name{font-size:var(--h3-font-size);font-weight:var(--font-semi-bold);color:var(--title-color);line-height:1}.logo__subtitle{font-size:var(--smaller-font-size);color:var(--text-color-light);font-weight:var(--font-medium)}.nav__menu{position:relative}.nav__list{display:flex;gap:1.5rem;align-items:center}.nav__item,.nav__link{position:relative}.nav__link{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;border-radius:.75rem;transition:all .3s cubic-bezier(.25,.46,.45,.94);color:var(--text-color);background:transparent;border:none;cursor:pointer;overflow:hidden;text-decoration:none}.nav__link:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:var(--nav-link-hover);transform:scaleX(0);transform-origin:left;transition:transform .3s ease;z-index:-1}.nav__link:hover:before{transform:scaleX(1)}.nav__link:hover{color:var(--title-color);transform:translateY(-2px)}.nav__link-active{color:var(--title-color);background:var(--nav-link-hover)}.nav__link-active .nav__indicator{transform:scaleX(1)}.nav__icon{font-size:1.1rem;transition:all .3s ease}.nav__link:hover .nav__icon{transform:scale(1.1)}.nav__text{font-weight:var(--font-medium);font-size:var(--normal-font-size)}.nav__indicator{position:absolute;bottom:0;left:50%;width:60%;height:2px;background:var(--title-color);transform:translateX(-50%) scaleX(0);transition:transform .3s ease;border-radius:2px}.nav__controls{display:flex;align-items:center;gap:1rem;margin-left:auto}.theme-toggle{background:none;border:none;cursor:pointer;padding:0}.theme-toggle__track{width:3rem;height:1.5rem;background:rgba(0,0,0,.1);border-radius:1rem;position:relative;transition:all .3s ease}[data-theme=dark] .theme-toggle__track{background:rgba(255,255,255,.2)}.theme-toggle__thumb{position:absolute;top:2px;left:2px;width:1.25rem;height:1.25rem;background:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .3s cubic-bezier(.25,.46,.45,.94);box-shadow:0 2px 8px rgba(0,0,0,.2)}.theme-toggle__thumb-dark{transform:translateX(1.5rem);background:#1a1a1a}.theme-toggle__thumb i{font-size:.75rem;color:var(--title-color)}.theme-toggle:hover .theme-toggle__thumb{transform:scale(1.1)}.theme-toggle:hover .theme-toggle__thumb-dark{transform:translateX(1.5rem) scale(1.1)}.nav__toggle{display:none;background:none;border:none;cursor:pointer;padding:.5rem;border-radius:.5rem;transition:all .3s ease}.nav__toggle:hover{background:rgba(0,0,0,.05)}[data-theme=dark] .nav__toggle:hover{background:rgba(255,255,255,.05)}.hamburger{width:1.5rem;height:1.2rem;position:relative;display:flex;flex-direction:column;justify-content:space-between}.hamburger span{width:100%;height:2px;background:var(--text-color);border-radius:2px;transition:all .3s cubic-bezier(.25,.46,.45,.94);transform-origin:center}.hamburger-active span:first-child{transform:rotate(45deg) translate(.4rem,.4rem)}.hamburger-active span:nth-child(2){opacity:0;transform:scaleX(0)}.hamburger-active span:nth-child(3){transform:rotate(-45deg) translate(.4rem,-.4rem)}.nav__close,.nav__overlay{display:none}@media screen and (max-width:768px){.nav__menu{position:fixed;top:0;right:-100%;width:280px;height:100vh;background:var(--header-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);padding:2rem 1.5rem;transition:all .4s cubic-bezier(.25,.46,.45,.94);box-shadow:-10px 0 30px rgba(0,0,0,.1);z-index:100}.nav__menu-open{right:0}.nav__list{flex-direction:column;gap:.5rem;align-items:stretch;margin-top:3rem}.nav__link{justify-content:flex-start;padding:1rem 1.5rem;border-radius:.75rem;width:100%}.nav__text{font-size:var(--h3-font-size)}.nav__icon{font-size:1.25rem}.nav__indicator{display:none}.nav__close{display:flex;position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:1.5rem;color:var(--text-color);cursor:pointer;padding:.5rem;border-radius:.5rem;transition:all .3s ease}.nav__close:hover{background:rgba(0,0,0,.1);transform:scale(1.1)}[data-theme=dark] .nav__close:hover{background:rgba(255,255,255,.1)}[data-theme=dark] .nav__menu{background:var(--header-bg);box-shadow:-10px 0 30px rgba(0,0,0,.3)}.nav__toggle{display:flex}.nav__overlay{display:block;position:fixed;top:0;left:0;width:100%;height:100vh;background:rgba(0,0,0,.5);z-index:50;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.logo__text{display:none}.nav__controls{gap:.5rem}}@media screen and (max-width:480px){.nav{padding:0 1rem}.theme-toggle__track{width:2.5rem;height:1.25rem}.theme-toggle__thumb{width:1rem;height:1rem}.theme-toggle__thumb-dark{transform:translateX(1.25rem)}.theme-toggle:hover .theme-toggle__thumb-dark{transform:translateX(1.25rem) scale(1.1)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.nav__item{animation:fadeInUp .6s ease forwards}.nav__item:first-child{animation-delay:.1s}.nav__item:nth-child(2){animation-delay:.2s}.nav__item:nth-child(3){animation-delay:.3s}.nav__item:nth-child(4){animation-delay:.4s}.nav__item:nth-child(5){animation-delay:.5s}html{scroll-behavior:smooth}.nav__link:focus,.nav__toggle:focus,.theme-toggle:focus{outline:2px solid var(--title-color);outline-offset:2px}.home__container{row-gap:7rem}.home__content{grid-template-columns:116px repeat(2,1fr);align-items:center;column-gap:2rem;padding-top:5.5rem}.home__social{display:grid;grid-template-columns:max-content;row-gap:1rem}.home__social-icon{font-size:1.25rem;color:var(--title-color);transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;padding:.75rem;border-radius:.75rem;background:var(--container-color);border:2px solid transparent;transform:translateY(0);animation:socialSlideIn .6s ease forwards;animation-delay:calc(var(--i) * .1s);opacity:0;overflow:hidden}.home__social-icon:first-child{--i:0}.home__social-icon:nth-child(2){--i:1}.home__social-icon:nth-child(3){--i:2}@keyframes socialSlideIn{0%{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}.home__social-icon:hover{color:white;background:var(--title-color);border-color:var(--title-color);transform:translateY(-5px) scale(1.1);box-shadow:0 10px 25px rgba(var(--title-color-rgb),.3)}.home__social-icon:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .6s ease}.home__social-icon:hover:before{left:100%}.home__title{font-size:var(--big-font-size);margin-bottom:var(--mb-0-25);display:flex;align-items:center;gap:.5rem}.cursor,.typing-text{display:inline-block}.cursor{animation:blink 1s infinite;color:var(--title-color);font-weight:400}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.home__hand{width:38px;height:38px;margin-left:.4rem}.home__subtitle{position:relative;font-size:var(--h3-font-size);padding-left:5.4rem;font-weight:var(--font-normal);margin-bottom:var(--mb-1)}.home__subtitle:before{content:"";position:absolute;width:70px;height:1px;background-color:var(--text-color);left:0;top:1rem}.home__status{margin-bottom:var(--mb-1)}.status-badge{display:inline-block;background:linear-gradient(135deg,#10b981,#059669);color:white;padding:.5rem 1rem;border-radius:1.5rem;font-size:var(--small-font-size);font-weight:var(--font-medium);position:relative;overflow:hidden;animation:statusPulse 2s ease-in-out infinite}.status-badge:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:statusShine 3s ease-in-out infinite}@keyframes statusPulse{0%,to{box-shadow:0 0 0 0 rgba(16,185,129,.4)}50%{box-shadow:0 0 0 10px rgba(16,185,129,0)}}@keyframes statusShine{0%{left:-100%}to{left:100%}}.home__description{max-width:400px;margin-bottom:var(--mb-3);font-size:1.1rem;color:var(--text-color)}.home__img{background:url(/my-react-port/assets/jjjjjjjjjjjjz.jpg);background-repeat:no-repeat;background-size:cover;background-position:50%;box-shadow:inset 0 0 0 9px rgb(255,255,255/30%);order:1;justify-self:center;width:320px;height:320px;animation:profile__animate 8s ease-in-out 1s infinite}@keyframes profile__animate{0%{border-radius:60% 40% 30% 70%/60% 30% 70% 40%}50%{border-radius:30% 60% 70% 40%/50% 60% 30% 60%}to{border-radius:60% 40% 30% 70%/60% 30% 70% 40%}}.home_scroll{margin-left:9.25rem}.wheel{animation:scroll 2s ease infinite}@keyframes scroll{0%{transform:translateY(0)}30%{transform:translateY(3.75rem)}}.home__scroll-name{color:var(--title-color);font-weight:var(--font-medium);margin-right:var(--mb-0-25);margin-left:2px}.home__scroll-arrow{font-size:1.25rem;color:var(--title-color)}@media screen and (max-width:992px){.home__content{grid-template-columns:100px repeat(2,1fr);column-gap:1.25rem}.home__hand{width:26px;height:26px}.home__subtitle{padding-left:3.75rem;margin-bottom:var(--mb-1)}.home__subtitle:before{width:42px;top:.8rem}.home__description{max-width:none;margin-bottom:var(--mb-2-25)}.home__img{width:250px;height:250px;box-shadow:inset 0 0 0 8px rgb(255,255,255/30%)}.home__scroll{margin-left:7.5rem}}@media screen and (max-width:768px){.home__content{grid-template-columns:.5fr 3fr;padding-top:3.5rem}.home__img{order:0;justify-self:auto}.home__data{grid-column:1/3}.home__img{box-shadow:inset 0 0 0 6px rgb(255,255,255/30%);width:200px;height:200px}.home__scroll{display:none}.button{margin-top:1rem}}@media screen and (max-width:350px){.home__img{width:150px;height:150px}}.about__container{display:grid;grid-template-columns:1fr 1.5fr;gap:4rem;align-items:flex-start;margin-bottom:4rem}.about__profile{gap:2rem}.about__image-wrapper,.about__profile{display:flex;flex-direction:column;align-items:center}.about__image-wrapper{position:relative;gap:1.5rem}.about__image-container{position:relative;width:380px;height:380px;border-radius:2rem;overflow:hidden;transform:scale(.95);opacity:.8;transition:all .6s cubic-bezier(.4,0,.2,1)}.about__image-container.loaded{transform:scale(1);opacity:1}.about__img{width:100%;height:100%;object-fit:cover;object-position:center top;border-radius:2rem;transition:transform .6s ease;filter:brightness(1.05) contrast(1.1) saturate(1.1)}.about__image-container:hover .about__img{transform:scale(1.1)}.about__image-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(14,36,49,.1),rgba(14,36,49,.3));opacity:0;transition:opacity .4s ease}.about__image-container:hover .about__image-overlay{opacity:1}.about__image-border{position:absolute;top:-3px;left:-3px;right:-3px;bottom:-3px;border-radius:2rem;background:linear-gradient(135deg,var(--title-color),rgba(var(--title-color-rgb),.5));z-index:-1;opacity:0;transition:opacity .4s ease}.about__image-container:hover .about__image-border{opacity:1}.about__social{gap:1rem;flex-wrap:wrap}.about__social,.about__social-link{display:flex;justify-content:center}.about__social-link{align-items:center;width:50px;height:50px;border-radius:1rem;background:var(--container-color);border:2px solid var(--border-color);color:var(--text-color);font-size:1.5rem;transition:all .4s cubic-bezier(.4,0,.2,1);transform:translateY(20px);opacity:0;animation:socialSlideUp .6s ease forwards;animation-delay:var(--delay)}@keyframes socialSlideUp{to{transform:translateY(0);opacity:1}}.about__social-link:hover{background:var(--social-color);color:white;border-color:var(--social-color);transform:translateY(-5px) scale(1.1);box-shadow:0 10px 25px rgba(var(--title-color-rgb),.2)}.about__content{display:flex;flex-direction:column;gap:2rem}.about__info{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:2rem}.about__box{background:var(--container-color);border:2px solid var(--border-color);border-radius:1.5rem;padding:1.5rem 1rem;text-align:center;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.about__box:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(var(--title-color-rgb),.1),transparent);transition:left .6s ease}.about__box:hover:before{left:100%}.about__box:hover{border-color:var(--title-color);transform:translateY(-8px);box-shadow:0 15px 35px rgba(var(--title-color-rgb),.15)}.about__icon{font-size:2rem;color:var(--title-color);margin-bottom:1rem;transition:all .4s ease}.about__box:hover .about__icon{transform:scale(1.2) rotate(10deg)}.about__title{font-size:1rem;font-weight:var(--font-semi-bold);color:var(--title-color);margin-bottom:.5rem}.about__subtitle{font-size:var(--small-font-size);color:var(--text-color-light)}.about__count{font-size:1.5rem;font-weight:var(--font-semi-bold);color:var(--title-color);margin-top:.5rem;opacity:0;transform:translateY(10px);transition:all .4s ease}.about__box:hover .about__count{opacity:1;transform:translateY(0)}.about__text{margin-bottom:2rem}.about__description{font-size:1.1rem;line-height:1.6;color:var(--text-color);margin-bottom:.5rem;text-align:justify;letter-spacing:-.02em;word-spacing:-.1em}.highlight{color:var(--title-color);font-weight:var(--font-semi-bold);position:relative}.highlight:after{content:"";position:absolute;bottom:2px;left:0;width:100%;height:2px;background:linear-gradient(90deg,var(--title-color),transparent);transform:scaleX(0);transform-origin:left;transition:transform .4s ease}.about__description:hover .highlight:after{transform:scaleX(1)}.about__actions{margin-top:2rem}.cv-button{display:inline-flex;align-items:center;gap:1rem;background:linear-gradient(135deg,var(--title-color),var(--title-color-dark));color:white;padding:1rem 2rem;border-radius:1.5rem;text-decoration:none;font-weight:var(--font-semi-bold);transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;box-shadow:0 8px 25px rgba(var(--title-color-rgb),.3)}.cv-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .6s ease}.cv-button:hover:before{left:100%}.cv-button:hover{transform:translateY(-3px) scale(1.05);box-shadow:0 15px 40px rgba(var(--title-color-rgb),.4)}.cv-button__content{display:flex;align-items:center;gap:1rem}.cv-button__icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:rgba(255,255,255,.2);border-radius:.75rem;font-size:1.2rem;transition:all .4s ease}.cv-button:hover .cv-button__icon{background:rgba(255,255,255,.3);transform:scale(1.1)}.cv-button__text{display:flex;flex-direction:column;align-items:flex-start}.cv-button__title{font-size:1rem;font-weight:var(--font-semi-bold)}.cv-button__subtitle{font-size:var(--small-font-size);opacity:.9;margin-top:.25rem}.cv-button__arrow{font-size:1.5rem;transition:transform .4s cubic-bezier(.4,0,.2,1)}.cv-button:hover .cv-button__arrow{transform:translateX(8px)}[data-theme=dark] .cv-button{background:linear-gradient(135deg,var(--container-color),#f0f0f0);color:var(--title-color);box-shadow:0 8px 25px rgba(255,255,255,.1)}[data-theme=dark] .cv-button:hover{box-shadow:0 15px 40px rgba(255,255,255,.2)}.about__timeline{margin-top:5rem;padding-top:3rem;border-top:2px solid var(--border-color)}.timeline__title{text-align:center;font-size:var(--h2-font-size);color:var(--title-color);margin-bottom:3rem;position:relative}.timeline__title:after{content:"";position:absolute;bottom:-10px;left:50%;transform:translateX(-50%);width:80px;height:3px;background:linear-gradient(90deg,var(--title-color),transparent)}.timeline{position:relative;max-width:800px;margin:0 auto}.timeline:before{content:"";position:absolute;left:50%;top:0;bottom:0;width:3px;background:linear-gradient(180deg,var(--title-color),rgba(var(--title-color-rgb),.3),var(--title-color));transform:translateX(-50%)}.timeline__item{position:relative;display:flex;align-items:center;margin-bottom:3rem;opacity:0;transform:translateY(30px);animation:timelineSlideUp .8s ease forwards;animation-delay:var(--item-delay)}@keyframes timelineSlideUp{to{opacity:1;transform:translateY(0)}}.timeline__item:nth-child(odd){flex-direction:row}.timeline__item:nth-child(2n){flex-direction:row-reverse}.timeline__marker{position:absolute;left:50%;transform:translateX(-50%);width:60px;height:60px;background:var(--container-color);border:4px solid var(--title-color);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:var(--title-color);z-index:10;transition:all .4s ease}.timeline__item:hover .timeline__marker{background:var(--title-color);color:white;transform:translateX(-50%) scale(1.1);box-shadow:0 8px 25px rgba(var(--title-color-rgb),.3)}.timeline__content{background:var(--container-color);border:2px solid var(--border-color);border-radius:1.5rem;padding:2rem;width:calc(50% - 40px);position:relative;transition:all .4s cubic-bezier(.4,0,.2,1)}.timeline__item:nth-child(odd) .timeline__content{margin-right:40px}.timeline__item:nth-child(2n) .timeline__content{margin-left:40px}.timeline__content:before{content:"";position:absolute;top:50%;width:0;height:0;border:15px solid transparent}.timeline__item:nth-child(odd) .timeline__content:before{right:-30px;border-left-color:var(--border-color);transform:translateY(-50%)}.timeline__item:nth-child(2n) .timeline__content:before{left:-30px;border-right-color:var(--border-color);transform:translateY(-50%)}.timeline__content:hover{border-color:var(--title-color);transform:translateY(-5px);box-shadow:0 15px 35px rgba(var(--title-color-rgb),.15)}.timeline__year{display:inline-block;background:linear-gradient(135deg,var(--title-color),var(--title-color-dark));color:white;padding:.5rem 1rem;border-radius:1rem;font-size:var(--small-font-size);font-weight:var(--font-semi-bold);margin-bottom:1rem}.timeline__item-title{font-size:var(--h3-font-size);color:var(--title-color);margin-bottom:.5rem;font-weight:var(--font-semi-bold)}.timeline__item-subtitle{font-size:1rem;color:var(--title-color-dark);margin-bottom:.75rem;font-weight:var(--font-medium)}.timeline__description{color:var(--text-color);line-height:1.6}@media screen and (max-width:992px){.about__container{grid-template-columns:1fr;gap:3rem;text-align:center}.about__image-container{width:300px;height:300px}.about__info{grid-template-columns:repeat(3,1fr);gap:1rem}.timeline:before{left:30px}.timeline__item{flex-direction:row!important}.timeline__marker{left:30px}.timeline__content{width:calc(100% - 80px);margin-left:80px!important;margin-right:0!important}.timeline__content:before{left:-30px!important;right:auto!important;border-right-color:var(--border-color)!important;border-left-color:transparent!important}}@media screen and (max-width:768px){.about__image-container{width:200px;height:200px}.about__info{grid-template-columns:1fr;gap:1rem}.about__social{gap:.75rem}.about__social-link{width:45px;height:45px;font-size:1.3rem}.cv-button{flex-direction:column;text-align:center;gap:.5rem}.cv-button__content{flex-direction:column;gap:.75rem}.timeline__content{padding:1.5rem}}@media screen and (max-width:576px){.about__timeline{margin-top:3rem}.about__info{grid-template-columns:1fr}.about__social{justify-content:center}.timeline__marker{width:50px;height:50px;font-size:1.2rem}.timeline__content{width:calc(100% - 70px);margin-left:70px!important}}[data-theme=dark] .about__box,[data-theme=dark] .timeline__content{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.1)}[data-theme=dark] .about__box:hover,[data-theme=dark] .timeline__content:hover{background:rgba(255,255,255,.08);border-color:var(--title-color)}[data-theme=dark] .timeline__marker{background:var(--bg-color)}[data-theme=dark] .about__image-overlay{background:linear-gradient(135deg,rgba(255,255,255,.1),rgba(255,255,255,.3))}.skills__container{max-width:968px;margin:0 auto;padding:0 1rem;position:relative}.skills__content-wrapper{position:relative;margin-bottom:2rem}.skills__content-container{overflow:hidden;border-radius:1.25rem;position:relative;box-shadow:0 8px 32px rgba(14,36,49,.15)}.skills__content-slider{display:flex;transition:transform .8s cubic-bezier(.25,.46,.45,.94);will-change:transform}.skills__content{min-width:100%;background-color:var(--container-color);border:1px solid rgba(0,0,0,.1);padding:2.5rem;border-radius:1.25rem;box-shadow:0 4px 25px rgba(14,36,49,.15)}.skills__header{display:flex;align-items:center;gap:1rem;margin-bottom:2rem}.skills__icon{font-size:2rem;color:var(--title-color);background:rgba(0,0,0,.05);padding:.75rem;border-radius:.75rem}.skills__title{font-size:var(--h3-font-size);font-weight:var(--font-semi-bold);color:var(--title-color);margin-bottom:.25rem}.skills__subtitle{font-size:var(--small-font-size);color:var(--text-color-light)}.skills__box{display:flex;justify-content:center}.skills__group{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;width:100%}.skills__data{display:flex;align-items:center;gap:1rem;padding:1rem;background:rgba(0,0,0,.02);border-radius:.75rem;transition:all .3s ease;border:1px solid rgba(0,0,0,.05)}.skills__data:hover{background:rgba(0,0,0,.05);transform:translateY(-3px);box-shadow:0 8px 25px rgba(0,0,0,.15);border-color:var(--title-color)}.skills__icon-wrapper{display:flex;align-items:center;justify-content:center;width:3rem;height:3rem;background:linear-gradient(135deg,var(--title-color),var(--title-color-dark));border-radius:50%;transition:all .3s ease}.skills__data:hover .skills__icon-wrapper{transform:rotate(1turn) scale(1.1);box-shadow:0 0 20px rgba(0,0,0,.3)}.skills__tech-icon{font-size:1.5rem;color:#fff;transition:all .3s ease;display:flex;align-items:center;justify-content:center}.skills__data:hover .skills__icon-wrapper{background:linear-gradient(135deg,var(--title-color),var(--title-color-dark))}.skills__data:hover .bxl-html5{color:#e34c26}.skills__data:hover .bxl-css3{color:#1572b6}.skills__data:hover .bxl-javascript{color:#f0db4f}.skills__data:hover .bxl-typescript{color:#3178c6}.skills__data:hover .bxl-react{color:#61dafb}.skills__data:hover .bxl-nodejs{color:#68a063}.skills__data:hover .bxl-python{color:#3776ab}.skills__data:hover .bxl-mongodb{color:#47a248}.skills__data:hover .bxl-docker{color:#0db7ed}.skills__data:hover .bxl-github{color:#333}.skills__info{flex:1}.skills__name{font-size:var(--normal-font-size);font-weight:var(--font-semi-bold);color:var(--title-color);margin-bottom:.5rem;transition:color .3s ease}.skills__data:hover .skills__name{color:var(--title-color-dark)}.skills__level{font-size:var(--tiny-font-size);font-weight:var(--font-medium);padding:.25rem .5rem;border-radius:.25rem;text-transform:uppercase;letter-spacing:.5px}.skills__level-basic{background:#fee2e2;color:#dc2626;animation:pulse-red 2s ease-in-out infinite}.skills__level-intermediate{background:#fef3c7;color:#d97706;animation:pulse-yellow 2s ease-in-out infinite}.skills__level-advanced{background:#dcfce7;color:#16a34a;animation:pulse-green 2s ease-in-out infinite}@keyframes pulse-red{0%,to{box-shadow:0 0 0 0 rgba(220,38,38,.3)}50%{box-shadow:0 0 0 5px rgba(220,38,38,0)}}@keyframes pulse-yellow{0%,to{box-shadow:0 0 0 0 rgba(217,119,6,.3)}50%{box-shadow:0 0 0 5px rgba(217,119,6,0)}}@keyframes pulse-green{0%,to{box-shadow:0 0 0 0 rgba(22,163,74,.3)}50%{box-shadow:0 0 0 5px rgba(22,163,74,0)}}.skills__indicators{display:flex;justify-content:center;gap:.75rem;margin-top:2rem}.skills__dot{width:1rem;height:1rem;background:rgba(0,0,0,.2);border:none;border-radius:50%;cursor:pointer;transition:all .4s ease;position:relative;overflow:hidden}.skills__dot:hover{background:rgba(0,0,0,.4);transform:scale(1.2)}.skills__dot-active{background:var(--title-color-dark);transform:scale(1.3);box-shadow:0 0 15px rgba(0,0,0,.3)}.skills__dot-active:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(45deg,transparent 30%,rgba(255,255,255,.5) 50%,transparent 70%);animation:shimmer 4s linear infinite}@keyframes shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.skills__container:hover .skills__content-slider{animation-play-state:paused}@media screen and (max-width:992px){.skills__group{grid-template-columns:1fr}}@media screen and (max-width:768px){.skills__content{padding:1.5rem}.skills__progress{flex-direction:column;gap:1rem;text-align:center}}@media screen and (max-width:576px){.skills__container{padding:0 .5rem}.skills__content{padding:1rem}.skills__header{flex-direction:column;text-align:center;gap:.5rem}.skills__group{gap:1rem}.skills__data{padding:.5rem}}.qualification__container{max-width:968px;margin:0 auto;padding:0 1.5rem}.qualification__tabs{display:flex;justify-content:center;gap:2rem;margin-bottom:3rem}.qualification__button{background:var(--container-color);border:2px solid var(--border-color);border-radius:1.5rem;padding:1rem 2rem;cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.qualification__button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(var(--title-color-rgb),.1),transparent);transition:left .6s ease}.qualification__button:hover:before{left:100%}.qualification__button-content{display:flex;align-items:center;gap:.75rem;color:var(--text-color);font-weight:var(--font-medium);font-size:1rem;transition:color .4s ease}.qualification__icon{font-size:1.5rem;transition:all .4s ease}.qualification__button:hover{border-color:var(--title-color);transform:translateY(-3px);box-shadow:0 10px 25px rgba(var(--title-color-rgb),.15)}.qualification__button:hover .qualification__button-content{color:var(--title-color)}.qualification__button:hover .qualification__icon{transform:scale(1.1) rotate(10deg)}.qualification__button.qualification__active{background:linear-gradient(135deg,var(--title-color),var(--title-color-dark));border-color:var(--title-color);box-shadow:0 8px 25px rgba(var(--title-color-rgb),.3)}.qualification__button.qualification__active .qualification__button-content{color:white}.qualification__button.qualification__active .qualification__icon{color:white;transform:scale(1.1)}.qualification__button.qualification__active:before{background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent)}.qualification__sections{position:relative}.qualification__content{opacity:0;visibility:hidden;transform:translateY(20px);transition:all .4s cubic-bezier(.4,0,.2,1);position:absolute;width:100%}.qualification__content-active{opacity:1;visibility:visible;transform:translateY(0);position:static}.qualification__timeline{position:relative;padding:2rem 0}.qualification__timeline:before{content:"";position:absolute;left:50%;top:0;bottom:0;width:3px;background:linear-gradient(180deg,var(--title-color),rgba(var(--title-color-rgb),.3),var(--title-color));transform:translateX(-50%)}.qualification__item{position:relative;display:flex;align-items:flex-start;margin-bottom:3rem;opacity:0;animation:itemSlideUp .6s ease forwards;animation-delay:calc(var(--item-index) * .1s)}.qualification__item:first-child{--item-index:0}.qualification__item:nth-child(2){--item-index:1}.qualification__item:nth-child(3){--item-index:2}.qualification__item:nth-child(4){--item-index:3}.qualification__item:nth-child(5){--item-index:4}@keyframes itemSlideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.qualification__item:nth-child(odd){flex-direction:row}.qualification__item:nth-child(2n){flex-direction:row-reverse}.qualification__marker{position:absolute;left:50%;transform:translateX(-50%);width:60px;height:60px;background:var(--container-color);border:4px solid var(--title-color);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:var(--title-color);z-index:10;transition:all .4s cubic-bezier(.4,0,.2,1)}.qualification__item:hover .qualification__marker{background:var(--title-color);color:white;transform:translateX(-50%) scale(1.1);box-shadow:0 8px 25px rgba(var(--title-color-rgb),.3)}.qualification__card{background:var(--container-color);border:2px solid var(--border-color);border-radius:1.5rem;padding:2rem;width:calc(50% - 40px);position:relative;transition:all .4s cubic-bezier(.4,0,.2,1);overflow:hidden}.qualification__item:nth-child(odd) .qualification__card{margin-right:40px}.qualification__item:nth-child(2n) .qualification__card{margin-left:40px}.qualification__card:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(var(--title-color-rgb),.05),transparent);transition:left .6s ease}.qualification__card:hover:before{left:100%}.qualification__card:after{content:"";position:absolute;top:50%;width:0;height:0;border:15px solid transparent}.qualification__item:nth-child(odd) .qualification__card:after{right:-30px;border-left-color:var(--border-color);transform:translateY(-50%)}.qualification__item:nth-child(2n) .qualification__card:after{left:-30px;border-right-color:var(--border-color);transform:translateY(-50%)}.qualification__card:hover{border-color:var(--title-color);transform:translateY(-5px);box-shadow:0 15px 35px rgba(var(--title-color-rgb),.15)}.qualification__card:hover:after{border-left-color:var(--title-color);border-right-color:var(--title-color)}.qualification__year{display:inline-block;background:linear-gradient(135deg,var(--first-color),var(--first-color-alt));color:#ffffff;padding:.5rem 1rem;border-radius:1rem;font-size:var(--small-font-size);font-weight:var(--font-semi-bold);margin-bottom:1rem;position:relative;overflow:hidden;border:1px solid var(--first-color)}.qualification__year:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .6s ease}.qualification__card:hover .qualification__year:before{left:100%}.qualification__title{font-size:var(--h3-font-size);color:var(--title-color);margin-bottom:.5rem;font-weight:var(--font-semi-bold);line-height:1.3}.qualification__subtitle{font-size:1rem;color:var(--title-color-dark);margin-bottom:.75rem;font-weight:var(--font-medium);line-height:1.4}.qualification__institution{font-size:var(--small-font-size);color:var(--text-color-light);margin-bottom:1rem;font-style:italic}.qualification__description{color:var(--text-color);line-height:1.6;margin-bottom:1rem}.qualification__certificate{display:inline-flex;align-items:center;gap:.5rem;background:linear-gradient(135deg,#10b981,#059669);color:white;padding:.75rem 1.5rem;border-radius:1rem;text-decoration:none;font-size:var(--small-font-size);font-weight:var(--font-medium);transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;margin-top:.5rem}.qualification__certificate:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .6s ease}.qualification__certificate:hover:before{left:100%}.qualification__certificate:hover{background:linear-gradient(135deg,#059669,#047857);transform:translateY(-2px) scale(1.05);box-shadow:0 8px 20px rgba(16,185,129,.4)}.qualification__certificate i{font-size:1rem;transition:transform .3s ease}.qualification__certificate:hover i{transform:scale(1.1)}.qualification__link{display:inline-flex;align-items:center;gap:.5rem;color:var(--title-color);font-size:var(--small-font-size);text-decoration:none;margin-top:.75rem;padding:.5rem 1rem;border:1px solid var(--title-color);border-radius:.5rem;transition:all .3s ease}.qualification__link:hover{background:var(--title-color);color:var(--container-color)}@media screen and (max-width:992px){.qualification__tabs{gap:1rem}.qualification__button{padding:.75rem 1.5rem}.qualification__timeline:before{left:30px}.qualification__item{flex-direction:row!important}.qualification__marker{left:30px;width:50px;height:50px;font-size:1.3rem}.qualification__card{width:calc(100% - 80px);margin-left:80px!important;margin-right:0!important}.qualification__card:after{left:-30px!important;right:auto!important;border-right-color:var(--border-color)!important;border-left-color:transparent!important}.qualification__card:hover:after{border-right-color:var(--title-color)!important;border-left-color:transparent!important}}@media screen and (max-width:768px){.qualification__tabs{flex-direction:column;align-items:center;gap:1rem}.qualification__button{width:100%;max-width:300px}.qualification__card{padding:1.5rem}.qualification__title{font-size:1.1rem}.qualification__subtitle{font-size:.9rem}}@media screen and (max-width:576px){.qualification__marker{width:45px;height:45px;font-size:1.2rem}.qualification__card{width:calc(100% - 70px);margin-left:70px!important;padding:1.25rem}.qualification__title{font-size:1rem}.qualification__certificate{padding:.5rem 1rem;font-size:.8rem}}[data-theme=dark] .qualification__card{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.1)}[data-theme=dark] .qualification__card:hover{background:rgba(255,255,255,.08);border-color:var(--title-color)}[data-theme=dark] .qualification__marker{background:var(--bg-color)}[data-theme=dark] .qualification__button{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.1)}[data-theme=dark] .qualification__button:hover{background:rgba(255,255,255,.08)}.project__filters{display:flex;justify-content:center;align-items:center;column-gap:.75rem;margin-bottom:var(--mb-2)}.project__item{cursor:pointer;color:var(--title-color);padding:.25rem .75rem;font-weight:var(--font-medium);border-radius:.5rem;text-transform:capitalize}.project__item:hover{background-color:var(--title-color);color:var(--container-color)}.project__container{grid-template-columns:repeat(2,max-content);gap:3rem;justify-content:center}.project__card{background-color:var(--container-color);border:1px solid rgba(0,0,0,.1);border-radius:1rem;overflow:hidden;transition:all .3s ease;box-shadow:0 2px 16px rgba(0,0,0,.1)}.project__card:hover{transform:translateY(-8px);box-shadow:0 8px 32px rgba(0,0,0,.15);border-color:var(--first-color)}.project__img-container{position:relative;overflow:hidden;border-radius:1rem 1rem 0 0}.project__img{width:100%;height:200px;object-fit:cover;transition:transform .3s ease}.project__card:hover .project__img{transform:scale(1.05)}.project__overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease}.project__card:hover .project__overlay{opacity:1}.project__buttons{display:flex;gap:1rem}.project__content{padding:1.25rem}.project__title{font-size:var(--h3-font-size);font-weight:var(--font-semi-bold);color:var(--title-color);margin-bottom:.5rem}.project__description{font-size:var(--small-font-size);color:var(--text-color-light);line-height:1.5;margin-bottom:1rem}.project__tech-stack{display:flex;flex-wrap:wrap;gap:.5rem}.project__tech-badge{background:var(--first-color-lighter);color:var(--first-color);font-size:var(--smaller-font-size);font-weight:var(--font-medium);padding:.25rem .5rem;border-radius:.25rem;border:1px solid var(--first-color-alt)}.project__button{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border-radius:.5rem;font-size:var(--small-font-size);font-weight:var(--font-medium);text-decoration:none;transition:all .3s ease;border:2px solid transparent}.project__button--demo{background:var(--first-color);color:#fff}.project__button--demo:hover{background:var(--first-color-alt);transform:translateY(-2px)}.project__button--github{background:transparent;color:#fff;border-color:#fff}.project__button--github:hover{background:#fff;color:var(--title-color);transform:translateY(-2px)}.active-work{background-color:var(--title-color);color:var(--container-color)}@media screen and (max-width:992px){.project__container{gap:1.25rem}.project__card{padding:1rem}.project__img{margin-bottom:.75rem}.project__title{margin-bottom:.25rem}}@media screen and (max-width:768px){.project__container{grid-template-columns:max-content}}@media screen and (max-width:576px){.project__container{grid-template-columns:1fr}.project__img{width:100%}.project__buttons{flex-direction:column;gap:.5rem}.project__button{padding:.5rem 1rem;font-size:var(--smaller-font-size)}.project__tech-stack{gap:.25rem}.project__tech-badge{font-size:.65rem;padding:.2rem .4rem}}@media screen and (max-width:350px){.project__item{font-size:var(--small-font-size)}.project__filters{column-gap:.25rem}}.contact__container{grid-template-columns:repeat(2,max-content);justify-content:center;column-gap:6rem;padding-bottom:3rem}.contact__title{text-align:center;font-size:var(--h3-font-size);font-weight:var(--font-medium);margin-bottom:var(--mb-1-5)}.contact__info{display:grid;row-gap:1rem;grid-template-columns:300px}.contact__card-icon{font-size:2rem;color:var(--title-color);margin-bottom:var(--mb-0-25)}.contact__card-data,.contact__card-title{font-size:var(--small-font-size)}.contact__card-title{font-weight:var(--font-medium)}.contact__card-data{display:block;margin-bottom:var(--mb-0-75)}.contact__phone-link{color:var(--title-color);text-decoration:none;transition:color .3s ease}.contact__phone-link:hover{color:var(--title-color-dark);text-decoration:underline}.contact__button{color:var(--text-color);font-size:var(--small-font-size);display:inline-flex;align-items:center;justify-content:center;column-gap:.25rem}.contact__button-icon{font-size:1rem;transition:.3s}.contact__button:hover .contact__button-icon{transform:translate(.25rem)}.contact__form{width:360px}.contact__form-div{margin-bottom:var(--mb-2)}.contact__form-input{width:100%;height:4rem;border:2px solid var(--border-color);background:var(--body-color);color:var(--title-color);border-radius:.75rem;padding:1rem 1.5rem;outline:none;font-size:var(--normal-font-size)}.contact__form-input:focus{border-color:var(--first-color);box-shadow:0 0 0 3px rgba(var(--first-color-rgb),.1)}.contact__form-input::placeholder{color:var(--text-color);opacity:.7}.contact__form-tag{display:block;font-size:var(--small-font-size);font-weight:var(--font-medium);color:var(--title-color);margin-bottom:.5rem}.contact__form-area textarea{height:11rem;resize:none}.contact__card{background-color:var(--container-color);border:1px solid rgba(0,0,0,.1);padding:1rem;border-radius:.75rem;text-align:center}@media screen and (max-width:992px){.contact__container{column-gap:3rem}}@media screen and (max-width:768px){.contact__container{grid-template-columns:1fr;row-gap:3rem}.contact__info{justify-content:center}.contact__form{margin:0 auto}}@media screen and (max-width:576px){.contact__info{grid-template-columns:1fr}.contact__form{width:100%}}.contact__message{padding:1rem;border-radius:.75rem;margin-bottom:var(--mb-2);text-align:center;font-size:var(--small-font-size)}.contact__message--success{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.contact__message--error{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.contact__form .button.button--flex{display:inline-flex;align-items:center;gap:.5rem;background-color:#2563eb!important;color:#ffffff!important;padding:1rem 2rem;border:2px solid #2563eb;border-radius:.75rem;font-weight:var(--font-medium);font-size:var(--normal-font-size);cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px rgba(37,99,235,.3);margin-top:1rem}.contact__form .button.button--flex:hover{background-color:#1d4ed8!important;border-color:#1d4ed8;transform:translateY(-2px);box-shadow:0 4px 16px rgba(37,99,235,.4)}.contact__form .button.button--flex:disabled{opacity:.7;cursor:not-allowed;transform:none;box-shadow:none}[data-theme=dark] .contact__form .button.button--flex{background-color:#2563eb!important;color:#ffffff!important;border-color:#2563eb;box-shadow:0 2px 8px rgba(37,99,235,.5)}[data-theme=dark] .contact__form .button.button--flex:hover{background-color:#1d4ed8!important;border-color:#1d4ed8;box-shadow:0 4px 16px rgba(37,99,235,.6)}.contact.section{padding-top:6rem}.footer{background-color:var(--container-color);border-top:1px solid rgba(0,0,0,.1,)}.footer__container{padding:2rem 0 6rem}.footer__link,.footer__title{color:var(--title-color)}.footer__title{text-align:center;margin-bottom:var(--mb-2)}.footer__link:hover{color:var(--title-color-dark)}.footer__list{column-gap:2rem;margin-bottom:var(--mb-2)}.footer__list,.footer__social{display:flex;justify-content:center}.footer__social{column-gap:1.25rem}.footer__social-link{background-color:var(--title-color);color:var(--container-color);font-size:1.25rem;padding:.4rem;border-radius:.5rem;display:inline-flex}.footer__copy{display:block;margin-top:4.5rem;color:var(--title-color);text-align:center;font-size:var(--smaller-font-size)}@media screen and (max-width:992px){.footer__social-link{padding:.25rem;border-radius:.25rem;font-size:1rem}}.scrollup{position:fixed;right:2.5rem;bottom:3rem;background-color:var(--title-color);opacity:.8;padding:.3rem .5rem;border-radius:.4rem;z-index:var(--z-tooltip);transition:.4s}.scrollup__icon{font-size:1.5rem;color:var(--container-color)}.scrollup:hover{background-color:var(--title-color-dark)}.show-scroll{bottom:3rem}@media screen and (max-width:992px){.scrollup{right:1.5rem;padding:.25rem .4rem}.scrollup__icon{font-size:1.25rem}}@media screen and (max-width:768px){.scrollup{bottom:4rem}}@media screen and (max-width:350px){.scrollup{right:1rem}}