* {
    margin: 0;
    padding: 0;
    color: #2b373f;
    box-sizing: border-box;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}
:root {

    --text-blue-button: #0a51e8;
    --text-blue-button2: #094fe7;

    --text-color: #061833;
    --text-color-light: #80a3b7;
    --text-color-light2: #a2a7b1;

    --gradient-blue: #dee7fd;
    --gradient-pink: #f0f5fd;

    --lavender: #c6c2ba;
    --card-color: #1b2947;

    --footer-color: #06183a;
    --footer-color2: #041f56;

    --font-xs: 0.75rem;
    --font-small: 0.875rem;
    --font-normal: 1rem;
    --font-medium: 1.125rem;
    --font-large: 1.5rem;
    --font-xl: 2.4rem;
    --font-heading: 3rem;

    --weight-regular: 400;
    --weight-medium: 500;
    --weight-bold: 700;
}


/* about us */

.about-us-section {

    padding: 60px 20px 50px 20px;

    min-height: 400px;

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

    position: relative;

    overflow: visible;
}


.about-us-container {

    max-width: 100%;

    margin: 0 auto;

    width: 100%;

    padding: 0 20px;

    text-align: center;

    position: relative;

    z-index: 1;
}


.about-us-section::after {

    content: '';

    position: absolute;

    bottom: -2px;
    left: 0;

    width: 100%;
    height: 10px;

    background: transparent;
    display: none;

    border-radius:
        100% 100% 0 0 /
        60px 60px 0 0;
}


/* ABOUT US HEADING */

.about-us-title {

    color: var(--text-color);

    font-size: var(--font-heading);

    font-weight: var(--weight-bold);

    margin-bottom: 10px;

    letter-spacing: -0.5px;

    opacity: 0;

    transform:
        translateY(25px)
        scale(0.97);

    animation:
        aboutTitleReveal
        0.9s
        cubic-bezier(0.22, 1, 0.36, 1)
        forwards;

    animation-delay: 0.15s;
}


/* ABOUT US DESCRIPTION */

.about-us-text {

    color: var(--text-color);

    font-size: var(--font-medium);

    line-height: 1.6;

    max-width: 800px;

    margin: 0 auto;

    margin-bottom: 20px;

    opacity: 0;

    transform: translateY(18px);

    animation:
        aboutTextReveal
        0.9s
        cubic-bezier(0.22, 1, 0.36, 1)
        forwards;

    animation-delay: 0.45s;
}


/* ABOUT US ANIMATIONS */

@keyframes aboutTitleReveal {

    0% {
        opacity: 0;
        transform:
            translateY(25px)
            scale(0.97);
    }

    100% {
        opacity: 1;
        transform:
            translateY(0)
            scale(1);
    }
}


@keyframes aboutTextReveal {

    0% {
        opacity: 0;
        transform: translateY(18px);
    }

    100% {
        opacity: 1;
        transform: translateY(0);
    }
}


/* FOUR IMAGE SECTION */

.images-section {

    background-color: transparent;

    padding: 0 20px 10px 20px;

    min-height: 300px;

    display: flex;

    align-items: center;

    justify-content: center;
}


.images-container {

    max-width: 90%;

    margin: 0 auto;

    gap: 16px;

    width: 100%;

    display: grid;

    grid-template-columns:
        repeat(4, 1fr);

    margin-top: -280px;

    position: relative;

    z-index: 2;
}


/* IMAGE CARDS */

.image-item {

    overflow: hidden;

    border-radius: 15px;

    box-shadow:
        0 8px 25px
        rgba(0, 0, 0, 0.15);

    background: transparent;

    width: 100%;

    max-width: none;

    opacity: 0;

    transform: translateY(30px);

    transition:
        opacity 0.9s ease,
        transform 0.9s
            cubic-bezier(0.22, 1, 0.36, 1),
        box-shadow 0.3s ease;
}


/* IMAGE SCROLL REVEAL */

