.gallery-grid{display:grid;grid-template-columns:repeat(1,1fr);gap:.5rem;padding:0 .5rem;max-width:1600px;margin:0 auto 4rem}@media(min-width:640px){.gallery-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.gallery-grid{grid-template-columns:repeat(3,1fr);padding:0 1rem;gap:1rem}}.gallery-grid .gallery-item{position:relative;aspect-ratio:1;overflow:hidden;border-radius:4px}.gallery-grid .gallery-item.video-item:before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.2);z-index:1}.gallery-grid .gallery-item.video-item .play-button{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:60px;height:60px;background:rgba(0,0,0,.5);border-radius:50%;display:flex;align-items:center;justify-content:center;z-index:2;cursor:pointer;transition:all .3s ease}.gallery-grid .gallery-item.video-item .play-button:hover{background:rgba(0,0,0,.7);transform:translate(-50%,-50%) scale(1.1)}.gallery-grid .gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.gallery-grid .gallery-item:hover img{transform:scale(1.05)}.loading-container{display:flex;justify-content:center;align-items:center;min-height:400px}.loading-container .loading-spinner{width:40px;height:40px;border-radius:50%;border:4px solid hsla(0,0%,100%,.1);border-left-color:#fff;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.testimonials-section{padding:4rem 1rem}.testimonials-section .testimonials-grid{display:grid;grid-template-columns:1fr;gap:2rem;max-width:1200px;margin:0 auto}@media(min-width:768px){.testimonials-section .testimonials-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.testimonials-section .testimonials-grid{grid-template-columns:repeat(3,1fr)}}.testimonials-section .testimonials-grid .testimonial-card{text-align:center;padding:1rem}.testimonials-section .testimonials-grid .testimonial-card .couple-images{display:flex;justify-content:center;margin-bottom:1.5rem}.page-subtitle{font-size:1rem;margin-top:-1.5rem;margin-bottom:2rem;font-weight:300;letter-spacing:1px;opacity:.7;text-align:center}.password-modal-container{position:fixed;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;background-color:rgba(0,0,0,.75);backdrop-filter:blur(10px);z-index:1000;padding:20px}.password-modal{background-color:#fff;border-radius:8px;padding:30px;max-width:500px;width:100%;box-shadow:0 10px 25px rgba(0,0,0,.5);animation:fadeIn .3s ease-out;color:#000}.modal-title{font-size:24px;font-weight:600;color:#000;margin-bottom:16px}.modal-description{font-size:16px;color:#555;margin-bottom:24px;line-height:1.5}.password-form{display:flex;flex-direction:column}.password-input{padding:12px 16px;border:1px solid #ddd;border-radius:4px;font-size:16px;margin-bottom:16px;transition:border-color .2s ease}.password-input:focus{border-color:#000;outline:none}.password-error{color:#e53e3e;font-size:14px;margin-bottom:16px;animation:shake .5s ease-in-out}.password-submit{padding:12px 24px;background-color:#000;color:#fff;border:none;border-radius:4px;font-size:16px;font-weight:500;cursor:pointer;transition:all .2s ease}.password-submit:hover:not(:disabled){background-color:#333}.password-submit:disabled{background-color:#ccc;color:#666;cursor:not-allowed;opacity:.7}@keyframes fadeIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes shake{0%,to{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-5px)}20%,40%,60%,80%{transform:translateX(5px)}}