.photo-bg{position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;overflow:hidden}.main-glass{background:rgba(10,10,15,.75);border-radius:22px;box-shadow:0 10px 40px 0 rgba(0,0,0,.35);backdrop-filter:blur(45px) saturate(160%);-webkit-backdrop-filter:blur(45px) saturate(160%);border:1px solid rgba(255,255,255,.034);margin:100px auto 32px;padding:2.5rem 1.5rem;max-width:1200px;position:relative;z-index:1}.aperture{position:absolute;width:300px;height:300px;border-radius:50%;box-shadow:0 0 50px rgba(255,0,0,.3),inset 0 0 50px rgba(0,255,255,.3);opacity:.2;transform:translate(-50%,-50%)}.aperture:before{width:80%;height:80%;border-radius:50%;border:2px solid rgba(255,0,0,.5)}.aperture:after,.aperture:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.aperture:after{width:60%;height:60%;border-radius:50%;border:2px solid rgba(0,255,255,.5)}.aperture-blades{width:100%;height:100%;transform:translate(-50%,-50%)}.aperture-blades,.blade{position:absolute;top:50%;left:50%}.blade{width:150px;height:150px;background:linear-gradient(45deg,rgba(255,0,0,.1),rgba(0,255,255,.1));transform-origin:0 0;clip-path:polygon(0 0,100% 0,50% 100%)}.viewfinder{position:absolute;width:200px;height:150px;border:3px solid rgba(255,0,0,.3);border-radius:5px;opacity:.2}.viewfinder:before{content:"";width:80%;height:80%;border:1px solid rgba(0,255,255,.5)}.viewfinder:after,.viewfinder:before{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.viewfinder:after{content:"+";color:rgba(255,0,0,.7);font-size:24px;font-weight:700}.lens{position:absolute;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,rgba(0,0,0,.8) 0,rgba(0,0,0,.3) 70%,rgba(0,0,0,0) 100%);opacity:.3}.lens:before{width:70%;height:70%;border-radius:50%;border:2px solid rgba(0,255,255,.4)}.lens:after,.lens:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.lens:after{width:40%;height:40%;border-radius:50%;border:2px solid rgba(255,0,0,.4)}.flash{position:absolute;width:80px;height:40px;background:linear-gradient(90deg,rgba(255,0,0,.2),rgba(255,255,255,.4),rgba(0,255,255,.2));border-radius:5px;opacity:0;animation:flash 8s infinite}@keyframes flash{0%,95%{opacity:0}96%{opacity:.8}98%{opacity:.4}to{opacity:0}}.focus-points{position:absolute;width:250px;height:180px;opacity:.2}.focus-point{position:absolute;width:15px;height:15px;border:1px solid rgba(255,0,0,.6);border-radius:50%}.focus-point.active{background-color:rgba(255,0,0,.3);animation:pulse 2s infinite}@keyframes pulse{0%{transform:scale(1);opacity:.3}50%{transform:scale(1.2);opacity:.6}to{transform:scale(1);opacity:.3}}@keyframes shutterOpen{0%{transform:scale(0);opacity:.8}to{transform:scale(1);opacity:.2}}@keyframes shutterClose{0%{transform:scale(1);opacity:.2}to{transform:scale(0);opacity:.8}}@keyframes rotate{0%{transform:translate(-50%,-50%) rotate(0deg)}to{transform:translate(-50%,-50%) rotate(1turn)}}.photo-frame{position:absolute;border:2px solid rgba(255,255,255,.1);box-shadow:0 0 20px rgba(0,0,0,.5);opacity:.15;transform:rotate(var(--rotation));animation:float var(--duration) infinite alternate ease-in-out}@keyframes float{0%{transform:translateY(0) rotate(var(--rotation))}to{transform:translateY(-20px) rotate(var(--rotation))}}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:2rem}.project-card{background-color:#1a1a1a;border-radius:8px;overflow:hidden;box-shadow:0 4px 8px rgba(0,0,0,.1);transition:transform .3s,box-shadow .3s;position:relative;padding-top:56.25%;border:1px solid #333333;text-decoration:none}.project-card:hover{transform:translateY(-5px);box-shadow:0 6px 12px rgba(0,0,0,.15)}.project-image-container{position:absolute;top:0;left:0;height:100%;width:100%;overflow:hidden}.project-image{height:100%;width:100%;background-size:cover;background-position:50%;transition:transform .5s ease}.project-card:hover .project-image{transform:scale(1.1)}.project-info{position:absolute;bottom:0;left:0;right:0;background:rgba(0,0,0,.7);padding:1rem;z-index:5}.project-title{font-size:1.25rem;margin-bottom:.5rem;color:#00ffff}.project-description{color:#a0a0a0;margin-bottom:.5rem;font-size:.9rem}.project-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);opacity:0;transition:opacity .3s ease;display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:3}.project-card:hover .project-overlay{opacity:1}.project-tags{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-start}.tag{background-color:#ff0000;color:#000000;padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:500}.drive-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:70px;height:70px;background-image:url(https://ssl.gstatic.com/docs/doclist/images/drive_2022q3_32dp.png);background-size:contain;background-repeat:no-repeat;background-position:50%;opacity:0;transition:opacity .8s ease;z-index:10;filter:brightness(0) invert(1)}.project-card:hover .drive-icon{opacity:1}@media (max-width:768px){.project-grid{grid-template-columns:1fr}}