.circles-section {
    padding: 40px 0 80px;
    width: 100%;
}

.circles-section .container {
    max-width: 1200px;
    margin: 0 auto 60px;
    padding: 0 50px;
}

.circles-section .collaboration-content {
    display: flex;
    flex-direction: column;
    gap: 8px;
    align-items: flex-start;
    text-align: left;
}

.circles-section .collaboration-content h2 {
    color: black;
    font-size: 40px;
    font-family: 'Space Grotesk', sans-serif;
    font-weight: bold;
    line-height: 44px;
    margin: 0;
}

.circles-section .collaboration-content p {
    color: #828282;
    font-size: 20px;
    font-family: 'Space Grotesk', sans-serif;
    font-weight: 400;
    line-height: 30px;
    margin: 0;
}

.circles-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 50px;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 100px;
}

.circles-text {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 40px;
    max-width: 600px;
    align-self: center;
    padding: 40px 0;
}

.text-content {
    color: #212529;
    font-size: 18px;
    font-family: 'Space Grotesk', sans-serif;
    font-weight: 400;
    line-height: 32px;
}

.circles-illustration {
    width: 710px;
    height: 661px;
    position: relative;
}

.outer-circle,
.inner-circle {
    position: absolute;
    border: 2px #3C3C3C dotted;
    border-radius: 50%;
}

.outer-circle {
    width: 661px;
    height: 661px;
    left: 35px;
    top: 0;
}

.inner-circle {
    width: 387px;
    height: 387px;
    left: 172px;
    top: 137px;
}

.dot {
    width: 70px;
    height: 70px;
    position: absolute;
    border-radius: 50%;
}

.red-dot {
    background: #FF0000;
}

.blue-dot {
    background: #147DF5;
}

.green-dot {
    background: #AFEE29;
}

.yellow-dot {
    background: #FFD300;
}

.dot-1 { left: 0; top: 296px; }
.dot-2 { left: 524px; top: 296px; }
.dot-3 { left: 331px; top: 489px; }
.dot-4 { left: 137px; top: 296px; }
.dot-5 { left: 137px; top: 568px; }
.dot-6 { left: 564px; top: 71px; }
.dot-7 { left: 640px; top: 401px; }
.dot-8 { left: 332px; top: 102px; }
.dot-9 { left: 140px; top: 23px; }

.mixed-dot {
    width: 70px;
    height: 70px;
    position: absolute;
}

.mixed-dot::before,
.mixed-dot::after {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    border-radius: 50%;
}

.dot-7::before { background: #FFD300; }
.dot-7::after { background: #FF0000; }
.dot-8::before { background: #FFD300; }
.dot-8::after { background: #AFEE29; }

.logo-box {
    width: 160px;
    height: 160px;
    position: absolute;
    left: 286px;
    top: 251px;
    border-radius: 50%;
    background: white;
    box-shadow: 0px 4px 50px -11px rgba(0, 0, 0, 0.25);
    display: flex;
    justify-content: center;
    align-items: center;
    transition: all 0.3s ease;
}

.logo-box:hover {
    box-shadow: 0 0 30px rgba(147, 211, 9, 0.4);
}

.logo-content {
    color: black;
    font-size: 58px;
    font-family: 'Soyuz Grotesk', sans-serif;
    font-weight: bold;
}

@media (max-width: 1200px) {
    .circles-container {
        flex-direction: column;
        gap: 60px;
        align-items: center;
    }

    .circles-text {
        width: 100%;
        max-width: 710px;
        margin: 0 auto;
        padding: 30px 0;
    }

    .circles-illustration {
        width: 568px;
        height: 529px;
    }

    .outer-circle {
        width: 529px;
        height: 529px;
        left: 28px;
    }

    .inner-circle {
        width: 310px;
        height: 310px;
        left: 138px;
        top: 110px;
    }

    .dot, .mixed-dot {
        width: 56px;
        height: 56px;
    }

    .dot-1 { left: 0; top: 237px; }
    .dot-2 { left: 419px; top: 237px; }
    .dot-3 { left: 265px; top: 391px; }
    .dot-4 { left: 110px; top: 237px; }
    .dot-5 { left: 110px; top: 454px; }
    .dot-6 { left: 451px; top: 57px; }
    .dot-7 { left: 512px; top: 321px; }
    .dot-8 { left: 266px; top: 82px; }
    .dot-9 { left: 112px; top: 18px; }

    .logo-box {
        width: 128px;
        height: 128px;
        left: 229px;
        top: 201px;
    }

    .logo-content {
        font-size: 46px;
    }
}

@media (max-width: 768px) {
    .circles-section .container {
        padding: 0 20px;
    }

    .circles-container {
        padding: 0 20px;
    }
    
    .circles-text {
        width: 100%;
        max-width: 710px;
        margin: 0 auto;
        padding: 25px 0;
    }

    .circles-section .collaboration-content h2 {
        font-size: 32px;
        line-height: 38px;
    }

    .circles-section .collaboration-content p {
        font-size: 18px;
        line-height: 28px;
    }
    
    .text-content {
        font-size: 16px;
        line-height: 28px;
    }

    .circles-illustration {
        width: 426px;
        height: 397px;
    }

    .outer-circle {
        width: 397px;
        height: 397px;
        left: 21px;
    }

    .inner-circle {
        width: 232px;
        height: 232px;
        left: 103px;
        top: 82px;
    }

    .dot, .mixed-dot {
        width: 42px;
        height: 42px;
    }

    .dot-1 { left: 0; top: 178px; }
    .dot-2 { left: 314px; top: 178px; }
    .dot-3 { left: 199px; top: 293px; }
    .dot-4 { left: 82px; top: 178px; }
    .dot-5 { left: 82px; top: 341px; }
    .dot-6 { left: 338px; top: 43px; }
    .dot-7 { left: 384px; top: 241px; }
    .dot-8 { left: 199px; top: 61px; }
    .dot-9 { left: 84px; top: 14px; }

    .logo-box {
        width: 96px;
        height: 96px;
        left: 172px;
        top: 151px;
    }

    .logo-content {
        font-size: 35px;
    }
}

@media (max-width: 480px) {
    .circles-section .container {
        padding: 0 16px;
    }
    
    .circles-container {
        padding: 0 16px;
    }
    
    .circles-text {
        padding: 20px 0;
    }
    
    .circles-section .collaboration-content h2 {
        font-size: 28px;
        line-height: 34px;
    }

    .circles-section .collaboration-content p {
        font-size: 16px;
        line-height: 24px;
    }
    
    .text-content {
        font-size: 15px;
        line-height: 24px;
    }

    .circles-illustration {
        width: 284px;
        height: 264px;
    }

    .outer-circle {
        width: 264px;
        height: 264px;
        left: 14px;
    }

    .inner-circle {
        width: 155px;
        height: 155px;
        left: 69px;
        top: 55px;
    }

    .dot, .mixed-dot {
        width: 28px;
        height: 28px;
    }

    .dot-1 { left: 0; top: 118px; }
    .dot-2 { left: 210px; top: 118px; }
    .dot-3 { left: 132px; top: 196px; }
    .dot-4 { left: 55px; top: 118px; }
    .dot-5 { left: 55px; top: 227px; }
    .dot-6 { left: 226px; top: 28px; }
    .dot-7 { left: 256px; top: 160px; }
    .dot-8 { left: 133px; top: 41px; }
    .dot-9 { left: 56px; top: 9px; }

    .logo-box {
        width: 64px;
        height: 64px;
        left: 114px;
        top: 100px;
    }

    .logo-content {
        font-size: 24px;
    }
}