To solve this problem, we need to define the decision variables, the objective function, and the constraints. Let's break down the information provided:

- Decision Variables:
  - \(R\): Number of regular refrigerators made.
  - \(E\): Number of energy-efficient refrigerators made.

- Objective Function: Maximize profit.
  - Profit per regular refrigerator = $50
  - Profit per energy-efficient refrigerator = $80

- Constraints:
  - Demand constraints:
    - At least 25 regular refrigerators (\(R \geq 25\))
    - At least 40 energy-efficient refrigerators (\(E \geq 40\))
  - Production capacity constraints:
    - At most 100 regular refrigerators (\(R \leq 100\))
    - At most 70 energy-efficient refrigerators (\(E \leq 70\))
  - Total production constraint (to satisfy a contract):
    - Minimum of 90 refrigerators in total (\(R + E \geq 90\))

Given these constraints, the objective is to maximize profit. The profit function can be represented as \(50R + 80E\).

Here's how we translate this into Gurobi code:

```python
from gurobipy import *

# Create a new model
m = Model("Furniture_Company_Optimization")

# Decision variables
R = m.addVar(vtype=GRB.CONTINUOUS, name="Regular_Refrigerators", lb=0)
E = m.addVar(vtype=GRB.CONTINUOUS, name="Energy_Efficient_Refrigerators", lb=0)

# Objective function: Maximize profit
m.setObjective(50*R + 80*E, GRB.MAXIMIZE)

# Constraints
# Demand constraints
m.addConstr(R >= 25, "Min_Regular_Demand")
m.addConstr(E >= 40, "Min_Energy_Efficient_Demand")

# Production capacity constraints
m.addConstr(R <= 100, "Max_Regular_Production")
m.addConstr(E <= 70, "Max_Energy_Efficient_Production")

# Total production constraint
m.addConstr(R + E >= 90, "Min_Total_Production")

# Optimize model
m.optimize()

# Print results
if m.status == GRB.OPTIMAL:
    print("Optimal solution found:")
    print(f"Regular Refrigerators: {R.x}")
    print(f"Energy Efficient Refrigerators: {E.x}")
    print(f"Total Profit: ${50*R.x + 80*E.x:.2f}")
else:
    print("No optimal solution found")
```