@keyframes rise-in {
	from {
		opacity: 0;
		transform: translateY(18px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.watermark-section {
	position: relative;
	isolation: isolate;
	overflow: hidden;
}

.watermark-section::before {
	content: "";
	position: absolute;
	z-index: 0;
	width: min(175vw, 2300px);
	aspect-ratio: 0.72;
	top: 50%;
	border-radius: 50% 50% 54% 46% / 35% 35% 65% 65%;
	clip-path: polygon(50% 0%, 72% 22%, 91% 48%, 86% 76%, 68% 94%, 50% 100%, 32% 94%, 14% 76%, 9% 48%, 28% 22%);
	background: url("./logooficialGY copia.png") center / contain no-repeat;
	opacity: 0.03;
	pointer-events: none;
}


.watermark-left::before {
	left: -78%;
	transform: translateY(-50%) rotate(18deg);
}

.watermark-right::before {
	right: -78%;
	transform: translateY(-50%) rotate(-18deg);
}

.watermark-section > * {
	position: relative;
	z-index: 1;
}

.hero-mobile-video {
	position: absolute;
	z-index: 5;
	right: 4%;
	top: 50%;
	width: clamp(250px, 24vw, 390px);
	height: clamp(440px, 70vh, 650px);
	object-fit: cover;
	border: 3px solid rgba(255, 255, 255, 0.7);
	border-radius: 24px;
	box-shadow: 0 18px 44px rgba(18, 30, 24, 0.28);
	opacity: 0.92;
	transform: translateY(-50%) rotate(7deg);
	pointer-events: none;
}

@media (min-width: 768px) {
	.hero-content {
		align-items: flex-start;
		padding-right: clamp(340px, 36vw, 520px);
		text-align: left;
		transform: translateX(clamp(-120px, -7vw, -32px));
	}
}

@media (min-width: 768px) and (max-width: 1023px) {
	.hero-mobile-video {
		right: -4%;
		width: 220px;
		height: 410px;
	}

	.hero-content {
		padding-right: 250px;
		transform: translateX(-24px);
	}
}

.hero-content h1,
.hero-content p {
	width: 100%;
	text-align: left;
}

.final-cta-section {
	background: linear-gradient(115deg, #c8efd4 0%, #e9f9ee 38%, #effdf3 62%, #bde8ca 100%);
	box-shadow: inset 0 12px 38px rgba(0, 81, 50, 0.08), inset 0 -12px 38px rgba(15, 107, 69, 0.06);
}

@media (max-width: 767px) {
	.hero-content h1 {
		font-size: clamp(2rem, 8vw, 3rem);
		line-height: 1.15;
	}
}

@media (max-width: 767px) {
	main > section:first-child {
		flex-direction: column;
	}

	.hero-mobile-video {
		position: relative;
		top: auto;
		right: auto;
		order: 0;
		width: min(220px, 72vw);
		height: min(390px, 112vw);
		margin: 1rem auto 2.5rem;
		opacity: 0.9;
		transform: rotate(6deg);
	}

	.hero-content {
		order: 1;
		width: 100%;
		padding-right: 1rem;
		padding-left: 1rem;
		transform: none;
	}

	.hero-mobile-video {
		border-radius: 20px;
	}
}

@media (max-width: 767px) {
	.watermark-section::before {
		width: min(220vw, 1300px);
		opacity: 0.02;
	}

	.watermark-left::before {
		left: -125%;
	}

	.watermark-right::before {
		right: -125%;
	}
}

@keyframes soft-pulse {
	0%, 100% {
		box-shadow: 0 4px 14px rgba(15, 107, 69, 0.3);
	}
	50% {
		box-shadow: 0 7px 24px rgba(15, 107, 69, 0.46);
	}
}

@keyframes float-card {
	0%, 100% {
		transform: translateY(0);
	}
	50% {
		transform: translateY(-5px);
	}
}

main > section,
.glass-panel {
	opacity: 0;
	transform: translateY(24px);
	transition: opacity 0.7s ease, transform 0.7s ease;
}

main > section.is-visible,
.glass-panel.is-visible {
	opacity: 1;
	transform: translateY(0);
}

.glass-panel.is-visible:hover {
	transform: translateY(-6px);
}

main > section:nth-child(2) {
	transition-delay: 0.08s;
}

main > section:nth-child(3) {
	transition-delay: 0.16s;
}

main > section:nth-child(4) {
	transition-delay: 0.24s;
}

main > section:nth-child(5) {
	transition-delay: 0.32s;
}

main > section:nth-child(6) {
	transition-delay: 0.4s;
}

h1, h2, h3 {
	animation: rise-in 0.8s ease both;
}

.glass-panel {
	transition: opacity 0.7s ease, transform 0.7s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}

.glass-panel:hover {
	border-color: rgba(17, 108, 70, 0.35);
	box-shadow: 0 16px 34px rgba(28, 70, 48, 0.14);
}

.gradient-btn {
	animation: soft-pulse 3.2s ease-in-out infinite;
	transition: transform 0.25s ease, box-shadow 0.25s ease, filter 0.25s ease;
}

.gradient-btn:hover {
	filter: brightness(1.06);
	transform: translateY(-3px) scale(1.015);
}

.gradient-btn:active {
	transform: translateY(1px) scale(0.99);
}

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