/* =========================================================
   TECHNOLOGY JOURNEY
========================================================= */

.technology-journey {
    width: 100%;
    min-height: 638px;

    background:
        linear-gradient(
            110deg,
            #0c579d 0%,
            #084985 42%,
            #082f59 100%
        );

    color: #ffffff;

    overflow: hidden;

    font-family:
        Inter,
        "Segoe UI",
        Arial,
        sans-serif;
}


/* =========================================================
   TECHNOLOGY JOURNEY MAIN CONTAINER
========================================================= */

.technology-journey-container {
    width: min(100%, 1540px);

    min-height: 638px;

    margin: 0 auto;

    padding: 60px 55px;

    display: grid;

    grid-template-columns:
        minmax(0, 1.08fr)
        minmax(480px, 0.92fr);

    align-items: center;

    gap: 20px;

    box-sizing: border-box;
}


/* =========================================================
   LEFT CONTENT
========================================================= */

.journey-content {
    max-width: 790px;

    position: relative;

    z-index: 2;

    opacity: 0;

    transform: translateY(35px);

    animation:
        journeyContentReveal 0.9s ease-out 0.15s forwards;
}


/* =========================================================
   JOURNEY TITLE
========================================================= */

.journey-title {
    margin: 0;

    color: #ffffff;

    font-family:
        Inter,
        "Segoe UI",
        Arial,
        sans-serif;

    font-size: clamp(48px, 4.15vw, 72px);

    font-weight: 750;

    line-height: 1.08;

    letter-spacing: -2.5px;
}


/* =========================================================
   JOURNEY DESCRIPTION
   INCREASED FONT SIZE
========================================================= */

.journey-description {
    max-width: 790px;

    margin: 38px 0 38px;

    color: rgba(255, 255, 255, 0.88);

    font-size: 22px;

    font-weight: 400;

    line-height: 1.65;

    letter-spacing: 0;
}


/* =========================================================
   JOURNEY DESCRIPTION SPAN
   INCREASED SIZE + WEIGHT
========================================================= */

.journey-description span {
    font-size: 22px;

    font-weight: 700;

    color: #ffffff;
}


/* =========================================================
   JOURNEY BUTTON
========================================================= */

