.itera-section {
    padding: 100px 0;
    position: relative;
    overflow: hidden;
}

.itera-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: center;
}

.itera-content .itera-text .button-secondary {
    display: inline-block;
    padding: 8px 30px 8px 16px;
    border: 1px solid #C61A1D;
    color: #C61A1D;
    text-decoration: none;
    border-radius: 24px;
    font-weight: 600;
    position: relative;
    transition: all 0.8s ease;
    margin-top: 48px;
    font-size: 16px;
}

.itera-content .itera-text .button-secondary svg {
    position: absolute;
    right: 7px;
    top: 50%;
    transform: translateY(-50%);
    transition: transform 0.3s ease;
}

.itera-content .itera-text .button-secondary svg path {
    transition: fill 0.3s ease;
}

@media (hover: hover) and (pointer: fine) {
    .itera-content .itera-text .button-secondary:hover {
        background-color: #c6191c;
        color: #fff;
        transform: translateY(-3px);
        box-shadow: 0 6px 12px rgba(198, 25, 28, 0.25);
    }

    .itera-content .itera-text .button-secondary:hover svg {
        transform: translateY(-50%) translateX(4px);
    }

    .itera-content .itera-text .button-secondary:hover svg path {
        fill: #fff;
    }
}


/* .itera-content .itera-text .button-secondary::after {
    content: "→";
    position: absolute;
    right: 7px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 16px;
    transition: transform 0.3s ease;
} */

/* .itera-content .itera-text .button-secondary:hover::after {
    transform: translateY(-50%) translateX(4px);
} */

.itera-content h2 {
    font-size: clamp(32px, 4vw, 40px);
    line-height: 1.2;
    margin-bottom: 20px;
    font-weight: 600;
}

.itera-content p {
    color: #666e7c;
    font-weight: 400;
    margin-bottom: 20px;
    font-size: 16px;
}

/* .itera-content .itera-shor-des {
    color: #344054;
    font-weight: 600;
    font-size: 16px;
} */

.itera-content .highlight {
    color: #22407a;
}

.itera-visual {
    position: relative;
    width: 580px;
    height: 580px;
    border-radius: 44.35px;
}

.itera-circles-container {
    position: relative;
    width: 580px;
    height: 580px;
}

/* Outer ellipse - light blue */
.itera-ellipse-outer {
    box-sizing: border-box;
    position: absolute;
    width: 580px;
    height: 580px;
    left: calc(50% - 580px / 2);
    top: calc(50% - 580px / 2);
    /* border: 2px solid #dae9fa; */
    border-top: 2px solid #dae9fa;
    border-right: 2px solid #dae9fa;
    border-radius: 50%;
    animation: rotate360 5s linear infinite;
}

/* Inner ellipse - darker blue */
.itera-ellipse-inner {
    box-sizing: border-box;
    position: absolute;
    width: 507.5px;
    height: 507.5px;
    left: calc(50% - 507.5px / 2);
    top: calc(50% - 507.5px / 2);
    /* border: 2px solid #7997b6; */
    border-top: 2px solid #7997b6;
    border-right: 2px solid #7997b6;
    border-radius: 50%;
    animation: rotate-360 5s linear infinite;
    transform: rotate(180deg);
}

/* Gradient ring */
.itera-gradient-ring {
    box-sizing: border-box;
    position: absolute;
    width: 435px;
    height: 435px;
    left: calc(50% - 435px / 2);
    top: calc(50% - 435px / 2);
    background: linear-gradient(180deg,
            rgba(153, 180, 199, 0.3) 0%,
            rgba(255, 255, 255, 0.12) 100%);
    animation: rotate360 4s linear infinite;
    border-radius: 50%;
}

/* Center image */
.itera-center-image {
    position: absolute;
    width: 362.5px;
    height: 362.5px;
    left: calc(50% - 362.5px / 2);
    top: calc(50% - 362.5px / 2);
    border-radius: 290px;
    overflow: hidden;
    z-index: 2;
}

.itera-center-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Spinner dots container */
.itera-spinner-dots {
    position: absolute;
    width: 550px;
    height: 550px;
    left: 15px;
    top: 15px;
    animation: rotate-360 5s linear infinite;
}

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

    to {
        transform: rotate(-360deg);
    }
}

/* White dot */
.itera-dot-white {
    position: absolute;
    width: 15.17px;
    height: 15.17px;
    left: 400.84px;
    top: 480.22px;
    z-index: 1;
    background: #ffffff;
    border-radius: 50%;
    transform: rotate(135deg);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    animation: float-dot1 4s ease-in-out infinite;
}

/* Red dot */
.itera-dot-red {
    position: absolute;
    width: 29.56px;
    height: 29.56px;
    left: 136.55px;
    top: 83.45px;
    z-index: 1;
    background: #c61a1d;
    border-radius: 50%;
    animation: float-dot2 5s ease-in-out infinite;
}