.image-item.visible {

    opacity: 1;

    transform: translateY(0);
}


/* IMAGE STAGGER */

.images-container
.image-item:nth-child(1) {

    transition-delay: 0.05s;
}


.images-container
.image-item:nth-child(2) {

    transition-delay: 0.15s;
}


.images-container
.image-item:nth-child(3) {

    transition-delay: 0.25s;
}


.images-container
.image-item:nth-child(4) {

    transition-delay: 0.35s;
}


/* IMAGE HOVER */

.image-item.visible:hover {

    opacity: 1;

    transform:
        translateY(-8px);

    box-shadow:
        0 15px 40px
        rgba(0, 0, 0, 0.20);

    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease;
}


.image-item img {

    width: 100%;
    height: 100%;

    object-fit: cover;

    display: block;
}


.image-square {

    aspect-ratio: 12 / 10;

    width: 100%;
    height: 100%;

    object-fit: cover;
}


/* IMAGE RESPONSIVE */

@media (max-width: 992px) {

    .images-container {
        gap: 20px;
        margin-top: -80px;
    }
}


@media (max-width: 768px) {

    .about-us-title {
        font-size: 36px;
    }

    .about-us-text {
        font-size: 16px;
    }

    .images-container {
        gap: 15px;
        margin-top: -60px;
    }

    .image-square {
        aspect-ratio: 1 / 1;
    }
}


@media (max-width: 480px) {

    .about-us-title {
        font-size: 28px;
    }

    .about-us-text {
        font-size: 14px;
    }

    .images-container {
        gap: 15px;
        margin-top: -40px;
    }

    .image-square {
        aspect-ratio: 4 / 3;
    }
}


/* CONTENT SECTION*/

.content-section {

    position: relative;
    overflow: visible;
    background: linear-gradient(180deg, transparent 0%, rgba(224, 242, 254, 0.5) 200px, rgba(240, 245, 253, 0.7) 100%);

    padding:
        60px 20px 40px 20px;

    display: flex;

    justify-content: center;

    margin-top: -240px;

    text-align: justify;
}

.content-section::before {
    background-image: url("../images/bg3.png");
    position: absolute;
    content: "";
    opacity: 0.15;
    top: -250px;
    left: 0;
    width: 100%;
    height: calc(100% + 250px);
    z-index: 0;
    -webkit-mask-image: linear-gradient(to bottom, transparent 0%, black 120px);
    mask-image: linear-gradient(to bottom, transparent 0%, black 120px);
}

.content-container {

    position: relative;
    z-index: 1;

    max-width: 90%;

    margin: 0 auto;

    width: 100%;
}


/* CONTENT HEADING*/

.content-main-title {

    font-size: var(--font-xl);

    font-weight: 700;

    color: var(--text-color);

    line-height: 1.3;

    margin-bottom: 20px;

    width: 100%;

    text-align: left;

    margin-top: 100px;

    opacity: 0;

    transform: scale(0.92);
    transform: translateY(-50px) scale(0.92);
}


/* CONTENT PARAGRAPH*/

.content-paragraph {

    font-size: var(--font-medium);

    line-height: 1.7;

    color: var(--text-color);

    margin-bottom: 60px;

    max-width: 800px;
}


.highlight-blue {

    color: #0a51e8;
}


/* CONTENT ROW*/

.content-row {

    display: flex;

    gap: 40px;
}


.content-column {

    flex: 1;

    font-size: var(--font-normal);

    line-height: 1.7;

    color: #2b373f;

    opacity: 0;
    transform: scale(0.92);
}


/* CONTENT SCROLL ANIMATION */

.content-main-title.visible {

    animation:
        scaleFadeIn
        0.8s
        ease
        forwards;

    animation-delay: 0.2s;
}


.content-column.visible {

    animation:
        scaleFadeIn
        0.8s
        ease
        forwards;
}


.content-column:nth-child(1).visible {
    animation-delay: 0.5s;
}


