.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}.project-card{border-radius:var(--radius-lg);overflow:hidden;transition:transform var(--transition-normal),box-shadow var(--transition-normal);display:flex;flex-direction:column;position:relative}.project-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background:linear-gradient(90deg,var(--accent-primary),var(--accent-secondary));opacity:0;transition:opacity var(--transition-short)}.project-card:hover{transform:translateY(-10px) perspective(1000px) rotateX(2deg) rotateY(-2deg);box-shadow:0 20px 40px #0003}.project-card:hover:before{opacity:1}.project-info{padding:2rem;display:flex;flex-direction:column;height:100%}.project-info h3{font-size:1.5rem;margin-bottom:1rem;color:var(--text-primary)}.project-info p{color:var(--text-secondary);margin-bottom:1.5rem;flex-grow:1}.project-tech{display:flex;gap:.5rem;margin-bottom:1.5rem;flex-wrap:wrap}.project-tech span{font-size:.75rem;padding:.25rem .5rem;background:var(--bg-secondary);border-radius:var(--radius-sm);color:var(--accent-secondary);font-weight:600}.project-link{display:inline-block;margin-top:auto;font-weight:600;color:var(--accent-primary);text-decoration:none;display:flex;align-items:center;gap:.5rem;transition:color var(--transition-short)}.project-link:after{content:"→";transition:transform var(--transition-short)}.project-link:hover{color:var(--accent-secondary)}.project-link:hover:after{transform:translate(5px)}.page-projects{background:radial-gradient(circle at 50% -20%,rgba(59,130,246,.15),var(--bg-primary) 50%)}.mt-20{margin-top:5rem}.page-title{font-size:4rem;margin-bottom:1rem;text-align:center}.page-subtitle{font-size:1.25rem;color:var(--text-secondary);text-align:center;margin-bottom:4rem}.advanced-grid{perspective:1000px;gap:3rem}.advanced-card{position:relative;border-radius:var(--radius-lg);transform-style:preserve-3d;will-change:transform}.card-content{position:relative;height:100%;padding:2.5rem;display:flex;flex-direction:column;border-radius:var(--radius-lg);overflow:hidden;z-index:1;background-color:var(--glass-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--glass-border);box-shadow:0 10px 30px #0000001a;transition:box-shadow .3s ease,border-color .3s ease}.advanced-card:hover .card-content{box-shadow:0 30px 60px #0000004d;border-color:#fff3}.card-content h3{font-size:1.75rem;margin-bottom:1rem;transform:translateZ(40px);color:var(--text-primary);transition:transform .2s ease-out}.card-content p{color:var(--text-secondary);margin-bottom:2rem;flex-grow:1;font-size:1.05rem;transform:translateZ(30px);transition:transform .2s ease-out}.card-content .project-tech{transform:translateZ(20px);transition:transform .2s ease-out}.card-content .project-link{transform:translateZ(35px);align-self:flex-start;padding-top:1rem;transition:transform .2s ease-out}.card-glow{position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(800px circle at var(--mouse-x, 0) var(--mouse-y, 0),rgba(255,255,255,.06),transparent 40%);z-index:-1;pointer-events:none;opacity:0;transition:opacity .5s ease}.advanced-card:hover .card-glow{opacity:1}.advanced-card:before{content:"";position:absolute;top:-1px;left:-1px;width:calc(100% + 2px);height:calc(100% + 2px);border-radius:inherit;background:radial-gradient(400px circle at var(--mouse-x, 0) var(--mouse-y, 0),var(--accent-primary),transparent 40%);z-index:0;opacity:0;transition:opacity .5s}.advanced-card:hover:before{opacity:1}
