This project uses a clear BEM structure (Block — Element — Modifier) to keep the system consistent, scalable, and easy to edit.
The section home-hero is the block.
Inside it you find elements such as:
home-hero__container,
home-hero__grid,
home-hero__heading-wrap,
home-hero__heading,
home-hero__info,
home-hero__description,
home-hero__button-wrap.
Each major section on a page is treated as a block. All content inside the section follows the same BEM pattern.
For example, in the Services section you will find names like
services,
services__container,
services__item,
services__item-heading,
services__item-description,
and modifiers like services__item–featured.
In addition to BEM, the project includes a small set of global Utility Classes, marked with the prefix u--.
These classes are not part of the BEM structure. They are global helpers used to adjust layout, spacing, sizing, or alignment at a system level.
Why Utilities Are Used
Examples of Utility Classes
Utility classes are reusable across all sections and can be added to any block or element when additional layout control is needed.
This project uses a fully variable, token-based typography system. All text styles are defined through Font Variables to ensure consistency, scalability, and easy global adjustments.
Each text style (e.g., text-button, text-nav, text-label, text-display) is controlled by a small set of variables:
To adjust the entire site:
All colors in this project are managed through Color Variables to ensure consistent theming and easy global updates. The palette is designed for a modern dark UI with clear contrast, subtle surfaces, and a soft accent color.
This template uses inline SVG icons added via Embed elements. Embedding SVGs inline ensures that icons remain fully styleable, lightweight, and perfectly sharp on all screens.
Embedding SVGs inline ensures that icons:
This allows icons to inherit styling from their wrapper without editing the SVG code.