.content-column:nth-child(2).visible {
    animation-delay: 0.7s;
}


@keyframes scaleFadeIn {

    0% {

        opacity: 0;

        transform:
            scale(0.92);
    }

    100% {

        opacity: 1;

        transform:
            scale(1);
    }
}


/* CONTENT RESPONSIVE */

@media (max-width: 768px) {

    .content-main-title {
        font-size: 30px;
    }
    .content-row {
        gap: 20px;
    }
}


/* PHOTO + TEXT SECTION */

.photo-text-section {

    position: relative;
    z-index: 1;
    background: linear-gradient(180deg, rgba(240, 245, 253, 0.7) 0%, rgba(224, 242, 254, 0.4) 65%, transparent 100%);

    padding:
        40px 20px 100px 20px;
    display: flex;
    justify-content: center;
    text-align: justify;
}


.photo-text-container {

    position: relative;
    z-index: 1;

    max-width: 90%;

    margin: 0 auto;

    width: 100%;
}


.photo-text-row {

    display: flex;

    gap: 90px;

    align-items:
        flex-start;

    flex-wrap: nowrap;
}


/* PHOTO LEFT BOX*/

.photo-left-box {

    flex:
        0 0 600px;

    position: relative;

    width: 600px;

    margin-top: -40px;

    opacity: 0;

    transform:
        translateX(-60px);
}


.photo-left-box.visible {

    animation:
        photoReveal
        1s
        cubic-bezier(0.22, 1, 0.36, 1)
        forwards;

    animation-delay: 0.1s;
}


.photo-left-box img {

    width: 100%;

    height: 450px;

    border-radius: 20px;

    display: block;

    object-fit: cover;
}


@keyframes photoReveal {

    0% {

        opacity: 0;

        transform:
            translateX(-60px);
    }

    100% {

        opacity: 1;

        transform:
            translateX(0);
    }
}


/* RIGHT TEXT BOX */

.text-right-box {

    flex: 1;

    min-width: 300px;

    margin-top: -50px;

    max-width: 600px;

    margin-left: 0;
}


/*RIGHT HEADING */

.text-right-box h3 {

    font-size: var(--font-xl);

    font-weight:
        var(--weight-bold);

    color:
        var(--text-color);

    line-height: 1.3;

    margin-bottom: 15px;

    

    opacity: 0;

    transform:
        translateX(45px);
}


.text-right-box h3.visible {

    animation:
        rightContentReveal
        0.8s
        cubic-bezier(0.22, 1, 0.36, 1)
        forwards;

    animation-delay: 0.15s;
}


/* RIGHT PARAGRAPHS */

.text-right-box p {

    font-size:
        var(--font-normal);

    line-height: 1.7;

    color:
        var(--text-color);

    margin-bottom: 10px;

    opacity: 0;

    transform:
        translateX(45px);
}


.text-right-box p:nth-of-type(1).visible {

    animation:
        rightContentReveal
        0.8s
        cubic-bezier(0.22, 1, 0.36, 1)
        forwards;

    animation-delay: 0.35s;
}


.text-right-box p:nth-of-type(2).visible {

    animation:
        rightContentReveal
        0.8s
        cubic-bezier(0.22, 1, 0.36, 1)
        forwards;

    animation-delay: 0.55s;
}


@keyframes rightContentReveal {

    0% {

        opacity: 0;

        transform:
            translateX(45px);
    }

    100% {

        opacity: 1;

        transform:
            translateX(0);
    }
}

/* FLOATING CARD */
.floating-card {
    position: absolute;
    background: snow;
    padding: 15px 20px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    gap: 15px;

    box-shadow:
        0 10px 30px
        rgba(0, 0, 0, 0.12);

    z-index: 2;

    bottom: -30px;
    left: 50%;

    transform: translateX(-50%);

    width: 80%;

    opacity: 0;
}


