.jisetf-hero-container {
    width: 100%;
    height: auto;
    padding: 160px 60px 60px 60px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    gap: 60px;
    flex-wrap: wrap;
    align-content: center;
}

.jisetf-hero-block {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: center;
    gap: 60px;
}

.jisetf-main-image {
    object-fit: cover;
    display: block;
    width: 630.5px;
    height: 616.35px;
    aspect-ratio: 16 / 9;
}

.jisetf-hero-text {
    flex: 1 1 0;
    padding-left: 60px;
    display: inline-flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: flex-start;
    gap: 23px;
}

.jisetf-hero-title {
    width: 630px;
    height: 283px;
    font-family: "Cairo", sans-serif;
    font-size: 96px;
    font-weight: 700;
    line-height: 118px;
    color: #313131;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: right;
}

.jisetf-hero-description {
    height: 236px;
    align-self: stretch;
    font-family: "Cairo", sans-serif;
    font-size: 24px;
    font-weight: 400;
    line-height: 37px;
    color: #313131;
    display: flex;
    justify-content: center;
    flex-direction: column;
    text-align: right;
}
.collab-title {
    color: #313131;
    text-align: right;
    font-family: Cairo;
    font-size: 24px;
    font-style: normal;
    font-weight: 400;
    line-height: 37px; /* 154.167% */
}
.collab-box {
    display: flex;
    flex-wrap: wrap;
}
.collab-box img {
    width: 90px;
    height: 89px;
}
.jisetf-register-button {
    width: 157px;
    padding: 13.68px 20.51px;
    background: #0fba89;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    gap: 7.6px;
    overflow: hidden;
}

