:root {
	--revita-color-ink: #262421;
	--revita-color-body: #57514b;
	--revita-color-muted: #79716a;
	--revita-color-sand-50: #fbf8f4;
	--revita-color-sand-100: #f3ece4;
	--revita-color-sand-200: #e7dacd;
	--revita-color-taupe: #b59b82;
	--revita-color-taupe-dark: #8e735d;
	--revita-color-white: #ffffff;
	--revita-color-success: #28684a;
	--revita-color-warning: #aa6a18;
	--revita-color-danger: #a43f3f;
	--revita-radius-sm: 8px;
	--revita-radius-md: 16px;
	--revita-radius-lg: 28px;
	--revita-shadow-soft: 0 18px 60px rgba(55, 43, 32, 0.1);
	--revita-container: 1240px;
	--revita-transition: 180ms ease;
}

html {
	scroll-behavior: smooth;
}

body {
	background: var(--revita-color-white);
	color: var(--revita-color-body);
	font-family: "Inter", "Helvetica Neue", Arial, sans-serif;
	font-size: 16px;
	line-height: 1.65;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	color: var(--revita-color-ink);
	font-family: "Inter", "Helvetica Neue", Arial, sans-serif;
	font-weight: 600;
	letter-spacing: -0.025em;
	line-height: 1.15;
}

a {
	color: var(--revita-color-taupe-dark);
	transition: color var(--revita-transition);
}

a:hover,
a:focus-visible {
	color: var(--revita-color-ink);
}

:focus-visible {
	outline: 3px solid rgba(142, 115, 93, 0.42);
	outline-offset: 3px;
}

::selection {
	background: var(--revita-color-taupe);
	color: var(--revita-color-white);
}

.revita-container {
	margin-inline: auto;
	max-width: var(--revita-container);
	padding-inline: clamp(20px, 4vw, 48px);
	width: 100%;
}

.revita-card {
	background: var(--revita-color-white);
	border: 1px solid var(--revita-color-sand-200);
	border-radius: var(--revita-radius-md);
	box-shadow: 0 10px 30px rgba(55, 43, 32, 0.06);
}

.revita-button,
.elementor-button.revitalife-button {
	align-items: center;
	background: var(--revita-color-taupe-dark);
	border: 1px solid var(--revita-color-taupe-dark);
	border-radius: 999px;
	color: var(--revita-color-white);
	cursor: pointer;
	display: inline-flex;
	font-weight: 600;
	gap: 0.5rem;
	justify-content: center;
	min-height: 48px;
	padding: 0.75rem 1.4rem;
	text-decoration: none;
	transition: background var(--revita-transition), border-color var(--revita-transition), transform var(--revita-transition);
}

.revita-button:hover,
.revita-button:focus-visible,
.elementor-button.revitalife-button:hover,
.elementor-button.revitalife-button:focus-visible {
	background: var(--revita-color-ink);
	border-color: var(--revita-color-ink);
	color: var(--revita-color-white);
	transform: translateY(-1px);
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
	}
}

