     /* --- Brief Wizard Styles (Prefixed with bw-) --- */
     #bw-brief-wizard-section {
         padding: 8rem 1rem;
         display: flex;
         align-items: center;
         justify-content: center;
         width: 100%;
         box-sizing: border-box;
     }

     #bw-brief-wizard-section .bw-wizard-container {
         max-width: 1200px;
         width: 100%;
         margin: auto;
         background-color: #ffffff;
         border-radius: 1rem;
         padding: 2rem 2.5rem;
         box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1);
         text-align: left;
         transition: background-color 0.3s, border-color 0.3s;
     }

     html.dark #bw-brief-wizard-section .bw-wizard-container {
         background-color: var(--card-dark);
         border: 1px solid var(--border-dark);
     }

     #bw-brief-wizard-section .bw-wizard-header {
         text-align: center;
         margin-bottom: 2rem;
     }

     #bw-brief-wizard-section .bw-wizard-header h1 {
         font-size: 2.25rem;
         color: var(--purple);
     }

     html.dark #bw-brief-wizard-section .bw-wizard-header h1 {
         color: var(--purple-light);
     }

     #bw-brief-wizard-section .bw-wizard-header p {
         font-size: 1.125rem;
         color: #6b7280;
     }

     html.dark #bw-brief-wizard-section .bw-wizard-header p {
         color: #9ca3af;
     }


     #bw-brief-wizard-section #bw-progress-bar {
         display: grid;
         grid-template-columns: repeat(6, 1fr);
         margin-bottom: 2.5rem;
         position: relative;
         text-align: center;
         align-items: start;
     }

     #bw-brief-wizard-section #bw-progress-bar::before {
         content: '';
         position: absolute;
         top: 19px;
         left: 0;
         height: 4px;
         width: 100%;
         background-color: #e5e7eb;
         z-index: 1;
     }

     html.dark #bw-brief-wizard-section #bw-progress-bar::before {
         background-color: var(--border-dark);
     }

     #bw-brief-wizard-section #bw-progress-fill {
         position: absolute;
         top: 19px;
         left: 0;
         height: 4px;
         background-color: var(--purple);
         z-index: 2;
         width: 0%;
         max-width: 100%;
         transition: width 0.4s ease;
     }

     html.dark #bw-brief-wizard-section #bw-progress-fill {
         background-color: var(--purple-light);
     }

     #bw-brief-wizard-section .bw-progress-step {
         position: relative;
         z-index: 3;
         display: flex;
         flex-direction: column;
         align-items: center !important;
         justify-content: flex-start;
     }

     #bw-brief-wizard-section .bw-step-circle {
         width: 40px;
         height: 40px;
         border-radius: 50%;
         background-color: var(--bg-light);
         color: #6b7280;
         display: flex;
         align-items: center;
         justify-content: center !important;
         font-weight: bold;
         margin-bottom: 0.5rem;
         transition: all 0.4s ease;
         border: 4px solid #e5e7eb;
         font-size: 1rem;
         flex-shrink: 0;
     }

     html.dark #bw-brief-wizard-section .bw-step-circle {
         background-color: var(--bg-dark);
         color: var(--text-light);
         border-color: var(--border-dark);
     }

     #bw-brief-wizard-section .bw-progress-step.bw-active .bw-step-circle {
         border-color: var(--purple);
         color: var(--purple);
     }

     html.dark #bw-brief-wizard-section .bw-progress-step.bw-active .bw-step-circle {
         border-color: var(--purple-light);
         color: var(--purple-light);
     }

     #bw-brief-wizard-section .bw-progress-step.bw-completed .bw-step-circle {
         background-color: var(--purple);
         border-color: var(--purple);
         color: white;
     }

     html.dark #bw-brief-wizard-section .bw-progress-step.bw-completed .bw-step-circle {
         background-color: var(--purple-light);
         border-color: var(--purple-light);
         color: var(--bg-dark);
     }

     #bw-brief-wizard-section .bw-step-circle svg {
         width: 20px;
         height: 20px;
     }

     #bw-brief-wizard-section .bw-step-label {
         font-size: 0.75rem;
         color: #6b7280;
         font-weight: 500;
         text-align: center !important;
         width: 100%;
         line-height: 1.3;
     }

     #bw-brief-wizard-section .bw-progress-step.bw-active .bw-step-label,
     #bw-brief-wizard-section .bw-progress-step.bw-completed .bw-step-label {
         color: var(--text-dark);
         font-weight: 700;
     }

     html.dark #bw-brief-wizard-section .bw-progress-step.bw-active .bw-step-label,
     html.dark #bw-brief-wizard-section .bw-progress-step.bw-completed .bw-step-label {
         color: var(--text-light);
     }

     #bw-brief-wizard-section .bw-step-card {
         display: none;
     }

     #bw-brief-wizard-section .bw-step-card.bw-active {
         display: block;
         animation: bw-wizardFadeIn 0.5s;
     }

     @keyframes bw-wizardFadeIn {
         from {
             opacity: 0;
             transform: translateY(10px);
         }

         to {
             opacity: 1;
             transform: translateY(0);
         }
     }

     #bw-brief-wizard-section .bw-step-title {
         font-size: 1.5rem;
         margin-bottom: 1.5rem;
         border-bottom: 1px solid #e5e7eb;
         padding-bottom: 0.75rem;
         text-align: center;
     }

     html.dark #bw-brief-wizard-section .bw-step-title {
         border-bottom-color: var(--border-dark);
     }

     #bw-brief-wizard-section .bw-form-group {
         margin-bottom: 1.5rem;
         text-align: left;
     }

     #bw-brief-wizard-section .bw-form-group label,
     #bw-brief-wizard-section .bw-fieldset-label {
         display: block;
         font-weight: 500;
         margin-bottom: 0.75rem;
     }

     #bw-brief-wizard-section .bw-option-group {
         display: grid;
         gap: 1rem;
         grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
     }

     /* Styles for Budget cards */
     #bw-brief-wizard-section .bw-budget-group {
         grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
     }

     #bw-brief-wizard-section .bw-budget-group .bw-option-label {
         text-align: center;
         min-height: auto;
         padding: 0.75rem 1rem;
     }

     #bw-brief-wizard-section .bw-option-label {
         display: flex;
         flex-direction: column;
         justify-content: center;
         background-color: var(--stone-subtle);
         border: 1px solid #e5e7eb;
         border-radius: 0.5rem;
         padding: 1rem;
         cursor: pointer;
         transition: all 0.2s ease;
         position: relative;
         text-align: left;
         min-height: 80px;
     }

     html.dark #bw-brief-wizard-section .bw-option-label {
         background-color: var(--border-dark);
         border-color: #4b5563;
     }

     #bw-brief-wizard-section .bw-option-label:hover {
         border-color: var(--purple);
         transform: translateY(-2px);
         box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1);
     }

     html.dark #bw-brief-wizard-section .bw-option-label:hover {
         border-color: var(--purple-light);
     }

     #bw-brief-wizard-section .bw-option-label.bw-disabled {
         opacity: 0.5;
         cursor: not-allowed;
         background-color: #f3f4f6;
     }

     html.dark #bw-brief-wizard-section .bw-option-label.bw-disabled {
         background-color: var(--border-dark);
     }

     #bw-brief-wizard-section .bw-option-label.bw-disabled:hover {
         transform: none;
         box-shadow: none;
         border-color: #e5e7eb;
     }

     html.dark #bw-brief-wizard-section .bw-option-label.bw-disabled:hover {
         border-color: #4b5563;
     }

     #bw-brief-wizard-section .bw-option-content {
         display: flex;
         align-items: center;
         gap: 1rem;
     }

     #bw-brief-wizard-section .bw-option-icon {
         font-size: 2rem;
         flex-shrink: 0;
     }

     #bw-brief-wizard-section .bw-option-input {
         display: none;
     }

     #bw-brief-wizard-section .bw-option-input:checked+.bw-option-label,
     #bw-brief-wizard-section .bw-option-input:checked~.bw-color-swatch {
         /* For custom color */
         border-color: var(--purple);
         background-color: #f5f3ff;
         box-shadow: 0 0 0 2px var(--purple);
     }

     html.dark #bw-brief-wizard-section .bw-option-input:checked+.bw-option-label,
     html.dark #bw-brief-wizard-section .bw-option-input:checked~.bw-color-swatch {
         background-color: rgba(167, 139, 250, 0.1);
         border-color: var(--purple-light);
         box-shadow: 0 0 0 2px var(--purple-light);
     }

     #bw-brief-wizard-section .bw-option-title {
         font-weight: bold;
     }

     #bw-brief-wizard-section .bw-option-description {
         font-size: 0.875rem;
         color: #6b7280;
         margin-top: 0.25rem;
         line-height: 1.4;
     }

     html.dark #bw-brief-wizard-section .bw-option-description {
         color: #9ca3af;
     }

     #bw-brief-wizard-section fieldset {
         border: none;
         padding: 0;
         margin-top: 2rem;
         margin-bottom: 1.5rem;
         border-top: 1px solid #f3f4f6;
         padding-top: 1.5rem;
     }

     html.dark #bw-brief-wizard-section fieldset {
         border-top-color: var(--border-dark);
     }

     #bw-brief-wizard-section .bw-form-input,
     #bw-brief-wizard-section textarea {
         width: 100%;
         padding: 0.75rem;
         border: 1px solid #d1d5db;
         border-radius: 0.5rem;
         background-color: #fff;
         color: var(--text-dark);
         transition: all 0.2s ease;
         height: 44px;
         line-height: normal;
         box-sizing: border-box;
     }

     html.dark #bw-brief-wizard-section .bw-form-input,
     html.dark #bw-brief-wizard-section textarea {
         background-color: var(--border-dark);
         border-color: #4b5563;
         color: var(--text-light);
     }

     #bw-brief-wizard-section textarea {
         height: auto;
         min-height: 120px;
         resize: vertical;
     }

     #bw-brief-wizard-section .bw-form-input:focus,
     #bw-brief-wizard-section textarea:focus {
         outline: none;
         border-color: var(--purple);
         box-shadow: 0 0 0 2px rgba(124, 58, 237, 0.2);
     }

     html.dark #bw-brief-wizard-section .bw-form-input:focus,
     html.dark #bw-brief-wizard-section textarea:focus {
         border-color: var(--purple-light);
         box-shadow: 0 0 0 2px rgba(167, 139, 250, 0.2);
     }

     .bw-option-label.bw-invalid-field,
     #bw-brief-wizard-section .bw-form-input.bw-invalid-field,
     #bw-brief-wizard-section textarea.bw-invalid-field {
         border-color: #ef4444 !important;
         box-shadow: 0 0 0 2px rgba(239, 68, 68, 0.2) !important;
     }

     #bw-brief-wizard-section .bw-fieldset-label.bw-invalid-field {
         color: #ef4444;
     }

     #bw-brief-wizard-section .bw-color-swatch-group {
         display: flex;
         flex-wrap: wrap;
         gap: 1rem;
         align-items: center;
     }

     #bw-brief-wizard-section .bw-color-swatch {
         width: 40px;
         height: 40px;
         border-radius: 50%;
         cursor: pointer;
         transition: all 0.2s;
         border: 2px solid transparent;
         display: flex;
         align-items: center;
         justify-content: center;
         position: relative;
         overflow: hidden;
         background-color: var(--stone-subtle);
     }

     html.dark #bw-brief-wizard-section .bw-color-swatch {
         border-color: var(--card-dark);
     }

     #bw-brief-wizard-section .bw-color-swatch:hover {
         transform: scale(1.1);
     }

     #bw-brief-wizard-section .bw-color-input {
         display: none;
     }

     #bw-brief-wizard-section .bw-color-input:checked+.bw-color-swatch {
         box-shadow: 0 0 0 3px var(--purple);
         transform: scale(1.1);
         border-color: white;
     }

     html.dark #bw-brief-wizard-section .bw-color-input:checked+.bw-color-swatch {
         box-shadow: 0 0 0 3px var(--purple-light);
     }

     #bw-brief-wizard-section .bw-palette-icon {
         width: 20px;
         height: 20px;
         position: absolute;
         top: 50%;
         left: 50%;
         transform: translate(-50%, -50%);
         z-index: 1;
         pointer-events: none;
         object-fit: contain;
     }

     html.dark #bw-brief-wizard-section .bw-palette-icon {
         filter: invert(1);
     }

     #bw-brief-wizard-section #bw-custom-color-picker {
         position: absolute;
         top: 0;
         left: 0;
         width: 100%;
         height: 100%;
         border: none;
         padding: 0;
         cursor: pointer;
         opacity: 0;
         z-index: 2;
     }

     #bw-brief-wizard-section .bw-custom-color-wrapper {
         display: flex;
         align-items: center;
         gap: 0.5rem;
         /* 8px */
         cursor: pointer;
     }

     #bw-brief-wizard-section .bw-custom-color-text {
         font-weight: 500;
         color: #374151;
         cursor: pointer;
     }

     html.dark #bw-brief-wizard-section .bw-custom-color-text {
         color: var(--text-light);
     }

     #bw-brief-wizard-section .bw-date-input-wrapper {
         position: relative;
     }

     #bw-brief-wizard-section .bw-date-input-icon {
         position: absolute;
         right: 0.75rem;
         top: 50%;
         transform: translateY(-50%);
         width: 1.25rem;
         height: 1.25rem;
         color: #6b7280;
         pointer-events: none;
     }

     #bw-brief-wizard-section .bw-date-input {
         padding-right: 2.5rem;
         position: relative;
         -webkit-appearance: none;
         -moz-appearance: none;
         appearance: none;
     }

     #bw-brief-wizard-section .bw-date-input::-webkit-calendar-picker-indicator {
         position: absolute;
         width: 100%;
         height: 100%;
         top: 0;
         left: 0;
         padding: 0;
         margin: 0;
         color: transparent;
         background: transparent;
         cursor: pointer;
     }

     #bw-brief-wizard-section .bw-wizard-navigation {
         display: flex;
         justify-content: space-between;
         margin-top: 1rem;
         border-top: 1px solid #e5e7eb;
         padding-top: 1.5rem;
     }

     html.dark #bw-brief-wizard-section .bw-wizard-navigation {
         border-top-color: var(--border-dark);
     }

     #bw-brief-wizard-section .bw-wizard-btn {
         background: var(--purple);
         color: white;
         border: none;
         padding: 0.75rem 2rem;
         border-radius: 0.5rem;
         font-weight: bold;
         cursor: pointer;
         transition: all 0.2s ease;
         text-align: center;
         margin: auto;
         display: block;
         width: 304px;
         text-align: center;
     }

     #bw-brief-wizard-section .bw-wizard-btn:hover {
         background-color: #6d28d9;
     }

     html.dark #bw-brief-wizard-section .bw-wizard-btn:hover {
         background-color: #8b5cf6;
     }

     #bw-brief-wizard-section .bw-wizard-btn.bw-prev-btn {
         background-color: #e5e7eb;
         color: #374151;
     }

     html.dark #bw-brief-wizard-section .bw-wizard-btn.bw-prev-btn {
         background-color: var(--border-dark);
         color: var(--text-light);
     }

     #bw-brief-wizard-section .bw-wizard-btn.bw-prev-btn:hover {
         background-color: #d1d5db;
     }

     html.dark #bw-brief-wizard-section .bw-wizard-btn.bw-prev-btn:hover {
         background-color: #4b5563;
     }

     #bw-brief-wizard-section .bw-validation-message {
         text-align: center;
         color: #ef4444;
         font-weight: 500;
         margin-bottom: 1.5rem;
         padding: 0.75rem;
         background-color: #fee2e2;
         border: 1px solid #fca5a5;
         border-radius: 0.5rem;
     }

     html.dark #bw-brief-wizard-section .bw-validation-message {
         background-color: rgba(239, 68, 68, 0.1);
         border-color: #ef4444;
     }

     #bw-brief-wizard-section .bw-hidden {
         display: none !important;
     }

     #bw-brief-wizard-section .bw-contact-fields-wrapper {
         display: grid;
         grid-template-columns: 1fr;
         gap: 1rem;
         margin-top: 2rem;
         border-top: 1px solid #e5e7eb;
         padding-top: 2rem;
     }

     html.dark #bw-brief-wizard-section .bw-contact-fields-wrapper {
         border-top-color: var(--border-dark);
     }

     #bw-brief-wizard-section #bw-summary-content {
         background-color: var(--stone-subtle);
         padding: 1.5rem;
         border-radius: .5rem;
         margin-bottom: 2rem;
     }

     html.dark #bw-brief-wizard-section #bw-summary-content {
         background-color: var(--border-dark);
     }

     #bw-brief-wizard-section .bw-summary-grid {
         display: grid;
         grid-template-columns: 1fr 1fr;
         gap: 1.5rem;
     }

     #bw-brief-wizard-section .bw-summary-section.bw-full-width {
         grid-column: 1 / -1;
     }

     #bw-brief-wizard-section .bw-summary-section h4 {
         font-size: 1.125rem;
         margin-bottom: 1rem;
         color: var(--purple);
     }

     html.dark #bw-brief-wizard-section .bw-summary-section h4 {
         color: var(--purple-light);
     }

     #bw-brief-wizard-section .bw-summary-section p {
         margin-bottom: 0.5rem;
     }

     #bw-brief-wizard-section .bw-summary-section p strong {
         font-weight: 500;
         color: #374151;
     }

     html.dark #bw-brief-wizard-section .bw-summary-section p strong {
         color: #d1d5db;
     }

     #bw-brief-wizard-section #bw-summary-custom-description {
         white-space: pre-wrap;
         line-height: 1.6;
     }

     #bw-brief-wizard-section #bw-summary-color-display {
         display: inline-block;
         width: 16px;
         height: 16px;
         border-radius: 50%;
         vertical-align: middle;
         margin-right: 0.5rem;
         border: 1px solid #e5e7eb;
     }

     #bw-brief-wizard-section .bw-features-summary-container {
         display: grid;
         grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
         gap: 1.5rem;
     }

     #bw-brief-wizard-section .bw-summary-feature-category h5 {
         font-weight: bold;
         margin-bottom: 0.5rem;
     }

     #bw-brief-wizard-section .bw-summary-feature-category ul {
         list-style: none;
         padding-left: 0;
     }

     #bw-brief-wizard-section .bw-summary-feature-category li {
         position: relative;
         padding-left: 1.25rem;
         margin-bottom: 0.25rem;
     }

     #bw-brief-wizard-section .bw-summary-feature-category li::before {
         content: '✓';
         color: #22c55e;
         position: absolute;
         left: 0;
     }

     @media (min-width: 640px) {
         #bw-brief-wizard-section .bw-contact-fields-wrapper {
             grid-template-columns: 1fr 1fr;
         }

         #bw-brief-wizard-section .bw-contact-fields-wrapper .bw-form-group.bw-full-width {
             grid-column: 1 / -1;
         }
     }

     @media (max-width: 768px) {
         #bw-brief-wizard-section .bw-wizard-header h1 {
             font-size: 1.7rem;
         }

         #bw-brief-wizard-section .bw-wizard-container {
             padding: 2rem 1.5rem;
         }

         #bw-brief-wizard-section #bw-progress-bar {
             grid-template-columns: repeat(6, 1fr);
             gap: 1rem 0;
         }

         #bw-brief-wizard-section .bw-step-label {
             font-size: 0.7rem;
         }

         #bw-brief-wizard-section .bw-summary-grid {
             grid-template-columns: 1fr;
         }

         #bw-brief-wizard-section .bw-wizard-navigation {
             flex-direction: column-reverse;
             gap: 1rem;
         }

         #bw-brief-wizard-section .bw-wizard-btn {
             width: 100%;
         }

         #bw-brief-wizard-section {
             padding: 6rem 1rem;
         }
     }