/* CARD REVEAL + FLOAT */
.floating-card.visible {
    animation:
        cardReveal 0.8s cubic-bezier(0.22, 1, 0.36, 1) forwards,
        floatCard 4s ease-in-out 1s infinite;

    animation-delay: 0.65s, 1.65s;
}


/* Initial reveal */
@keyframes cardReveal {

    0% {
        opacity: 0;
        transform:
            translateX(-50%)
            translateY(25px);
    }

    100% {
        opacity: 1;
        transform:
            translateX(-50%)
            translateY(0);
    }
}


/* Continuous floating effect */
@keyframes floatCard {

    0%, 80% {
        transform:
            translateX(-50%)
            translateY(0);
    }

    50% {
        transform:
            translateX(-50%)
            translateY(-8px);
    }
}


.floating-card h3 {

    margin: 0;

    font-size: 20px;

    color: var(--text-blue-button);
} 


.floating-card p {

    margin: 5px 0 0;

    font-size: 13px;

    color: var(--text-color);
}


/* PHOTO TEXT RESPONSIVE */


@media (max-width: 768px) {

    .photo-text-row {
        gap: 30px;
    }

    .text-right-box {

        text-align: center;
    }

    .text-right-box h3 {

        white-space: normal;
    }

    .photo-left-box
    .floating-card {

        bottom: 10%;

        left: 50%;

        transform:
            translateX(-50%);
    }
}


/* QUOTE */

.quote-line-box {

    margin-top: 40px;

    padding-left: 20px;

    border-left:
        4px solid #0a51e8;

    font-style: italic;

    color:
        var(--text-color);

    font-size:
        var(--font-normal);

    line-height: 1.7;

    opacity: 0;

    transform:
        translateX(45px);
}


.quote-line-box.visible {

    animation:
        rightContentReveal
        0.8s
        cubic-bezier(0.22, 1, 0.36, 1)
        forwards;

    animation-delay: 0.75s;
}


/* WHAT SETS OUR RESEARCH APART */

.grow-section {

    position: relative;

    padding:
        40px 20px 100px 20px;

    display: flex;

    justify-content: center;

    background: linear-gradient(270deg, powderblue, snow);

    margin-top: -1px;
     overflow: hidden;
}


.grow-container {

    max-width: 90%;

    margin: 0 auto;

    width: 100%;

    text-align: center;

    position: relative;

    z-index: 2;
}


/* RESEARCH TITLE */

.grow-title {

    font-size:
        var(--font-heading);

    font-weight: 700;

    color:
        var(--text-color);

    line-height: 1.3;

    margin-bottom: 20px;

    opacity: 0;

    transform:
        translateY(35px);
}


.grow-title.visible {

    animation:
        growTitleReveal
        0.85s
        cubic-bezier(0.22, 1, 0.36, 1)
        forwards;
}


/* RESEARCH DESCRIPTION */

.grow-desc {

    font-size:
        var(--font-medium);

    line-height: 1.7;

    color:
        var(--text-color);

    max-width: 700px;

    margin:
        0 auto 50px auto;

    opacity: 0;

    transform:
        translateY(25px);
}


.grow-desc.visible {

    animation:
        growDescriptionReveal
        0.8s
        cubic-bezier(0.22, 1, 0.36, 1)
        forwards;

    animation-delay: 0.12s;
}


/*  RESEARCH THREE COLUMNS */

.grow-columns {

    display: grid;

    grid-template-columns:
        repeat(3, 1fr);

    width: 100%;

    margin-top: 50px;
}


.grow-col {

    position: relative;

    min-width: 0;

    display: flex;

    flex-direction: column;

    align-items: center;

    text-align: center;

    padding:
        0 55px;

    opacity: 0;

    transform:
        translateY(45px);
}


/* EACH COLUMN SCROLL ANIMATION */

.grow-col.visible {

    animation:
        growColumnReveal
        0.8s
        cubic-bezier(0.22, 1, 0.36, 1)
        forwards;
}


.grow-col:nth-child(1).visible {

    animation-delay: 0s;
}


