:root {
	--color-primary: #6F201C;
	--color-secondary: #4F5B32;
	--color-accent: #B58A55;
	--color-bg: #FAF8F4;
	--color-surface: #FFFFFF;
	--color-text: #252525;
	--color-muted: #6B6B6B;
}

html {
	scroll-behavior: smooth;
}

body {
	background: var(--color-bg);
	color: var(--color-text);
	overflow-x: hidden;
	font-family: "Outfit", sans-serif;
	font-feature-settings: "cv11" 1, "ss01" 1;
}

::selection {
	background: rgba(111, 32, 28, 0.16);
	color: var(--color-text);
}

h1,
h2,
h3,
h4,
h5,
h6,
.font-serif {
	font-family: "Anton", sans-serif !important;
	font-weight: 500 !important;
	color: var(--color-primary) !important;
}

.section-marker::before {
	content: "";
	display: inline-block;
	width: 2.75rem;
	height: 0.125rem;
	border-radius: 999px;
	background: var(--color-accent);
	margin-right: 0.75rem;
	vertical-align: middle;
}

.reveal {
	opacity: 0;
	transform: translateY(24px);
	transition: opacity 0.7s ease, transform 0.7s ease;
	will-change: opacity, transform;
}

.reveal.is-visible {
	opacity: 1;
	transform: translateY(0);
}

.reveal-stagger > * {
	opacity: 0;
	transform: translateY(18px);
	transition: opacity 0.55s ease, transform 0.55s ease;
}

.reveal-stagger.is-visible > * {
	opacity: 1;
	transform: translateY(0);
}

.reveal-stagger.is-visible > *:nth-child(1) { transition-delay: 0ms; }
.reveal-stagger.is-visible > *:nth-child(2) { transition-delay: 90ms; }
.reveal-stagger.is-visible > *:nth-child(3) { transition-delay: 160ms; }
.reveal-stagger.is-visible > *:nth-child(4) { transition-delay: 230ms; }
.reveal-stagger.is-visible > *:nth-child(5) { transition-delay: 300ms; }
.reveal-stagger.is-visible > *:nth-child(6) { transition-delay: 370ms; }

.hero-slide {
	opacity: 0;
	transform: scale(1.03);
	transition: opacity 0.7s ease, transform 1.2s ease;
	pointer-events: none;
}

.hero-slide.is-active {
	opacity: 1;
	transform: scale(1);
	pointer-events: auto;
}

.glass-panel {
	background: rgba(255, 255, 255, 0.62);
	backdrop-filter: blur(18px);
}

.nav-link.is-active,
.mobile-nav-link.is-active {
	background: rgba(111, 32, 28, 0.08);
	color: var(--color-primary);
}

#siteHeader.is-scrolled #headerBar {
	background: #4F5B32 !important;
	color: #ffffff !important;
	box-shadow: 0 18px 45px rgba(37, 37, 37, 0.09);
	border-color: rgba(255, 255, 255, 0.12);
}

#siteHeader #headerBar {
	background: #4F5B32 !important;
	color: #ffffff !important;
	box-shadow: 0 16px 35px rgba(37, 37, 37, 0.12);
}

#siteHeader #headerBar a,
#siteHeader #headerBar button,
#siteHeader #headerBar .text-white,
#siteHeader #headerBar .text-white\/90,
#siteHeader #headerBar .text-white\/70 {
	color: #ffffff !important;
}

#siteHeader.is-scrolled #headerBar .nav-link:hover {
	background: rgba(255, 255, 255, 0.12);
}

#siteHeader.is-scrolled .menu-bar {
	background: var(--color-primary);
}

.dot-indicator.is-active {
	background: var(--color-primary);
	transform: scale(1.12);
}

.btn-premium {
	transition: transform 0.22s ease, background-color 0.22s ease, border-color 0.22s ease, color 0.22s ease;
}

.btn-premium,
.btn-whatsapp,
button,
[type="button"],
[type="submit"] {
	border-radius: 15px !important;
}

.btn-premium:hover {
	transform: translateY(-2px);
}

.btn-whatsapp {
	background: #25D366 !important;
	color: #ffffff !important;
	border-color: #25D366 !important;
}

.btn-whatsapp:hover,
.btn-whatsapp:focus-visible {
	background: #1ebe5d !important;
	color: #ffffff !important;
}

.hero-overlay {
	background: linear-gradient(90deg, rgba(63, 20, 17, 0.9) 0%, rgba(111, 32, 28, 0.82) 45%, rgba(111, 32, 28, 0.35) 100%);
}

.section-shell {
	position: relative;
}

.section-shell::after {
	content: "";
	position: absolute;
	inset: auto 0 -1.5rem 0;
	margin: 0 auto;
	width: 8rem;
	height: 0.125rem;
	border-radius: 999px;
	background: linear-gradient(90deg, transparent, var(--color-accent), transparent);
	opacity: 0.5;
}

.no-scrollbar::-webkit-scrollbar {
	display: none;
}

.no-scrollbar {
	-ms-overflow-style: none;
	scrollbar-width: none;
}

.floating-stack {
	right: 1rem;
	bottom: 1rem;
}

.line-clamp-2,
.line-clamp-3 {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.line-clamp-2 {
	-webkit-line-clamp: 2;
}

.line-clamp-3 {
	-webkit-line-clamp: 3;
}

body.no-scroll {
	overflow: hidden;
}

.faq-panel {
	transition: max-height 0.35s ease, opacity 0.35s ease, padding 0.35s ease;
}

@media (max-width: 640px) {
	.floating-stack {
		right: 0.75rem;
		bottom: 0.75rem;
	}
}
