/*
	Theme Name: Hello Elementor
	Theme URI: https://elementor.com/hello-theme/?utm_source=wp-themes&utm_campaign=theme-uri&utm_medium=wp-dash
	Description: Hello Elementor is a lightweight and minimalist WordPress theme that was built specifically to work seamlessly with the Elementor site builder plugin. The theme is free, open-source, and designed for users who want a flexible, easy-to-use, and customizable website. The theme, which is optimized for performance, provides a solid foundation for users to build their own unique designs using the Elementor drag-and-drop site builder. Its simplicity and flexibility make it a great choice for both beginners and experienced Web Creators.
	Author: Elementor Team
	Author URI: https://elementor.com/?utm_source=wp-themes&utm_campaign=author-uri&utm_medium=wp-dash
	Version: 3.4.9
	Stable tag: 3.4.9
	Requires at least: 6.0
	Tested up to: 6.8
	Requires PHP: 7.4
	License: GNU General Public License v3 or later.
	License URI: https://www.gnu.org/licenses/gpl-3.0.html
	Text Domain: hello-elementor
	Tags: accessibility-ready, flexible-header, custom-colors, custom-menu, custom-logo, featured-images, rtl-language-support, threaded-comments, translation-ready,
*/

/* TraceFit 2026 cinematic editorial typography refresh */
@import url('https://cdn.jsdelivr.net/npm/@fontsource/teko@5.3.0/500.css');
@import url('https://cdn.jsdelivr.net/npm/@fontsource/teko@5.3.0/600.css');
@import url('https://cdn.jsdelivr.net/npm/@fontsource/teko@5.3.0/700.css');
@import url('https://cdn.jsdelivr.net/npm/@fontsource/ibm-plex-sans@5.3.0/400.css');
@import url('https://cdn.jsdelivr.net/npm/@fontsource/ibm-plex-sans@5.3.0/500.css');
@import url('https://cdn.jsdelivr.net/npm/@fontsource/ibm-plex-sans@5.3.0/600.css');
@import url('https://cdn.jsdelivr.net/npm/@fontsource/ibm-plex-mono@5.3.0/500.css');
@import url('https://cdn.jsdelivr.net/npm/@fontsource/ibm-plex-mono@5.3.0/600.css');

:root {
	--tracefit-display: "Teko", sans-serif;
	--tracefit-body: "IBM Plex Sans", sans-serif;
	--tracefit-ui: "IBM Plex Mono", monospace;
	--tracefit-ink: #192532;
	--tracefit-red: #e94235;
	--tracefit-red-dark: #a51c30;
}

body,
.elementor,
.elementor-widget-text-editor,
.elementor-widget-theme-post-content {
	font-family: var(--tracefit-body) !important;
	font-feature-settings: "kern" 1, "liga" 1;
}

body {
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
}

p,
li,
.elementor-widget-text-editor {
	line-height: 1.68;
	letter-spacing: -0.01em;
}

h1,
h2,
h3,
h4,
h5,
h6,
.elementor-heading-title,
.elementor-widget-heading .elementor-heading-title,
.elementor-widget-theme-post-title .elementor-heading-title {
	font-family: var(--tracefit-display) !important;
	font-weight: 600 !important;
	line-height: 0.98 !important;
	letter-spacing: 0.01em !important;
	text-wrap: balance;
}

h1,
.elementor-widget-heading h1.elementor-heading-title,
.elementor-widget-theme-post-title h1.elementor-heading-title {
	font-size: clamp(3rem, 5.4vw, 5.75rem) !important;
}

h2,
.elementor-widget-heading h2.elementor-heading-title {
	font-size: clamp(2.25rem, 3.8vw, 4.25rem) !important;
}

h3,
.elementor-widget-heading h3.elementor-heading-title {
	font-size: clamp(1.75rem, 2.4vw, 2.75rem) !important;
}

.elementor-nav-menu a.elementor-item,
.elementor-button,
.wp-block-button__link,
.elementor-post-info,
.elementor-post-info a {
	font-family: var(--tracefit-ui) !important;
	font-weight: 600 !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase !important;
}

.elementor-nav-menu a.elementor-item {
	font-size: clamp(0.72rem, 0.66rem + 0.18vw, 0.82rem) !important;
}

.elementor-button,
.wp-block-button__link {
	border-radius: 2px !important;
	font-size: 0.78rem !important;
	line-height: 1.2 !important;
	letter-spacing: 0.075em !important;
	transition: transform 180ms ease, box-shadow 180ms ease, background-color 180ms ease !important;
}

.elementor-button:hover,
.elementor-button:focus-visible,
.wp-block-button__link:hover,
.wp-block-button__link:focus-visible {
	transform: translateY(-2px);
	box-shadow: 4px 4px 0 rgba(0, 0, 0, 0.22);
}

.single-post .elementor-widget-theme-post-title h1.elementor-heading-title {
	color: var(--tracefit-ink) !important;
	max-width: 19ch;
	margin-bottom: 0.2em;
}

.single-post .elementor-widget-theme-post-content {
	color: var(--tracefit-ink);
	font-size: clamp(1.02rem, 0.98rem + 0.18vw, 1.13rem);
}

.single-post .elementor-widget-theme-post-content h2,
.single-post .elementor-widget-theme-post-content h3,
.single-post .elementor-widget-theme-post-content h4 {
	color: var(--tracefit-ink) !important;
	margin-top: 1.45em;
	margin-bottom: 0.45em;
}

.single-post .elementor-post-info,
.single-post .elementor-post-info a,
.single-post .elementor-post-info span {
	color: #69737d !important;
	font-size: 0.72rem !important;
}

.single-post .elementor-widget-theme-post-content p {
	max-width: 76ch;
}

.single-post .elementor-widget-theme-post-content a:not(.wp-block-button__link):not(.elementor-button) {
	color: var(--tracefit-red-dark) !important;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.16em;
}

::selection {
	color: #fff;
	background: var(--tracefit-red);
}

@media (max-width: 767px) {
	h1,
	.elementor-widget-heading h1.elementor-heading-title,
	.elementor-widget-theme-post-title h1.elementor-heading-title {
		font-size: clamp(2.7rem, 13vw, 4.4rem) !important;
	}

	.single-post .elementor-widget-theme-post-content {
		font-size: 1rem;
	}
}
