/**
 * HW / X — luxury layer (loads last)
 * Tighter typography, editorial rhythm, conversion-friendly CTAs
 */

:root {
	--hwx-font-display: "Cormorant Garamond", Georgia, "Times New Roman", serif;
}

html {
	scroll-behavior: smooth;
}

body {
	font-size: 1rem;
	line-height: var(--hwx-lh-body, 1.65);
	color: var(--text-color);
}

body .elementor-widget-text-editor,
body .elementor-widget-theme-post-content,
body .elementor-tab-content {
	font-size: 1rem;
	line-height: var(--hwx-lh-body, 1.65);
}

body .elementor-widget-text-editor p {
	margin-bottom: 1em;
	max-width: 65ch;
}

/* Elementor headings — override widget inline sizes where possible */
.elementor-widget-heading .elementor-heading-title.elementor-size-default,
.elementor-widget-heading .elementor-heading-title.elementor-size-medium,
.elementor-widget-heading .elementor-heading-title.elementor-size-large,
.elementor-widget-heading .elementor-heading-title.elementor-size-xl,
.elementor-widget-heading .elementor-heading-title.elementor-size-xxl {
	font-weight: 600 !important;
	line-height: var(--hwx-lh-heading, 1.22) !important;
	letter-spacing: var(--hwx-track-tight, -0.02em) !important;
}

.elementor-widget-heading h1.elementor-heading-title {
	font-family: var(--hwx-font-display) !important;
	font-size: clamp(1.75rem, 2.5vw + 0.75rem, 2.35rem) !important;
	font-weight: 500 !important;
}

.elementor-widget-heading h2.elementor-heading-title {
	font-family: var(--hwx-font-display) !important;
	font-size: clamp(1.45rem, 2vw + 0.65rem, 1.95rem) !important;
	font-weight: 500 !important;
}

.elementor-widget-heading h3.elementor-heading-title {
	font-size: clamp(1.2rem, 1.4vw + 0.55rem, 1.45rem) !important;
	font-weight: 600 !important;
}

.elementor-widget-heading h4.elementor-heading-title,
.elementor-widget-heading h5.elementor-heading-title,
.elementor-widget-heading h6.elementor-heading-title {
	font-size: clamp(1.05rem, 1vw + 0.5rem, 1.15rem) !important;
	font-weight: 600 !important;
}

/* Pricing / emphasis blocks */
.elementor-widget-price-table .elementor-price-table__currency,
.elementor-widget-price-table .elementor-price-table__integer-part {
	letter-spacing: var(--hwx-track-tight, -0.02em);
}

/* Buttons — calmer, premium */
.elementor-button,
.elementor-widget-button .elementor-button {
	font-weight: 600;
	letter-spacing: 0.03em;
	text-transform: none;
	border-radius: 999px;
	transition: transform 0.25s var(--hwx-transition-smooth, ease), box-shadow 0.25s ease;
}

.elementor-button:hover,
.elementor-widget-button .elementor-button:hover {
	transform: translateY(-1px);
}

/* Reduce visual noise in stats / icon rows */
.stats-section .prefix-1,
.stats-section .prefix-2,
.stats-section .prefix-3,
.stats-section .prefix-4 {
	font-variant-numeric: tabular-nums;
}

/* Narrower readable lines for long copy columns */
.elementor-section.elementor-section-boxed > .elementor-container {
	max-width: min(1200px, 100%);
}