.grow-col:nth-child(2).visible {

    animation-delay: 0.12s;
}


.grow-col:nth-child(3).visible {

    animation-delay: 0.24s;
}


@keyframes growTitleReveal {

    0% {

        opacity: 0;

        transform:
            translateY(35px);
    }

    100% {

        opacity: 1;

        transform:
            translateY(0);
    }
}


@keyframes growDescriptionReveal {

    0% {

        opacity: 0;

        transform:
            translateY(25px);
    }

    100% {

        opacity: 1;

        transform:
            translateY(0);
    }
}


@keyframes growColumnReveal {

    0% {

        opacity: 0;

        transform:
            translateY(45px);
    }

    100% {

        opacity: 1;

        transform:
            translateY(0);
    }
}


/*  COLUMN DIVIDERS */

.grow-col:not(:last-child)::after {

    content: "";

    position: absolute;

    top: 10%;

    right: 0;

    width: 1px;

    height: 80%;

    background:
        linear-gradient(
            to bottom,
            transparent,
            rgba(10, 81, 232, 0.20),
            rgba(10, 81, 232, 0.55),
            rgba(10, 81, 232, 0.20),
            transparent
        );

    opacity: 0;

    transform:
        scaleY(0);

    transform-origin:
        center;
}


.grow-col:not(:last-child).visible::after {

    animation:
        growDividerReveal
        0.8s
        ease
        forwards;

    animation-delay: 0.2s;
}


/* DIVIDER DOT*/

.grow-col:not(:last-child)::before {

    content: "";

    position: absolute;

    top: 50%;

    right: -3.5px;

    width: 7px;

    height: 7px;

    border-radius: 50%;

    background:
        #0a51e8;

    box-shadow:
        0 0 6px
        rgba(10, 81, 232, 0.45),

        0 0 14px
        rgba(10, 81, 232, 0.20);

    transform:
        translateY(-50%)
        scale(0);

    opacity: 0;

    z-index: 3;
}


.grow-col:not(:last-child).visible::before {

    animation:
        growDotReveal
        0.5s
        ease
        forwards;

    animation-delay: 0.3s;
}


@keyframes growDividerReveal {

    0% {

        opacity: 0;

        transform:
            scaleY(0);
    }

    100% {

        opacity: 1;

        transform:
            scaleY(1);
    }
}


@keyframes growDotReveal {

    0% {

        opacity: 0;

        transform:
            translateY(-50%)
            scale(0);
    }

    70% {

        opacity: 1;

        transform:
            translateY(-50%)
            scale(1.2);
    }

    100% {

        opacity: 1;

        transform:
            translateY(-50%)
            scale(1);
    }
}


/* RESEARCH ICON */

.grow-icon-circle {

    width: 60px;

    height: 60px;

    border-radius: 50%;

    display: flex;

    align-items: center;

    justify-content: center;

    font-size: 24px;

    margin-bottom: 15px;

    overflow: hidden;

    opacity: 0;

    transform:
        scale(0.7);
}


.grow-col.visible
.grow-icon-circle {

    animation:
        growIconReveal
        0.65s
        cubic-bezier(0.22, 1, 0.36, 1)
        forwards;

    animation-delay: 0.15s;
}


@keyframes growIconReveal {

    0% {

        opacity: 0;

        transform:
            scale(0.7);
    }

    70% {

        opacity: 1;

        transform:
            scale(1.08);
    }

    100% {

        opacity: 1;

        transform:
            scale(1);
    }
}


.grow-icon-circle img {

    width: 50px;

    height: 50px;

    display: block;

    object-fit: contain;

    transition:
        transform 0.35s ease;
}


/* RESEARCH COLUMN TEXT */

.grow-col h4 {

    font-size:
        var(--font-large);

    font-weight: 700;

    color:
        var(--text-blue-button2);

    margin-bottom: 10px;
}


