#projects .row{display:flex;flex-wrap:wrap}#projects .col-lg-4,#projects .col-md-6{display:flex;margin-bottom:.5rem}.project-tile{background:var(--glass-bg-primary);backdrop-filter:var(--glass-blur-md);-webkit-backdrop-filter:var(--glass-blur-md);border:var(--glass-border);border-radius:var(--glass-radius-lg);box-shadow:var(--glass-shadow-md),var(--glass-shadow-inset);transition:var(--glass-transition);position:relative;overflow:hidden;padding:1.5rem;cursor:pointer;display:flex;flex-direction:column;height:100%;width:100%}.project-tile:before{content:"";position:absolute;inset:0;background-image:var(--glass-noise);background-size:128px 128px;opacity:.5;pointer-events:none;z-index:0;mix-blend-mode:overlay}.project-tile:after{content:"";position:absolute;bottom:0;left:10%;right:10%;height:2px;background:var(--glass-edge-glow-bottom);transform:scaleX(0);transform-origin:center;transition:transform var(--glass-transition-slow),opacity .4s ease;opacity:0;z-index:1}.project-tile:hover{background:var(--glass-bg-hover);border:var(--glass-border-hover);box-shadow:var(--glass-shadow-hover),var(--glass-shadow-glow),var(--glass-shadow-inset);transform:translateY(-3px) scale(1.005)}.project-tile:hover:after{transform:scaleX(1);opacity:1}.project-tile .light-reflection{position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.06) 45%,rgba(255,255,255,.12) 50%,rgba(255,255,255,.06) 55%,transparent 60%);transform:rotate(-45deg) translate(-120%);transition:transform 1s cubic-bezier(.25,.8,.25,1);z-index:1;pointer-events:none}.project-tile:hover .light-reflection{transform:rotate(-45deg) translate(120%)}.project-tile .icon{position:relative;display:inline-flex;align-items:center;justify-content:center;width:70px;height:70px;background:linear-gradient(135deg,rgba(var(--primary-brand-rgb),.2),rgba(var(--primary-brand-rgb),.1)),linear-gradient(135deg,#0000004d,#0003);backdrop-filter:var(--glass-blur-sm);-webkit-backdrop-filter:var(--glass-blur-sm);border:1px solid rgba(var(--primary-brand-rgb),.3);border-radius:16px;margin:0 auto 1rem;transition:var(--glass-transition);z-index:2;overflow:hidden}.project-tile:hover .icon{background:linear-gradient(135deg,rgba(var(--primary-brand-rgb),.3),rgba(var(--primary-brand-rgb),.2)),linear-gradient(135deg,#0006,#0000004d);border:1px solid rgba(var(--primary-brand-rgb),.5);transform:scale(1.08);box-shadow:0 0 20px rgba(var(--primary-brand-rgb),.4)}.project-tile .icon i{font-size:1.8rem;color:var(--primary-color);text-shadow:0 2px 8px rgba(var(--primary-brand-rgb),.5);transition:var(--glass-transition-fast);filter:drop-shadow(0 0 10px rgba(var(--primary-brand-rgb),.3));position:relative;z-index:2}.project-tile:hover .icon i{color:var(--primary-color-hover);transform:scale(1.05);filter:drop-shadow(0 0 15px rgba(var(--primary-brand-rgb),.6))}.project-tile h4{font-size:1.3rem;font-weight:600;color:#fff;margin-bottom:.75rem;text-shadow:0 2px 4px rgba(0,0,0,.7);transition:var(--glass-transition);position:relative;z-index:2;text-align:center}.project-tile:hover h4{color:var(--primary-color);text-shadow:0 2px 8px rgba(var(--primary-brand-rgb),.4);transform:translateY(-1px)}.project-tile h4 a{color:inherit;text-decoration:none;transition:var(--glass-transition-fast)}.project-tile:hover h4 a{color:var(--primary-color)}.project-tile p{color:#ffffffe6;font-size:.95rem;line-height:1.6;margin:0 0 1rem;text-shadow:0 1px 3px rgba(0,0,0,.6);transition:var(--glass-transition);position:relative;z-index:2;flex-grow:1;text-align:center}.project-tile:hover p{color:#fffffff2;text-shadow:0 1px 2px rgba(0,0,0,.4)}.project-tile .tech-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:1rem;position:relative;z-index:2;justify-content:center}.project-tile .tech-tag{background:linear-gradient(135deg,rgba(var(--primary-brand-rgb),.15),rgba(var(--primary-brand-rgb),.08));backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);border:1px solid rgba(var(--primary-brand-rgb),.3);border-radius:12px;padding:.25rem .65rem;font-size:.72rem;color:var(--primary-color);text-shadow:0 1px 2px rgba(0,0,0,.3);transition:var(--glass-transition-fast);white-space:nowrap;font-weight:500}.project-tile:hover .tech-tag{background:linear-gradient(135deg,rgba(var(--primary-brand-rgb),.25),rgba(var(--primary-brand-rgb),.15));border:1px solid rgba(var(--primary-brand-rgb),.5);transform:scale(1.05);color:#fff}.project-actions{display:flex;gap:12px;justify-content:center;align-items:center;margin-top:auto;padding-top:1rem;position:relative;z-index:2}.action-btn{background:linear-gradient(135deg,#0f0f0fbf,#080808a6);backdrop-filter:var(--glass-blur-sm);-webkit-backdrop-filter:var(--glass-blur-sm);border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:10px 20px;color:#fff;text-decoration:none;font-weight:500;font-size:.9rem;transition:var(--glass-transition-fast);position:relative;overflow:hidden;display:inline-flex;align-items:center;gap:6px;white-space:nowrap;transform:translateZ(0);box-shadow:inset 0 1px #ffffff14,inset 0 -1px #ffffff08}.action-btn:before{content:"";position:absolute;top:0;left:0;right:0;height:50%;border-radius:12px 12px 0 0;background:linear-gradient(180deg,rgba(255,255,255,.08) 0%,rgba(255,255,255,.02) 60%,transparent 100%);pointer-events:none;z-index:1;transition:background .4s ease}.action-btn:after{content:"";position:absolute;top:3px;left:15%;right:15%;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);pointer-events:none;z-index:1;transition:background .4s ease,left .4s ease,right .4s ease}.action-btn:hover{background:linear-gradient(135deg,rgba(var(--primary-brand-rgb),.18),#0a0a0ab3);border:1px solid rgba(var(--primary-brand-rgb),.4);box-shadow:0 6px 20px rgba(var(--primary-brand-rgb),.25),inset 0 1px #ffffff26,inset 0 -1px #ffffff0a;color:var(--primary-color)}.action-btn:hover:before{background:linear-gradient(180deg,rgba(255,255,255,.15) 0%,rgba(255,255,255,.05) 50%,transparent 100%)}.action-btn:hover:after{background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);left:10%;right:10%}.action-btn:active{box-shadow:0 2px 8px rgba(var(--primary-brand-rgb),.15),inset 0 2px 6px #00000040}.action-btn:active:before{opacity:.5}.action-btn i{font-size:1rem;transition:color .3s ease,filter .3s ease}.action-btn:hover i{filter:drop-shadow(0 0 5px rgba(var(--primary-brand-rgb),.6))}@media(max-width:768px){.project-tile{padding:1.2rem;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:linear-gradient(135deg,#18d26e0d,#ffffff0a);border:1px solid rgba(255,255,255,.08)!important;box-shadow:none!important;transition:none!important}.project-tile:hover{transform:none!important;box-shadow:none!important;background:linear-gradient(135deg,rgba(var(--primary-brand-rgb),.15),rgba(var(--primary-brand-rgb),.05))!important;border:1px solid rgba(var(--primary-brand-rgb),.35)!important}.project-tile:before,.project-tile:after,.project-tile .light-reflection,.action-btn:before,.action-btn:after{display:none!important}.project-tile .icon{width:60px;height:60px;margin-bottom:.75rem;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;transition:none!important}.project-tile .icon i{font-size:1.5rem}.project-tile h4{font-size:1.1rem}.project-tile .tech-tag{font-size:.7rem;padding:.2rem .6rem;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;transition:none!important}.project-tile:hover .icon{transform:none!important;box-shadow:none!important;background:linear-gradient(135deg,rgba(var(--primary-brand-rgb),.2),rgba(var(--primary-brand-rgb),.1))!important;border:1px solid rgba(var(--primary-brand-rgb),.3)!important}.project-tile:hover h4{color:var(--primary-color)!important}.project-tile:hover .tech-tag{background:linear-gradient(135deg,rgba(var(--primary-brand-rgb),.15),rgba(var(--primary-brand-rgb),.08))!important;border:1px solid rgba(var(--primary-brand-rgb),.3)!important;color:var(--primary-color)!important}.action-btn{padding:8px 16px;font-size:.8rem;width:90%;margin:0 auto;justify-content:center;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;transition:none!important;box-shadow:inset 0 1px #ffffff0f,inset 0 -1px #ffffff05}.action-btn:hover{background:linear-gradient(135deg,rgba(var(--primary-brand-rgb),.15),rgba(var(--primary-brand-rgb),.08))!important;border:1px solid rgba(var(--primary-brand-rgb),.3)!important;color:var(--primary-color)!important}.project-actions{flex-direction:column;gap:8px;padding-top:.75rem}}@media(max-width:576px){.project-tile{padding:1rem}.project-tile:hover{transform:translateY(-1px)}.project-tile .tech-tags{gap:.3rem}.action-btn{padding:6px 12px;font-size:.75rem;box-shadow:inset 0 1px #ffffff0f,inset 0 -1px #ffffff05}}@media(prefers-reduced-motion:reduce){.project-tile,.project-tile .icon,.project-tile .tech-tag,.action-btn,.action-btn:before,.action-btn:after,.project-tile .light-reflection,.project-tile h4,.project-tile p,.project-tile .icon i{animation:none!important;transition:none!important}.project-tile:hover,.project-tile:hover .icon,.action-btn:hover{transform:none!important}}.project-header{background:linear-gradient(135deg,#1a1a1a,#040404);padding:100px 0 50px;margin-top:70px}.project-content{padding:50px 0}.tech-badge{background-color:var(--primary-color);color:#000;padding:5px 15px;border-radius:20px;margin:5px;display:inline-block;font-size:14px;font-weight:600}.project-link-btn{background-color:var(--primary-color);color:#000;padding:12px 30px;border-radius:25px;text-decoration:none;font-weight:600;margin:10px;display:inline-block;transition:all .3s}.project-link-btn:hover{background-color:var(--primary-color-hover);color:#000}.back-link{color:var(--primary-color);text-decoration:none;font-weight:600}.back-link:hover{color:var(--primary-color-hover)}
