.page-hero-container {
    display: flex;
    width: 100%;
    padding-top: 160px;
    padding-right: 60px;
    justify-content: space-between;
    align-items: center;
    background: #fff;
}
.page-hero-img {
    width: 579px;
    height: 577px;
    flex-shrink: 0;
}
.page-hero-title-box {
    display: flex;
    width: 461px;
    flex-direction: column;
    align-items: center;
    gap: 38px;
    flex-shrink: 0;
}
.page-hero-title-box p {
    align-self: stretch;
    color: #313131;
    text-align: center;
    font-family: Cairo;
    font-size: 150px;
    font-style: normal;
    font-weight: 700;
    line-height: 174px; /* 116% */
}

.categories-container {
    display: flex;
    padding: 60px;
    flex-direction: column;
    align-items: center;
    gap: 46px;
    align-self: stretch;
    background: #f8f8f8;
}

.categories-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    align-content: center;
    gap: 32px;
    align-self: stretch;
    flex-wrap: wrap;
}

.category-card {
    display: flex;
    width: 418px;
    height: 406px;
    padding: 40px;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 20px;
    background: #fff;
    box-shadow: 0 10px 25px 0 rgba(0, 0, 51, 0.08);
}
.category-card p:nth-of-type(1) {
    align-self: stretch;
    color: #313131;
    text-align: center;
    font-family: "Cairo";
    font-size: 20px;
    font-style: normal;
    font-weight: 700;
    line-height: 30px;
}
.category-card p:nth-of-type(2) {
    align-self: stretch;
    color: #313131;
    text-align: center;
    font-family: "Cairo";
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 26px;
}
.category-card.phs {
    border-right: 6px solid #00689d;
    border-bottom: 6px solid #00689d;
}
.category-card.med {
    border-right: 6px solid #c5192d;
    border-bottom: 6px solid #c5192d;
}
.category-card.life {
    border-right: 6px solid #56c02b;
    border-bottom: 6px solid #56c02b;
}
.category-card.eng {
    border-right: 6px solid #0a97d9;
    border-bottom: 6px solid #0a97d9;
}
.category-card.env {
    border-right: 6px solid #3f7e44;
    border-bottom: 6px solid #3f7e44;
}
.category-card.chem {
    border-right: 6px solid #fcc30b;
    border-bottom: 6px solid #fcc30b;
}
.category-card.robo {
    border-right: 6px solid #fd6925;
    border-bottom: 6px solid #fd6925;
}
.category-card.comp {
    border-right: 6px solid #a21942;
    border-bottom: 6px solid #a21942;
}
.category-card.social {
    border-right: 6px solid #dd1367;
    border-bottom: 6px solid #dd1367;
}
.category-card.math {
    border-right: 6px solid #bf8b2e;
    border-bottom: 6px solid #bf8b2e;
}
.end-page-cta-container {
    display: flex;
    padding: 60px;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 32px;
    align-self: stretch;
    background: #0fba89;
}

.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% */
    margin-top: 32px;
    margin-bottom: 24px;
}
.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;
    margin-top: 16px;
}

.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) {
    .page-hero-container {
        margin-top: 120px;
        display: flex;
        padding: 40px 0px 0 0px;
        flex-direction: column-reverse;
        justify-content: center;
        align-items: center;
        gap: 40px;
        align-self: stretch;
    }
    .page-hero-img {
        width: 100%;
        height: auto;
        flex-shrink: 0;
    }
    .page-hero-title-box {
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
        align-self: stretch;
    }
    .page-hero-title-box p {
        font-size: 80px;
        line-height: normal; /* 116% */
    }
    .social-contact-boxes-container {
        padding: 40px 32px;
        flex-wrap: wrap;
    }
    .social-contact-boxes-wrapper {
        flex-wrap: wrap;
    }
    .left-box {
        padding: 24px;
        gap: 10px;
        align-self: stretch;
        width: 100%;
    }
    .header-box {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: flex-end;
        align-self: stretch;
    }
    .left-box > p {
        height: auto;
        text-align: right;
        line-height: 39px;
    }
    .cta-box {
        align-self: stretch;
    }
    .left-box > img {
        width: 207px;
        height: 207px;
    }
    .categories-container {
        padding: 40px 32px;
    }
    .category-card {
        display: flex;
        width: 100%;
        height: auto;
        padding: 40px;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 20px;
        background: #fff;
        box-shadow: 0 10px 25px 0 rgba(0, 0, 51, 0.08);
    }
}