/* Orbit ring */
.itera-orbit-ring {
    box-sizing: border-box;
    position: absolute;
    width: 434.94px;
    height: 434.94px;
    left: 58.16px;
    top: 56.9px;
    /* border: 1.5px solid rgba(153, 180, 199, 0.25); */
    border-right: 1.5px solid rgba(153, 180, 199, 0.25);
    border-bottom: 1.5px solid rgba(153, 180, 199, 0.25);
    animation: rotate360 4s linear infinite;
    border-radius: 50%;
}

@keyframes float-dot1 {

    0%,
    100% {
        transform: rotate(135deg) translate(0, 0);
    }

    50% {
        transform: rotate(135deg) translate(-3px, -3px);
    }
}

@keyframes float-dot2 {

    0%,
    100% {
        transform: translate(0, 0);
    }

    50% {
        transform: translate(3px, 3px);
    }
}

/* Tablet - iPad Air, iPad (768px - 1024px) */
@media (max-width: 1024px) {
    .itera-section {
        padding: 80px 0px;
    }

    .itera-content {
        grid-template-columns: 1fr 1fr;
        gap: 40px;
        align-items: center;
    }

    .itera-content h2 {
        font-size: clamp(28px, 4vw, 36px);
        margin-bottom: 16px;
    }

    .itera-content p {
        font-size: 14px;
        line-height: 1.6;
        margin-bottom: 16px;
    }

    .itera-content .itera-text .button-secondary {
        font-size: 14px;
        margin-top: 32px;
    }

    .itera-visual {
        width: 380px;
        height: 380px;
        margin: 0 auto;
    }

    .itera-circles-container {
        width: 380px;
        height: 380px;
    }

    .itera-ellipse-outer {
        width: 380px;
        height: 380px;
        left: calc(50% - 380px / 2);
        top: calc(50% - 380px / 2);
    }

    .itera-ellipse-inner {
        width: 330px;
        height: 330px;
        left: calc(50% - 330px / 2);
        top: calc(50% - 330px / 2);
    }

    .itera-gradient-ring {
        width: 285px;
        height: 285px;
        left: calc(50% - 285px / 2);
        top: calc(50% - 285px / 2);
    }

    .itera-center-image {
        width: 240px;
        height: 240px;
        left: calc(50% - 240px / 2);
        top: calc(50% - 240px / 2);
    }

    .itera-spinner-dots {
        width: 360px;
        height: 360px;
        left: 10px;
        top: 10px;
    }

    .itera-dot-red {
        width: 20px;
        height: 20px;
        left: 90px;
        top: 55px;
    }

    .itera-dot-white {
        width: 12px;
        height: 12px;
        left: 262px;
        top: 315px;
    }

    .itera-orbit-ring {
        width: 285px;
        height: 285px;
        left: 38px;
        top: 37px;
    }
}

/* Mobile (max-width: 768px) */
@media (max-width: 768px) {
    .itera-section {
        padding: 60px 0px;
    }

    .itera-content {
        grid-template-columns: 1fr;
        gap: 40px;
        text-align: center;
    }

    .itera-content h2 {
        font-size: clamp(26px, 6vw, 30px);
        margin-bottom: 16px;
    }

    .itera-content p {
        font-size: 14px;
        line-height: 1.6;
        margin-bottom: 20px;
    }

    .itera-content .itera-text .button-secondary {
        display: block;
        width: 60%;
        margin: 24px auto 0;
        text-align: center;
        font-size: 14px;
    }

    .itera-content .itera-text .button-secondary svg {
        right: 10px;
    }

    .itera-visual {
        width: 280px;
        height: 280px;
        margin: 0 auto;
    }

    .itera-circles-container {
        width: 280px;
        height: 280px;
        position: relative;
        top: 0;
        left: 0;
        margin: 0 auto;
    }

    .itera-ellipse-outer {
        width: 280px;
        height: 280px;
        left: 0;
        top: 0;
    }

    .itera-ellipse-inner {
        width: 245px;
        height: 245px;
        left: 17.5px;
        top: 17.5px;
    }

    .itera-gradient-ring {
        width: 210px;
        height: 210px;
        left: 35px;
        top: 35px;
    }

    .itera-center-image {
        width: 170px;
        height: 170px;
        left: 55px;
        top: 55px;
    }

    .itera-spinner-dots {
        width: 280px;
        height: 280px;
        left: 0;
        top: 0;
    }

    .itera-dot-red {
        width: 14px;
        height: 14px;
        left: 65px;
        top: 52px;
    }

    .itera-dot-white {
        width: 9px;
        height: 9px;
        left: 235px;
        top: 200px;
    }

    .itera-orbit-ring {
        width: 210px;
        height: 210px;
        left: 35px;
        top: 35px;
    }
}