
            /* ===== Quote Step 1 — Toggle Hub (Scoped) ===== */
            #step-1 .step1-shell {
                margin-top: 1.5rem;
                border-radius: 14px;
                border: 1px solid var(--color-border-subtle);
                background: linear-gradient(145deg, var(--color-bg-surface), #141414);
                padding: 1.25rem;
            }

            #step-1 .step1-topbar {
                display: flex;
                align-items: flex-start;
                justify-content: space-between;
                gap: 1rem;
                flex-wrap: wrap;
                margin-bottom: 1rem;
            }

            #step-1 .step1-topbar p {
                color: var(--color-text-secondary);
                margin: 0.35rem 0 0;
                max-width: 70ch;
            }

            #step-1 .step1-pill {
                display: inline-flex;
                align-items: center;
                gap: 0.55rem;
                padding: 0.55rem 0.8rem;
                border-radius: 999px;
                border: 1px solid rgba(187, 134, 252, 0.2);
                background: rgba(187, 134, 252, 0.06);
                color: var(--color-text-secondary);
                font-weight: 600;
                font-size: 0.92rem;
                user-select: none;
                white-space: nowrap;
            }

            #step-1 .services-hub {
                display: grid;
                gap: 1rem;
                margin-top: 1rem;
            }

            /* Category toggles */
            #step-1 details.service-category {
                border-radius: 14px;
                border: 1px solid var(--color-border-subtle);
                background: rgba(0, 0, 0, 0.12);
                overflow: hidden;
                transition: border-color 0.25s ease, box-shadow 0.25s ease;
            }

            #step-1 details.service-category:hover {
                border-color: rgba(187, 134, 252, 0.28);
            }

            #step-1 details.service-category[open] {
                border-color: rgba(187, 134, 252, 0.65);
                box-shadow: 0 14px 36px rgba(0, 0, 0, 0.55);
            }

            #step-1 details.service-category summary {
                cursor: pointer;
                list-style: none;
                user-select: none;
                padding: 1.1rem 1.25rem;
                display: flex;
                align-items: center;
                justify-content: space-between;
                gap: 1rem;
                background: linear-gradient(145deg, rgba(255, 255, 255, 0.02), rgba(255, 255, 255, 0.01));
            }

            #step-1 details.service-category summary::-webkit-details-marker {
                display: none;
            }

            #step-1 .cat-title {
                color: #fff;
                font-weight: 750;
                font-size: 1.0rem;
                letter-spacing: -0.01em;
            }

            /* Plus toggle */
            #step-1 .cat-toggle {
                width: 42px;
                height: 42px;
                border-radius: 12px;
                border: 1px solid rgba(187, 134, 252, 0.22);
                background: rgba(187, 134, 252, 0.06);
                color: var(--color-primary-accent);
                display: inline-flex;
                align-items: center;
                justify-content: center;
                font-size: 1.5rem;
                line-height: 1;
                transition: transform 0.2s ease, border-color 0.2s ease, background 0.2s ease;
                flex: 0 0 auto;
            }

            #step-1 details.service-category:hover .cat-toggle {
                border-color: rgba(187, 134, 252, 0.45);
                background: rgba(187, 134, 252, 0.1);
            }

            #step-1 details.service-category[open] .cat-toggle {
                transform: rotate(45deg);
                border-color: rgba(187, 134, 252, 0.6);
                background: rgba(187, 134, 252, 0.12);
            }

            /* Services grid (no descriptions) */
            #step-1 .details-content {
                padding: 1.25rem;
                border-top: 1px solid rgba(255, 255, 255, 0.06);
                display: grid;
                grid-template-columns: repeat(2, minmax(0, 1fr));
                gap: 0.9rem;
                background: rgba(255, 255, 255, 0.01);
            }

            #step-1 .service-item {
                border-radius: 14px;
                border: 1px solid var(--color-border-subtle);
                background: var(--color-bg-base);
                padding: 0.95rem 1rem;
                transition: transform 0.2s ease, border-color 0.2s ease, background 0.2s ease;
                position: relative;
                overflow: hidden;
            }

            #step-1 .service-item::before {
                content: "";
                position: absolute;
                inset: 0;
                background: linear-gradient(90deg, transparent, rgba(187, 134, 252, 0.08), transparent);
                transform: translateX(-100%);
                transition: transform 0.6s ease;
                pointer-events: none;
            }

            #step-1 .service-item:hover::before {
                transform: translateX(100%);
            }

            #step-1 .service-item:hover {
                transform: translateY(-2px);
                background: rgba(255, 255, 255, 0.02);
            }

            #step-1 .service-row {
                display: flex;
                align-items: center;
                justify-content: space-between;
                gap: 1rem;
                cursor: pointer;
            }

            #step-1 .service-name {
                color: #fff;
                font-weight: 700;
                font-size: 0.9rem;
                letter-spacing: -0.01em;
                line-height: 1.25;
                min-width: 0;
            }

            /* Right-side checkbox control */
            #step-1 .service-select {
                width: 46px;
                height: 46px;
                border-radius: 14px;
                background: rgba(187, 134, 252, 0.06);
                display: inline-flex;
                align-items: center;
                justify-content: center;
                flex: 0 0 auto;
                transition: transform 0.2s ease, border-color 0.2s ease, background 0.2s ease;
            }

            #step-1 .service-item:hover .service-select {
                transform: translateY(-1px);
                background: rgba(187, 134, 252, 0.1);
            }

            #step-1 input[type="checkbox"][name="services"] {
                width: 18px;
                height: 18px;
                accent-color: var(--color-primary-accent);
                cursor: pointer;
            }

            #step-1 .service-row:focus-within {
                outline-offset: 4px;
                border-radius: 14px;
            }

            /* --- Services Hub Page Specific --- */
            .services-selection {
                max-width: 1000px;
                padding-top: 0;
                padding-bottom: 0;
            }

            /* ===== Step 2 Responsive Styling ===== */
            #step-2 .budget-mode-grid {
                display: grid;
                grid-template-columns: repeat(2, minmax(0, 1fr));
                gap: 1rem;
                margin-top: 1.5rem;
            }

            #step-2 .budget-mode-card,
            #step-2 .budget-summary-card,
            #step-2 .budget-slider-card,
            #step-2 .budget-custom-card {
                background: var(--color-surface);
                border: 1px solid var(--color-border);
                border-radius: 12px;
            }

            #step-2 .budget-mode-card {
                display: block;
                padding: 1.25rem;
                cursor: pointer;
                min-width: 0;
            }

            #step-2 .budget-mode-card-inner {
                display: flex;
                align-items: flex-start;
                gap: 0.75rem;
            }

            #step-2 .budget-mode-copy {
                min-width: 0;
            }

            #step-2 .budget-mode-title {
                font-weight: 700;
                line-height: 1.3;
            }

            #step-2 .budget-mode-text {
                color: var(--color-text-secondary);
                margin-top: 0.35rem;
                font-size: 0.95rem;
                line-height: 1.55;
            }

            #step-2 .budget-summary-card {
                margin-top: 1rem;
                padding: 1.25rem;
            }

            #step-2 .budget-summary-row {
                display: flex;
                align-items: baseline;
                justify-content: space-between;
                gap: 1rem;
                flex-wrap: wrap;
            }

            #step-2 .budget-summary-label {
                color: var(--color-text-secondary);
                font-weight: 600;
                font-size: 0.95rem;
            }

            #step-2 .budget-range-value {
                font-size: clamp(1.4rem, 4vw, 1.85rem);
                font-weight: 800;
                margin-top: 0.25rem;
                line-height: 1.15;
                word-break: break-word;
            }

            #step-2 .budget-slider-card,
            #step-2 .budget-custom-card {
                margin-top: 1rem;
                padding: 1.5rem;
            }

            #step-2 .budget-slider-header {
                display: flex;
                justify-content: space-between;
                gap: 1rem;
                align-items: center;
                flex-wrap: wrap;
            }

            #step-2 .budget-slider-title {
                font-weight: 700;
            }

            #step-2 .budget-slider-target {
                font-weight: 800;
                text-align: right;
            }

            #step-2 .budget-slider-wrap {
                margin-top: 1rem;
            }

            #step-2 .budget-slider-label {
                display: block;
                margin-bottom: 0.75rem;
                font-weight: 600;
                color: var(--color-text-secondary);
                line-height: 1.5;
            }

            #step-2 .budget-slider-input {
                -webkit-appearance: none;
                appearance: none;
                width: 100%;
                height: 6px;
                border-radius: 999px;
                background: linear-gradient(90deg,
                        var(--color-primary-accent) 0%,
                        var(--color-primary-accent) 100%);
                outline: none;
                cursor: pointer;
                accent-color: var(--color-primary-accent);
            }

            /* WebKit track */
            #step-2 .budget-slider-input::-webkit-slider-runnable-track {
                height: 6px;
                border-radius: 999px;
                background: rgba(187, 134, 252, 0.28);
            }

            /* WebKit thumb */
            #step-2 .budget-slider-input::-webkit-slider-thumb {
                -webkit-appearance: none;
                appearance: none;
                width: 20px;
                height: 20px;
                margin-top: -7px;
                border-radius: 50%;
                border: 2px solid var(--color-primary-accent);
                background: var(--color-primary-accent);
                box-shadow: 0 0 0 4px rgba(187, 134, 252, 0.16);
                transition: transform 0.2s ease, box-shadow 0.2s ease;
            }

            /* Firefox track */
            #step-2 .budget-slider-input::-moz-range-track {
                height: 6px;
                border-radius: 999px;
                background: rgba(187, 134, 252, 0.28);
                border: none;
            }

            /* Firefox progress */
            #step-2 .budget-slider-input::-moz-range-progress {
                height: 6px;
                border-radius: 999px;
                background: var(--color-primary-accent);
            }

            /* Firefox thumb */
            #step-2 .budget-slider-input::-moz-range-thumb {
                width: 20px;
                height: 20px;
                border-radius: 50%;
                border: 2px solid var(--color-primary-accent);
                background: var(--color-primary-accent);
                box-shadow: 0 0 0 4px rgba(187, 134, 252, 0.16);
                transition: transform 0.2s ease, box-shadow 0.2s ease;
            }

            /* Hover / focus */
            #step-2 .budget-slider-input:hover::-webkit-slider-thumb,
            #step-2 .budget-slider-input:focus::-webkit-slider-thumb {
                transform: scale(1.05);
                box-shadow: 0 0 0 6px rgba(187, 134, 252, 0.2);
            }

            #step-2 .budget-slider-input:hover::-moz-range-thumb,
            #step-2 .budget-slider-input:focus::-moz-range-thumb {
                transform: scale(1.05);
                box-shadow: 0 0 0 6px rgba(187, 134, 252, 0.2);
            }

            #step-2 .budget-slider-scale {
                display: flex;
                justify-content: space-between;
                gap: 1rem;
                margin-top: 0.75rem;
                color: var(--color-text-secondary);
                font-size: 0.95rem;
            }

            #step-2 .budget-custom-title {
                font-weight: 700;
                line-height: 1.3;
            }

            #step-2 .budget-custom-text {
                margin: 0.5rem 0 1.25rem;
                color: var(--color-text-secondary);
                line-height: 1.6;
            }

            #step-2 .budget-custom-grid {
                display: grid;
                grid-template-columns: repeat(2, minmax(0, 1fr));
                gap: 1rem;
            }
             .form-actions .btn-secondary,
                .form-actions .btn-primary {
                    font-size: 0.9rem;
                font-weight: 800;
                }

            @media (max-width: 820px) {
                #step-1 .details-content {
                    grid-template-columns: 1fr;
                }

                #step-2 .budget-mode-grid,
                #step-2 .budget-custom-grid {
                    grid-template-columns: 1fr;
                }

                #step-2 .budget-slider-card,
                #step-2 .budget-custom-card,
                #step-2 .budget-summary-card {
                    padding: 1.15rem;
                }

                #step-2 .budget-slider-header,
                #step-2 .budget-summary-row {
                    align-items: flex-start;
                }

                #step-2 .budget-slider-target {
                    text-align: left;
                    width: 100%;
                }
                 #step-2 .form-actions .btn-secondary,
                #step-2 .form-actions .btn-primary {
                    width: 100%;
                    margin: 0.5rem;
                }
            }

            @media (max-width: 640px) {
                #step-2 h3 {
                    line-height: 1.2;
                }

                #step-2 .budget-mode-card {
                    padding: 1rem;
                }

                #step-2 .budget-mode-card-inner {
                    gap: 0.65rem;
                }

                #step-2 .budget-mode-text,
                #step-2 .budget-slider-label,
                #step-2 .budget-custom-text,
                #step-2 .budget-slider-scale {
                    font-size: 0.92rem;
                }

                #step-2 .budget-range-value {
                    font-size: 1.3rem;
                }

                #step-2 .form-actions {
                    flex-direction: column;
                    align-items: stretch;
                }

                #step-2 .form-actions .btn-secondary,
                #step-2 .form-actions .btn-primary {
                    width: 100%;
                    margin: 0.5rem;
                }
            }
        