.grow-col p {

    font-size:
        var(--font-small);

    line-height: 1.6;

    color:
        var(--text-color);

    max-width: 280px;
}


/* RESEARCH HOVER */

.grow-col.visible {

    transition:
        transform 0.35s ease,
        filter 0.35s ease;
}


.grow-col.visible:hover {

    transform:
        translateY(-6px);
}


.grow-col.visible:hover
.grow-icon-circle {

    transform:
        scale(1.06);
}


.grow-col.visible:hover
.grow-icon-circle img {

    transform:
        scale(1.08);
}


/* RESEARCH RESPONSIVE */

@media (max-width: 768px) {

    .grow-title {

        font-size: 30px;
    }

    .grow-columns {
        gap: 40px;
    }

    .grow-col {
        padding: 0 20px;
    }
}


/* FLOATING PARTICLES */

.particle-bg {

    position: absolute;

    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    overflow: hidden;

    z-index: 0;

    pointer-events: none;
}


.particle {

    position: absolute;

    background:
        #0a51e8;

    border-radius: 50%;

    opacity: 0.22;

    animation:
        floatParticle
        15s
        infinite
        ease-in-out;
}


/* PARTICLE POSITIONS */

.particle:nth-child(1) {
    width: 8px;
    height: 8px;
    top: 8%;
    left: 3%;
    animation-duration: 13s;
}

.particle:nth-child(2) {
    width: 12px;
    height: 12px;
    top: 18%;
    left: 12%;
    animation-duration: 17s;
}

.particle:nth-child(3) {
    width: 6px;
    height: 6px;
    top: 32%;
    left: 5%;
    animation-duration: 14s;
}

.particle:nth-child(4) {
    width: 10px;
    height: 10px;
    top: 48%;
    left: 15%;
    animation-duration: 19s;
}

.particle:nth-child(5) {
    width: 5px;
    height: 5px;
    top: 65%;
    left: 7%;
    animation-duration: 16s;
}

.particle:nth-child(6) {
    width: 9px;
    height: 9px;
    top: 82%;
    left: 18%;
    animation-duration: 21s;
}

.particle:nth-child(7) {
    width: 7px;
    height: 7px;
    top: 92%;
    left: 5%;
    animation-duration: 15s;
}

.particle:nth-child(8) {
    width: 13px;
    height: 13px;
    top: 12%;
    left: 28%;
    animation-duration: 20s;
}

.particle:nth-child(9) {
    width: 6px;
    height: 6px;
    top: 28%;
    left: 35%;
    animation-duration: 12s;
}

.particle:nth-child(10) {
    width: 10px;
    height: 10px;
    top: 44%;
    left: 27%;
    animation-duration: 18s;
}

.particle:nth-child(11) {
    width: 5px;
    height: 5px;
    top: 58%;
    left: 38%;
    animation-duration: 15s;
}

.particle:nth-child(12) {
    width: 11px;
    height: 11px;
    top: 76%;
    left: 30%;
    animation-duration: 22s;
}

.particle:nth-child(13) {
    width: 7px;
    height: 7px;
    top: 90%;
    left: 40%;
    animation-duration: 17s;
}

.particle:nth-child(14) {
    width: 9px;
    height: 9px;
    top: 7%;
    left: 48%;
    animation-duration: 16s;
}

.particle:nth-child(15) {
    width: 14px;
    height: 14px;
    top: 22%;
    left: 58%;
    animation-duration: 23s;
}

.particle:nth-child(16) {
    width: 6px;
    height: 6px;
    top: 38%;
    left: 50%;
    animation-duration: 13s;
}

.particle:nth-child(17) {
    width: 10px;
    height: 10px;
    top: 54%;
    left: 62%;
    animation-duration: 19s;
}

.particle:nth-child(18) {
    width: 5px;
    height: 5px;
    top: 70%;
    left: 52%;
    animation-duration: 15s;
}

.particle:nth-child(19) {
    width: 8px;
    height: 8px;
    top: 86%;
    left: 65%;
    animation-duration: 21s;
}

