.vf-orbit-section-container-0f4d74b8 {
	width: 100vw;
	margin-left: calc(-50vw + 50%);
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	/* Base padding to allow items to not clip */
	padding: 80px 10%; 
	box-sizing: border-box;
	overflow: visible;
}

.vf-orbit-section-0f4d74b8 {
    position: relative;
    width: 100%;
    max-width: 800px; /* limits maximum size */
	overflow: visible;
}

/* 
 * FLUID ASPECT RATIO TRICK
 * This makes the height strictly follow the width
 * padding-bottom 100% means height = width
 */
.vf-orbit-section-0f4d74b8::before {
	content: "";
	display: block;
	padding-bottom: 100%; 
}

/* ========================= */
/* ORBITA GIRATORIA */
/* ========================= */

.vf-orbit-layer-0f4d74b8 {
    position: absolute;
    inset: 0;
    animation: orbitRotate-0f4d74b8 120s linear infinite;
	overflow: visible;
}

/* ========================= */
/* CIRCULOS DE FONDO (porcentajes) */
/* ========================= */

.vf-ring-0f4d74b8 {
    position: absolute;
    border-radius: 50%;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}

.vf-ring-1-0f4d74b8 {
    width: 100%;
    height: 100%;
    border: 1px dashed rgba(90,90,255,.2);
}

.vf-ring-2-0f4d74b8 {
    width: 75%;
    height: 75%;
    border: 1px solid rgba(90,90,255,.08);
	box-shadow: inset 0 0 100px rgba(90,90,255,.05);
}

.vf-ring-3-0f4d74b8 {
    width: 50%;
    height: 50%;
    border: 1px solid rgba(90,90,255,.08);
	box-shadow: inset 0 0 80px rgba(90,90,255,.08);
}

/* ========================= */
/* CENTRO (porcentajes) */
/* ========================= */

.vf-center-card-0f4d74b8 {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);

    width: 32%;
    height: 32%;

    border-radius: 50%;

    background: linear-gradient(
		135deg,
		#6f7cff,
		var(--bg-end, #5360ff)
    );

    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;

    text-align: center;
    color: white;
    z-index: 999;
    box-shadow: 0 20px 60px rgba(83,96,255,.25);
}

.vf-center-logo-0f4d74b8 {
	width: clamp(40px, 5vw, 80px);
	height: clamp(40px, 5vw, 80px);
	border-radius: 50%;
	background: rgba(255,255,255,0.2);
	display: flex;
	align-items: center;
	justify-content: center;
	backdrop-filter: blur(5px);
	margin-bottom: 5%;
}

.vf-center-logo-0f4d74b8 img {
    width: 60%;
	/* Apply white filter to center logo */
	filter: brightness(0) invert(1);
}

.vf-center-card-0f4d74b8 h3 {
    margin: 0 0 2px;
    font-size: clamp(14px, 2.5vw, 28px);
	color: white;
	font-weight: 700;
}

.vf-center-card-0f4d74b8 p {
    margin: 0;
    width: 80%;
    font-size: clamp(9px, 1.1vw, 13px);
    line-height: 1.3;
	color: rgba(255,255,255,0.8);
}

/* ========================= */
/* MODULOS */
/* ========================= */

.vf-orbit-item-0f4d74b8 {
    position: absolute;
    width: 19%; /* Increased from 16% for more breathing room */
    height: 19%; /* Increased from 16% for more breathing room */
	/* Centering point */
	margin-left: -9.5%; /* Adjusted for new width */
	margin-top: -9.5%; /* Adjusted for new height */
}

.vf-orbit-item-content-0f4d74b8 {
	width: 100%;
	height: 100%;
	border-radius: 50%;
    background: white;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    box-shadow: 0 10px 30px rgba(30,40,80,.06);
	/* Outer border */
	border: 1px solid rgba(90,90,255,.05);
	position: relative;
    animation: orbitCounterRotate-0f4d74b8 120s linear infinite;
	padding: 8%; /* Added padding for inner breathing room */
}

/* Inner line for orbit items */
.vf-orbit-item-content-0f4d74b8::before {
	content: '';
	position: absolute;
	inset: 6px; /* Increased from 4px to match larger circle */
	border: 1px solid rgba(90,90,255,.1);
	border-radius: 50%;
	pointer-events: none;
}

/* Cuadrado redondeado interno del icono */
.vf-icon-0f4d74b8 {
    font-size: clamp(12px, 1.8vw, 22px);
    margin-bottom: 6%; /* Slightly reduced to balance text */
	display: flex;
	align-items: center;
	justify-content: center;
	width: clamp(26px, 3.8vw, 48px);
	height: clamp(26px, 3.8vw, 48px);
	background: #f4f6ff;
	border-radius: 12px;
	border: 1px solid rgba(83,96,255,0.1);
	color: #3f51b5;
	z-index: 1; /* Keep above inner line */
}

.vf-icon-0f4d74b8 svg {
	width: 50%;
	height: 50%;
	fill: currentColor;
}

.vf-orbit-item-content-0f4d74b8 span {
    font-size: clamp(8px, 1vw, 13px); /* Slightly smaller text */
    font-weight: 500;
	color: #333;
	z-index: 1; /* Keep above inner line */
	line-height: 1.1; /* Tighter line height for two-line texts */
	width: 90%; /* Ensure text doesn't hit the edges */
}

/* ========================= */
/* POSICIONES (porcentajes fijos sobre el radio exterior) */
/* ========================= */

.item-1-0f4d74b8 {
    top: 0%;
    left: 50%;
}

.item-2-0f4d74b8 {
    top: 14.64%;
    left: 85.35%;
}

.item-3-0f4d74b8 {
    top: 50%;
    left: 100%;
}

.item-4-0f4d74b8 {
    top: 85.35%;
    left: 85.35%;
}

.item-5-0f4d74b8 {
    top: 100%;
    left: 50%;
}

.item-6-0f4d74b8 {
    top: 85.35%;
    left: 14.64%;
}

.item-7-0f4d74b8 {
    top: 50%;
    left: 0%;
}

.item-8-0f4d74b8 {
    top: 14.64%;
    left: 14.64%;
}

/* ========================= */
/* ANIMACIONES */
/* ========================= */

@keyframes orbitRotate-0f4d74b8 {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

@keyframes orbitCounterRotate-0f4d74b8 {
    from { transform: rotate(0deg); }
    to { transform: rotate(-360deg); }
}