:root {
	--bg-main: #F7F3EC;
	--bg-white: #FFFFFF;
	--bg-soft: #F7F3EC;
	--text-main: #111111;
	--text-soft: #2A2A2A;
	--text-muted: #66615B;
	--accent: #A9783A;
	--accent-light: #C6A16A;
	--accent-soft: #EFE4D2;
	--accent-hover: #8F6228;
	--dark: #111111;
	--dark-soft: #1B1B1B;
	--border: #E4DDD2;
	--font-heading: 'Playfair Display', Georgia, serif;
	--font-body: 'Inter', system-ui, sans-serif;
	--space-xs: 0.5rem;
	--space-sm: 1rem;
	--space-md: 1.5rem;
	--space-lg: 2.5rem;
	--space-xl: 4rem;
	--space-2xl: 6rem;
	--space-3xl: 8rem;
	--radius-sm: 2px;
	--radius-md: 4px;
	--radius-lg: 8px;
	--max-width: 1440px;
	--header-height: 76px;
}

body {
	background: var(--bg-main);
	color: var(--text-soft);
	font-family: var(--font-body);
}

h1, h2, h3, h4, h5, h6 {
	font-family: var(--font-heading);
	color: var(--text-main);
	font-weight: 600;
	line-height: 1.2;
}
h1, .elementor-widget-heading h1.elementor-heading-title {
	font-size: clamp(2rem, 5vw, 3.75rem);
	font-weight: 700;
	letter-spacing: -0.02em;
}
h2, .elementor-widget-heading h2.elementor-heading-title {
	font-size: clamp(1.75rem, 3.5vw, 2.75rem);
	letter-spacing: -0.01em;
}
h3, .elementor-widget-heading h3.elementor-heading-title {
	font-size: clamp(1.25rem, 2.5vw, 1.625rem);
}
h4, .elementor-widget-heading h4.elementor-heading-title {
	font-size: clamp(1.125rem, 2vw, 1.375rem);
}
p { line-height: 1.75; }
.section-label {
	display: inline-block;
	font-family: var(--font-body);
	font-size: 0.6875rem;
	font-weight: 500;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--accent);
	margin-bottom: 1rem;
}
.section-label::before {
	content: '';
	display: inline-block;
	width: 24px;
	height: 1px;
	background-color: var(--accent);
	vertical-align: middle;
	margin-right: 0.625rem;
}
.section-intro { max-width: 640px; margin-top: 1rem; font-size: 1.0625rem; color: var(--text-muted); }

.container {
	max-width: var(--max-width);
	margin-inline: auto;
	padding-inline: var(--space-md);
}

.section-label {
	display: inline-block;
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--accent);
	margin-bottom: var(--space-xs);
}

.btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	padding: 0.85rem 1.75rem;
	font-family: var(--font-body);
	font-weight: 600;
	font-size: 0.9rem;
	border-radius: var(--radius-sm);
	text-decoration: none;
	cursor: pointer;
	border: 1px solid transparent;
	transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}

.btn-primary {
	background: var(--accent);
	color: #fff !important;
}
.btn-primary:hover {
	background: var(--accent-hover);
	color: #fff !important;
}

.btn-outline {
	background: transparent;
	color: var(--text-main) !important;
	border-color: var(--border);
}
.btn-outline:hover {
	border-color: var(--accent);
	color: var(--accent) !important;
}

.tdv-form-honeypot { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.tdv-contact-form-wrap { max-width: 100%; }
.tdv-form-row { margin-bottom: 1rem; }
.tdv-form-row label { display: block; font-size: 0.85rem; font-weight: 600; margin-bottom: 0.35rem; color: #2A2A2A; }
.tdv-form-row input, .tdv-form-row select, .tdv-form-row textarea { width: 100%; padding: 0.7rem 0.9rem; border: 1px solid #E4DDD2; border-radius: 2px; font-family: inherit; font-size: 0.9rem; }
.tdv-form-message { padding: 1rem 1.25rem; border-radius: 4px; margin-bottom: 1.5rem; font-size: 0.9rem; }
.tdv-form-message--success { background: #EFE4D2; color: #6b4d1f; }
.tdv-form-message--error { background: #f8d7da; color: #842029; }