.jisetf-register-text {
    font-family: "Cairo", sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 24px;
    color: white;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.jisetf-about-container {
    width: 100%;
    height: 100%;
    padding: 60px;
    background: #155789;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    gap: 0 60px;
    flex-wrap: wrap;
    align-content: center;
}

.jisetf-about-content {
    flex: 1 1 0;
    display: inline-flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-end;
    gap: 32px;
}

.jisetf-about-title {
    align-self: stretch;
    height: 166px;
    font-family: "Cairo", sans-serif;
    font-size: 96px;
    font-weight: 700;
    line-height: 37.5px;
    color: #ffffff;
    text-align: right;
    display: flex;
    justify-content: center;
    flex-direction: column;
}

.jisetf-about-paragraph {
    align-self: stretch;
    text-align: right;
    display: flex;
    flex-direction: column;
    justify-content: center;
    font-family: "Cairo", sans-serif;
    font-size: 20px;
    font-weight: 400;
    line-height: 35px;
    color: #ffffff;
}

.jisetf-highlighted {
    font-weight: 700;
}

.jisetf-about-button-wrapper {
    width: 177px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 10px;
}

.jisetf-about-button {
    padding: 13.68px 20.51px;
    background: #0fba89;
    overflow: hidden;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    gap: 7.6px;
    align-self: stretch;
}

.jisetf-about-button-text {
    font-family: "Cairo", sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 24px;
    color: white;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.jisetf-about-image {
    display: block;
    width: 50%;
    height: auto;
    aspect-ratio: 1 / 1;
}
.jisetf-why-section {
    width: 100%;
    padding: 60px;
    background: #f7b531;
    overflow: hidden;
    display: inline-flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 60px;
}

.jisetf-why-header {
    align-self: stretch;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 32px;
}

.jisetf-why-title {
    font-family: "Cairo", sans-serif;
    font-size: 128px;
    font-weight: 700;
    line-height: 128px;
    text-align: center;
    color: white;
}

.jisetf-why-subtitle {
    font-family: "Cairo", sans-serif;
    font-size: 36px;
    font-weight: 400;
    line-height: 36px;
    color: rgba(255, 255, 255, 0.95);
    text-align: center;
}

.jisetf-why-cards {
    align-self: stretch;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    gap: 32px;
    flex-wrap: wrap;
    align-content: center;
}

.jisetf-why-card {
    width: 25%;
    height: 314px;
    padding: 40px;
    background: #fff;
    box-shadow: 0px 10px 25px rgba(0, 0, 51, 0.08);
    display: inline-flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-end;
    gap: 20px;
}

.jisetf-why-card.short {
    height: 288px;
}

.jisetf-why-card-title {
    align-self: stretch;
    font-family: "Cairo", sans-serif;
    font-size: 20px;
    font-weight: 700;
    line-height: 30px;
    color: #000033;
    text-align: right;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.jisetf-why-card-desc {
    align-self: stretch;
    font-family: "Cairo", sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 26px;
    color: rgba(0, 0, 51, 0.95);
    text-align: right;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.jisetf-participants-container {
    display: flex;
    width: 100%;
    padding-right: 60px;
    justify-content: space-between;
    align-items: center;
    background: #0fba89;
}

.jisetf-participants-left-box {
    height: 100%;
    position: relative;
    flex: 1 0 0;
}
.jisetf-participants-left-box img:nth-child(2) {
    position: absolute;
    top: 15%;
    left: 30%;
}
.jisetf-participants-right-box {
    width: 748px;
    height: 508.296px;
    flex-shrink: 0;
    margin-top: -20px;
}
.jisetf-participants-right-box p {
    color: #fff;
    text-align: center;
    font-family: Cairo;
    font-size: 150px;
    font-style: normal;
    font-weight: 700;
    line-height: 174px; /* 116% */
}

.jisetf-participants-right-box p:first-child {
    text-align: right;
}
.jisetf-participants-right-box p:last-child {
    text-align: left;
    margin-top: 10px;
}
.jisetf-global-section {
    width: 100%;
    padding: 60px;
    background: #fff;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 60px;
}

.jisetf-global-header {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 32px;
    width: 100%;
}

.jisetf-global-title {
    font-family: "Cairo", sans-serif;
    font-size: 110px;
    font-weight: 700;
    line-height: 174px;
    color: #313131;
    text-align: center;
}

.jisetf-global-subtitle {
    font-family: "Cairo", sans-serif;
    font-size: 24px;
    font-weight: 400;
    line-height: 39px;
    color: #313131;
    text-align: center;
}

.jisetf-global-map-container {
    margin-left: auto;
    margin-right: auto;
    position: relative;
    width: 1320px;
    height: 585px;
    border-radius: 8px;
    overflow: hidden;
}
.jisetf-global-map-bg {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;

    background-image: url("../images/map.svg");
    background-size: contain; /* Or 'cover' depending on your layout */
    background-repeat: no-repeat;
    background-position: center center;
}

.jisetf-logo-wrapper {
    position: absolute;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.jisetf-logo-img {
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.05);
    padding: 8px;
    max-width: 100%;
    height: auto;
    max-height: 90px;
    object-fit: contain;
} /* Marker (pulsing effect optional) */

.jisetf-logo-wrapper.genius {
    left: 19.29%;
    top: 25.87%;
}
.jisetf-logo-wrapper.isef {
    left: 17.15%;
    top: 38.97%;
}
.jisetf-logo-wrapper.first-global {
    left: 23.25%;
    top: 58.94%;
}
.jisetf-logo-wrapper.eistf {
    left: 53.68%;
    top: 47.44%;
}
.jisetf-logo-wrapper.i-fest {
    left: 46.97%;
    top: 26.68%;
}
.jisetf-logo-wrapper.tisf {
    left: 78.42%;
    top: 35.18%;
}
@keyframes jisetf-pulse {
    0% {
        transform: translate(-50%, -50%) scale(1);
        opacity: 0.5;
    }
    70% {
        transform: translate(-50%, -50%) scale(5.5);
        opacity: 0;
    }
    100% {
        transform: translate(-50%, -50%) scale(1);
        opacity: 0;
    }
}
.jisetf-map-marker {
    width: 6.4px;
    height: 6.4px;
    margin-top: 8px;
    margin-bottom: 8px;
}
.jisetf-map-marker {
    position: relative;
    background-color: #0fba89;
    border-radius: 50%;
    z-index: 2;
}
.jisetf-map-marker::before,
.jisetf-map-marker::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 6.4px;
    height: 6.4px;
    background-color: inherit;
    border-radius: 50%;
    transform: translate(-50%, -50%);
    opacity: 0;
    z-index: 1;
}
.jisetf-map-marker::before {
    animation: jisetf-pulse 2s ease-out infinite;
    animation-delay: 0s;
}

/* Second pulse (slight delay) */
.jisetf-map-marker::after {
    animation: jisetf-pulse 2s ease-out infinite;
    animation-delay: 0.6s;
}
.jisetf-map-marker.center {
    background-color: #f7b531;
}

.jisetf-map-marker.center::before,
.jisetf-map-marker.center::after {
    background-color: #f7b531;
}
.jisetf-logo-wrapper.bottom-logo {
    flex-direction: column-reverse; /* marker above, logo below */
}

/* .jisetf-timeline-container {
    position: relative;
    width: 100%;
    height: 100%;
    background: #155789;
    overflow: hidden;
    font-family: "Cairo", sans-serif;
    background-image: url("../images/timeline/line.svg");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: 75% 0%;
}

.jisetf-timeline-title-bg {
    position: absolute;
    width: 771px;
    height: 771px;
    background-image: url("../images/timeline/circle.svg");
    background-repeat: no-repeat;
    background-position: -135px -70px;
    background-size: 640px;
}

.jisetf-timeline-title {
    position: absolute;
    left: 73px;
    top: 118px;
    width: 511px;
    font-size: 110px;
    font-weight: 700;
    color: #fff;
    line-height: 153px;
    text-align: center;
    z-index: 2;
}

.jisetf-step {
    position: absolute;
    width: 440px;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}
.jisetf-step-number {
    position: absolute;
    font-size: 250px;
    font-weight: 700;
    color: rgba(255, 255, 255, 0.2);
    line-height: 1;
    z-index: 0;
    pointer-events: none;
}
.jisetf-step-number.first {
    top: -50%;
    left: 24%;
}

.jisetf-step-text {
    position: relative;
    z-index: 2;
    color: white;
    font-size: 24px;
    line-height: 39px;
    text-align: right;
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding-right: 12px;
}

.jisetf-step-title {
    font-weight: 700;
}

.jisetf-step-body {
    font-weight: 400;
}

.jisetf-step-body strong {
    font-weight: 700;
}
.jisetf-step-dot {
    position: absolute;
    width: 35px;
    height: 35px;
    background: #f7b531;
    border: 7px solid white;
    border-radius: 50%;
    z-index: 3;
}
.jisetf-step-dot.first {
    top: 15px;
    right: -20.5%;
}

.jisetf-step-dot.second {

    right: -20.5%;
} */
.end-page-cta-container {
    display: flex;
    padding: 60px;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 54px;
    align-self: stretch;
    background: #f7b533;
}

.ripple-wrapper {
    position: relative;
    display: inline-block;
}

.ripple-svg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%; /* or fixed size */
    height: auto;
}

.ripple-1 {
    transform: translate(7px, 7px);
    opacity: 0.3;
}

.ripple-2 {
    transform: translate(14px, 14px);
    opacity: 0.6;
    animation-delay: 1.25s;
}

.main-text {
    position: relative;
    z-index: 2;
}
.ripple-1,
.ripple-2 {
    animation: rippleFade 2.5s ease-in-out infinite;
}

@keyframes rippleFade {
    0% {
        opacity: 0;
    }
    25% {
        opacity: 0.5;
    }
    50% {
        opacity: 1;
    }
    75% {
        opacity: 0.5;
    }
    100% {
        opacity: 0;
    }
}
.end-page-cta-container p {
    align-self: stretch;
    color: rgba(255, 255, 255, 0.95);
    text-align: center;
    font-family: Cairo;
    font-size: 36px;
    font-style: normal;
    font-weight: 400;
    line-height: 36px; /* 100% */
}
.end-page-cta-box {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    gap: 32px;
}
.end-page-cta-box a:first-child {
    display: flex;
    padding: 13.676px 20.514px;
    justify-content: center;
    align-items: center;
    gap: 7.598px;
    align-self: stretch;
    color: #0fba89;
    font-family: Cairo;
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: 24px; /* 150% */
    letter-spacing: -0.16px;
    background: #fff;
}
.end-page-cta-box a:nth-child(2) {
    display: flex;
    padding: 13.676px 20.514px;
    justify-content: center;
    align-items: center;
    gap: 7.598px;
    align-self: stretch;
    border: 3px solid #fff;
    color: #fff;
    font-family: Cairo;
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: 24px; /* 150% */
    letter-spacing: -0.16px;
}

.svg-marquee-container {
    width: 100%;
    overflow: hidden;
    background: transparent;
    height: 80px;
    position: relative;
}

.svg-marquee-track {
    display: flex;
    width: max-content;
    gap: 32px; /* spacing between logos */
    align-items: center;
    will-change: transform;
}

.svg-box {
    flex-shrink: 0;
    width: 61px;
    height: 61px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.svg-box.small {
    width: 30px;
    height: 30px;
}

.svg-box img {
    width: 100%;
    height: auto;
    object-fit: contain;
}

@media only screen and (max-width: 768px) {
    .jisetf-hero-container {
        margin-top: 120px;
        height: auto;
        display: flex;
        padding: 40px 32px;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 40px;
        align-self: stretch;
    }
    .jisetf-hero-block {
        width: 100%;
        gap: 8px;
    }
    .jisetf-main-image {
        object-fit: cover;
        display: block;
        width: 311px;
        height: 304.622px;
        aspect-ratio: 16 / 9;
    }
    .jisetf-white-box {
        width: 271.37px;
        height: 133.23px;
        background: #fff;
        border-radius: 17.67px;
        box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
    }
    .jisetf-hero-text {
        display: flex;
        flex-direction: column;
        align-items: flex-end;
        gap: 24px;
        align-self: stretch;
    }
    .jisetf-hero-title {
        width: 100%;
        height: auto;
        align-self: stretch;
        color: #313131;
        text-align: right;
        font-family: Cairo;
        font-size: 80px;
        font-style: normal;
        font-weight: 700;
        line-height: 100px; /* 125% */
    }

    .jisetf-hero-description {
        height: auto;
        align-self: stretch;
        color: #313131;
        text-align: right;
        font-family: Cairo;
        font-size: 20px;
        font-style: normal;
        font-weight: 400;
        line-height: normal;
    }
    .jisetf-about-container {
        height: auto;
        display: flex;
        padding: 40px 32px;
        flex-direction: column-reverse;
        justify-content: center;
        align-items: center;
        gap: 40px;
        align-self: stretch;
    }
    .jisetf-about-content {
        display: flex;
        flex-direction: column;
        align-items: flex-end;
        gap: 24px;
        align-self: stretch;
    }
    .jisetf-about-image {
        object-fit: cover;
        display: block;
        aspect-ratio: 16 / 9;
        width: 311px;
        height: 205px;
    }
    .jisetf-about-title {
        align-self: stretch;
        height: auto;
        color: #fff;
        text-align: right;
        font-family: Cairo;
        font-size: 80px;
        font-style: normal;
        font-weight: 700;
        line-height: 100px; /* 125% */
    }
    .jisetf-about-paragraph {
        align-self: stretch;
        color: #fff;
        text-align: right;
        font-family: Cairo;
        font-size: 20px;
        font-style: normal;
        font-weight: 400;
        line-height: normal;
    }
    .jisetf-why-section {
        display: flex;
        padding: 40px 32px;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 40px;
        align-self: stretch;
    }
    .jisetf-why-header {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 32px;
        align-self: stretch;
    }
    .jisetf-why-title {
        align-self: stretch;
        color: #fff;
        text-align: center;
        font-family: Cairo;
        font-size: 80px;
        font-style: normal;
        font-weight: 700;
        line-height: 100px; /* 125% */
    }
    .jisetf-why-subtitle {
        align-self: stretch;
        color: rgba(255, 255, 255, 0.95);
        text-align: center;
        font-family: Cairo;
        font-size: 32px;
        font-style: normal;
        font-weight: 400;
        line-height: 36px; /* 112.5% */
    }
    .jisetf-why-cards {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 24px;
        align-self: stretch;
    }
    .jisetf-why-card {
        width: 100%;
        height: 314px;
        padding: 40px;
        background: #fff;
        box-shadow: 0px 10px 25px rgba(0, 0, 51, 0.08);
        display: inline-flex;
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-end;
        gap: 20px;
    }
    .jisetf-why-card-title {
        align-self: stretch;
        color: #003;
        text-align: right;
        font-family: Cairo;
        font-size: 20px;
        font-style: normal;
        font-weight: 700;
        line-height: 30px;
    }
    .jisetf-why-card-desc {
        align-self: stretch;
        color: #000033f2;
        text-align: right;
        font-family: Cairo;
        font-size: 16px;
        font-style: normal;
        font-weight: 400;
        line-height: 26px; /* 162.5% */
    }
    .jisetf-participants-container {
        display: flex;
        padding: 40px 32px 0 32px;
        flex-direction: column-reverse;
        justify-content: center;
        align-items: center;
        gap: 40px;
        align-self: stretch;
    }
    .jisetf-participants-left-box {
        width: 358.566px;
        height: 402.354px;
    }
    .jisetf-participants-left-box img:first-child {
        width: 353px;
        height: 402.354px;
        flex-shrink: 0;
        backdrop-filter: blur(1.1867088079452515px);
    }
    .jisetf-participants-left-box img:nth-child(2) {
        width: 181.566px;
        height: 97.31px;
        flex-shrink: 0;
        position: absolute;
        top: 13%;
        left: 45%;
    }
    .jisetf-participants-right-box {
        width: 100%;
        height: auto;
        flex-shrink: 0;
    }

    .jisetf-participants-right-box p {
        align-self: stretch;
        color: #fff;
        text-align: center;
        font-family: Cairo;
        font-size: 80px;
        font-style: normal;
        font-weight: 700;
        line-height: 100px; /* 125% */
    }
    .jisetf-participants-right-box p:first-child {
        text-align: center;
    }
    .jisetf-participants-right-box p:last-child {
        text-align: center;
        margin-top: 10px;
    }
    .jisetf-global-section {
        display: flex;
        padding: 40px 32px;
        flex-direction: column;
        align-items: center;
        gap: 32px;
        align-self: stretch;
    }
    .jisetf-global-header {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 32px;
        align-self: stretch;
    }
    .jisetf-global-title {
        color: #313131;
        text-align: center;
        font-family: Cairo;
        font-size: 80px;
        font-style: normal;
        font-weight: 700;
        line-height: 100px; /* 125% */
    }
    .jisetf-global-subtitle {
        color: #313131;
        text-align: center;
        font-family: Cairo;
        font-size: 24px;
        font-style: normal;
        font-weight: 400;
        line-height: 39px; /* 162.5% */
    }
    .jisetf-global-map-container {
        display: flex;
        width: 100%;
        height: 216.199px;
        justify-content: center;
        align-items: center;
        gap: 40.17px;
        flex-shrink: 0;
    }
    .jisetf-global-map-bg {
        position: absolute;
        width: 100%;
        height: 216.199px;
        top: 0;
        flex-shrink: 0;
        left: 0;
        background-image: url("../images/map.svg");
    }
    .jisetf-logo-wrapper {
        position: absolute;
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .jisetf-logo-img {
        width: 45.837px;
        height: 45.837px;
        flex-shrink: 0;
        aspect-ratio: 29.84/29.84;
        background: #fff;
        border-radius: 8px;
        box-shadow: 0 3px 6px rgba(0, 0, 0, 0.05);
        padding: 1px;
        max-width: 100%;
        max-height: 90px;
        object-fit: contain;
        transform: translate(0%, 10%);
    }
    .jisetf-logo-img.genius {
        transform: translate(-17%, -25%);
    }
    .jisetf-logo-img.isef {
        transform: translate(-25%, 5%);
    }

    .jisetf-logo-img.i-fest {
        transform: translate(-0%, 5%);
        width: 35.837px;
        height: 35.837px;
    }
    .jisetf-timeline-mobile img {
        width: 100%;
        height: 100%;
        object-fit: contain; /* or use cover/scale-down as needed */
        display: block;
    }

    .end-page-cta-container {
        display: flex;
        padding: 40px 32px;
        flex-direction: column;
        align-items: center;
        gap: 32px;
        align-self: stretch;
    }
    .end-page-cta-container p {
        align-self: stretch;
        color: rgba(255, 255, 255, 0.95);
        text-align: center;
        font-family: Cairo;
        font-size: 20px;
        font-style: normal;
        font-weight: 400;
        line-height: 36px;
    }
    .end-page-cta-box {
        display: flex;
        flex-direction: column-reverse;
        justify-content: center;
        align-items: center;
        align-content: center;
        gap: 32px;
        align-self: stretch;
    }
    .end-page-cta-box a:first-child {
        display: flex;
        padding: 13.676px 20.514px;
        justify-content: center;
        align-items: center;
        gap: 7.598px;
        align-self: stretch;
    }
    .svg-marquee-container {
        height: 30px;
    }
    .svg-box {
        width: 25.837px;
        height: 25.837px;
    }
}
