        body { font-family: var(--font-body) !important; color: var(--charcoal-gray); background-color: var(--off-white); overflow-x: hidden; -webkit-font-smoothing: antialiased !important; -moz-osx-font-smoothing: grayscale !important; }
        h1, h2, h3, h4, h5, h6, .navbar-brand { font-family: var(--font-serif) !important; font-weight: 700 !important; letter-spacing: 1px !important; }
        .text-navy { color: var(--estate-navy) !important; }
        .text-gold { color: var(--estate-gold) !important; }
        
        .bg-navy { background-color: var(--estate-navy) !important; }
        .bg-gold { background-color: var(--estate-gold) !important; }
        .text-navy { color: var(--estate-navy) !important; }
        .text-gold { color: var(--estate-gold) !important; }
        
        .navbar { background-color: rgba(10, 32, 56, 0.98) !important; backdrop-filter: blur(10px); }
        .navbar-brand { color: #ffffff !important; }

        .btn { transition: all 0.3s ease; border-radius: var(--border-rad); }
        .btn-primary {
            background-color: var(--estate-gold); border-color: var(--estate-gold); color: #fff;
            padding: 12px 30px; text-transform: uppercase; font-weight: 600; letter-spacing: 1px; font-size: 0.9rem;
            box-shadow: 0 4px 10px rgba(0,0,0,0.1);
        }
        .btn-primary:hover { background-color: #9c732f; border-color: #9c732f; transform: translateY(-3px); box-shadow: 0 8px 20px rgba(184, 136, 56, 0.4); }


        .section-padding { padding: 80px 0; }
        
        .service-card { border-radius: var(--border-rad); box-shadow: 0 10px 40px rgba(0,0,0,0.08); background-color: #fff; border-top: 4px solid var(--estate-gold); padding: 40px; }
        .form-control, .form-select { padding: 12px 15px; border-radius: 8px; border: 1px solid #e0e0e0; background-color: #fcfcfc; }
        .form-control:focus, .form-select:focus { border-color: var(--estate-gold); box-shadow: 0 0 0 0.25rem rgba(184, 136, 56, 0.15); background-color: #fff; }
        .form-label { font-weight: 600; color: var(--estate-navy); font-size: 0.95rem; margin-top: 15px; }
        
        .expectation-list li { margin-bottom: 1.5rem; display: flex; align-items: flex-start; }
        .expectation-icon { width: 40px; height: 40px; background-color: rgba(184, 136, 56, 0.1); color: var(--estate-gold); border-radius: 50%; display: flex; align-items: center; justify-content: center; flex-shrink: 0; margin-right: 15px; }
        
        .form-section-title { border-bottom: 2px solid #f0f0f0; padding-bottom: 10px; margin-top: 30px; margin-bottom: 20px; font-weight: bold; color: var(--estate-navy); }
        
        /* Form Validation Styles */
        .form-control.is-invalid, .form-select.is-invalid { border-color: #dc3545; background-image: none; }
        .form-control.is-invalid:focus, .form-select.is-invalid:focus { border-color: #dc3545; box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25); }
        .form-control.is-valid, .form-select.is-valid { border-color: #198754; background-image: none; }
        .form-control.is-valid:focus, .form-select.is-valid:focus { border-color: #198754; box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.25); }
        
        .invalid-feedback { display: none; color: #dc3545; font-size: 0.875rem; margin-top: 0.25rem; font-weight: 500; }
        .valid-feedback { display: none; color: #198754; font-size: 0.875rem; margin-top: 0.25rem; }
        
        .form-control.is-invalid ~ .invalid-feedback,
        .form-select.is-invalid ~ .invalid-feedback { display: block; }
        
        /* Checkbox/Radio validation */
        .form-check.invalid-group .form-check-input { border-color: #dc3545; }
        .invalid-group .invalid-feedback { display: block; margin-top: 0.5rem; margin-left: 0; }