body{font-family:Inter,sans-serif;background-color:#f8f9fa}.mobile-menu-link{display:flex;align-items:center;padding:12px 16px;border-radius:8px;font-weight:500;color:#374151;transition:background-color .2s,color .2s}.mobile-menu-link:hover{background-color:#f3f4f6}.hero-bg{background-color:#f0f8ff;background-size:cover;background-position:center}.scroll-container::-webkit-scrollbar{display:none}.scroll-container{-ms-overflow-style:none;scrollbar-width:none}.modal-backdrop{transition:opacity .3s ease-in-out}.modal-content{transition:transform .3s ease-in-out}.contact-tab-button{padding:8px 16px;border-bottom:2px solid transparent;font-weight:600;color:#6b7280;transition:.2s}.contact-tab-button.active{color:#2563eb;border-bottom-color:#2563eb}.contact-item{display:flex;align-items:center;padding:12px;background-color:#f9fafb;border-radius:8px;margin-bottom:8px}.contact-item i{color:#2563eb;font-size:1.25rem;width:40px;text-align:center}.contact-link{color:#1f2937;font-weight:500;text-decoration:none}.contact-link:hover{text-decoration:underline}.rating-stars{display:inline-flex;flex-direction:row-reverse;justify-content:center}.rating-stars input{display:none}.rating-stars label{color:#ccc;cursor:pointer;font-size:2rem;transition:color .2s}.rating-stars input:checked~label,.rating-stars:not(:checked)>label:hover,.rating-stars:not(:checked)>label:hover~label{color:#ffc107}@keyframes shake{10%,90%{transform:translate3d(-1px,0,0)}20%,80%{transform:translate3d(2px,0,0)}30%,50%,70%{transform:translate3d(-3px,0,0)}40%,60%{transform:translate3d(3px,0,0)}}.animate-shake{animation:.8s cubic-bezier(.36,.07,.19,.97) both shake;animation-delay:3s;animation-iteration-count:11}#image-lightbox{transition:opacity .3s}#lightbox-image,.image-hidden{transition:opacity .3s,transform .3s}#lightbox-image{max-width:90vw;max-height:85vh}#close-lightbox{position:absolute;opacity:0;transition:opacity .25s;z-index:100}.image-hidden{opacity:0!important;transform:scale(.98)}.lightbox-spinner{position:absolute;width:50px;height:50px;border:5px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:1s linear infinite spin;display:none}@keyframes spin{to{transform:rotate(360deg)}}.gallery-img{background-color:#e5e7eb}