## Description

Brief description of the change and why it's needed.

## Type of change

- [ ] Bug fix (non-breaking change that fixes an issue)
- [ ] New feature (non-breaking change that adds functionality)
- [ ] Breaking change (fix or feature that would change existing behavior)
- [ ] Documentation update
- [ ] Refactor (no functional change)

## Checklist

- [ ] My code follows the project's style guidelines (Black, flake8).
- [ ] I have added/updated tests for my changes.
- [ ] All tests pass locally (e.g. `pytest`).
- [ ] I have updated the documentation if needed.
- [ ] For user-facing changes, I have added an entry to the **Unreleased** section of [CHANGELOG.md](../CHANGELOG.md).

## Related issues

Fixes # (issue number, if applicable)

---

See [CONTRIBUTING.md](../CONTRIBUTING.md) and [CHANGELOG.md](../CHANGELOG.md) for guidelines.
