:root {
	/* Official Worthiom brand palette. */
	--worthiom-dark-blue: #002766;
	--worthiom-light-blue: #116ea8;
	--worthiom-green: #48b848;

	/* Functional shades derived from the official palette. */
	--worthiom-navy-950: #00183f;
	--worthiom-navy-900: #002766;
	--worthiom-navy-800: #073f7b;
	--worthiom-navy-700: #116ea8;
	--worthiom-blue-100: #eaf5fb;
	--worthiom-green-700: #348e38;
	--worthiom-green-600: #48b848;
	--worthiom-green-500: #64c864;
	--worthiom-green-100: #edf8ed;
	--worthiom-red-600: #c84444;
	--worthiom-amber-500: #d99b2b;
	--worthiom-ink: #0b2348;
	--worthiom-copy: #4b6077;
	--worthiom-muted: #77899b;
	--worthiom-line: #dfe8f0;
	--worthiom-surface: #ffffff;
	--worthiom-surface-soft: #f5f9fc;
	--worthiom-surface-warm: #f7fafc;
	--worthiom-radius-xs: 8px;
	--worthiom-radius-sm: 12px;
	--worthiom-radius-md: 18px;
	--worthiom-radius-lg: 28px;
	--worthiom-shadow-sm: 0 8px 24px rgba(7, 23, 43, 0.06);
	--worthiom-shadow-md: 0 20px 55px rgba(7, 23, 43, 0.10);
	--worthiom-container: 1240px;
	--worthiom-section-space: clamp(72px, 8vw, 128px);
	--worthiom-font: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

html {
	scroll-behavior: smooth;
}

body.worthiom-site {
	margin: 0;
	background: var(--worthiom-surface);
	color: var(--worthiom-ink);
	font-family: var(--e-global-typography-text-font-family, var(--worthiom-font));
	font-size: 16px;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

body.worthiom-site,
body.worthiom-site * {
	box-sizing: border-box;
}

body.worthiom-site img,
body.worthiom-site svg,
body.worthiom-site video {
	max-width: 100%;
	height: auto;
}

body.worthiom-site a {
	color: var(--worthiom-navy-700);
	text-decoration-thickness: 1px;
	text-underline-offset: 0.2em;
}

body.worthiom-site :where(h1, h2, h3, h4, h5, h6) {
	color: var(--worthiom-ink);
	font-family: var(--e-global-typography-primary-font-family, var(--worthiom-font));
	font-weight: 750;
	letter-spacing: -0.035em;
	line-height: 1.08;
}

body.worthiom-site h1 {
	font-size: clamp(2.75rem, 5.7vw, 5.7rem);
}

body.worthiom-site h2 {
	font-size: clamp(2rem, 3.7vw, 3.75rem);
}

body.worthiom-site h3 {
	font-size: clamp(1.35rem, 2vw, 2rem);
}

.worthiom-container {
	width: min(var(--worthiom-container), calc(100% - 40px));
	margin-inline: auto;
}

.worthiom-section {
	padding-block: var(--worthiom-section-space);
}

.worthiom-section--soft {
	background: var(--worthiom-surface-soft);
}

.worthiom-section--warm {
	background: var(--worthiom-surface-warm);
}

.worthiom-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 14px;
	color: var(--worthiom-green-700);
	font-size: 0.76rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.worthiom-lead {
	color: var(--worthiom-copy);
	font-size: clamp(1.05rem, 1.4vw, 1.28rem);
	line-height: 1.7;
}

.worthiom-card {
	background: var(--worthiom-surface);
	border: 1px solid var(--worthiom-line);
	border-radius: var(--worthiom-radius-md);
	box-shadow: var(--worthiom-shadow-sm);
}

.worthiom-button,
body.worthiom-site .elementor-button,
body.worthiom-site button:not(.wm-icon-button):not(.wm-action-button),
body.worthiom-site input[type="submit"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	min-height: 50px;
	padding: 12px 22px;
	border: 1px solid var(--worthiom-navy-900);
	border-radius: var(--worthiom-radius-sm);
	background: var(--worthiom-navy-900);
	box-shadow: none;
	color: #fff;
	font: inherit;
	font-weight: 750;
	line-height: 1;
	text-decoration: none;
	text-shadow: none;
	transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease, border-color 180ms ease;
}

.worthiom-button:hover,
body.worthiom-site .elementor-button:hover,
body.worthiom-site button:not(.wm-icon-button):not(.wm-action-button):hover,
body.worthiom-site input[type="submit"]:hover {
	background: var(--worthiom-navy-800);
	border-color: var(--worthiom-navy-800);
	box-shadow: 0 14px 26px rgba(0, 39, 102, 0.18);
	color: #fff;
	transform: translateY(-2px);
}

.worthiom-button--green {
	background: var(--worthiom-green-600);
	border-color: var(--worthiom-green-600);
}

.worthiom-button--green:hover {
	background: var(--worthiom-green-700);
	border-color: var(--worthiom-green-700);
}

.worthiom-button--outline {
	background: transparent;
	border-color: var(--worthiom-line);
	color: var(--worthiom-navy-900);
}

.worthiom-button--outline:hover {
	background: var(--worthiom-surface-soft);
	border-color: #c9d6e1;
	color: var(--worthiom-navy-900);
}

.worthiom-chip {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	min-height: 34px;
	padding: 7px 12px;
	border: 1px solid var(--worthiom-line);
	border-radius: 999px;
	background: var(--worthiom-surface);
	color: var(--worthiom-copy);
	font-size: 0.85rem;
	font-weight: 650;
}

.worthiom-grid {
	display: grid;
	gap: clamp(16px, 2vw, 28px);
}

.worthiom-grid--2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.worthiom-grid--3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.worthiom-grid--4 {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.worthiom-status-up {
	color: var(--worthiom-green-600);
}

.worthiom-status-down {
	color: var(--worthiom-red-600);
}

.worthiom-status-neutral {
	color: var(--worthiom-muted);
}

body.worthiom-site :where(input:not([type="checkbox"]):not([type="radio"]), select, textarea) {
	width: 100%;
	min-height: 48px;
	padding: 11px 14px;
	border: 1px solid #ccd8e2;
	border-radius: 10px;
	background: #fff;
	box-shadow: none;
	color: var(--worthiom-ink);
	font: inherit;
	outline: none;
	transition: border-color 180ms ease, box-shadow 180ms ease;
}

body.worthiom-site :where(input:not([type="checkbox"]):not([type="radio"]), select, textarea):focus {
	border-color: var(--worthiom-navy-700);
	box-shadow: 0 0 0 3px rgba(17, 110, 168, 0.14);
}

@media (max-width: 1024px) {
	:root {
		--worthiom-section-space: clamp(60px, 8vw, 92px);
	}

	.worthiom-grid--4,
	.worthiom-grid--3 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.worthiom-container {
		width: min(100% - 28px, var(--worthiom-container));
	}

	.worthiom-grid--2,
	.worthiom-grid--3,
	.worthiom-grid--4 {
		grid-template-columns: 1fr;
	}

	.worthiom-button,
	body.worthiom-site .elementor-button {
		min-height: 48px;
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
	}
}
