:root{--primary-color:#75be84;--primary-light:#8ed19b;--primary-dark:#5a9c67;--primary-dark-rgb:90,156,103;--background-white:#1a1a1a;--background-light:#2a2a2a;--background-gray:#333;--container-background:#0a0f16;--card-background:#1f1f1f;--text-primary:#fff;--text-secondary:#b3b3b3;--shadow-sm:0 2px 4px rgba(0,0,0,.3);--shadow-md:0 4px 6px rgba(0,0,0,.4);--shadow-lg:0 10px 15px rgba(0,0,0,.5);--accent-color:#0369a1;--accent-dark:#075985;--accent-light:#0284c7;--font-primary:"Roboto",system-ui,-apple-system,sans-serif;--font-mono:"Ubuntu Mono","Inconsolata",monospace;--line-height-body:1.6;--line-height-heading:1.2}body{background-color:var(--container-background);color:var(--text-primary);font-family:var(--font-mono);font-size:16px;font-weight:400;line-height:var(--line-height-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.certificate-content>a{background-color:#75be84;border-radius:15px;color:var(--card-background);padding:.7rem;text-decoration:none}.certificate-content>a:hover{background-color:#5a9c67;color:var(--text-secondary)}.flashlight{background:radial-gradient(circle at center,hsla(0,0%,100%,.9) 0,hsla(0,0%,100%,.7) 5%,hsla(0,0%,100%,.5) 15%,hsla(0,0%,100%,.3) 30%,hsla(0,0%,100%,.1) 50%,transparent 70%);border-radius:50%;filter:blur(3px);height:200px;mix-blend-mode:soft-light;pointer-events:none;position:fixed;transform:translate(-50%,-50%);width:200px;z-index:9999}.flashlight:after{background:radial-gradient(circle at center,hsla(0,0%,100%,.8) 0,hsla(0,0%,100%,.4) 20%,transparent 50%);border-radius:50%;bottom:0;content:"";left:0;mix-blend-mode:overlay;position:absolute;right:0;top:0}a:hover~.flashlight,button:hover~.flashlight{filter:blur(5px);height:250px;width:250px}.main-header{backdrop-filter:blur(10px);background-color:rgba(26,26,26,.95);border-bottom:1px solid hsla(0,0%,100%,.1)}.nav-brand h2,.nav-links a{color:var(--text-primary)}*{box-sizing:border-box;margin:0;padding:0}body,html{height:100%;overflow-x:hidden;position:relative;scroll-behavior:smooth;width:100%;-webkit-overflow-scrolling:touch;background-color:var(--background-dark);color:var(--text-primary)}::-webkit-scrollbar{display:none}html{-ms-overflow-style:none;scroll-behavior:smooth;scrollbar-width:none}body{background-color:var(--background-dark)}p{font-size:1.175rem;line-height:1.8;margin-bottom:1.5rem;word-spacing:.05em}.certificate-card-back p,p{color:var(--text-secondary);max-width:100%;padding:0}.certificate-card-back p{font-size:.8rem;line-height:1.4;margin-bottom:.6rem}h1{background:linear-gradient(120deg,var(--primary-color),var(--accent-light));-webkit-background-clip:text;background-clip:text;font-size:3.5rem;-webkit-text-fill-color:transparent}h1,h2,h3,h4,h5,h6{color:var(--text-primary);font-family:var(--font-mono);font-weight:700;letter-spacing:-.02em;line-height:var(--line-height-heading);margin-bottom:1rem}.container{margin:0 auto;max-width:1200px;padding:0 2rem;position:relative;z-index:10}.main-header{background-color:var(--card-background);border-bottom:1px solid var(--background-gray);left:0;position:fixed;right:0;top:0;z-index:1000}.main-nav{align-items:center;display:flex;height:40px;justify-content:space-between}.nav-brand h2{color:var(--primary-color);font-size:1.5rem;margin:0}.logo-link{color:inherit;text-decoration:none}.logo-link:hover{color:var(--primary-color);text-decoration:none}.nav-links{display:flex;gap:2rem;list-style:none;margin:0;padding:0}.nav-links a{color:var(--text-secondary);font-weight:500;padding:.5rem 0;position:relative;text-decoration:none}.nav-links a:after{background-color:var(--primary-color);bottom:0;content:"";height:2px;left:0;position:absolute;width:0}.nav-links a.active:after,.nav-links a:hover:after{width:100%}.hero-section{background-color:var(--container-background);padding:160px 0 80px;position:relative;z-index:10}.hero-container{align-items:center;display:flex;gap:1.6rem;justify-content:space-between;padding:0 2rem;position:relative;z-index:2}.hero-content{max-width:540px}.hero-content h2{color:var(--primary-color)}.hero-text{color:var(--text-secondary);font-size:1.2rem;line-height:1.6;margin-bottom:2rem;max-width:600px;padding:0;text-align:left}.hero-cta{display:flex;gap:1rem}.hero-image img.avatar{animation:gradient 8s ease infinite;background:linear-gradient(45deg,var(--primary-color),var(--accent-color),var(--primary-light),var(--accent-light));background-size:300%;border-radius:50%;box-shadow:var(--shadow-lg);height:300px;object-fit:cover;padding:5px;width:300px}.hero-image img.avatar:hover{cursor:pointer;transform:scale(1.05)}.about-section-content,.contact-method,.skill-card{background:var(--card-background);border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.1);position:relative;transform:perspective(1000px) translateZ(0);transform-style:preserve-3d;transition:all .3s ease;width:100%;z-index:1}.about-section-content:hover,.contact-method:hover{box-shadow:0 20px 40px rgba(0,0,0,.2);transform:perspective(1000px) translateZ(50px) translateY(-5px)}.method-icon i,.skill-card i{display:inline-block;transform:translateZ(20px)}.project-image{transform:translateZ(10px);transform-style:preserve-3d}.project-content{transform:translateZ(20px)}.hero-content{transform-style:preserve-3d}.hero-content h2{transform:translateZ(30px)}.hero-text{transform:translateZ(20px)}.hero-cta{transform:translateZ(25px)}.hero-image img.avatar{transform:translateZ(40px);transform-style:preserve-3d;transition:all .3s ease}.hero-image img.avatar:hover{transform:translateZ(60px) scale(1.05)}.about-section-content:before,.contact-method:before{animation:flow 15s ease infinite;transition:opacity .3s ease;z-index:10}.about-section-content:after,.about-section-content:before,.contact-method:after,.contact-method:before{background:linear-gradient(45deg,var(--primary-color),var(--accent-color),var(--primary-light),var(--accent-light));background-size:400% 400%;border-radius:14px;content:"";inset:-2px;opacity:0;position:absolute}.about-section-content:after,.contact-method:after{animation:flow 8s ease infinite;filter:blur(5px);z-index:-2}.about-section-content:hover:after,.contact-method:hover:after{opacity:.5}@keyframes flow{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.tunnel-background{background:transparent;height:100%;left:0;opacity:.6;overflow:hidden;top:0;width:100%;z-index:0}.binary-rain,.tunnel-background{pointer-events:none;position:absolute}.binary-rain{animation:rain 8s linear infinite;color:var(--primary-color);font-family:monospace;font-size:20px;text-shadow:0 0 5px var(--primary-light);user-select:none;z-index:1}.binary-background{background:var(--background-dark);height:100%;left:0;opacity:.6;overflow:hidden;position:fixed;top:0;width:100%;z-index:0}.hero-buttons{margin:1.5rem 0}section{padding:100px 0}.section-header{align-items:center;display:flex;flex-direction:column;justify-content:center;margin-bottom:3rem;padding:0;width:100%}.section-header h2{background:linear-gradient(45deg,var(--primary-color),var(--accent-color),var(--primary-light),var(--accent-light));-webkit-background-clip:text;background-clip:text;background-size:300%;color:transparent;font-size:2.5rem;font-weight:700;margin-bottom:2rem;text-align:center;-webkit-text-stroke:.5px var(--primary-color);animation:gradient 8s ease infinite}.section-title:after{background:linear-gradient(90deg,var(--primary-color),var(--accent-color));border-radius:2px;content:"";display:block;height:3px;margin:1rem auto;width:100px}hr{background:linear-gradient(90deg,transparent,var(--primary-color),var(--accent-color),transparent);border:none;height:2px;margin:2rem auto;opacity:.5;width:80%}.about-section-content h4{color:var(--primary-color);font-size:1.6rem;margin-bottom:1rem}.about-section-content p{font-size:1.1rem;hyphens:auto;line-height:1.7;margin-bottom:2rem;margin-left:auto;margin-right:auto;max-width:70ch;text-align:justify}.contact-section .social-links{display:flex;gap:1.5rem;justify-content:center;margin-top:2rem}.social-links a{align-items:center;background:var(--background-light);border-radius:50%;color:var(--text-primary);display:flex;height:60px;justify-content:center;padding:.5rem;text-decoration:none;width:60px}.social-links a:hover{background:var(--background-gray)}.skills-section .section-header p{margin-bottom:2.5rem}.about-section .section-header p,.projects-section .section-header p{margin-bottom:3rem}.certificates-section .section-header p,.contact-section .section-header p{margin-bottom:2.5rem}.skills-section{background-color:var(--container-background);padding:120px 0}.skills-grid{display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-top:3rem}.skill-card{backdrop-filter:blur(10px);background:rgba(31,31,31,.7);border:1px solid hsla(0,0%,100%,.1);border-radius:12px;box-shadow:0 8px 32px 0 rgba(0,0,0,.37);opacity:0;padding:2rem;text-align:center;transition:all .3s ease}.skill-card i{color:var(--primary-color);font-size:2.5rem;margin-bottom:1.5rem;transition:all .3s ease}.skill-card h3{color:var(--text-primary);font-size:1.5rem;margin-bottom:1rem}.skill-card p{color:var(--text-secondary);font-size:.95rem;line-height:1.6}.skill-card:before{background:linear-gradient(45deg,var(--primary-color),var(--accent-color));border-radius:12px;bottom:0;content:"";left:0;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;padding:2px;position:absolute;right:0;top:0;transition:opacity .3s ease}.skill-card:hover:before{opacity:1}.skill-card:hover{box-shadow:0 8px 15px rgba(0,0,0,.1);cursor:pointer;transform:translateY(-5px)}.about-section-content:hover:before,.contact-method:hover:before,.skill-card:hover:before{animation:borderGlowCards 1.5s infinite;opacity:1}.skill-card:hover i{color:var(--primary-light);transform:scale(1.1)}.skill-card p{font-size:14px;line-height:1.7;word-spacing:.05em}#projects .projects-grid,.projects-grid{perspective:1000px}.project-card{background:var(--card-background);cursor:pointer;position:relative;transform-origin:center;transition:transform .6s ease,box-shadow .3s ease;z-index:1}.project-description{font-size:.85rem;line-height:1.4;margin-bottom:.25rem}.project-card:hover .project-card-back{transform-style:flat;z-index:10}.flip-hint{color:var(--text-secondary);display:none;font-size:.85rem;margin-top:.75rem;opacity:.8}.project-card.in-viewport{opacity:1;transform:translateY(0)}.project-card.animate{animation:fadeInUp .6s ease-out forwards}.tech-tag{backdrop-filter:blur(5px);background:rgba(42,42,42,.8);border:1px solid hsla(0,0%,100%,.1);font-size:.75rem;line-height:1.3;margin:.2rem;padding:.2rem .5rem}.project-card.flipped .tech-tag,.project-card:hover .tech-tag{background:var(--primary-color);border-color:transparent;color:var(--background-white)}.projects-section{background-color:var(--container-background);padding:120px 0}.projects-grid{align-items:stretch;margin-top:3rem;perspective:1000px}.project-card{background:none;transform-style:preserve-3d}.project-card:before{display:none}.project-card-inner{backface-visibility:hidden;border-radius:12px;height:100%;pointer-events:auto;position:relative;text-align:center;transition:transform .8s;width:100%}.project-card-back,.project-card-front,.project-card-inner{background:var(--card-background);transform-style:preserve-3d}.project-card-back,.project-card-front{overflow:hidden}.project-card-back{backface-visibility:hidden;background:var(--card-background);pointer-events:auto!important;position:absolute;top:0;z-index:999}.project-image{flex-shrink:0;position:relative}.project-card-front{backface-visibility:hidden;cursor:pointer}.project-image img:not([src]),.project-image img[src=""],.project-image img[src="#"]{display:none}.project-image:has(img:not([src])),.project-image:has(img[src=""]),.project-image:has(img[src="#"]),.project-image:not(:has(img[src])){align-items:center;display:flex;justify-content:center}.project-image:has(img:not([src])) *,.project-image:has(img[src=""]) *,.project-image:has(img[src="#"]) *,.project-image:not(:has(img[src])) *{display:none!important}.project-image:has(img:not([src])):after,.project-image:has(img[src=""]):after,.project-image:has(img[src="#"]):after,.project-image:not(:has(img[src])):after{color:var(--text-secondary);content:"\f03e";display:block!important;font-family:Font Awesome\ 6 Free;font-size:3rem;font-weight:900;opacity:.5}.project-content{overflow:hidden;padding:1.25rem}.project-back-content{gap:.75rem;justify-content:space-between;z-index:9999}.project-details{flex:1;font-size:.9rem;margin-bottom:.75rem}.project-back-title{font-size:1.25rem}.project-content:hover{cursor:pointer}.project-description{display:-webkit-box;display:box;flex:1;overflow:hidden;padding:0;text-align:left;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;box-orient:vertical;max-width:100%;word-break:break-word}.project-tech{max-width:100%;padding-top:.75rem}.tech-tag{background:var(--background-light);border-radius:20px;color:var(--text-secondary);font-size:.95rem;padding:.35rem .75rem;transition:all .3s ease}.project-card.flipped .tech-tag,.project-card:hover .tech-tag{background:var(--primary-light);color:var(--card-background)}.project-overlay{align-items:center;background:rgba(var(--primary-dark-rgb),.9);bottom:0;display:flex;justify-content:center;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.project-image:has(img:not([src])) .project-overlay,.project-image:has(img[src=""]) .project-overlay,.project-image:has(img[src="#"]) .project-overlay,.project-image:not(:has(img[src])) .project-overlay{display:none}.project-card.flipped .project-overlay,.project-card:hover .project-overlay{opacity:1}.project-links{display:flex;gap:1rem}.project-link{background:var(--background-white);border-radius:50%;color:var(--primary-color);display:flex;font-size:1.2rem;height:45px;width:45px}.project-back-link{background:var(--primary-color);box-shadow:0 2px 5px rgba(0,0,0,.1);color:var(--container-background);cursor:pointer!important;pointer-events:auto!important;transform:translateZ(0);-webkit-transform:translateZ(0)}.project-back-links{display:flex;flex-wrap:wrap;gap:.75rem;pointer-events:auto;position:relative;z-index:9999}.chrome-fix{transform:translateZ(1px);will-change:transform}.project-back-link:hover{background:var(--primary-dark)}.project-link:hover{background:var(--primary-color);transform:translateY(-2px)}.project-title{color:var(--primary-color);font-size:1.25rem;margin-bottom:.75rem;text-align:left}.main-footer,.main-footer .container{align-items:center;display:flex;justify-content:center}.main-footer .container{flex-direction:column;height:100%}.main-footer p{margin:0}.project-card:hover .project-card-inner{transform:rotateY(180deg)}.project-card:hover .project-image img{transition:transform .3s ease}.project-card-back,.project-card-front{transition:transform .8s}.project-card-back{z-index:2}.project-details p{color:var(--text-secondary);font-size:.75rem;line-height:1.3;margin-bottom:.5rem}.project-back-link{background-color:var(--primary-color);border-radius:8px;color:var(--card-background);cursor:pointer;display:inline-block;font-family:var(--font-mono);font-size:.85rem;font-weight:500;margin-top:.5rem;padding:.5rem 1rem;pointer-events:auto;position:relative;text-align:center;text-decoration:none;transition:all .3s ease;z-index:9999}.project-back-link:hover{background-color:var(--primary-dark);color:var(--container-background);text-decoration:none;transform:translateY(-2px)}@media (max-width:768px){.projects-grid{grid-template-columns:1fr;padding:0 1rem}.project-image{height:200px}.btn-primary,.btn-secondary{border-radius:20px;box-sizing:border-box;cursor:pointer;font-size:14px;padding:.5rem 1rem;width:100%}.btn-primary{background-color:var(--primary-color);color:var(--card-background)}.btn-primary:hover{background-color:var(--primary-dark)}.main-header{display:none}.hero-section{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:100vh;padding:0 10px;text-align:center}}.contact-section{background-color:var(--container-background);padding:120px 0}.contact-content{width:100%}.contact-methods{display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin:0 auto;max-width:1200px;width:100%}.contact-method{align-items:center;backdrop-filter:blur(10px);background:rgba(31,31,31,.7);border:1px solid hsla(0,0%,100%,.1);border-radius:16px;box-shadow:0 8px 32px 0 rgba(0,0,0,.37);color:inherit;display:flex;flex-direction:column;justify-content:center;min-height:320px;opacity:0;overflow:hidden;padding:2.5rem;position:relative;text-align:center;text-decoration:none;transform:perspective(1000px) translateZ(0);transform-style:preserve-3d;transition:all .4s cubic-bezier(.4,0,.2,1)}.contact-method:before{background:linear-gradient(45deg,var(--primary-color),var(--accent-color));border-radius:12px;bottom:0;content:"";left:0;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;padding:2px;position:absolute;right:0;top:0;transition:opacity .3s ease}.contact-method:hover:before{opacity:1}.contact-method:hover{background:linear-gradient(to bottom right,var(--card-background),var(--background-light));box-shadow:0 15px 25px rgba(0,0,0,.2);cursor:pointer;text-decoration:none;transform:perspective(1000px) translateZ(30px) translateY(-8px)}.method-icon{background:linear-gradient(135deg,var(--primary-color),var(--accent-color));height:160px;margin-bottom:1.5rem;transition:all .4s ease;width:160px}.method-icon i{font-size:2.5rem;transition:transform .4s ease}.contact-method:hover .method-icon{box-shadow:0 0 30px rgba(var(--primary-color-rgb),.3);transform:scale(1.1)}.contact-method:hover .method-icon i{transform:scale(1.1) rotate(8deg)}.method-icon{align-items:center;background:var(--primary-color);border-radius:50%;display:flex;height:150px;justify-content:center;margin-bottom:1rem}.method-icon i{color:#fff;font-size:3rem}.contact-method h3{color:var(--primary-color);font-size:1.25rem;font-weight:600;margin-bottom:.5rem}.contact-method p{color:var(--text-secondary);font-size:1.1rem;line-height:1.7;margin-bottom:1rem;word-spacing:.05em}.method-link{background-color:var(--primary-color);border:2px solid var(--primary-color);border-radius:25px;color:#fff;font-weight:500;margin-top:auto;padding:.75rem 1.5rem;text-decoration:none;transition:all .3s ease}.method-link:hover{background:var(--primary-dark);border-color:var(--primary-dark);color:#fff;transform:translateY(-2px)}.contact-footer{border-top:1px solid var(--background-gray);margin-top:2rem;padding-top:2rem;text-align:center}.contact-footer p{color:var(--text-secondary);font-size:.95rem}@media (max-width:768px){.contact-section{padding:80px 0}.contact-methods{gap:1.5rem;grid-template-columns:1fr;padding:0}.contact-method{padding:1.5rem}}.main-footer{background-color:var(--card-background);border-top:1px solid var(--background-gray);padding:2rem 0;text-align:center}.main-footer p{color:var(--text-secondary);font-size:.9rem}.social-links{display:flex;gap:1rem;justify-content:center;margin-top:2rem}.social-links a{color:var(--text-secondary);font-size:1.5rem;transition:all .3s ease}.social-links a:hover{color:var(--primary-color);transform:translateY(-3px)}@media (max-width:768px){.hero-container{gap:2rem;grid-template-columns:1fr;text-align:center}.hero-content{margin:0 auto}.hero-cta{justify-content:center}.nav-links{display:none}}.about-section{background-color:var(--container-background);padding-bottom:120px;padding-top:0}.about-content{margin:0 auto;max-width:1200px}.certificate-card-back{justify-items:start}.certificate-card-back>h3,.certificate-card-back>p{text-align:start}.certificate-card-back>ul{align-items:start;display:flex;flex-direction:column;justify-content:start}.about-text{display:flex;flex-direction:column;gap:2rem}.about-details{display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));width:100%}.about-section-content{backdrop-filter:blur(10px);background:var(--card-background);border:1px solid hsla(0,0%,100%,.1);border-radius:12px;box-shadow:0 4px 6px rgba(0,0,0,.1);min-height:280px;opacity:0;overflow:hidden;padding:2rem;position:relative;transition:all .3s ease}.about-section-content:before{background:linear-gradient(45deg,var(--primary-color),var(--accent-color));border-radius:12px;bottom:0;content:"";left:0;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;padding:2px;position:absolute;right:0;top:0;transition:opacity .3s ease}.about-section-content:hover{box-shadow:0 12px 20px rgba(0,0,0,.15);transform:perspective(1000px) translateZ(20px) translateY(-5px)}.about-section-content:hover:before{opacity:1}.about-section-content:hover{border-color:var(--primary-color);box-shadow:var(--shadow-lg);cursor:pointer;transform:translateY(-5px)}.about-section-content h4{align-items:center;color:var(--text-primary);display:flex;font-size:1.25rem;gap:.75rem;margin:0;min-height:1.75rem;padding-bottom:10px}.about-section-content h4 i{color:var(--primary-color);text-align:center;width:1.5rem}.about-section-content p{color:var(--text-secondary);font-size:14px;line-height:1.6;margin:0;text-align:center;word-spacing:.05em}.about-cta{display:flex;justify-content:center;margin-top:2rem}@media (max-width:768px){.about-details{grid-template-columns:1fr}}.display__section{background:transparent;position:relative;z-index:1}.group__one{display:flex;flex-direction:column;gap:15px}.navigation{align-items:center;background-color:var(--background-white);border-bottom:1px solid var(--background-gray);display:flex;height:100px;justify-content:end;padding:1rem 0}.navigation>ul{display:flex;justify-content:space-around;list-style:none;margin-right:20px;width:250px}.navigation>ul>li{border-radius:6px;color:var(--text-secondary);cursor:pointer;font-size:1.125rem;font-weight:500;padding:.5rem 1rem;text-transform:uppercase;transition:all .3s ease}.navigation>ul>li.active,.navigation>ul>li:hover{color:var(--primary-color)}.introduction__content{flex-direction:column;gap:50px;height:80vh;justify-content:center}.icons,.introduction__content{align-items:center;display:flex}.icons{backdrop-filter:blur(5px);background:hsla(0,0%,100%,.1);border-radius:30px;justify-content:space-around;margin-top:1rem;padding:.5rem;width:220px}.icons>a>i{color:#fff;font-size:1.75rem;padding:.5rem;transition:all .3s cubic-bezier(.175,.885,.32,1.275)}.icons>a>i:hover{color:green}.project__content{align-items:center;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));justify-content:center;margin:0 auto;max-width:1440px;min-height:100%;overflow-y:auto;padding:1.5rem;width:100%;-webkit-overflow-scrolling:touch}.card{background:var(--card-background);border:1px solid var(--background-gray);box-shadow:var(--shadow-sm);overflow:hidden;transition:all .3s ease}.card,.card:before{border-radius:12px;opacity:0}.card:before{background:linear-gradient(45deg,var(--primary-color),var(--accent-color));bottom:0;content:"";left:0;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;padding:2px;position:absolute;right:0;top:0;transition:opacity .3s ease}.card:hover:before{opacity:1}.card:hover{box-shadow:0 8px 15px rgba(0,0,0,.1);transform:translateY(-5px)}.card-title{color:var(--primary-color);font-size:1.25rem;font-weight:600;letter-spacing:-.01em;margin-bottom:.75rem}.card-text{color:var (--text-secondary);font-size:.95rem;line-height:1.6}.btn,.btn-container{display:flex;gap:.3rem}.btn{align-items:center;border-radius:8px;flex:1;font-weight:600;justify-content:center;letter-spacing:.3px;min-width:0;padding:.4rem .5rem;text-transform:uppercase;transition:all .3s ease;white-space:nowrap}.btn,.btn i{font-size:.7rem}.cta-button,.cta-button:active,.cta-button:focus,.cta-button:visited{align-items:center;background-color:var(--primary-color);border-radius:8px;color:var(--container-background);display:inline-flex;font-weight:500;gap:.5rem;outline:none;padding:.75rem 1.5rem;text-decoration:none;transition:all .3s ease}.cta-button i{font-size:.9em;transition:transform .3s ease}.cta-button:hover{background-color:var(--primary-dark);color:#fff;text-decoration:none}.cta-button:hover i{transform:translateY(4px)}.btn-primary{background-color:var(--primary-color);border:none;border-radius:8px;box-shadow:var(--shadow-sm);color:var(--card-background);font-weight:500;padding:.75rem 1.5rem;transition:all .3s ease}.btn-primary:hover{background-color:var(--primary-dark);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-secondary{background-color:var(--background-gray);border:1px solid var(--primary-color);border-radius:8px;color:var(--text-secondary);display:inline-block;font-weight:500;padding:.75rem 1.5rem;text-align:center;text-decoration:none;transition:all .3s ease}.btn-secondary:hover{background-color:var(--background-light);border-color:var(--primary-color);color:var(--primary-color)}.method-link:hover,a i:hover{text-decoration:none!important}.image__container{height:200px;overflow:hidden;width:200px}.image__container,.skills__div{align-items:center;display:flex;justify-content:center}.skills__div{background-color:var(--card-background);border:1px solid var(--background-gray);border-radius:12px;box-shadow:var(--shadow-md);flex-wrap:wrap;gap:1rem;padding:2rem}.skill-item{background-color:var(--background-gray);border:1px solid transparent;border-radius:8px;color:var(--text-primary);font-weight:500;padding:.75rem 1.25rem;transition:all .3s ease}.skill-item:hover{background-color:var(--primary-color);box-shadow:var(--shadow-sm);color:var(--card-background);transform:translateY(-2px)}a{text-decoration:none}.about__section{transform:translateX(-50px);transition:transform 2s ease}.about__section.active{transform:translateX(0)}.display__section{transform:translateX(-50px);transition:transform 2s ease}.display__section.active{transform:translateX(0)}.tooltip{border-radius:4px;width:250px}.tooltip,.tooltip .tooltip-inner{background-color:hsla(0,0%,100%,.9);color:#000;padding:10px}.tooltip .tooltip-inner{max-width:250px;text-align:start;word-spacing:1px}.tooltip .arrow:before{border-color:#75be84}.bi-patch-question{font-size:25px;padding-left:7px}.bi-patch-question:hover{color:green}.hero-content h2{animation:gradient 8s ease infinite;font-size:3.5rem;font-weight:700;line-height:1.2;margin-bottom:1.5rem;text-align:left;text-shadow:2px 2px 4px rgba(0,0,0,.2);transform:perspective(1000px) translateZ(30px);transform-style:preserve-3d}.hero-content h2,.typewriter{-webkit-text-stroke:.5px var(--primary-color);background:linear-gradient(45deg,var(--primary-color),var(--accent-color),var(--primary-light),var(--accent-light));-webkit-background-clip:text;background-clip:text;background-size:300%;color:transparent}.typewriter{animation:typing 3.5s steps(40),blink-caret .75s step-end infinite,gradient 8s ease infinite;display:inline-block;margin:0;overflow:hidden;white-space:nowrap}@keyframes blink-caret{0%,to{border-color:transparent}50%{border-color:var(--primary-color)}}@keyframes gradient{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}@keyframes typing{0%{width:0}to{width:100%}}.btn-primary,.btn-primary:hover,.btn-secondary,.btn-secondary:hover,.contact-link,.contact-link:hover,.hero-cta a,.hero-cta a:hover,.method-link,.method-link:hover,.project-link,.project-link:hover,.social-link,.social-link:hover,a i,a i:hover{text-decoration:none!important}.scroll-icon{cursor:pointer;display:inline-block;padding:10px;text-decoration:none}.content{min-height:100vh;overflow:hidden;position:relative;width:100%}.content-wrapper{position:relative;z-index:1}@media screen and (max-width:1024px){.container{padding:0 1.5rem}.hero-content h2{font-size:2.8rem}.hero-container{gap:2rem}.hero-image img{height:250px;width:250px}.section-title{font-size:2rem}.projects-grid,.skills-grid{gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}}@media screen and (max-width:768px){.main-nav{height:70px}.nav-links{background-color:var(--card-background);border-bottom:1px solid var(--background-gray);flex-direction:column;gap:1rem;left:0;padding:1rem;position:fixed;right:0;text-align:center;top:70px;transform:translateY(-100%);transition:transform .3s ease}.nav-links.active{transform:translateY(0)}.hero-container{gap:2rem;grid-template-columns:1fr;text-align:center}.hero-content{max-width:100%}.hero-content h2{font-size:2.2rem;text-align:center}.hero-text{font-size:1.1rem;text-align:center}.hero-buttons{justify-content:center}.hero-image{order:-1}.hero-image img{height:200px;width:200px}section{padding:60px 0}.section-title{font-size:1.8rem;margin-bottom:2rem}.contact-methods,.projects-grid,.skills-grid{display:grid;gap:2rem;margin-left:auto;margin-right:auto;max-width:600px;padding:0 1rem;width:100%}.about-section-content,.contact-method,.skill-card{background:var(--card-background);border-radius:12px;box-shadow:0 4px 6px rgba(0,0,0,.1);overflow:hidden;padding:1.5rem;position:relative;transition:all .3s ease}.about-section-content:hover{box-shadow:0 12px 20px rgba(0,0,0,.15);transform:perspective(1000px) translateZ(20px) translateY(-5px)}.about-section-content:before{background:linear-gradient(45deg,var(--primary-color),var(--accent-color));border-radius:12px;bottom:0;content:"";left:0;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;padding:2px;position:absolute;right:0;top:0;transition:opacity .3s ease}.about-section-content:hover:before{opacity:1}.project-card{height:420px}.project-image{height:200px;width:100%}.project-content{display:flex;flex:1;flex-direction:column;justify-content:space-between}}@media screen and (max-width:480px){.container{padding:0 1rem}p{text-align:center}.btn-primary,.btn-secondary{width:100%}.hero-content h2{font-size:2rem}.hero-text{font-size:1rem}.cta-button{font-size:.9rem;padding:.6rem 1.2rem}.section-title{font-size:1.6rem}.skill-card i{font-size:2rem}.skill-card h3{font-size:1.1rem}.skill-card p{font-size:.9rem}.projects-grid,.skills-grid{max-width:320px}.skill-card{min-height:250px}.project-card{height:380px}.project-image{height:180px}.contact-methods,.projects-grid,.skills-grid{padding:0 .5rem}.about-section-content,.contact-method,.skill-card{background:var(--card-background);border-radius:12px;box-shadow:0 4px 6px rgba(0,0,0,.1);overflow:hidden;padding:1.5rem;position:relative;transition:all .3s ease}.about-section-content:hover{box-shadow:0 12px 20px rgba(0,0,0,.15);transform:perspective(1000px) translateZ(20px) translateY(-5px)}.about-section-content:before{background:linear-gradient(45deg,var(--primary-color),var(--accent-color));border-radius:12px;bottom:0;content:"";left:0;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;padding:2px;position:absolute;right:0;top:0;transition:opacity .3s ease}.about-section-content:hover:before{opacity:1}}.section-nav{align-items:center;display:flex;flex-direction:column;gap:1rem}.section-indicator{gap:.5rem}.indicator-line{background-color:hsla(0,0%,100%,.2);z-index:-1}.indicator-progress{width:2px}.indicator-dot{background-color:hsla(0,0%,100%,.2);z-index:1}.indicator-dot:hover{background-color:var(--primary-light)}.indicator-dot,.indicator-line{background-color:var(--text-secondary)}.indicator-line{opacity:.3}.about-section-content.in-viewport,.contact-method.in-viewport,.project-card.in-viewport,.skill-card.in-viewport{animation:slideInFromBottom .8s ease-out forwards}.about-section-content:first-child.in-viewport,.contact-method:first-child.in-viewport,.project-card:first-child.in-viewport,.skill-card:first-child.in-viewport{animation-delay:.1s}.about-section-content:nth-child(2).in-viewport,.contact-method:nth-child(2).in-viewport,.project-card:nth-child(2).in-viewport,.skill-card:nth-child(2).in-viewport{animation-delay:.2s}.about-section-content:nth-child(3).in-viewport,.contact-method:nth-child(3).in-viewport,.project-card:nth-child(3).in-viewport,.skill-card:nth-child(3).in-viewport{animation-delay:.3s}.about-section-content:nth-child(4).in-viewport,.contact-method:nth-child(4).in-viewport,.project-card:nth-child(4).in-viewport,.skill-card:nth-child(4).in-viewport{animation-delay:.4s}#myBtn{align-items:center;background-color:var(--primary-color);border:none;border-radius:50%;bottom:40px;box-shadow:var(--shadow-md);color:#fff;cursor:pointer;display:flex;font-size:14px;height:50px;justify-content:center;outline:none;padding:15px;position:fixed;right:50px;transition:background-color .3s ease,transform .3s ease;width:50px;z-index:99}.certificates-section{background-color:var(--container-background);padding:120px 0}.certificates-grid{display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin:0 auto;max-width:1200px}.certificate-card{background:transparent;border-radius:12px;height:430px;margin-bottom:1rem;perspective:1000px;width:100%}.certificate-card-inner{height:100%;position:relative;text-align:center;transform-style:preserve-3d;transition:transform .8s;width:100%}.certificate-card:hover .certificate-card-inner{transform:rotateY(180deg)}.certificate-card-back,.certificate-card-front{-webkit-backface-visibility:hidden;backface-visibility:hidden;border-radius:12px;box-shadow:var(--shadow-md);display:flex;flex-direction:column;height:100%;position:absolute;width:100%}.certificate-card-back,.certificate-card-front{background-color:var(--card-background);color:var(--text-primary)}.certificate-card-back{display:flex;flex-direction:column;justify-content:space-between;overflow-y:auto;padding:1.2rem;text-align:left;transform:rotateY(180deg)}.certificate-image{align-items:center;background:var(--background-light);border-radius:12px 12px 0 0;display:flex;height:170px;justify-content:center;overflow:hidden;position:relative;width:100%}.certificate-image img{height:100%;object-fit:cover;transition:transform .3s ease;width:100%}.certificate-card:hover .certificate-image img{transform:scale(1.05)}.certificate-card-back h3{color:var(--primary-color);font-size:1.1rem;font-weight:600;margin-bottom:.5rem}.certificate-card-back ul{list-style-position:outside;margin-bottom:.5rem;margin-left:1rem;padding-left:0;text-align:left}.certificate-card-back ul li{color:var(--text-secondary);font-size:.75rem;line-height:1.3;margin-bottom:.2rem}.verify-link{background-color:var(--primary-color);border-radius:8px;color:var(--card-background);display:inline-block;font-size:.85rem;font-weight:500;margin-top:.5rem;padding:.5rem 1rem;text-align:center;text-decoration:none;transition:all .3s ease}.verify-link:hover{background-color:var(--primary-dark);color:var(--container-background);text-decoration:none;transform:translateY(-2px)}.certificate-content{display:flex;flex-direction:column;height:60%;justify-content:space-around;padding:1.2rem}.certificate-title{color:var(--primary-color);font-size:1.25rem;font-weight:600;margin-bottom:.5rem}.certificate-issuer{color:var(--text-primary);font-size:1rem;margin-bottom:.25rem}.certificate-date{color:var(--text-secondary);font-size:.9rem}#myBtn:hover{background-color:var(--primary-dark);transform:translateY(-3px)}#myBtn:before{content:"↑";font-size:1.5rem}@keyframes glow{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes borderGlow{0%,to{box-shadow:0 0 0 3px #ff0}50%{box-shadow:0 0 20px 10px #ff0}}@keyframes borderGlowCards{0%,to{box-shadow:0 0 8px 1px rgba(86,208,161,.3)}50%{box-shadow:0 0 12px 2px rgba(86,208,161,.4)}}@keyframes scaleAnimation{0%{transform:scale(1)}50%{transform:scale(1.02)}to{transform:scale(1)}}@keyframes rain{0%{opacity:1;transform:translateY(-100%)}to{opacity:0;transform:translateY(100vh)}}@keyframes slideInFromBottom{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.about-section-content.in-viewport,.contact-method.in-viewport,.skill-card.in-viewport{animation:slideInFromBottom .8s ease-out forwards}.about-section-content:first-child.in-viewport,.contact-method:first-child.in-viewport,.skill-card:first-child.in-viewport{animation-delay:.1s}.about-section-content:nth-child(2).in-viewport,.contact-method:nth-child(2).in-viewport,.skill-card:nth-child(2).in-viewport{animation-delay:.2s}.about-section-content:nth-child(3).in-viewport,.contact-method:nth-child(3).in-viewport,.skill-card:nth-child(3).in-viewport{animation-delay:.3s}@media screen and (max-width:1100px){.modal__content{max-width:100vh}.hero-container{align-items:center;display:flex;flex-direction:column;gap:2rem;padding:0 1rem;text-align:center}.hero-image{display:flex;justify-content:center;order:-1}.hero-content{align-items:center;display:flex;flex-direction:column;margin:0 auto;padding:0 1rem;text-align:center;width:100%}.hero-content h2{font-size:2.5rem;margin-bottom:1rem;text-align:center;width:100%}.typewriter{animation:typing 3.5s steps(40) forwards;border-right:none;display:inline-block;text-align:center;white-space:normal;width:auto!important}@keyframes typing{0%{border-right:3px solid var(--primary-color);width:0}to{border-right:transparent;width:100%}}.hero-text{font-size:1.1rem;margin-bottom:2rem;padding:0 1rem;text-align:center;width:100%}.hero-cta{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;width:100%}.hero-cta a{min-width:200px;text-align:center}.hero-cta,ul{justify-content:center}ul{align-items:center;display:flex;height:60px}.navigation{justify-content:center;margin-top:20px}.container-fluid{grid-template-columns:1fr}.display__section{align-items:center;display:flex;flex-direction:column;gap:0;height:100%}.text{padding:10px;width:95%}.text>p{font-size:16px;padding:10px}.icons{flex-wrap:wrap;width:100%}.icons>a>i{font-size:30px}.introduction__content{gap:20px}.skills__div{gap:10px}.project__content{grid-template-columns:1fr}.icons{gap:15px}.introduction__content{gap:50px;margin-bottom:40px}.avatar{margin-bottom:25px}.image__container{height:auto;overflow:hidden;width:100%}.image__div{height:300px;position:relative;width:100%}.about__section{padding:40px}.project__content{display:flex;flex-wrap:wrap;justify-content:space-around}.card{flex:0 0 auto;width:200px}.contact-methods{display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));padding:0 1rem}.contact-method{background:var(--card-background);border-radius:12px;box-shadow:0 4px 6px rgba(0,0,0,.1);flex-direction:column;padding:2rem;text-align:center;transition:all .3s ease;width:100%}.contact-method,.method-icon{align-items:center;display:flex;justify-content:center}.method-icon{height:150px;margin:0 auto}.contact-content{align-items:center;display:flex;justify-content:center;width:100%}}@media screen and (max-width:768px){.hero-content h2{font-size:2rem;text-align:center}.hero-text{font-size:1rem;margin:0 auto 2rem;max-width:90%;text-align:center}.hero-section{padding:120px 0 60px}.hero-container{padding:0 1rem}.hero-cta{align-items:center;flex-direction:column;margin:0 auto;max-width:300px;width:100%}.hero-cta a{text-align:center;width:100%}.contact-methods{gap:1.5rem;grid-template-columns:1fr}.contact-method{margin:0 1rem;max-width:100%}.method-link{display:inline-block;font-size:.9rem;min-width:160px;padding:.5rem 1rem;width:auto}}@media screen and (max-width:480px){.hero-content h2{font-size:1.8rem;text-align:center}.hero-container{padding:0 .5rem}.hero-image img.avatar{height:250px;width:250px}.method-link{font-size:.85rem;min-width:140px;padding:.4rem .8rem}}@media screen and (max-width:428px){body{font-size:18px;line-height:1.6}.hero-content h2{font-size:1.6rem}.hero-text{font-size:.95rem}.hero-image img.avatar{height:220px;width:220px}.card{flex:0 0 calc(100% - 10px);width:calc(50% - 20px)}.project__content{width:100%}.contact-methods{gap:1.5rem;grid-template-columns:1fr}.contact-method{margin:0 1rem;max-width:100%}}@media screen and (max-width:992px){.hero-container{align-items:center;display:flex;flex-direction:column;gap:2rem;text-align:center}#myBtn{display:none}.hero-content{align-items:center;display:flex;flex-direction:column;max-width:100%}.hero-text{margin:0 auto 2rem;text-align:center}.hero-cta{justify-content:center}.hero-image{order:-1}}@media screen and (max-width:768px){.main-nav{padding:1rem}#myBtn{display:none}.nav-links{flex-wrap:wrap;gap:1rem;justify-content:center}.nav-brand h2{font-size:1.25rem}.hero-content h2{font-size:2.5rem}.hero-image img{height:250px;width:250px}}@media screen and (max-width:480px){.main-nav{flex-direction:column;height:auto;padding:1rem 0}#myBtn{display:none}.nav-brand{margin-bottom:1rem}.nav-links{justify-content:space-around;width:100%}.hero-content h2{font-size:2rem}.hero-image img{height:200px;width:200px}.hero-cta{flex-direction:column;gap:1rem}.hero-cta a{text-align:center;width:100%}}.section-nav{position:fixed;right:2rem;top:50%;transform:translateY(-50%);z-index:1000}.section-indicator{align-items:center;display:flex;flex-direction:column;gap:1.5rem;position:relative}.indicator-dot{background-color:hsla(0,0%,100%,.3);border-radius:50%;cursor:pointer;height:12px;position:relative;transition:all .3s ease;width:12px;z-index:2}.indicator-dot:before{background-color:rgba(117,190,132,.2);border-radius:50%;content:"";height:24px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%) scale(0);transition:transform .3s ease;width:24px}.indicator-dot.active:before,.indicator-dot:hover:before{transform:translate(-50%,-50%) scale(1)}.indicator-dot.active{background-color:var(--primary-color);transform:scale(1.2)}.indicator-line{background-color:hsla(0,0%,100%,.1);height:100%;left:50%;position:absolute;top:0;transform:translateX(-50%);width:2px;z-index:1}.indicator-progress{background-color:var(--primary-color);bottom:0;left:0;position:absolute;transition:height .3s ease;width:100%}@media (max-width:768px){.section-nav{display:none;right:1rem}.indicator-dot{height:10px;width:10px}.indicator-dot:before{height:20px;width:20px}}.loader-wrapper{align-items:center;background:#000;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:9999}.loader{color:#fff;font-family:Roboto,sans-serif;font-size:2rem;opacity:.8;position:relative;transition:opacity .3s ease}.loader:after{animation:loadingDots 2s ease-in-out infinite;content:"Loading...";opacity:1}@keyframes loadingDots{0%{content:"Loading";opacity:.6}20%{content:"Loading.";opacity:.8}40%{content:"Loading..";opacity:.9}60%{content:"Loading...";opacity:1}80%{content:"Loading..";opacity:.9}90%{content:"Loading.";opacity:.8}to{content:"Loading";opacity:.6}}.content{display:none}.content.visible{display:block}.project-card{background:transparent;border-radius:12px;height:430px;margin-bottom:1rem;overflow:visible;perspective:1000px;width:100%}.project-card-container{height:100%;position:relative;text-align:center;transform-style:preserve-3d;transition:transform .8s;width:100%}.project-card:hover .project-card-container{transform:rotateY(180deg)}.project-card-back,.project-card-front{-webkit-backface-visibility:hidden;backface-visibility:hidden;border-radius:12px;box-shadow:var(--shadow-md);display:flex;flex-direction:column;height:100%;position:absolute;width:100%}.project-card-front{transform:rotateY(0deg)}.project-card-back,.project-card-front{background-color:var(--card-background);color:var(--text-primary)}.project-card-back{display:flex;flex-direction:column;justify-content:space-between;overflow-y:auto;padding:1.2rem;text-align:left;transform:rotateY(180deg)}.project-image{align-items:center;background:var(--background-light);display:flex;height:170px;justify-content:center;overflow:hidden;width:100%}.project-image img{height:100%;object-fit:cover;transition:transform .5s ease;width:100%}.project-content{display:flex;flex:1;flex-direction:column;gap:.25rem;padding:1.2rem}.project-title{color:var(--text-primary);font-size:1.2rem;font-weight:600;margin-bottom:.6rem}.project-description{color:var(--text-secondary);font-size:.95rem;line-height:1.5;margin-bottom:.75rem;word-spacing:.05em}.project-tech{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:auto}.tech-tag{background-color:rgba(var(--primary-dark-rgb),.2);border-radius:4px;color:var(--primary-color);display:inline-block;font-size:.85rem;font-weight:500;padding:.3rem .6rem}.project-back-title{color:var(--primary-color);font-size:1.1rem;margin-bottom:.5rem}.project-details{font-size:.85rem;line-height:1.5;margin-bottom:1rem}.project-details>p{font-size:14px}.project-links-container.project-back-links{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;margin-top:auto;padding:.5rem 0;pointer-events:auto;width:100%;z-index:200}.project-back-content{display:flex;flex-direction:column;height:100%}.project-back-title{color:var(--text-primary);font-size:1.2rem;font-weight:600;margin-bottom:1rem;text-align:center}.project-details{color:var(--text-secondary);font-size:.95rem;line-height:1.6;margin-bottom:1.5rem;word-spacing:.05em}.flip-hint{color:var(--text-muted);font-size:.8rem;font-style:italic;margin-top:.5rem;text-align:center}.project-link{align-items:center;background:linear-gradient(135deg,var(--primary-color),var(--primary-dark));border:1px solid hsla(0,0%,100%,.1);border-radius:15px;box-shadow:0 2px 8px rgba(0,0,0,.2);display:inline-flex;font-size:.9rem;font-weight:500;justify-content:center;min-width:125px;overflow:hidden;padding:.7rem 1rem;pointer-events:auto;position:relative;text-align:center;transition:all .3s ease;white-space:nowrap;z-index:200}.project-link,.project-link:hover{color:var(--card-background);text-decoration:none}.project-link:hover{background:linear-gradient(135deg,var(--primary-dark),var(--primary-color));border:1px solid rgba(38,92,50,.4);box-shadow:0 4px 12px rgba(0,0,0,.3);transform:translateY(-3px)}.project-link:before{background:linear-gradient(45deg,transparent,rgba(var(--primary-dark-rgb),.3),transparent);content:"";height:100%;left:0;position:absolute;top:0;transform:translateX(-100%);transition:transform .6s ease;width:100%;z-index:-1}.project-link:hover:before{transform:translateX(100%)}.source-link{background:linear-gradient(135deg,var(--primary-dark),#3a7645);border-color:hsla(0,0%,100%,.05)}.source-link:hover{background:linear-gradient(135deg,#3a7645,var(--primary-dark));color:var(--card-background)}.link-text{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-card{opacity:0;transform:translateY(20px)}.project-card.animate{opacity:1;transform:translateY(0)}.project-card:hover{box-shadow:0 15px 30px rgba(0,0,0,.3);transform:translateY(-5px)}.project-card:hover .project-image img{transform:scale(1.05)}.project-card:first-child{animation-delay:.1s}.project-card:nth-child(2){animation-delay:.2s}.project-card:nth-child(3){animation-delay:.3s}.project-card:nth-child(4){animation-delay:.4s}.project-card:nth-child(5){animation-delay:.5s}.projects-grid{display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin:0 auto;max-width:1200px}@media (max-width:992px){.projects-grid{gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}}@media (max-width:768px){.project-links-container{background:none;padding-top:0;position:relative;transform:translateY(0)}.projects-grid{gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.project-card{height:430px;margin-bottom:1rem;width:100%}}@media (max-width:480px){.projects-grid{gap:1rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.project-card{height:400px;margin-bottom:1rem}.project-title{font-size:1.1rem}.project-description{font-size:.85rem;line-height:1.3}}.project-link:focus{outline:2px solid var(--primary-color);outline-offset:2px}