@import url("https://fonts.googleapis.com/css2?family=Rubik:wght@400&display=swap");.img-input.dragover,.img-input:hover{opacity:.5}.animated-gradient-text{display:inline-block;background-image:linear-gradient(135deg,#79c2ff,#579fdd);background-size:auto 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:grad 6s ease-in-out infinite}@keyframes grad{0%{-webkit-filter:hue-rotate(0deg)}to{-webkit-filter:hue-rotate(1turn)}}.home-projects-button-gradient-text{background-size:auto auto}.home-projects-button-gradient-text,.projects-gradient-text{display:inline-block;background-image:linear-gradient(135deg,#ff7c20,#ff4093);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.projects-gradient-text{background-size:auto 100%}.resume-gradient-text{background-image:linear-gradient(135deg,#03fc88,#0394fc)}.other-work-gradient-text,.resume-gradient-text{display:inline-block;background-size:auto 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.other-work-gradient-text{background-image:linear-gradient(135deg,#f52a67,#bf2af5)}.gallery-container{padding:2rem;max-width:1200px;margin:0 auto}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem;padding:1rem 0}.gallery-item{position:relative;border-radius:8px;overflow:hidden;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 6px rgba(0,0,0,.1)}.gallery-item:hover{transform:scale(1.05);z-index:10;box-shadow:0 8px 25px rgba(0,0,0,.3)}.gallery-item.grayed-out{filter:grayscale(100%) brightness(.7);opacity:.7}.gallery-image{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.8);display:flex;justify-content:center;align-items:center;z-index:1000;padding:2rem}@keyframes modalAppear{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.close-button{position:absolute;top:1rem;right:1rem;background:rgba(0,0,0,.7);color:white;border:none;border-radius:50%;width:40px;height:40px;font-size:1.5rem;cursor:pointer;z-index:10;display:flex;align-items:center;justify-content:center;transition:background-color .3s ease}.close-button:hover{background:rgba(0,0,0,.9)}.modal-description{padding:2rem;background:white}.modal-description h3{margin:0 0 1rem;color:#333;font-size:1.5rem}.modal-description p{margin:0;color:#666;line-height:1.6}@media (max-width:768px){.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.5rem}.modal-content{margin:1rem;max-height:95vh}.modal-description{padding:1rem}}.modal-media-container{width:100%;background:#000}.video-container{position:relative;padding-bottom:56.25%;height:0;width:100%;overflow:hidden}.modal-video{position:absolute;top:0;left:0;width:100%;height:100%;border:none}.modal-content{background:white;border-radius:12px;max-width:900px;width:90vw;max-height:90vh;overflow:auto;position:relative;animation:modalAppear .3s ease-out}.modal-image-container{width:100%;display:flex;justify-content:center;background:#000}.modal-image{width:100%;height:auto;max-height:70vh;object-fit:contain;background:#000}.video-indicator{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:2;background:rgba(0,0,0,.7);border-radius:50%;width:60px;height:60px;display:flex;align-items:center;justify-content:center;pointer-events:none}.video-indicator svg{width:24px;height:24px}@media (max-width:768px){.modal-content{width:95vw;max-height:95vh}.video-container{padding-bottom:75%}}