.profile-page{max-width:1200px;margin:0 auto;padding:4rem 1rem}@media (min-width:640px){.profile-page{padding:4rem 2rem}}.profile-header{text-align:center;margin-bottom:3rem}.profile-photo{width:200px;height:200px;border-radius:50%;margin:0 auto 1rem;box-shadow:0 4px 20px rgba(124,58,237,.15);-o-object-fit:cover;object-fit:cover;-o-object-position:center top;object-position:center top}.profile-header h2{font-size:2rem;margin-bottom:1rem;color:#4b5563;text-shadow:none}@media (min-width:640px){.profile-header h2{font-size:2rem}}.bio{font-size:1.25rem;color:#4b5563;margin-bottom:1rem}.bio-extended{max-width:600px;margin:0 auto;color:#6b7280;line-height:1.6}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;padding:2rem 0;max-width:1200px;margin:0 auto}@media (max-width:768px){.gallery-grid{grid-template-columns:1fr;gap:1.5rem}}.gallery-image-container{width:100%;aspect-ratio:16/9;position:relative;overflow:hidden;border-radius:.75rem;margin-bottom:.75rem;box-shadow:0 4px 6px rgba(0,0,0,.1);background:#f3f4f6}.gallery-image-container img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.gallery-item h3{font-size:1rem;color:#4b5563;margin-top:.75rem;text-align:center;font-weight:500;letter-spacing:-.01em;transition:color .3s ease}@media (min-width:640px){.gallery-item h3{font-size:1.125rem}}.gallery-item:hover h3{color:#7c3aed}.error-message{text-align:center;padding:2rem;color:#ef4444;font-size:1.25rem}.locked-item{cursor:pointer}.lock-container{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f3f4f6,#e5e7eb);position:relative;transition:all .3s ease}.lock-container:hover{background:linear-gradient(135deg,#7c3aed,#a855f7)}.lock-icon{width:3rem;height:3rem;color:#6b7280;transition:all .3s ease;z-index:1}.lock-container:hover .lock-icon{color:#fff;transform:scale(.8);opacity:.3}.unlock-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-weight:600;font-size:1.1rem;opacity:0;transition:all .3s ease;z-index:2}.lock-container:hover .unlock-overlay{opacity:1}