.journey-button {
    display: inline-flex;

    align-items: center;

    justify-content: center;

    min-width: 250px;

    height: 60px;

    padding: 0 32px;

    border-radius: 12px;

    background: #ffffff;

    color: #07539a;

    text-decoration: none;

    font-size: 20px;

    font-weight: 700;

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

.journey-button:hover {
    transform: translateY(-3px);

    background: #f8fafc;

    box-shadow:
        0 12px 30px rgba(0, 0, 0, 0.18);
}


/* =========================================================
   ORBIT AREA
========================================================= */

.journey-orbit-area {
    width: 100%;

    height: 540px;

    display: flex;

    align-items: center;

    justify-content: center;

    position: relative;

    overflow: visible;

    opacity: 0;

    transform:
        translateX(60px)
        scale(0.92);

    animation:
        journeyOrbitReveal 1s ease-out 0.35s forwards;
}


/* =========================================================
   ORBIT CONTAINER
========================================================= */

.journey-orbit {
    width: 470px;

    height: 470px;

    position: relative;

    flex-shrink: 0;
}


/* =========================================================
   ORBIT RING
========================================================= */

.orbit-ring {
    position: absolute;

    width: 100%;

    height: 100%;

    left: 0;

    top: 0;

    border:
        3px solid
        rgba(111, 166, 221, 0.58);

    border-radius: 50%;

    box-sizing: border-box;

    transition:
        transform 0.6s ease;
}


/* =========================================================
   JOURNEY NODE
========================================================= */

.journey-node {
    position: absolute;

    width: 125px;

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    z-index: 5;

    color: #ffffff;

    font-size: 18px;

    font-weight: 600;

    line-height: 1.15;

    text-align: center;

    cursor: pointer;

    user-select: none;

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


/* =========================================================
   NODE HOVER
========================================================= */

.journey-node:hover {
    transform: scale(1.08);
}

.journey-node {
    text-decoration: none !important;
}

/* Light up hover glows */
.journey-node:hover .journey-icon {
    transform: scale(1.12) !important;
}

.journey-node:hover.consultation .journey-icon {
    box-shadow: 0 0 20px rgba(82, 124, 255, 0.75) !important;
    background-color: #527cff !important;
    color: #ffffff !important;
}

.journey-node:hover.implementation .journey-icon {
    box-shadow: 0 0 20px rgba(182, 108, 255, 0.75) !important;
    background-color: #b66cff !important;
    color: #ffffff !important;
}

.journey-node:hover.demo-training .journey-icon {
    box-shadow: 0 0 20px rgba(32, 201, 223, 0.75) !important;
    background-color: #20c9df !important;
    color: #ffffff !important;
}

.journey-node:hover.execute .journey-icon {
    box-shadow: 0 0 20px rgba(56, 216, 120, 0.75) !important;
    background-color: #38d878 !important;
    color: #ffffff !important;
}

.journey-node:hover.support .journey-icon {
    box-shadow: 0 0 20px rgba(255, 75, 75, 0.75) !important;
    background-color: #ff4b4b !important;
    color: #ffffff !important;
}


/* =========================================================
   JOURNEY ICON
========================================================= */

.journey-icon {
    width: 58px;

    height: 58px;

    margin-bottom: 9px;

    border-radius: 50%;

    display: flex;

    align-items: center;

    justify-content: center;

    background: #ffffff;

    box-sizing: border-box;

    box-shadow:
        0 3px 10px rgba(0, 0, 0, 0.16);

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

    animation:
        iconFloat 4s ease-in-out infinite;
}

.journey-icon svg {
    width: 27px;

    height: 27px;
}


/* =========================================================
   ICON HOVER
========================================================= */

.journey-node:hover .journey-icon {
    transform: scale(1.08);

    box-shadow:
        0 8px 22px rgba(0, 0, 0, 0.25);
}


/* =========================================================
   ICON BORDER COLORS
========================================================= */

.consultation-icon {
    border: 2px solid #527cff;

    color: #1e293b;
}

.implementation-icon {
    border: 2px solid #b66cff;

    color: #64748b;
}

.demo-icon {
    border: 2px solid #20c9df;

    color: #64748b;
}

.execute-icon {
    border: 2px solid #38d878;

    color: #111827;
}

.support-icon {
    border: 2px solid #ff4b4b;

    color: #ef4444;
}


/* =========================================================
   ICON ANIMATION DELAYS
========================================================= */

.consultation .journey-icon {
    animation-delay: 0s;
}

.implementation .journey-icon {
    animation-delay: 0.4s;
}

.demo-training .journey-icon {
    animation-delay: 0.8s;
}

.execute .journey-icon {
    animation-delay: 1.2s;
}

.support .journey-icon {
    animation-delay: 1.6s;
}


/* =========================================================
   ORBIT NODE POSITIONS
========================================================= */

.consultation {
    top: -18px;

    left: 50%;

    transform:
        translateX(-50%);
}

.consultation:hover {
    transform:
        translateX(-50%)
        scale(1.08);
}

.implementation {
    top: 112px;

    right: -58px;
}

.demo-training {
    bottom: 8px;

    right: -42px;
}

.execute {
    bottom: 8px;

    left: -42px;
}

.support {
    top: 112px;

    left: -58px;
}


/* =========================================================
   ICON FLOAT ANIMATION
========================================================= */

@keyframes iconFloat {

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

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


/* =========================================================
   ACTIVE ORBIT NODE
========================================================= */

.journey-node.active-stage {
    transform: scale(1.15);
}

.consultation.active-stage {
    transform:
        translateX(-50%)
        scale(1.15);
}

.journey-node.active-stage .journey-icon {
    box-shadow:
        0 0 0 4px rgba(255, 255, 255, 0.15),
        0 0 25px rgba(255, 255, 255, 0.65),
        0 8px 25px rgba(0, 0, 0, 0.25);
}


/* =========================================================
   JOURNEY INTRO ANIMATIONS
========================================================= */

@keyframes journeyContentReveal {

    to {
        opacity: 1;

        transform:
            translateY(0);
    }
}

@keyframes journeyOrbitReveal {

    to {
        opacity: 1;

        transform:
            translateX(0)
            scale(1);
    }
}


/* =========================================================
   STAGE SECTION
========================================================= */

.stage-section {
    width: 100%;

    padding: 110px 0;

    position: relative;

    overflow: hidden;
}


/* =========================================================
   LIGHT / DARK BACKGROUNDS
========================================================= */

.stage-light {
    background: #ffffff;

    color: #1e293b;
}

.stage-dark {
    background: #071b33;

    color: #ffffff;
}


/* =========================================================
   STAGE MAIN CONTAINER
========================================================= */

.stage-container {
    width: 100%;

    max-width: 1380px;

    margin: 0 auto;

    padding: 0 40px;

    display: grid;

    grid-template-columns:
        1fr
        1fr;

    align-items: center;

    gap: 80px;

    box-sizing: border-box;
}


/* =========================================================
   IMAGE COLUMN
========================================================= */

.stage-img-col {
    width: 100%;

    display: flex;

    justify-content: center;

    align-items: center;

    perspective: 1200px;
}


/* =========================================================
   IMAGE FRAME
========================================================= */

.stage-img-frame {
    width: 100%;

    max-width: 540px;

    position: relative;

    border-radius: 20px;

    overflow: hidden;

    background: #e5e7eb;

    box-shadow:
        0 20px 50px rgba(0, 0, 0, 0.15);

    transform-style: preserve-3d;

    opacity: 0;

    filter: blur(7px);

    transform:
        perspective(1200px)
        rotateY(-18deg)
        rotateX(8deg)
        scale(0.88)
        translateY(50px);

    transition:
        opacity 1s ease,
        filter 1s ease,
        transform 1.2s
        cubic-bezier(0.16, 1, 0.3, 1),
        box-shadow 0.4s ease;

    will-change:
        transform,
        opacity,
        filter;
}


/* =========================================================
   RIGHT SIDE IMAGE INITIAL POSITION
========================================================= */

.stage-img-col-right .stage-img-frame {
    transform:
        perspective(1200px)
        rotateY(18deg)
        rotateX(8deg)
        scale(0.88)
        translateY(50px);
}


/* =========================================================
   IMAGE REVEAL
========================================================= */

.stage-section.in-view .stage-img-frame {
    opacity: 1;

    filter: blur(0);

    transform:
        perspective(1200px)
        rotateY(0deg)
        rotateX(0deg)
        scale(1)
        translateY(0);
}


/* =========================================================
   IMAGE
========================================================= */

.stage-img-frame img {
    width: 100%;

    height: 360px;

    display: block;

    object-fit: cover;

    transition:
        transform 0.7s
        cubic-bezier(0.16, 1, 0.3, 1);
}


/* =========================================================
   IMAGE HOVER
========================================================= */

.stage-img-frame:hover img {
    transform: scale(1.06);
}

.stage-img-frame:hover {
    box-shadow:
        0 30px 70px rgba(0, 0, 0, 0.22);
}


/* =========================================================
   SMALL CORNER DOT
========================================================= */

.frame-dot {
    position: absolute;

    top: 16px;

    right: 16px;

    width: 11px;

    height: 11px;

    background: #009fe3;

    border-radius: 50%;

    box-shadow:
        0 0 12px rgba(0, 159, 227, 0.8);

    animation:
        pulseDot 2s ease-in-out infinite alternate;
}

@keyframes pulseDot {

    from {
        transform: scale(1);

        opacity: 0.7;
    }

    to {
        transform: scale(1.4);

        opacity: 1;
    }
}


/* =========================================================
   TEXT COLUMN
========================================================= */

.stage-text-col {
    width: 100%;

    opacity: 0;

    transform:
        translateY(45px);

    transition:
        opacity 0.9s ease,
        transform 1s
        cubic-bezier(0.16, 1, 0.3, 1);
}


/* =========================================================
   TEXT REVEAL
========================================================= */

.stage-section.in-view .stage-text-col {
    opacity: 1;

    transform:
        translateY(0);
}


/* =========================================================
   STAGE TITLE
========================================================= */

.stage-title {
    margin: 0 0 20px;

    font-family:
        Inter,
        "Segoe UI",
        Arial,
        sans-serif;

    font-size: 42px;

    line-height: 1.15;

    font-weight: 800;

    letter-spacing: -1.2px;
}


/* =========================================================
   LIGHT TITLE
========================================================= */

.stage-light .stage-title {
    color: #082f59;
}


/* =========================================================
   DARK TITLE
========================================================= */

.stage-dark .stage-title {
    color: #ffffff;
}


/* =========================================================
   STAGE DESCRIPTION
   INCREASED FONT SIZE
========================================================= */

.stage-desc {
    max-width: 580px;

    margin: 0 0 30px;

    font-size: 20px;

    font-weight: 400;

    line-height: 1.75;

    letter-spacing: 0;
}


/* =========================================================
   STAGE DESCRIPTION SPAN
   INCREASED SIZE + WEIGHT
========================================================= */

.stage-desc span {
    font-size: 20px;

    font-weight: 650;

    line-height: 1.75;
}


/* =========================================================
   LIGHT DESCRIPTION
========================================================= */

.stage-light .stage-desc {
    color: #475569;
}


/* =========================================================
   DARK DESCRIPTION
========================================================= */

.stage-dark .stage-desc {
    color: #cbd5e1;
}


/* =========================================================
   CHECKLIST
========================================================= */

.stage-checklist {
    padding: 0;

    margin: 0;

    list-style: none;

    display: flex;

    flex-direction: column;

    gap: 17px;
}


/* =========================================================
   CHECKLIST ITEM
   INCREASED SENTENCE SIZE
========================================================= */

.stage-checklist li {
    display: flex;

    align-items: center;

    gap: 14px;

    font-size: 18px;

    line-height: 1.55;

    font-weight: 600;

    opacity: 0;

    transform:
        translateX(-25px);

    transition:
        opacity 0.7s ease,
        transform 0.7s
        cubic-bezier(0.16, 1, 0.3, 1);
}


/* =========================================================
   CHECKLIST TEXT SPAN
========================================================= */

.stage-checklist li > span:last-child {
    font-size: 18px;

    line-height: 1.55;

    font-weight: 600;
}


/* =========================================================
   CHECKLIST STAGGER ANIMATION
========================================================= */

.stage-section.in-view
.stage-checklist li:nth-child(1) {
    opacity: 1;

    transform:
        translateX(0);

    transition-delay: 0.2s;
}

.stage-section.in-view
.stage-checklist li:nth-child(2) {
    opacity: 1;

    transform:
        translateX(0);

    transition-delay: 0.35s;
}

.stage-section.in-view
.stage-checklist li:nth-child(3) {
    opacity: 1;

    transform:
        translateX(0);

    transition-delay: 0.5s;
}


/* =========================================================
   CHECKLIST TEXT COLORS
========================================================= */

.stage-light .stage-checklist li {
    color: #1e293b;
}

.stage-dark .stage-checklist li {
    color: #f1f5f9;
}


/* =========================================================
   CHECK ICON
========================================================= */

.check-icon {
    width: 27px;

    height: 27px;

    min-width: 27px;

    border-radius: 50%;

    display: flex;

    align-items: center;

    justify-content: center;

    background: #009fe3;

    color: #ffffff;

    box-shadow:
        0 5px 15px rgba(0, 159, 227, 0.3);

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


/* =========================================================
   CHECK ICON SVG
========================================================= */

.check-icon svg {
    width: 16px;

    height: 16px;

    display: block;
}


/* =========================================================
   CHECK ICON HOVER
========================================================= */

.stage-checklist li:hover .check-icon {
    transform:
        scale(1.15)
        rotate(8deg);

    box-shadow:
        0 8px 22px rgba(0, 159, 227, 0.45);
}


/* =========================================================
   ALTERNATING IMAGE POSITION
========================================================= */

.stage-light .stage-img-col-left {
    order: 1;
}

.stage-light .stage-text-col {
    order: 2;
}

.stage-dark .stage-text-col {
    order: 1;
}

.stage-dark .stage-img-col-right {
    order: 2;
}


/* =========================================================
   DARK SECTION IMAGE
========================================================= */

.stage-dark .stage-img-frame {
    box-shadow:
        0 25px 55px rgba(0, 0, 0, 0.35);
}


/* =========================================================
   DARK SECTION IMAGE HOVER
========================================================= */

.stage-dark .stage-img-frame:hover {
    box-shadow:
        0 30px 70px rgba(0, 0, 0, 0.5);
}


/* =========================================================
   IMAGE FRAME DOT - DARK
========================================================= */

.stage-dark .frame-dot {
    background: #20c9df;

    box-shadow:
        0 0 14px rgba(32, 201, 223, 0.8);
}


/* =========================================================
   TABLET - 1200px
========================================================= */

@media (max-width: 1200px) {

    .technology-journey-container {
        padding:
            55px 40px;

        grid-template-columns:
            minmax(0, 1fr)
            minmax(430px, 0.9fr);

        gap: 10px;
    }


    .journey-title {
        font-size: 58px;

        letter-spacing: -2px;
    }


    /* Journey paragraph */

    .journey-description {
        font-size: 21px;

        max-width: 650px;
    }


    .journey-description span {
        font-size: 21px;
    }


    .journey-orbit {
        width: 420px;

        height: 420px;
    }


    .journey-orbit-area {
        height: 500px;
    }


    .journey-node {
        font-size: 16px;
    }


    .journey-icon {
        width: 54px;

        height: 54px;
    }


    .implementation {
        right: -48px;
    }


    .support {
        left: -48px;
    }


    .demo-training {
        right: -35px;
    }


    .execute {
        left: -35px;
    }


    /* Stage paragraph */

    .stage-desc {
        font-size: 19px;
    }


    .stage-desc span {
        font-size: 19px;
    }


    /* Checklist */

    .stage-checklist li {
        font-size: 17px;
    }


    .stage-checklist li > span:last-child {
        font-size: 17px;
    }
}


/* =========================================================
   TABLET STAGE SECTIONS - 1000px
========================================================= */

@media (max-width: 1000px) {

    .stage-section {
        padding:
            90px 0;
    }


    .stage-container {
        gap: 50px;

        padding:
            0 30px;
    }


    .stage-title {
        font-size: 36px;
    }


    .stage-desc {
        font-size: 18px;
    }


    .stage-desc span {
        font-size: 18px;
    }


    .stage-checklist li {
        font-size: 16px;
    }


    .stage-checklist li > span:last-child {
        font-size: 16px;
    }


    .stage-img-frame img {
        height: 320px;
    }
}


/* =========================================================
   MOBILE - 900px
========================================================= */

@media (max-width: 900px) {

    .technology-journey {
        min-height: auto;
    }


    .technology-journey-container {
        min-height: auto;

        padding:
            70px 25px 80px;

        display: flex;

        flex-direction: column;

        gap: 70px;
    }


    .journey-content {
        width: 100%;

        max-width: 700px;

        text-align: center;
    }


    .journey-title {
        font-size:
            clamp(42px, 8vw, 60px);

        line-height: 1.08;

        letter-spacing: -1.8px;
    }


    /* Journey paragraph */

    .journey-description {
        margin:
            28px auto 30px;

        font-size: 19px;

        line-height: 1.65;
    }


    .journey-description span {
        font-size: 19px;

        font-weight: 700;
    }


    .journey-button {
        min-width: 220px;

        height: 56px;

        font-size: 18px;
    }


    .journey-orbit-area {
        width: 100%;

        height: 430px;
    }


    .journey-orbit {
        width: 360px;

        height: 360px;
    }


    .journey-icon {
        width: 50px;

        height: 50px;
    }


    .journey-icon svg {
        width: 23px;

        height: 23px;
    }


    .journey-node {
        width: 105px;

        font-size: 14px;
    }


    .consultation {
        top: -12px;
    }


    .implementation {
        right: -35px;

        top: 85px;
    }


    .support {
        left: -35px;

        top: 85px;
    }


    .demo-training {
        right: -28px;

        bottom: 0;
    }


    .execute {
        left: -28px;

        bottom: 0;
    }


    /* ============================================
       STAGE MOBILE
    ============================================ */

    .stage-section {
        padding:
            75px 0;
    }


    .stage-container {
        grid-template-columns: 1fr;

        gap: 45px;

        padding:
            0 24px;
    }


    /* Reset desktop order */

    .stage-light .stage-img-col-left,
    .stage-light .stage-text-col,
    .stage-dark .stage-text-col,
    .stage-dark .stage-img-col-right {
        order: initial;
    }


    /* Image first */

    .stage-img-col {
        order: 1 !important;
    }


    /* Text second */

    .stage-text-col {
        order: 2 !important;

        opacity: 1;

        transform: none;
    }


    .stage-title {
        font-size: 34px;

        letter-spacing: -0.8px;
    }


    /* Stage paragraph */

    .stage-desc {
        font-size: 18px;

        line-height: 1.75;
    }


    .stage-desc span {
        font-size: 18px;

        font-weight: 650;
    }


    /* Checklist */

    .stage-checklist {
        gap: 14px;
    }


    .stage-checklist li {
        font-size: 16px;

        opacity: 1;

        transform: none;
    }


    .stage-checklist li > span:last-child {
        font-size: 16px;

        line-height: 1.55;
    }


    .stage-img-frame {
        max-width: 100%;

        transform:
            perspective(1000px)
            rotateY(-8deg)
            rotateX(4deg)
            scale(0.94)
            translateY(35px);
    }


    .stage-img-col-right .stage-img-frame {
        transform:
            perspective(1000px)
            rotateY(8deg)
            rotateX(4deg)
            scale(0.94)
            translateY(35px);
    }


    .stage-section.in-view .stage-img-frame {
        transform:
            perspective(1000px)
            rotateY(0deg)
            rotateX(0deg)
            scale(1)
            translateY(0);
    }


    .stage-img-frame img {
        height: 280px;
    }
}


/* =========================================================
   SMALL MOBILE - 500px
========================================================= */

@media (max-width: 500px) {

    .technology-journey-container {
        padding-left: 18px;

        padding-right: 18px;
    }


    .journey-title {
        font-size: 39px;

        letter-spacing: -1.3px;
    }


    /* Journey paragraph */

    .journey-description {
        font-size: 17px;

        line-height: 1.65;
    }


    .journey-description span {
        font-size: 17px;

        font-weight: 700;
    }


    .journey-button {
        min-width: 210px;

        height: 54px;

        font-size: 17px;
    }


    .journey-orbit-area {
        height: 340px;
    }


    .journey-orbit {
        width: 290px;

        height: 290px;
    }


    .journey-node {
        width: 90px;

        font-size: 12px;
    }


    .journey-icon {
        width: 43px;

        height: 43px;

        margin-bottom: 6px;
    }


    .journey-icon svg {
        width: 20px;

        height: 20px;
    }


    .implementation {
        right: -25px;

        top: 70px;
    }


    .support {
        left: -25px;

        top: 70px;
    }


    .demo-training {
        right: -20px;
    }


    .execute {
        left: -20px;
    }


    /* ============================================
       STAGE SMALL MOBILE
    ============================================ */

    .stage-section {
        padding:
            60px 0;
    }


    .stage-container {
        padding:
            0 18px;

        gap: 35px;
    }


    .stage-title {
        font-size: 30px;
    }


    /* Stage paragraph */

    .stage-desc {
        font-size: 16px;

        line-height: 1.75;
    }


    .stage-desc span {
        font-size: 16px;

        font-weight: 650;
    }


    /* Checklist */

    .stage-checklist li {
        font-size: 15px;

        gap: 11px;
    }


    .stage-checklist li > span:last-child {
        font-size: 15px;

        line-height: 1.55;
    }


    .stage-img-frame {
        border-radius: 15px;

        opacity: 1;

        filter: blur(0);
    }


    .stage-img-frame img {
        height: 240px;
    }


    .check-icon {
        width: 25px;

        height: 25px;

        min-width: 25px;
    }
}


/* =========================================================
   VERY SMALL MOBILE - 380px
========================================================= */

@media (max-width: 380px) {

    .technology-journey-container {
        padding-left: 14px;

        padding-right: 14px;

        gap: 50px;
    }


    .journey-title {
        font-size: 34px;
    }


    /* Journey paragraph */

    .journey-description {
        font-size: 17px;

        line-height: 1.65;
    }


    .journey-description span {
        font-size: 17px;

        font-weight: 700;
    }


    .journey-orbit-area {
        height: 300px;
    }


    .journey-orbit {
        width: 250px;

        height: 250px;
    }


    .journey-node {
        width: 75px;

        font-size: 11px;
    }


    .journey-icon {
        width: 39px;

        height: 39px;
    }


    .journey-icon svg {
        width: 18px;

        height: 18px;
    }


    .implementation {
        right: -20px;

        top: 55px;
    }


    .support {
        left: -20px;

        top: 55px;
    }


    .demo-training {
        right: -15px;
    }


    .execute {
        left: -15px;
    }


    /* ============================================
       VERY SMALL STAGE
    ============================================ */

    .stage-section {
        padding:
            50px 0;
    }


    .stage-container {
        padding:
            0 15px;

        gap: 30px;
    }


    .stage-title {
        font-size: 27px;
    }


    /* Stage paragraph */

    .stage-desc {
        font-size: 16px;

        line-height: 1.75;
    }


    .stage-desc span {
        font-size: 16px;

        font-weight: 650;
    }


    /* Checklist */

    .stage-checklist {
        gap: 12px;
    }


    .stage-checklist li {
        gap: 10px;

        font-size: 15px;
    }


    .stage-checklist li > span:last-child {
        font-size: 15px;

        line-height: 1.55;
    }


    .stage-img-frame img {
        height: 210px;
    }


    .check-icon {
        width: 24px;

        height: 24px;

        min-width: 24px;
    }


    .check-icon svg {
        width: 14px;

        height: 14px;
    }
}


/* =========================================================
   ACCESSIBILITY
========================================================= */

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

    html {
        scroll-behavior: auto;
    }


    .journey-content,
    .journey-orbit-area,
    .journey-icon,
    .stage-img-frame,
    .stage-text-col,
    .stage-checklist li,
    .frame-dot {
        animation: none !important;

        transition: none !important;
    }


    .journey-content {
        opacity: 1;

        transform: none;
    }


    .journey-orbit-area {
        opacity: 1;

        transform: none;
    }


    .stage-img-frame,
    .stage-text-col,
    .stage-checklist li {
        opacity: 1;

        transform: none;
    }
}