body { background-color: #F8F9FA; -webkit-font-smoothing: antialiased; }
/* Smooth View Transitions */
.view-section { display: none; opacity: 0; transition: opacity 0.4s ease; }
.active-view { display: block; opacity: 1; animation: slideUp 0.5s cubic-bezier(0.16, 1, 0.3, 1); }
@keyframes slideUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }

/* Form Steps */
.form-step { display: none; }
.form-step.active { display: block; animation: fadeIn 0.3s ease; }
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }

/* Premium Loader */
#global-loader {
    position: fixed; inset: 0; background: #070C1A; z-index: 9999;
    display: flex; flex-direction: column; justify-content: center; align-items: center;
    transition: opacity 0.6s ease, visibility 0.6s ease;
}
.spinner {
    width: 50px; height: 50px; border: 3px solid rgba(212, 175, 55, 0.2);
    border-top-color: #D4AF37; border-radius: 50%;
    animation: spin 1s linear infinite;
}
@keyframes spin { to { transform: rotate(360deg); } }

/* Custom Scrollbar for Luxury Feel */
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: #F8F9FA; }
::-webkit-scrollbar-thumb { background: #D4AF37; border-radius: 10px; }

/* Image Hover Zoom & Gallery */
.img-zoom-container { overflow: hidden; }
.img-zoom { transition: transform 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
.property-card:hover .img-zoom { transform: scale(1.08); }
.gallery-item { aspect-ratio: 1; object-fit: cover; border-radius: 0.5rem; cursor: pointer; transition: opacity 0.2s; border: 2px solid transparent; }
.gallery-item:hover { opacity: 0.8; }
.gallery-item.active-thumb { border-color: #D4AF37; }
.text-brass {
    --tw-text-opacity: 1;
    color: rgb(181 138 97 / var(--tw-text-opacity, 1)) }
.text-brand-warmWhite\/70 {
    color: rgb(255 252 248 / 0.7);
}