
        @import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;500;600;700&family=Montserrat:wght@300;400;500;600&display=swap');
        
        :root {
            --primary: #c17a96; /* Darker, more vibrant pink */
            --secondary: #d1cfe2;
            --dark: #3a3a62;
            --light: #f8f8f8;
        }
        
        body {
            font-family: 'Montserrat', sans-serif;
            background-color: var(--light);
            color: #333;
        }
        
        h1, h2, h3, h4 {
            font-family: 'Playfair Display', serif;
        }
        
        .hero {
            background: linear-gradient(rgba(58, 58, 98, 0.7), rgba(58, 58, 98, 0.7)), url('https://images.unsplash.com/photo-1596704017256-dfb5c54a162b?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1470&q=80');
            background-size: cover;
            background-position: center;
        }
        
        .service-card:hover {
            transform: translateY(-10px);
            box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
        }
        
        .gallery-item {
            transition: all 0.3s ease;
        }
        
        .gallery-item:hover {
            transform: scale(1.03);
        }
        
        .testimonial-card {
            background-color: rgba(255, 255, 255, 0.9);
            backdrop-filter: blur(5px);
        }
        
        .booking-form {
            background: linear-gradient(135deg, rgba(212, 175, 185, 0.9) 0%, rgba(209, 207, 226, 0.9) 100%);
        }
        
        .floating-button {
            animation: float 3s ease-in-out infinite;
        }
        
        @keyframes float {
            0% { transform: translateY(0px); }
            50% { transform: translateY(-15px); }
            100% { transform: translateY(0px); }
        }
        
        .nav-link {
            position: relative;
        }
        
        .nav-link:after {
            content: '';
            position: absolute;
            width: 0;
            height: 2px;
            bottom: -2px;
            left: 0;
            background-color: var(--primary);
            transition: width 0.3s ease;
        }
        
        .nav-link:hover:after {
            width: 100%;
        }

        /* Custom utility classes for better contrast */
        .bg-primary {
            background-color: var(--primary);
        }

        .text-primary {
            color: var(--primary);
        }

        .hover\:text-primary:hover {
            color: var(--primary);
        }

        .hover\:bg-primary-dark:hover {
            background-color: #a95c7c; /* A darker shade for hover */
        }

        /* Form Validation Styles */
        .form-error {
            color: var(--primary);
            font-size: 0.875rem; /* 14px */
            height: 1rem; /* Reserve space to prevent layout shift */
            display: block;
            margin-top: 0.25rem;
        }

        .input-error {
            border-color: var(--primary) !important; /* Add important to override other border styles */
            --tw-ring-color: var(--primary) !important;
        }
