To solve this optimization problem, we first need to define the decision variables and the objective function. Let's denote the number of kilograms of Combo X as `x` and the number of kilograms of Combo Y as `y`. The objective is to maximize profit, which can be calculated based on the profit per kilogram of each combo.

The profit from selling `x` kilograms of Combo X at $35 per kilogram is $35x$, and the profit from selling `y` kilograms of Combo Y at $55 per kilogram is $55y$. Therefore, the total profit to be maximized is given by the objective function: Maximize $35x + 55y$.

Next, we need to consider the constraints based on the availability of almonds and hazelnuts. Since Combo X is 70% almonds and 30% hazelnuts, each kilogram of Combo X requires 0.7 kilograms of almonds and 0.3 kilograms of hazelnuts. Similarly, since Combo Y is 35% almonds and 65% hazelnuts, each kilogram of Combo Y requires 0.35 kilograms of almonds and 0.65 kilograms of hazelnuts.

Given that Alpha Nut has 35 kilograms of almonds and 20 kilograms of hazelnuts, we can formulate the following constraints:

1. Almond constraint: $0.7x + 0.35y \leq 35$
2. Hazelnut constraint: $0.3x + 0.65y \leq 20$

Additionally, since Alpha Nut cannot produce a negative amount of either combo, we have non-negativity constraints:

3. Non-negativity for Combo X: $x \geq 0$
4. Non-negativity for Combo Y: $y \geq 0$

Now, let's translate these into Gurobi code in Python:

```python
from gurobipy import *

# Create a model
m = Model("Nut_Combo_Optimization")

# Define the decision variables
x = m.addVar(lb=0, name="Combo_X")  # Amount of Combo X to produce
y = m.addVar(lb=0, name="Combo_Y")  # Amount of Combo Y to produce

# Set the objective function: Maximize profit
m.setObjective(35*x + 55*y, GRB.MAXIMIZE)

# Add constraints
m.addConstr(0.7*x + 0.35*y <= 35, "Almond_Constraint")
m.addConstr(0.3*x + 0.65*y <= 20, "Hazelnut_Constraint")

# Optimize the model
m.optimize()

# Print the solution
if m.status == GRB.OPTIMAL:
    print(f"Optimal solution: Produce {x.x:.2f} kg of Combo X and {y.x:.2f} kg of Combo Y.")
else:
    print("No optimal solution found. The problem might be infeasible.")

```