.particle:nth-child(20) {
    width: 12px;
    height: 12px;
    top: 95%;
    left: 55%;
    animation-duration: 18s;
}

.particle:nth-child(21) {
    width: 7px;
    height: 7px;
    top: 10%;
    left: 72%;
    animation-duration: 14s;
}

.particle:nth-child(22) {
    width: 11px;
    height: 11px;
    top: 25%;
    left: 84%;
    animation-duration: 20s;
}

.particle:nth-child(23) {
    width: 5px;
    height: 5px;
    top: 40%;
    left: 74%;
    animation-duration: 16s;
}

.particle:nth-child(24) {
    width: 9px;
    height: 9px;
    top: 55%;
    left: 90%;
    animation-duration: 22s;
}

.particle:nth-child(25) {
    width: 13px;
    height: 13px;
    top: 68%;
    left: 78%;
    animation-duration: 17s;
}

.particle:nth-child(26) {
    width: 6px;
    height: 6px;
    top: 80%;
    left: 94%;
    animation-duration: 13s;
}

.particle:nth-child(27) {
    width: 8px;
    height: 8px;
    top: 92%;
    left: 82%;
    animation-duration: 19s;
}

.particle:nth-child(28) {
    width: 10px;
    height: 10px;
    top: 15%;
    left: 95%;
    animation-duration: 24s;
}

.particle:nth-child(29) {
    width: 5px;
    height: 5px;
    top: 52%;
    left: 3%;
    animation-duration: 12s;
}

.particle:nth-child(30) {
    width: 14px;
    height: 14px;
    top: 74%;
    left: 96%;
    animation-duration: 20s;
}


/* PARTICLE ANIMATION */

@keyframes floatParticle {

    0% {

        transform:
            translate(0, 0)
            scale(1);

        opacity: 0.16;
    }

    25% {

        transform:
            translate(35px, -35px)
            scale(1.15);

        opacity: 0.28;
    }

    50% {

        transform:
            translate(70px, 25px)
            scale(0.9);

        opacity: 0.20;
    }

    75% {

        transform:
            translate(-25px, 60px)
            scale(1.08);

        opacity: 0.26;
    }

    100% {

        transform:
            translate(0, 0)
            scale(1);

        opacity: 0.16;
    }
}




/*  REDUCED MOTION / ACCESSIBILITY */

@media (prefers-reduced-motion: reduce) {

    .about-us-title,
    .about-us-text,
    .image-item,
    .photo-left-box,
    .floating-card,
    .text-right-box h3,
    .text-right-box p,
    .quote-line-box,
    .content-main-title,
    .content-column,
    .grow-title,
    .grow-desc,
    .grow-col,
    .grow-icon-circle {

        animation: none !important;

        transition: none !important;
    }

    .about-us-title,
    .about-us-text,
    .image-item,
    .photo-left-box,
    .floating-card,
    .text-right-box h3,
    .text-right-box p,
    .quote-line-box,
    .content-main-title,
    .content-column,
    .grow-title,
    .grow-desc,
    .grow-col,
    .grow-icon-circle {

        opacity: 1 !important;

        transform: none !important;
    }

    .grow-col:not(:last-child)::after,
    .grow-col:not(:last-child)::before {

        opacity: 1 !important;

        transform: none !important;
    }
}


/* BODY */

body {

    background:
        linear-gradient(
            270deg,
            powderblue,
            snow
        );

    min-height: 100vh;
}



.research-wave-bg {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
    pointer-events: none;
    overflow: hidden;
}

.research-wave-bg img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center bottom;
    opacity: 0.8;
}

/* Mobile View Layout Fixes for Image and Text Alignment */
@media (max-width: 1150px) {
    .photo-text-row { gap: 40px !important; }
    .photo-left-box { flex: 1 !important; width: auto !important; }
    .text-right-box { flex: 1 !important; max-width: none !important; }
}

