:root{--red:#c51d34;--dark-gray:#2e2e30;--gray:#808080;--gray-text:#5a5a5a;--light-gray:#f5f5f5;--cream-white:#fdfbf7}[data-theme="dark"]{--red:#e63946;--dark-gray:#e8e8e8;--gray:#b0b0b0;--gray-text:#c8c8c8;--light-gray:#2a2a2c;--cream-white:#1a1a1c}body{transition:background-color 0.3s ease,color 0.3s ease}.navbar,section,.footer{transition:background-color 0.3s ease,border-color 0.3s ease}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI','Roboto','Oxygen','Ubuntu','Cantarell',sans-serif;background-color:var(--cream-white);color:var(--dark-gray);line-height:1.6;font-size:16px;scroll-behavior:smooth}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}*{scroll-behavior:smooth}}::-webkit-scrollbar{width:12px}::-webkit-scrollbar-track{background:var(--cream-white)}::-webkit-scrollbar-thumb{background:var(--red);border-radius:6px;border:2px solid var(--cream-white)}::-webkit-scrollbar-thumb:hover{background:#a01628}html{scrollbar-width:thin;scrollbar-color:var(--red) var(--cream-white)}[data-theme="dark"] ::-webkit-scrollbar-track{background:var(--cream-white)}[data-theme="dark"] ::-webkit-scrollbar-thumb{background:var(--red);border:2px solid var(--cream-white)}[data-theme="dark"] ::-webkit-scrollbar-thumb:hover{background:#ff4757}[data-theme="dark"] html{scrollbar-color:var(--red) var(--cream-white)}.container{max-width:900px;margin:0 auto;padding:0 20px}@media (max-width:400px){.container{padding:0 12px}}@media (max-width:320px){.container{padding:0 8px}}.navbar{position:fixed;top:0;width:100%;background:var(--cream-white);z-index:1000;padding:1.25rem 0;border-bottom:2px solid #fff0;backdrop-filter:blur(10px);transition:all 0.3s ease;box-shadow:0 2px 10px rgb(0 0 0 / .05)}.navbar::after{content:'';position:absolute;bottom:0;left:0;width:100%;height:2px;background:linear-gradient(90deg,transparent,var(--red),transparent);opacity:0;transition:opacity 0.3s ease}.navbar:hover::after{opacity:.3}[data-theme="dark"] .navbar{background:var(--cream-white);box-shadow:0 2px 10px rgb(0 0 0 / .2)}[data-theme="dark"] .navbar::after{background:linear-gradient(90deg,transparent,var(--red),transparent)}.nav-container{max-width:900px;margin:0 auto;padding:0 20px;display:flex;justify-content:space-between;align-items:center}.nav-controls{display:flex;align-items:center;gap:1.5rem}.theme-toggle{background:none;border:none;color:var(--dark-gray);font-size:1.2rem;cursor:pointer;padding:.5rem;transition:color 0.2s ease;display:flex;align-items:center;justify-content:center;position:relative;width:40px;height:40px;border-radius:50%;overflow:visible;will-change:transform}.theme-toggle::before{content:'';position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:var(--red);opacity:0;transform:translate(-50%,-50%);transition:width 0.3s ease,height 0.3s ease,opacity 0.3s ease;z-index:-1;will-change:width,height,opacity}.theme-toggle:hover{color:var(--red)}.theme-toggle:hover::before{width:40px;height:40px;opacity:.1}.theme-toggle i{display:block;position:relative;z-index:1;will-change:transform;transform-origin:center}.theme-toggle.animating i{animation:theme-rotate 0.4s cubic-bezier(.4,0,.2,1)}@keyframes theme-rotate{0%{transform:rotate(0deg) scale(1)}50%{transform:rotate(180deg) scale(1.1)}100%{transform:rotate(360deg) scale(1)}}.theme-toggle::after{content:'';position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:radial-gradient(circle,var(--red) 0%,transparent 70%);transform:translate(-50%,-50%);opacity:0;pointer-events:none;z-index:0;will-change:width,height,opacity}.theme-toggle.clicked::after{animation:ripple 0.4s ease-out}@keyframes ripple{0%{width:0;height:0;opacity:.5}100%{width:50px;height:50px;opacity:0}}[data-theme="dark"] .theme-toggle{color:var(--dark-gray);transition:color 0.2s ease}[data-theme="dark"] .theme-toggle:hover{color:var(--red)}.logo-link{font-family:'Press Start 2P','Courier New',monospace;font-size:.7rem;font-weight:400;color:var(--dark-gray);text-decoration:none;transition:all 0.3s cubic-bezier(.4,0,.2,1);letter-spacing:0;text-transform:none;position:relative;display:inline-block;line-height:1.8;image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges;cursor:pointer}.logo{position:relative}.logo-link::before{content:'';position:absolute;bottom:-2px;left:0;width:0;height:2px;background:var(--red);transition:width 0.3s cubic-bezier(.4,0,.2,1)}.logo-link:hover{color:var(--red);transform:translateY(-1px);filter:drop-shadow(0 0 8px rgb(197 29 52 / .6))}.logo-link:hover::before{width:100%}[data-theme="dark"] .logo-link{color:var(--dark-gray)}[data-theme="dark"] .logo-link:hover{color:var(--red);transform:translateY(-1px);filter:drop-shadow(0 0 10px rgb(230 57 70 / .7))}.nav-menu{display:flex;list-style:none;gap:2.5rem;align-items:center;color:var(--gray-text)}.nav-image-container{display:none}.nav-close-container{display:none}.nav-link{text-decoration:none;color:var(--gray-text);font-size:.9rem;text-transform:lowercase;font-weight:500;transition:all 0.3s cubic-bezier(.4,0,.2,1);position:relative;padding:.5rem 0;letter-spacing:.5px}.nav-link::after{content:'';position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:0;height:2px;background:var(--red);transition:width 0.3s cubic-bezier(.4,0,.2,1)}.nav-link:hover,.nav-link.active{color:var(--red)}.nav-link:hover::after,.nav-link.active::after{width:100%}.nav-link.active{color:var(--red);font-weight:600}.hamburger{display:none;flex-direction:column;cursor:pointer;gap:6px;padding:.5rem;transition:transform 0.3s ease}.hamburger:hover{transform:scale(1.1)}.hamburger span{width:28px;height:3px;background:var(--dark-gray);transition:all 0.3s cubic-bezier(.4,0,.2,1);border-radius:2px}.hamburger.active span:nth-child(1){transform:rotate(45deg) translate(8px,8px)}.hamburger.active span:nth-child(2){opacity:0}.hamburger.active span:nth-child(3){transform:rotate(-45deg) translate(7px,-7px)}.hero{padding:120px 20px 80px;background:var(--cream-white);overflow-x:hidden}.hero-content{display:grid;grid-template-columns:1fr auto;gap:4rem;align-items:center;width:100%;max-width:100%;box-sizing:border-box}.hero-text{max-width:600px;width:100%;overflow-wrap:break-word;word-wrap:break-word}.hero-title{font-size:2.5rem;font-weight:400;line-height:1.3;margin-bottom:1rem;color:var(--dark-gray)}.name-highlight{color:var(--red);font-weight:600}.hero-subtitle{font-size:1.1rem;color:var(--gray-text);margin-bottom:1.5rem}.location{color:var(--dark-gray)}.age{color:var(--gray-text)}.flag{display:inline-block;margin:0 .3rem;vertical-align:middle;width:20px;height:15px;border-radius:2px;object-fit:cover;box-shadow:0 1px 2px rgb(0 0 0 / .1)}.hero-description{font-size:1rem;color:var(--gray-text);margin-bottom:2rem;max-width:600px}.blasian-note{color:var(--gray-text);font-style:italic;font-size:.9em}.hero-links{display:flex;align-items:center;gap:2rem;flex-wrap:wrap;width:100%;max-width:100%}.resume-link{color:var(--red);text-decoration:none;font-weight:500;padding:.75rem 1.5rem;border:2px solid var(--red);border-radius:8px;transition:all 0.3s cubic-bezier(.4,0,.2,1);display:inline-flex;align-items:center;gap:.5rem;background:#fff0;position:relative;overflow:hidden}.resume-link::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:var(--red);transition:left 0.3s cubic-bezier(.4,0,.2,1);z-index:-1}.resume-link:hover{color:var(--cream-white);transform:translateY(-2px);box-shadow:0 6px 20px rgb(197 29 52 / .4)}.resume-link:hover::before{left:0}[data-theme="dark"] .resume-link{color:var(--red);border-color:var(--red)}[data-theme="dark"] .resume-link::before{background:var(--red)}[data-theme="dark"] .resume-link:hover{color:var(--cream-white);box-shadow:0 6px 20px rgb(230 57 70 / .5)}.social-links{display:flex;gap:.75rem;flex-wrap:wrap;max-width:100%}.social-link{color:var(--dark-gray);text-decoration:none;font-size:1.2rem;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:var(--light-gray);border:1px solid #fff0;transition:all 0.3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.social-link::before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background:var(--red);opacity:0;transition:opacity 0.3s ease;z-index:0}.social-link i{position:relative;z-index:1;transition:color 0.3s ease,transform 0.3s ease}.social-link:hover{color:var(--cream-white);border-color:var(--red);transform:translateY(-2px);box-shadow:0 4px 12px rgb(197 29 52 / .3)}.social-link:hover::before{opacity:1}.social-link:hover i{transform:scale(1.1)}[data-theme="dark"] .social-link{background:var(--light-gray);color:var(--dark-gray)}[data-theme="dark"] .social-link:hover{color:var(--cream-white);box-shadow:0 4px 12px rgb(230 57 70 / .4)}.hero-image-container{display:flex;justify-content:center;align-items:center}.image-wrapper{position:relative;width:280px;height:280px;border-radius:50%;overflow:hidden;cursor:pointer;transition:transform 0.4s cubic-bezier(.4,0,.2,1);padding:4px;background:var(--light-gray)}@media (min-width:1024px){.image-wrapper{width:300px!important;height:300px!important}}@media (min-width:1200px){.image-wrapper{width:320px!important;height:320px!important}}@media (min-width:1400px){.image-wrapper{width:340px!important;height:340px!important}}.image-wrapper::before{content:'';position:absolute;top:-4px;left:-4px;right:-4px;bottom:-4px;border-radius:50%;background:conic-gradient(from 0deg,var(--red),#e63946,#ff6b7a,var(--red));opacity:0;transition:opacity 0.4s ease;z-index:0;animation:rotate-border 2s linear infinite;pointer-events:none}.image-wrapper:hover::before{opacity:1}@keyframes rotate-border{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.image-wrapper:hover{transform:scale(1.05)}.profile-image{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;border-radius:50%;transition:opacity 0.6s cubic-bezier(.4,0,.2,1),transform 0.6s cubic-bezier(.4,0,.2,1),filter 0.6s ease;box-shadow:0 10px 30px rgb(0 0 0 / .1);z-index:1;display:block;min-width:100%;min-height:100%}.profile-image.alter-ego{opacity:0;transform:scale(1.1) rotate(5deg);z-index:3}.image-wrapper:hover .profile-image:not(.alter-ego){opacity:0;transform:scale(.85) rotate(-8deg);filter:blur(2px)}.image-wrapper:hover .profile-image.alter-ego{opacity:1;transform:scale(1) rotate(0deg);filter:brightness(1.05);box-shadow:0 15px 40px rgb(197 29 52 / .2)}[data-theme="dark"] .profile-image:not(.alter-ego){opacity:0;transform:scale(.85) rotate(-8deg);filter:blur(2px);z-index:1}[data-theme="dark"] .profile-image.alter-ego{opacity:1;transform:scale(1) rotate(0deg);z-index:3}[data-theme="dark"] .image-wrapper:hover .profile-image:not(.alter-ego){opacity:1;transform:scale(1) rotate(0deg);filter:brightness(1.05);box-shadow:0 15px 40px rgb(230 57 70 / .3)}[data-theme="dark"] .image-wrapper:hover .profile-image.alter-ego{opacity:0;transform:scale(1.1) rotate(5deg);filter:blur(2px)}[data-theme="dark"] .image-wrapper{background:var(--light-gray)}[data-theme="dark"] .image-wrapper::before{background:conic-gradient(from 0deg,var(--red),#ff4757,#ff6b7a,var(--red))}[data-theme="dark"] .image-glow{background:radial-gradient(circle,rgb(230 57 70 / .3) 0%,transparent 70%)}.image-wrapper:hover .profile-image{border:4px solid #fff0;box-shadow:0 15px 40px rgb(197 29 52 / .3)}.image-glow{position:absolute;top:-10px;left:-10px;right:-10px;bottom:-10px;border-radius:50%;background:radial-gradient(circle,rgb(197 29 52 / .2) 0%,transparent 70%);opacity:0;transition:opacity 0.4s ease;z-index:-1;pointer-events:none}.image-wrapper:hover .image-glow{opacity:1;animation:pulse-glow 2s ease-in-out infinite}@keyframes pulse-glow{0%,100%{transform:scale(1);opacity:.3}50%{transform:scale(1.1);opacity:.5}}section{padding:60px 20px}@media (max-width:400px){section{padding:40px 12px}}@media (max-width:320px){section{padding:30px 8px}}.section-title{font-size:1.5rem;font-weight:700;margin-bottom:2.5rem;color:var(--dark-gray);text-transform:capitalize;text-align:left}.skills{background:var(--cream-white)}.skills-grid{display:grid;grid-template-columns:repeat(var(--skills-columns,5),1fr);gap:1.5rem;align-items:center;justify-items:center;width:100%;cursor:none!important}@media (max-width:360px){.skills-grid{gap:.75rem}.skill-item{padding:1rem .25rem;min-height:90px}.skill-item i,.ejs-icon{font-size:1.8rem;width:45px;height:45px}.skill-name{font-size:.65rem}}.skills-grid *{cursor:none!important}.skills-grid .skill-item{cursor:none!important}.skills-grid .skill-item *{cursor:none!important}.skill-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.6rem;padding:1.5rem 1rem;transition:transform 0.3s ease,border-color 0.3s ease,box-shadow 0.3s ease;cursor:pointer;position:relative;border:1px solid rgb(128 128 128 / .15);border-radius:12px;background:#fff0;min-height:120px;width:100%;max-width:100%;box-sizing:border-box}.skill-item:hover{border-color:var(--red);box-shadow:0 2px 8px rgb(197 29 52 / .1)}.skill-item.selected{border-color:var(--red);box-shadow:0 2px 8px rgb(197 29 52 / .1)}[data-theme="dark"] .skill-item{border-color:var(--light-gray)}[data-theme="dark"] .skill-item:hover{border-color:var(--dark-gray);box-shadow:0 2px 8px rgb(232 232 232 / .1)}[data-theme="dark"] .skill-item.selected{border-color:var(--dark-gray);box-shadow:0 2px 8px rgb(232 232 232 / .1)}.skill-item:hover{transform:translateY(-3px)}.skill-item i{font-size:2.5rem;transition:all 0.3s ease;display:flex;align-items:center;justify-content:center;width:60px;height:60px}.skill-item i.colored{color:var(--red)!important}[data-theme="dark"] .skill-item i{color:var(--cream-white)!important}[data-theme="dark"] .skill-item i.colored{color:var(--cream-white)!important;filter:brightness(0) saturate(100%) invert(1)}.skill-item i.colored.show-true-color{color:inherit!important;filter:none!important}[data-theme="dark"] .skill-item i.colored.show-true-color{filter:none!important}.skill-item[data-skill="html"] i.colored.show-true-color{color:#E34F26!important}.skill-item[data-skill="css"] i.colored.show-true-color{color:#1572B6!important}.skill-item[data-skill="javascript"] i.colored.show-true-color{color:#F7DF1E!important}.skill-item[data-skill="node"] i.colored.show-true-color{color:#339933!important}.skill-item[data-skill="express"] i.colored.show-true-color{color:#000000!important}.skill-item[data-skill="mysql"] i.colored.show-true-color{color:#4479A1!important}.skill-item[data-skill="bootstrap"] i.colored.show-true-color{color:#7952B3!important}.skill-item[data-skill="jquery"] i.colored.show-true-color{color:#0769AD!important}.skill-item[data-skill="tailwind"] i.colored.show-true-color{color:#06B6D4!important}.ejs-icon{font-size:2.5rem;font-weight:700;color:var(--red);transition:all 0.3s ease;font-family:'Inter',sans-serif;display:flex;align-items:center;justify-content:center;width:60px;height:60px}.skill-item:hover .ejs-icon:not(.show-true-color),.skill-item.selected .ejs-icon:not(.show-true-color){color:#ff6b35!important}.ejs-icon.show-true-color{color:#ff6b35!important}[data-theme="dark"] .skill-item[data-skill="ejs"] .ejs-icon{color:var(--dark-gray)!important}[data-theme="dark"] .ejs-icon{color:var(--dark-gray)!important}[data-theme="dark"] .skill-item[data-skill="html"] i.colored.show-true-color{color:#E34F26!important}[data-theme="dark"] .skill-item[data-skill="css"] i.colored.show-true-color{color:#1572B6!important}[data-theme="dark"] .skill-item[data-skill="javascript"] i.colored.show-true-color{color:#F7DF1E!important}[data-theme="dark"] .skill-item[data-skill="node"] i.colored.show-true-color{color:#339933!important}[data-theme="dark"] .skill-item[data-skill="express"] i.colored.show-true-color{color:var(--red)!important}[data-theme="dark"] .skill-item[data-skill="mysql"] i.colored.show-true-color{color:#4479A1!important}[data-theme="dark"] .skill-item[data-skill="bootstrap"] i.colored.show-true-color{color:#7952B3!important}[data-theme="dark"] .skill-item[data-skill="jquery"] i.colored.show-true-color{color:#0769AD!important}[data-theme="dark"] .skill-item[data-skill="tailwind"] i.colored.show-true-color{color:#06B6D4!important}[data-theme="dark"] .skill-item:hover .ejs-icon:not(.show-true-color),[data-theme="dark"] .skill-item.selected .ejs-icon:not(.show-true-color){color:#ff6b35!important}[data-theme="dark"] .ejs-icon.show-true-color{color:#ff6b35!important}.skill-name{font-size:.8rem;color:var(--dark-gray);font-weight:500;text-transform:uppercase;letter-spacing:.5px}.skill-number{position:absolute;top:-5px;right:-5px;width:24px;height:24px;border-radius:50%;background:var(--red);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600;opacity:0;transform:scale(0);transition:opacity 0.3s ease,transform 0.3s ease}.skill-item.selected .skill-number{opacity:1;transform:scale(1)}[data-theme="dark"] .skill-number{background:#fff;color:var(--red)}.work{background:var(--cream-white)}.timeline{display:flex;flex-direction:column;gap:3rem}.timeline-item{display:flex;gap:2rem;position:relative}.timeline-item:not(:last-child)::after{content:'';position:absolute;left:20px;top:50px;width:2px;height:calc(100% + 1rem);background:var(--light-gray)}.timeline-marker{width:50px;height:50px;border-radius:50%;background:var(--light-gray);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.9rem;flex-shrink:0;z-index:1;overflow:hidden;border:2px solid var(--light-gray);box-shadow:0 2px 8px rgb(0 0 0 / .1)}.timeline-logo{width:100%;height:100%;object-fit:cover;border-radius:50%}[data-theme="dark"] .timeline-marker{background:var(--light-gray);border-color:var(--light-gray)}.timeline-content{flex:1;padding-top:.3rem}.timeline-date{font-size:.9rem;color:var(--gray-text);margin-bottom:.5rem;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.timeline-date-text{color:var(--gray-text)}.timeline-duration{color:var(--gray-text);font-size:.85rem}.timeline-current-badge{background:linear-gradient(135deg,var(--red),#e63946);color:#fff;padding:4px 10px;border-radius:6px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.8px;box-shadow:0 2px 6px rgb(197 29 52 / .3),inset 0 1px 0 rgb(255 255 255 / .2);position:relative;overflow:hidden;font-family:'Inter',sans-serif}.timeline-current-badge::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgb(255 255 255 / .3),transparent);animation:badge-shine 3s infinite}@keyframes badge-shine{0%{left:-100%}50%,100%{left:100%}}[data-theme="dark"] .timeline-current-badge{background:linear-gradient(135deg,var(--red),#ff4757);box-shadow:0 2px 6px rgb(230 57 70 / .4),inset 0 1px 0 rgb(255 255 255 / .15)}.timeline-company{font-size:1.3rem;font-weight:600;color:var(--dark-gray);margin-bottom:.3rem}.timeline-role{font-size:1rem;color:var(--gray-text);margin-bottom:1rem}.timeline-description{list-style:none;padding-left:0}.timeline-description li{font-size:.95rem;color:var(--gray-text);margin-bottom:.5rem;padding-left:1.5rem;position:relative}.timeline-description li::before{content:'•';position:absolute;left:0;color:var(--red);font-weight:700}.timeline-field{font-size:.9rem;color:var(--gray-text);margin-bottom:.5rem;font-style:italic}.timeline-results{margin:.5rem 0}.timeline-results-text{font-size:.9rem;color:var(--gray-text);background:var(--light-gray);padding:.4rem .8rem;border-radius:6px;display:inline-block}.timeline-description-text{font-size:.95rem;color:var(--gray-text);line-height:1.6;margin-top:.5rem}.timeline-marker i{color:var(--red);font-size:1.2rem}.education{background:var(--cream-white)}.languages{background:var(--cream-white)}.languages-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-top:2rem}.language-item{background:var(--light-gray);border-radius:12px;padding:1.5rem;margin-bottom:1rem;border:1px solid rgb(128 128 128 / .2);transition:all 0.3s cubic-bezier(.4,0,.2,1);cursor:pointer;display:flex;flex-direction:column;gap:.8rem}.language-item:hover{background:#fff;border-color:var(--red);box-shadow:0 8px 24px rgb(197 29 52 / .12);transform:translateY(-2px)}[data-theme="dark"] .language-item{background:linear-gradient(135deg,var(--light-gray) 0%,rgb(230 57 70 / .05) 100%);border-color:rgb(176 176 176 / .2)}[data-theme="dark"] .language-item:hover{background:linear-gradient(135deg,var(--cream-white) 0%,rgb(230 57 70 / .08) 100%);border-color:var(--red);box-shadow:0 8px 24px rgb(230 57 70 / .15)}.language-name{font-size:1.25rem;font-weight:700;color:var(--dark-gray);letter-spacing:-.02em;margin-bottom:.2rem}.language-level{font-size:.9rem;color:var(--gray-text);font-weight:400;margin-top:.2rem}.projects{background:var(--cream-white)}.section-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:2.5rem}.view-more{color:var(--gray-text);text-decoration:none;font-size:.9rem;text-transform:lowercase;transition:all 0.3s ease;padding:8px 16px;border-radius:6px;border:1px solid #fff0;font-weight:500;display:inline-flex;align-items:center;gap:.5rem}.view-more i{font-size:.8rem;transition:transform 0.3s ease}.view-more:hover{color:var(--red);background:var(--light-gray);border-color:var(--red);transform:translateY(-2px);box-shadow:0 2px 8px rgb(197 29 52 / .1)}.view-more:hover i.fa-chevron-right{transform:translateX(3px)}.view-more:hover i.fa-chevron-left{transform:translateX(-3px)}[data-theme="dark"] .view-more:hover{background:var(--light-gray);border-color:var(--red)}.projects-grid{display:flex;flex-direction:column;gap:3rem}.project-card{padding:1.5rem;border:1px solid rgb(128 128 128 / .15);border-radius:12px;background:#fff0;transition:all 0.3s ease}.project-card:hover{border-color:rgb(197 29 52 / .3);box-shadow:0 4px 12px rgb(0 0 0 / .08)}[data-theme="dark"] .project-card{border-color:rgb(232 232 232 / .15)}[data-theme="dark"] .project-card:hover{border-color:rgb(230 57 70 / .4);box-shadow:0 4px 12px rgb(230 57 70 / .15)}.project-card-images-link{display:block;text-decoration:none;margin-bottom:1.5rem}.project-card-images{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;border-radius:8px;overflow:hidden;position:relative;height:180px;transition:transform 0.3s ease,box-shadow 0.3s ease}.project-card-images-link:hover .project-card-images{transform:translateY(-3px);box-shadow:0 8px 20px rgb(0 0 0 / .15)}.project-card-image{width:100%;height:100%;object-fit:cover;transition:transform 0.3s ease;cursor:pointer}.project-card-image:hover{transform:scale(1.05)}.project-card-image-more{position:absolute;bottom:8px;right:8px;background:rgb(0 0 0 / .7);color:#fff;padding:6px 12px;border-radius:6px;font-size:.85rem;font-weight:600;backdrop-filter:blur(4px);pointer-events:none}[data-theme="dark"] .project-card-image-more{background:rgb(255 255 255 / .2);color:var(--cream-white)}.project-card-images:has(img:only-child){grid-template-columns:1fr}.project-card-images:has(img:nth-child(2):last-child){grid-template-columns:1fr 1fr}@media (max-width:768px){.project-card-images{height:150px;gap:.4rem}}@media (max-width:480px){.project-card-images{height:120px;gap:.3rem}.project-card-image-more{font-size:.75rem;padding:4px 8px}}.project-title{font-size:1.5rem;font-weight:600;color:var(--dark-gray);margin-bottom:.8rem}.project-description{font-size:.95rem;color:var(--gray-text);margin-bottom:1rem;line-height:1.6}.project-tags{display:flex;flex-wrap:wrap;gap:.8rem;margin-bottom:1rem;align-items:center}.tag{padding:4px 12px;background:var(--light-gray);color:var(--dark-gray);border-radius:4px;font-size:.85rem;font-weight:500}.project-tech-icon{font-size:1.5rem;color:var(--red);transition:all 0.3s ease;display:inline-flex;align-items:center;justify-content:center;cursor:help}.project-tech-icon.colored{color:var(--red)!important}[data-theme="dark"] .project-tech-icon{color:var(--dark-gray)!important}.project-tech-icon.fa-brands,.project-tech-icon.fa-regular,.project-tech-icon.fa-solid{color:var(--red)}[data-theme="dark"] .project-tech-icon.fa-brands,[data-theme="dark"] .project-tech-icon.fa-regular,[data-theme="dark"] .project-tech-icon.fa-solid{color:var(--dark-gray)!important}[data-theme="dark"] .project-tech-icon.colored{color:var(--cream-white)!important;filter:brightness(0) saturate(100%) invert(1)}.project-tags:hover .project-tech-icon.colored{filter:none!important}.project-tags:hover .project-tech-icon[class*="html"]{color:#E34F26!important}.project-tags:hover .project-tech-icon[class*="css"]{color:#1572B6!important}.project-tags:hover .project-tech-icon[class*="javascript"]{color:#F7DF1E!important}.project-tags:hover .project-tech-icon[class*="nodejs"]{color:#339933!important}.project-tags:hover .project-tech-icon[class*="express"]{color:#000000!important}[data-theme="dark"] .project-tags:hover .project-tech-icon[class*="express"]{color:var(--red)!important}.project-tags:hover .project-tech-icon[class*="mysql"]{color:#4479A1!important}.project-tags:hover .project-tech-icon[class*="bootstrap"]{color:#7952B3!important}.project-tags:hover .project-tech-icon[class*="jquery"]{color:#0769AD!important}.project-tags:hover .project-tech-icon[class*="tailwindcss"]{color:#06B6D4!important}.project-tags:hover .project-tech-icon[class*="python"]{color:#3776AB!important}.project-tags:hover .project-tech-icon[class*="google"]{color:#4285F4!important}.project-tags:hover .project-tech-icon.fa-brands.fa-google-drive{color:#4285F4!important}.project-tags:hover .project-tech-icon.fa-regular.fa-file-excel{color:#0F9D58!important}.ejs-icon-small{font-size:1.2rem;font-weight:700;color:var(--red);font-family:'Inter',sans-serif}[data-theme="dark"] .ejs-icon-small{color:var(--dark-gray)!important}.project-tags:hover .ejs-icon-small{color:#ff6b35!important}.project-tech-icon-fallback{font-size:.85rem;color:var(--dark-gray);padding:4px 12px;background:var(--light-gray);border-radius:4px;cursor:help}[data-theme="dark"] .project-tech-icon-fallback{color:var(--cream-white);background:var(--light-gray)}.project-links{display:flex;gap:1.5rem;flex-wrap:wrap}.project-link{color:var(--red);text-decoration:none;font-size:.9rem;transition:color 0.2s ease}.project-link:hover{color:var(--dark-gray)}.contact{background:var(--cream-white)}.contact-content{max-width:900px;display:flex;align-items:center;gap:3rem;flex-wrap:wrap}.contact-title{margin-bottom:0;flex-shrink:0}.contact-wrapper{display:flex;align-items:center;gap:3rem;flex-wrap:wrap;flex:1}.contact-text{font-size:.95rem;color:var(--gray-text);line-height:1.7;flex:1;min-width:300px}.contact-links{display:grid;grid-template-columns:repeat(var(--contact-columns,3),1fr);gap:1rem;flex-shrink:0;justify-items:center;max-width:100%}.contact-link{color:var(--dark-gray);text-decoration:none;font-size:1.3rem;width:52px;height:52px;display:flex;align-items:center;justify-content:center;border-radius:12px;background:var(--light-gray);border:2px solid #fff0;transition:all 0.3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;box-shadow:0 2px 8px rgb(0 0 0 / .05)}.contact-link::before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background:var(--red);opacity:0;transition:opacity 0.3s ease;z-index:0}.contact-link i{position:relative;z-index:1;transition:color 0.3s ease,transform 0.3s ease}.contact-link:hover{color:var(--cream-white);border-color:var(--red);transform:translateY(-3px);box-shadow:0 6px 20px rgb(197 29 52 / .35)}.contact-link:hover::before{opacity:1}.contact-link:hover i{transform:scale(1.15) rotate(5deg)}[data-theme="dark"] .contact-link{background:var(--light-gray);color:var(--dark-gray);box-shadow:0 2px 8px rgb(0 0 0 / .15)}[data-theme="dark"] .contact-link:hover{color:var(--cream-white);box-shadow:0 6px 20px rgb(230 57 70 / .45);border-color:var(--red)}.easter-egg{position:absolute;top:calc(100% + 15px);left:0;transform:translateY(-10px) scale(.9);z-index:10001;opacity:0;pointer-events:none;transition:opacity 0.3s ease,transform 0.3s cubic-bezier(.68,-.55,.265,1.55)}.easter-egg.show{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}.easter-egg-content{background:linear-gradient(135deg,var(--cream-white) 0%,#faf8f3 100%);border:3px solid var(--red);border-radius:12px;padding:1.25rem 1.5rem;box-shadow:0 12px 32px rgb(197 29 52 / .25),0 4px 12px rgb(0 0 0 / .15),0 0 0 1px rgb(197 29 52 / .1),inset 0 1px 2px rgb(255 255 255 / .8);text-align:center;min-width:220px;width:auto;max-width:500px;position:relative;overflow:visible;transition:all 0.3s cubic-bezier(.4,0,.2,1);display:inline-block}.easter-egg-content::before{content:'';position:absolute;top:-3px;left:-3px;right:-3px;bottom:-3px;background:linear-gradient(135deg,var(--red),#e63946,var(--red));border-radius:12px;opacity:0;z-index:-1;transition:opacity 0.3s ease;filter:blur(8px)}.easter-egg.show .easter-egg-content::before{opacity:.3;animation:easter-egg-glow 2s ease-in-out infinite}@keyframes easter-egg-glow{0%,100%{opacity:.3;filter:blur(8px)}50%{opacity:.5;filter:blur(12px)}}.easter-egg-image-container{margin-bottom:.75rem;position:relative;display:inline-block}.easter-egg-image-container::before{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:140px;height:140px;background:radial-gradient(circle,rgb(197 29 52 / .2) 0%,transparent 70%);border-radius:50%;opacity:0;animation:easter-egg-pulse-ring 2s ease-in-out infinite}.easter-egg.show .easter-egg-image-container::before{opacity:1}@keyframes easter-egg-pulse-ring{0%,100%{transform:translate(-50%,-50%) scale(.8);opacity:.6}50%{transform:translate(-50%,-50%) scale(1.2);opacity:.3}}.easter-egg-image{width:120px;height:auto;image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges;filter:drop-shadow(0 4px 8px rgb(0 0 0 / .3));position:relative;z-index:1;transition:transform 0.3s ease}.easter-egg.show .easter-egg-image{animation:easter-egg-image-bounce 0.6s cubic-bezier(.68,-.55,.265,1.55)}@keyframes easter-egg-image-bounce{0%{transform:scale(0) rotate(-180deg);opacity:0}60%{transform:scale(1.15) rotate(10deg);opacity:1}80%{transform:scale(.95) rotate(-5deg)}100%{transform:scale(1) rotate(0deg);opacity:1}}.easter-egg-name{font-family:'Press Start 2P','Courier New',monospace;font-size:.5rem;color:var(--red);margin-bottom:.75rem;letter-spacing:.5px;animation:easter-egg-fade-in 0.4s ease-out 0.2s both}@keyframes easter-egg-fade-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.easter-egg-message{font-family:'Press Start 2P','Courier New',monospace;font-size:.6rem;color:var(--dark-gray);line-height:2;overflow:hidden;min-height:2em;word-wrap:break-word;white-space:normal;display:inline-block;max-width:100%;font-weight:400;text-shadow:1px 1px 0 rgb(0 0 0 / .1);letter-spacing:.5px}[data-theme="dark"] .easter-egg-message{color:var(--dark-gray);text-shadow:1px 1px 0 rgb(255 255 255 / .1)}.easter-egg-message.typing::after{content:'|';animation:blink 1s infinite;color:var(--red)}@keyframes blink{0%,50%{opacity:1}51%,100%{opacity:0}}[data-theme="dark"] .easter-egg-content{background:linear-gradient(135deg,var(--light-gray) 0%,#2d2d2f 100%);border-color:var(--red);box-shadow:0 12px 32px rgb(230 57 70 / .3),0 4px 12px rgb(0 0 0 / .3),0 0 0 1px rgb(230 57 70 / .2),inset 0 1px 2px rgb(255 255 255 / .05)}[data-theme="dark"] .easter-egg-content::before{background:linear-gradient(135deg,var(--red),#ff4757,var(--red))}[data-theme="dark"] .easter-egg-name{color:var(--red)}[data-theme="dark"] .easter-egg-message{color:var(--dark-gray)}.toast{position:fixed;bottom:30px;right:30px;background:var(--dark-gray);color:#fff;padding:1rem 1.5rem;border-radius:12px;box-shadow:0 8px 24px rgb(0 0 0 / .2),0 0 0 1px rgb(197 29 52 / .1);display:flex;align-items:center;gap:.75rem;z-index:10000;opacity:0;transform:translateY(20px) scale(.95);transition:opacity 0.4s cubic-bezier(.4,0,.2,1),transform 0.4s cubic-bezier(.4,0,.2,1);pointer-events:none;backdrop-filter:blur(10px);border:1px solid rgb(197 29 52 / .2)}.toast.show{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}.toast-content{display:flex;align-items:center;gap:.75rem}.toast-content i{font-size:1.3rem;color:var(--red);animation:checkmark-pop 0.4s cubic-bezier(.68,-.55,.265,1.55)}@keyframes checkmark-pop{0%{transform:scale(0);opacity:0}50%{transform:scale(1.2)}100%{transform:scale(1);opacity:1}}.toast-message{font-size:.95rem;font-weight:500;letter-spacing:.3px}[data-theme="dark"] .toast{background:var(--light-gray);color:var(--dark-gray);border:1px solid rgb(230 57 70 / .3);box-shadow:0 8px 24px rgb(0 0 0 / .4),0 0 0 1px rgb(230 57 70 / .2),inset 0 1px 0 rgb(255 255 255 / .1)}[data-theme="dark"] .toast-content i{color:var(--red);filter:drop-shadow(0 2px 4px rgb(230 57 70 / .3))}@media (max-width:768px){.toast{bottom:20px;right:20px;left:20px;right:auto;width:calc(100% - 40px);max-width:400px}}.footer{background:var(--cream-white);border-top:1px solid var(--light-gray);padding:2rem 0;text-align:center}.footer p{font-size:.9rem;color:var(--gray-text)}.footer-link{color:var(--gray-text);text-decoration:none;transition:color 0.2s ease}.footer-year{color:var(--gray-text)}.footer-link:hover{color:var(--red)}@media (max-width:768px){.contact-links{gap:.4rem}.hamburger{display:flex}.nav-menu{position:fixed;right:-100%;top:0;bottom:0;height:100vh;max-height:100vh;flex-direction:column;background:var(--cream-white);width:100%;padding:0;border-left:1px solid var(--light-gray);transition:right 0.3s cubic-bezier(.4,0,.2,1);gap:0;overflow:hidden;z-index:999;box-shadow:-4px 0 20px rgb(0 0 0 / .1);display:flex}.nav-close-container{padding:1rem 1.5rem;border-bottom:1px solid var(--light-gray);display:flex;justify-content:flex-end;flex-shrink:0}.nav-close-btn{background:#fff0;border:none;color:var(--dark-gray);font-size:1.5rem;cursor:pointer;padding:.5rem;transition:color 0.3s ease,transform 0.3s ease}.nav-close-btn:hover{color:var(--red);transform:rotate(90deg)}.nav-menu li:not(.nav-close-container):not(.nav-image-container){padding:.9rem 1.5rem;border-bottom:1px solid var(--light-gray);flex-shrink:0;min-height:0}.nav-link{font-size:1.1rem;padding:.5rem 0}.nav-controls{gap:1rem}.nav-menu.active{right:0}.nav-image-container{display:flex;margin-top:auto;padding:2rem 1.5rem;border-top:1px solid var(--light-gray);flex-shrink:0;min-height:0;background:linear-gradient(180deg,transparent 0%,rgb(197 29 52 / .02) 100%)}.nav-image-wrapper{display:flex;align-items:center;justify-content:space-between;gap:.8rem;width:100%;position:relative}.nav-greeting-wrapper{flex:1;display:flex;align-items:center;padding-right:.5rem}.nav-greeting{font-family:'Press Start 2P','Courier New',monospace;font-size:.6rem;color:var(--dark-gray);line-height:1.8;min-height:1.2em;text-align:left}.nav-image-content{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:.5rem;flex-shrink:0}.nav-image-glow{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:160px;height:160px;background:radial-gradient(circle,rgb(197 29 52 / .15) 0%,rgb(197 29 52 / .08) 40%,transparent 70%);border-radius:50%;z-index:1;animation:nav-glow-pulse 2s ease-in-out infinite;filter:blur(8px)}@keyframes nav-glow-pulse{0%,100%{opacity:.25;transform:translate(-50%,-50%) scale(1)}50%{opacity:.35;transform:translate(-50%,-50%) scale(1.15)}}.nav-leaning-image{width:150px;height:auto;object-fit:contain;position:relative;z-index:2;filter:drop-shadow(0 4px 12px rgb(197 29 52 / .3));transition:transform 0.3s ease;transform-style:preserve-3d;animation:nav-image-rotate 4s ease-in-out infinite}@keyframes nav-image-rotate{0%,100%{transform:perspective(500px) rotateY(-5deg)}50%{transform:perspective(500px) rotateY(5deg)}}.nav-image-content:hover .nav-leaning-image{transform:perspective(500px) rotateY(0deg) scale(1.05)}.nav-name{font-family:'Press Start 2P','Courier New',monospace;font-size:.5rem;color:var(--red);letter-spacing:.5px;text-shadow:0 2px 4px rgb(197 29 52 / .2);margin-top:.2rem}.nav-greeting.typing::after{content:'|';animation:blink 1s infinite;color:var(--red)}[data-theme="dark"] .nav-menu{background:var(--cream-white);box-shadow:-4px 0 20px rgb(0 0 0 / .3)}[data-theme="dark"] .nav-image-container{background:linear-gradient(180deg,transparent 0%,rgb(230 57 70 / .03) 100%)}[data-theme="dark"] .nav-image-glow{background:radial-gradient(circle,rgb(230 57 70 / .18) 0%,rgb(230 57 70 / .1) 40%,transparent 70%)}[data-theme="dark"] .nav-leaning-image{filter:drop-shadow(0 4px 12px rgb(230 57 70 / .4))}.hero-title{font-size:2rem}.section-header{flex-direction:column;gap:1rem}.skills-grid{gap:.8rem;max-width:100%}.skill-item i,.ejs-icon{font-size:1.8rem;width:45px;height:45px}.skill-item{min-height:90px}.skill-name{font-size:.75rem}.timeline-item{gap:1.5rem}.timeline-marker{width:35px;height:35px;font-size:.8rem}.hero-links{flex-direction:column;align-items:stretch;gap:1.25rem;width:100%}.resume-link{width:100%;justify-content:center;text-align:center}.social-links{justify-content:center;width:100%}.hero-content{grid-template-columns:1fr;gap:3rem;text-align:center}.hero-text{max-width:100%}.image-wrapper{width:220px;height:220px;margin:0 auto}.contact-content{flex-direction:column;align-items:flex-start;gap:2rem}.contact-title{margin-bottom:0}.contact-wrapper{flex-direction:column;gap:2rem;width:100%}.contact-text{min-width:100%}.contact-links{width:100%;gap:.4rem;justify-items:center}.contact-link{width:48px;height:48px;font-size:1.2rem}}@media (max-width:480px){.hero-title{font-size:1.75rem}.hero-subtitle{font-size:1rem}.hero-links{gap:1rem}.resume-link{padding:.65rem 1.1rem;font-size:.9rem}.languages-grid{gap:0.5rem!important}.language-item{padding:.75rem 0.4rem!important;min-height:80px;justify-content:center;text-align:center;margin-bottom:0!important}.language-name{font-size:0.85rem!important;margin-bottom:.2rem;word-break:break-word}.language-level{font-size:0.7rem!important}}@media (max-width:360px){.hero{padding:100px 16px 60px}.hero-title{font-size:1.5rem;line-height:1.4;word-wrap:break-word;overflow-wrap:break-word;hyphens:auto}.hero-subtitle{font-size:.9rem;line-height:1.5;word-wrap:break-word;overflow-wrap:break-word}.hero-description{font-size:.9rem;line-height:1.6;word-wrap:break-word;overflow-wrap:break-word}.hero-content{gap:2rem}.image-wrapper{width:180px;height:180px}.hero-links{gap:1rem}.resume-link{padding:.6rem 1.2rem;font-size:.9rem}.social-links{gap:.5rem}.social-link{width:40px;height:40px;font-size:1rem}}@media (max-width:320px){.hero{padding:90px 12px 50px}.hero-title{font-size:1.3rem;line-height:1.35}.hero-subtitle{font-size:.85rem}.hero-description{font-size:.85rem}.hero-content{gap:1.5rem}.image-wrapper{width:150px!important;height:150px!important}.hero-links{flex-direction:column;align-items:stretch;gap:.75rem}.resume-link{padding:.55rem 1rem;font-size:.85rem;width:100%;justify-content:center;text-align:center}.social-links{justify-content:center;width:100%;gap:.4rem}.social-link{width:36px;height:36px;font-size:.9rem}.blasian-note{display:block;margin-top:.25rem;font-size:.75em}}@media (max-width:600px){.section-title{font-size:1.3rem;text-align:left;margin-bottom:2rem}.skills-grid{grid-template-columns:repeat(5,1fr)!important;gap:0.35rem!important;width:100%!important;max-width:100%!important;justify-content:center!important;margin:0 auto!important;padding:0!important}.skill-item{padding:.5rem 0.1rem!important;min-height:70px!important;gap:0.2rem!important}.skill-item i,.ejs-icon{font-size:1.5rem!important;width:32px!important;height:32px!important}.skill-name{font-size:0.5rem!important;letter-spacing:-0.01em!important;text-align:center;width:100%;display:block;line-height:1.2}.skill-number{width:14px!important;height:14px!important;font-size:0.5rem!important;top:-4px!important;right:-4px!important}.timeline-company{font-size:1.1rem}.language-item{padding:1.5rem 1.2rem}.language-name{font-size:1.1rem}}@media (max-width:320px){.skill-item[data-skill="javascript"] .skill-name{font-size:0!important}.skill-item[data-skill="javascript"] .skill-name::after{content:"JS";font-size:0.5rem!important}.skill-item[data-skill="bootstrap"] .skill-name{font-size:0!important}.skill-item[data-skill="bootstrap"] .skill-name::after{content:"Boot";font-size:0.5rem!important}.skill-item[data-skill="tailwind"] .skill-name{font-size:0!important}.skill-item[data-skill="tailwind"] .skill-name::after{content:"Tailw";font-size:0.5rem!important}}.fade-in{opacity:0;transform:translateY(20px);transition:opacity 0.4s ease,transform 0.4s ease}.fade-in.visible{opacity:1;transform:translateY(0)}