html, body {
	padding: 0; margin: 0;
}

body {
	position: relative;
	width: 100vw;
	min-width: 800px;
	height: 100vh;
	min-height: 600px;
	background: linear-gradient(-45deg, #8691b3, #edeef3);
}

/* Contenedor del ojo con transición suave */
.eye-background {
	/* Centrado horizontalmente, pero movido hacia arriba verticalmente */
	transform: scale(1) translate(0, -25%);
	transform-origin: center center;
	transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Responsive: Escalar el ojo en pantallas más pequeñas */
@media (max-width: 992px) {
	.eye-background {
		transform: scale(0.85) translate(0, -25%) !important;
	}
}

@media (max-width: 768px) {
	.eye-background {
		transform: scale(0.7) translate(0, -25%) !important;
	}
}

@media (max-width: 480px) {
	.eye-background {
		transform: scale(0.55) translate(0, -25%) !important;
	}
}

/* Solo afectar elementos dentro del contenedor del ojo */
.eye-background *, .eye-background *:before, .eye-background *:after {
	content: '';
	position: absolute;
	top: 50%; left: 50%;
}


.eye {
	width: 332px; height: 332px;
	transform: translate(-50%, -50%) scale(1.25);
	border-radius: 50%;
	background: #EBEDF3;
	filter: blur(5px);
	box-shadow: inset -8px -13px 20px -10px rgba(230, 230, 236, 0.04), 
							64px 55px 40px -40px #38406A, 
							20px 18px 30px -10px #38406A, 
							inset -70px -50px 60px -30px #4b6398, 
							inset -90px -90px 70px -90px #697398, 
							inset -70px -50px 100px -40px #697398, 
							inset 80px 50px 80px -50px #eeeef3, 
							-25px -15px 50px -10px #F6F6FB, 
							14px -1px 50px -10px #7e7ea9, 
							1px 9px 50px -10px #7e7ea9, 
							inset -90px 40px 60px -20px rgba(116, 66, 255, 0.1), 
							inset -90px -120px 60px -20px rgba(116, 66, 255, 0.1);
}

	.eye::after {
		width: 160px; height: 160px;
		border-radius: 50%;
		transform: translate(-50%, -50%) scale(0.85);
		box-shadow: inset -50px -20px 30px 0px #e7e2f5, 
								inset 100px 10px 20px -27px #2f2c4c, 
								0px 0px 10px 7px rgba(231, 226, 245, 1);
	}


.circle-1 {
	width: 475px; height: 475px;
	border-radius: 50%;
	border: 1px solid transparent;
	border-right-color: rgba(223, 228, 255, 0.6);
	opacity: 1;
	
	animation: circle1Rotation 10s linear infinite;
}
@keyframes circle1Rotation {
	0% {
		transform: translate(-50%, -50%) rotate(42deg);
	}
	100% {
		transform: translate(-50%, -50%) rotate(402deg);
	}
}


.circle-2 {
	width: 475px; height: 475px;
	border-radius: 50%;
	border: 1px solid transparent;
	border-right-color: rgba(223, 228, 255, 0.6);
	opacity: 1;
	
	animation: circle2Rotation 12s linear infinite reverse;
}
@keyframes circle2Rotation {
	0% {
		transform: translate(-50%, -50%) rotate(225deg);
	}
	100% {
		transform: translate(-50%, -50%) rotate(585deg);
	}
}


.circle-3 {
	left: calc(50% + 93px);
	top: calc(50% - 189px);
	width: 106px; height: 280px;
	overflow: hidden;
}
	.circle-3::before {
		left: -275%;
		top: -4%;
		width: 393px;
		height: 393px;
		border-radius: 50%;
		border: 1px solid transparent;
		border-right-color: rgba(223, 228, 255, 0.6);
		
		animation: circle3Rotation 15s linear infinite;
	}
@keyframes circle3Rotation {
	0% {
		transform: rotate(-107deg);
	}
	100% {
		transform: rotate(253deg);
	}
}


.circle-4 {
	width: 295px; height: 295px;
	border-radius: 50%;
	border: 1px solid transparent;
	border-right-color: rgb(251, 251, 251);
	border-left-color: rgba(251, 251, 251, 0.2);
	opacity: 1;
	
	animation: circle4Rotation 9s linear infinite;
}
@keyframes circle4Rotation {
	0% {
		transform: translate(-50%, -50%) rotate(248deg) scale(0.92);
	}
	100% {
		transform: translate(-50%, -50%) rotate(608deg) scale(0.92);
	}
}


.circle-5 {
	width: 100px; height: 100px;
	transform: translate(-50%, -50%) scale(1);
	opacity: 1;
}
	.circle-5::before {
		width: 173px; height: 173px;
		border-radius: 50%;
		border: 1px solid rgb(251, 251, 251);
		transform: translate(-50%, -50%);
	}
	.circle-5::after {
		width: 177px; height: 177px;
		border-radius: 50%;
		border: 1px solid rgb(251, 251, 251);
		transform: translate(-50%, -50%);
	}


.circle-6 {
	top: 50%; left: 50%;
	width: 190px; height: 190px;
	background: repeating-conic-gradient(from 0deg, rgba(179, 221, 255, 0.4) 0deg 1deg, transparent 1deg 2deg);
	clip-path: url(#bagel1);
	border-radius: 50%;
	transform: translate(-50%, -50%) scale(0.93);
	opacity: 1;
}

.circle-7 {
	top: 50%; left: 50%;
	width: 142px; height: 142px;
	filter: blur(1px);
	transform: translate(-50%, -50%) scale(0.93);
	opacity: 1;
}
	.circle-7::before {
		top: 0; left: 0;
		width: 100%; height: 100%;
		background: repeating-conic-gradient(from 0deg, rgba(114, 87, 187, 0.6) 0deg 2deg, transparent 2deg 8deg);
		clip-path: url(#bagel2);
		border-radius: 50%;
	}


.circle-8 {
	top: 50%; left: 50%;
	width: 120px; height: 120px;
	background: repeating-conic-gradient(from 0deg, rgba(236, 247, 255, 0.68) 0deg 1deg, transparent 1deg 2deg);
	clip-path: url(#bagel3);
	border-radius: 50%;
	transform: translate(-50%, -50%) scale(0.93);
	opacity: 1;
}


.circle-9 {
	top: 50%; left: 50%;
	width: 76px; height: 76px;
	background: repeating-conic-gradient(from 0deg, rgba(236, 247, 255, 0.68) 0deg 1deg, transparent 1deg 2deg);
	clip-path: url(#bagel4);
	border-radius: 50%;
	transform: translate(-50%, -50%) scale(0.93);
	opacity: 1;
}


.circle-10 {
	top: 50%; left: 50%;
	width: 190px; height: 190px;
	background: radial-gradient(rgba(230, 245, 255, 0.6), rgba(201, 243, 255, 0.5), rgba(74, 105, 160, 0.3), transparent 70%);
	clip-path: url(#bagel1);
	border-radius: 50%;
	transform: translate(-50%, -50%) scale(0.93);
	opacity: 1;
}


.circle-11 {
	top: 50%; left: 50%;
	width: 190px; height: 190px;
	background: repeating-conic-gradient(from 0deg, rgba(229, 243, 255, 0.1) 0deg 1deg, transparent 1deg 8deg, rgba(229, 243, 255, 0.3) 8deg 9deg, transparent 9deg 10deg, rgba(229, 243, 255, 0.1) 10deg 11deg, transparent 11deg 72deg);
	clip-path: url(#bagel1);
	border-radius: 50%;
	opacity: 1;
	
	animation: circle11OpenAnimation 8s linear infinite;
}
@keyframes circle11OpenAnimation {
	0% {
		transform: translate(-50%, -50%) rotate(0deg);
	}
	100% {
		transform: translate(-50%, -50%) rotate(360deg);
	}
}


.circle-12 {
	top: 50%; left: 50%;
	width: 190px; height: 190px;
	background: repeating-conic-gradient(from 0deg, rgba(208, 233, 255, 0.2) 20deg 21deg, transparent 21deg 40deg, rgba(192, 223, 249, 0.25) 40deg 41deg, transparent 41deg 43deg, rgba(179, 220, 255, 0.15) 43deg 44deg, transparent 44deg 76deg);
	clip-path: url(#bagel1);
	border-radius: 50%;
	opacity: 1;
	
	animation: circle12OpenAnimation 6s linear infinite reverse;
}
@keyframes circle12OpenAnimation {
	0% {
		transform: translate(-50%, -50%) rotate(0deg);
	}
	100% {
		transform: translate(-50%, -50%) rotate(360deg);
	}
}


.circle-13 {
	width: 100px; height: 100px;
	transform: translate(-50%, -50%) scale(1);
	opacity: 1;
}
	.circle-13::before {
		width: 110px; height: 110px;
		border-radius: 50%;
		border: 1px solid rgb(251, 251, 251);
		transform: translate(-50%, -50%);
	}
	.circle-13::after {
		width: 120px; height: 120px;
		border-radius: 50%;
		border: 1px solid rgba(251, 251, 251, 0.5);
		transform: translate(-50%, -50%);
	}

.circle-14 {
	width: 100px; height: 100px;
	transform: translate(-50%, -50%) scale(1);
	opacity: 1;
}
	.circle-14::before {
		width: 70px; height: 70px;
		border-radius: 50%;
		border: 1px solid rgba(251, 251, 251, 0.5);
		transform: translate(-50%, -50%);
	}
	.circle-14::after {
		width: 95px; height: 95px;
		border-radius: 50%;
		border: 1px solid rgba(251, 251, 251, 0.3);
		transform: translate(-50%, -50%);
	}


.glitch {
	width: 2px; height: 2px;
	box-shadow: -21px -75px #8AC7ED, -16px -78px #8AC7ED, -8px -78px #8AC7ED, -5px -77px #8AC7ED, -2px -79px #8AC7ED, 10px -79px #8AC7ED, 25px -73px #8AC7ED, 41px -71px #8AC7ED, 44px -68px #8AC7ED, -26px -72px #8AC7ED, -45px -62px #8AC7ED, -65px -57px #8AC7ED, 59px -49px #8AC7ED, 67px -52px #8AC7ED, 37px -69px #8AC7ED, 43px -62px #8AC7ED, 39px -62px #8AC7ED, 17px -71px #8AC7ED, 28px -67px #8AC7ED, 65px -32px #8AC7ED, 73px -24px #8AC7ED, 67px -25px #8AC7ED, 76px -14px #8AC7ED, 70px -18px #8AC7ED, 82px 21px #8AC7ED, 79px 20px #8AC7ED, 72px 15px #8AC7ED, 55px 45px #8AC7ED, 48px 51px #8AC7ED, 43px 58px #8AC7ED, 37px 57px #8AC7ED, 36px 63px #8AC7ED, 32px 76px #8AC7ED, 35px 70px #8AC7ED, 25px 71px #8AC7ED, 20px 75px #8AC7ED, 5px 70px #8AC7ED, 7px 75px #8AC7ED, -5px 79px #8AC7ED, 3px 78px #8AC7ED, -1px 77px #8AC7ED, -13px 78px #8AC7ED, -15px 82px #8AC7ED, -20px 76px #8AC7ED, -18px 78px #8AC7ED, -17px 75px #8AC7ED, -22px 72px #8AC7ED, -34px 72px #8AC7ED, -36px 69px #8AC7ED, -43px 74px #8AC7ED, -41px 72px #8AC7ED, -42px 69px #8AC7ED, -38px 66px #8AC7ED, -43px 63px #8AC7ED, -37px 61px #8AC7ED, -56px 66px #8AC7ED, -54px 61px #8AC7ED, -58px 54px #8AC7ED, -60px 41px #8AC7ED, -50px 56px #8AC7ED, -54px 57px #8AC7ED, -60px 52px #8AC7ED, -74px 35px #8AC7ED, -76px 18px #8AC7ED, -74px 25px #8AC7ED, -69px 23px #8AC7ED, -84px 13px #8AC7ED, -73px 3px #8AC7ED, -80px -1px #8AC7ED, -79px -4px #8AC7ED, -79px -7px #8AC7ED, -70px -11px #8AC7ED, -67px -23px #8AC7ED, -84px -13px #8AC7ED, -71px -42px #8AC7ED, -61px -49px #8AC7ED, -58px -43px #8AC7ED, -55px -50px #8AC7ED, -32px -72px #8AC7ED, -80px -30px #8AC7ED, -59px -20px #8AC7ED, -79px 12px #8AC7ED, -76px 1px #8AC7ED, 8px 57px #8AC7ED, 59px 36px #8AC7ED, 60px 46px #8AC7ED, 54px 59px #8AC7ED, 44px 52px #8AC7ED, -31px 20px #8AC7ED, -56px 2px #8AC7ED, 47px 35px #8AC7ED, 70px 6px #8AC7ED, 60px -2px #8AC7ED,
							-21px -75px 0 1px rgba(255, 255, 255, 0.1), -16px -78px 0 1px rgba(255, 255, 255, 0.1), -8px -78px 0 1px rgba(255, 255, 255, 0.1), -5px -77px 0 1px rgba(255, 255, 255, 0.1), -2px -79px 0 1px rgba(255, 255, 255, 0.1), 10px -79px 0 1px rgba(255, 255, 255, 0.1), 25px -73px 0 1px rgba(255, 255, 255, 0.1), 41px -71px 0 1px rgba(255, 255, 255, 0.1), 44px -68px 0 1px rgba(255, 255, 255, 0.1), -26px -72px 0 1px rgba(255, 255, 255, 0.1), -45px -62px 0 1px rgba(255, 255, 255, 0.1), -65px -57px 0 1px rgba(255, 255, 255, 0.1), 59px -49px 0 1px rgba(255, 255, 255, 0.1), 67px -52px 0 1px rgba(255, 255, 255, 0.1), 37px -69px 0 1px rgba(255, 255, 255, 0.1), 43px -62px 0 1px rgba(255, 255, 255, 0.1), 39px -62px 0 1px rgba(255, 255, 255, 0.1), 17px -71px 0 1px rgba(255, 255, 255, 0.1), 28px -67px 0 1px rgba(255, 255, 255, 0.1), 65px -32px 0 1px rgba(255, 255, 255, 0.1), 73px -24px 0 1px rgba(255, 255, 255, 0.1), 67px -25px 0 1px rgba(255, 255, 255, 0.1), 76px -14px 0 1px rgba(255, 255, 255, 0.1), 70px -18px 0 1px rgba(255, 255, 255, 0.1), 82px 21px 0 1px rgba(255, 255, 255, 0.1), 79px 20px 0 1px rgba(255, 255, 255, 0.1), 72px 15px 0 1px rgba(255, 255, 255, 0.1), 55px 45px 0 1px rgba(255, 255, 255, 0.1), 48px 51px 0 1px rgba(255, 255, 255, 0.1), 43px 58px 0 1px rgba(255, 255, 255, 0.1), 37px 57px 0 1px rgba(255, 255, 255, 0.1), 36px 63px 0 1px rgba(255, 255, 255, 0.1), 32px 76px 0 1px rgba(255, 255, 255, 0.1), 35px 70px 0 1px rgba(255, 255, 255, 0.1), 25px 71px 0 1px rgba(255, 255, 255, 0.1), 20px 75px 0 1px rgba(255, 255, 255, 0.1), 5px 70px 0 1px rgba(255, 255, 255, 0.1), 7px 75px 0 1px rgba(255, 255, 255, 0.1), -5px 79px 0 1px rgba(255, 255, 255, 0.1), 3px 78px 0 1px rgba(255, 255, 255, 0.1), -1px 77px 0 1px rgba(255, 255, 255, 0.1), -13px 78px 0 1px rgba(255, 255, 255, 0.1), -15px 82px 0 1px rgba(255, 255, 255, 0.1), -20px 76px 0 1px rgba(255, 255, 255, 0.1), -18px 78px 0 1px rgba(255, 255, 255, 0.1), -17px 75px 0 1px rgba(255, 255, 255, 0.1), -22px 72px 0 1px rgba(255, 255, 255, 0.1), -34px 72px 0 1px rgba(255, 255, 255, 0.1), -36px 69px 0 1px rgba(255, 255, 255, 0.1), -43px 74px 0 1px rgba(255, 255, 255, 0.1), -41px 72px 0 1px rgba(255, 255, 255, 0.1), -42px 69px 0 1px rgba(255, 255, 255, 0.1), -38px 66px 0 1px rgba(255, 255, 255, 0.1), -43px 63px 0 1px rgba(255, 255, 255, 0.1), -37px 61px 0 1px rgba(255, 255, 255, 0.1), -56px 66px 0 1px rgba(255, 255, 255, 0.1), -54px 61px 0 1px rgba(255, 255, 255, 0.1), -58px 54px 0 1px rgba(255, 255, 255, 0.1), -60px 41px 0 1px rgba(255, 255, 255, 0.1), -50px 56px 0 1px rgba(255, 255, 255, 0.1), -54px 57px 0 1px rgba(255, 255, 255, 0.1), -60px 52px 0 1px rgba(255, 255, 255, 0.1), -74px 35px 0 1px rgba(255, 255, 255, 0.1), -76px 18px 0 1px rgba(255, 255, 255, 0.1), -74px 25px 0 1px rgba(255, 255, 255, 0.1), -69px 23px 0 1px rgba(255, 255, 255, 0.1), -84px 13px 0 1px rgba(255, 255, 255, 0.1), -73px 3px 0 1px rgba(255, 255, 255, 0.1), -80px -1px 0 1px rgba(255, 255, 255, 0.1), -79px -4px 0 1px rgba(255, 255, 255, 0.1), -79px -7px 0 1px rgba(255, 255, 255, 0.1), -70px -11px 0 1px rgba(255, 255, 255, 0.1), -67px -23px 0 1px rgba(255, 255, 255, 0.1), -84px -13px 0 1px rgba(255, 255, 255, 0.1), -71px -42px 0 1px rgba(255, 255, 255, 0.1), -61px -49px 0 1px rgba(255, 255, 255, 0.1), -58px -43px 0 1px rgba(255, 255, 255, 0.1), -55px -50px 0 1px rgba(255, 255, 255, 0.1), -32px -72px 0 1px rgba(255, 255, 255, 0.1), -80px -30px 0 1px rgba(255, 255, 255, 0.1), -59px -20px 0 1px rgba(255, 255, 255, 0.1), -79px 12px 0 1px rgba(255, 255, 255, 0.1), -76px 1px 0 1px rgba(255, 255, 255, 0.1), 8px 57px 0 1px rgba(255, 255, 255, 0.1), 59px 36px 0 1px rgba(255, 255, 255, 0.1), 60px 46px 0 1px rgba(255, 255, 255, 0.1), 54px 59px 0 1px rgba(255, 255, 255, 0.1), 44px 52px 0 1px rgba(255, 255, 255, 0.1), -31px 20px 0 1px rgba(255, 255, 255, 0.1), -56px 2px 0 1px rgba(255, 255, 255, 0.1), 47px 35px 0 1px rgba(255, 255, 255, 0.1), 70px 6px 0 1px rgba(255, 255, 255, 0.1), 60px -2px 0 1px rgba(255, 255, 255, 0.1);
	filter: blur(1px);
	opacity: 1;
	transform: translate(-50%, -50%) rotate(0deg);
	
	animation: glitchOpenAnimation 12s linear infinite;
}
@keyframes glitchOpenAnimation {
	0% {
		transform: translate(-50%, -50%) rotate(0deg);
	}
	100% {
		transform: translate(-50%, -50%) rotate(360deg);
	}
}


.fragment-1::before {
	width: 6px; height: 6px;
	border: 2px solid rgba(255, 255, 255, 0.3);
	border-radius: 2px;
	opacity: 1;
	
	animation: fragment1BeforeRotation 20s linear infinite;
}
@keyframes fragment1BeforeRotation {
	0% {
		transform: rotate(-2deg) translate(71px, -181px);
	}
	100% {
		transform: rotate(358deg) translate(71px, -181px);
	}
}


.fragment-1::after {
	width: 6px; height: 6px;
	border: 2px solid rgba(255, 255, 255, 0.3);
	border-radius: 2px;
	opacity: 1;
	
	animation: fragment1AfterRotation 18s linear infinite reverse;
}
@keyframes fragment1AfterRotation {
	0% {
		transform: rotate(-1deg) translate(285px, 48px);
	}
	100% {
		transform: rotate(359deg) translate(285px, 48px);
	}
}


.fragment-2::after {
	width: 6px; height: 6px;
	border: 2px solid rgba(255, 255, 255, 0.3);
	border-radius: 2px;
	opacity: 1;
	
	animation: fragment2AfterRotation 22s linear infinite;
}
@keyframes fragment2AfterRotation {
	0% {
		transform: rotate(-8deg) translate(-220px, 162px);
	}
	100% {
		transform: rotate(352deg) translate(-220px, 162px);
	}
}


.fragment-2::before {
	width: 6px; height: 6px;
	border: 2px solid rgba(255, 255, 255, 0.3);
	border-radius: 2px;
	opacity: 1;
	
	animation: fragment2BeforeRotation 16s linear infinite reverse;
}
@keyframes fragment2BeforeRotation {
	0% {
		transform: rotate(-3deg) translate(284px, 111px);
	}
	100% {
		transform: rotate(357deg) translate(284px, 111px);
	}
}


.fragment-3::after {
	width: 6px; height: 6px;
	background: rgba(255, 255, 255, 0.3);
	border-radius: 2px;
	opacity: 1;
	
	animation: fragment3AfterRotation 14s linear infinite;
}
@keyframes fragment3AfterRotation {
	0% {
		transform: rotate(-9deg) translate(284px, 111px);
	}
	100% {
		transform: rotate(351deg) translate(284px, 111px);
	}
}


.fragment-3::before {
	width: 6px; height: 6px;
	background: rgba(255, 255, 255, 0.3);
	border-radius: 2px;
	opacity: 1;
	
	animation: fragment3BeforeRotation 24s linear infinite reverse;
}
@keyframes fragment3BeforeRotation {
	0% {
		transform: rotate(0deg) translate(-253px, -126px);
	}
	100% {
		transform: rotate(360deg) translate(-253px, -126px);
	}
}

