@font-face {
  font-family: 'BricolageGrotesque';
  src: url('../fonts/BricolageGrotesque-Bold.woff2') format('woff2'),
    url('../fonts/BricolageGrotesque-Bold.woff') format('woff'),
    url('../fonts/BricolageGrotesque-Bold.ttf') format('truetype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'RethinkSans';
  src: url('../fonts/RethinkSans-Regular.woff2') format('woff2'),
    url('../fonts/RethinkSans-Regular.woff') format('woff'),
    url('../fonts/RethinkSans-Regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'RethinkSans';
  src: url('../fonts/RethinkSans-Bold.woff2') format('woff2'),
    url('../fonts/RethinkSans-Bold.woff') format('woff'),
    url('../fonts/RethinkSans-Bold.ttf') format('truetype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}



.ed-logo {
  width: calc(18.375rem / 2);
  height: calc(7.5rem / 2);
}

/* Shallower version of animate.css's fadeInUp (which starts a full 100% below) */
@keyframes fadeInUpShallow {
  from {
    opacity: 0;
    transform: translate3d(0, 2.5rem, 0);
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

.loader {
  --color-1: var(--orange);
  --size: 1px;

  width: calc(48 * var(--size));
  height: calc(48 * var(--size));
  border-radius: 50%;
  position: relative;
  animation: rotate 1s linear infinite;
}
.loader::before {
  content: '';
  box-sizing: border-box;
  position: absolute;
  inset: 0;
  border-radius: 50%;
  border: calc(6 * var(--size)) solid var(--color-1);
  animation: prixClipFix 2s linear infinite;
}

@keyframes rotate {
  100% {
    transform: rotate(360deg);
  }
}

@keyframes prixClipFix {
  0% {
    clip-path: polygon(50% 50%, 0 0, 0 0, 0 0, 0 0, 0 0);
  }
  25% {
    clip-path: polygon(50% 50%, 0 0, 100% 0, 100% 0, 100% 0, 100% 0);
  }
  50% {
    clip-path: polygon(50% 50%, 0 0, 100% 0, 100% 100%, 100% 100%, 100% 100%);
  }
  75% {
    clip-path: polygon(50% 50%, 0 0, 100% 0, 100% 100%, 0 100%, 0 100%);
  }
  100% {
    clip-path: polygon(50% 50%, 0 0, 100% 0, 100% 100%, 0 100%, 0 0);
  }
}

/* HEADER */
header {
  width: 80%;
  margin: 1.25rem auto;

  .header-nav {
    display: flex;
    justify-content: space-between;
    align-items: center;


    ul.header-nav-list {
      display: flex;
      justify-content: center;
      align-items: center;

      li {
        width: 9.375rem;
        font-size: var(--text-lg);
        font-weight: 600;
        text-align: center;

        a {
          display: inline-block;
          transition: transform 0.1s ease;

          &:hover {
            transform: scale(1.05);
          }

          &:active {
            transform: scale(0.95);
          }
        }
      }

      li::before {
        display: none;
      }
    }

    .header-nav-footer {
      display: none;
    }
  }
}

/* HEADER END */

/* Hero Banner Section */

#hero_banner {
  padding: 0;
  position: relative;
  width: 100%;
  height: 100vh;
  min-height: auto;

  #banner_text {
    position: absolute;
    inset: 0;
    width: 100%;
    background-color: var(--orange);
    transition: background-color 0.4s ease;

    &.video-ready {
      background-color: transparent;
    }

    #header_swirl {
      opacity: 0;
    }

    .header-swirl-mobile-container {
      display: none;

      #header_swirl-mobile {
        opacity: 0;
      }
    }
  }

  .stair-heading {
    display: flex;
    flex-direction: column;
    width: fit-content;
    position: absolute;
    top: 45%;
    right: 35%;
    transform: translate(-50%, -50%)
  }

  .stair-heading span {
    display: block;
    font-family: inherit;
    font-size: inherit;
    font-weight: inherit;
    color: inherit;
    animation: fadeInLeft;
    animation-duration: var(--animation-duration);
    animation-fill-mode: both;

    &:nth-child(1) {
      margin-left: 0;
      animation-delay: 0s;
    }

    &:nth-child(2) {
      margin-left: 5rem;
      animation-delay: 0.3s;
    }

    &:nth-child(3) {
      margin-left: 13.5rem;
      animation-delay: 0.6s;
    }
  }

  #banner_video {
    width: 100%;
    height: 100vh;
    overflow: hidden;

    video {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: top;
      pointer-events: none;
    }
  }
}

/* Hero Banner Section END */

/* Hero Banner About Us */

#hero_banner_about_us {
  width: 100%;
  min-height: fit-content;
  padding-top: 7.1875rem;
  background-color: var(--orange);
  display: flex;
  padding-bottom: 0;
  overflow: hidden;
  position: relative;

  &::before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100vw;
    height: 7.1875rem;
    background-color: white;
  }

  #banner_text {
    display: flex;
    position: absolute;
    width: 50%;
    height: calc(100% - 115px);
    flex-direction: column;
    justify-content: center;
    align-items: center;
    z-index: 400;


    h1 {
      margin-bottom: var(--space-6);
      width: 67%;
      opacity: 0;

      &.in-view {
        animation-name: fadeIn;
        animation-duration: var(--animation-duration);
        animation-timing-function: linear;
        animation-fill-mode: both;
      }
    }

    p {
      /* font-size: var(--text-xl);
      line-height: 2.1625rem; */
      width: 67%;
      color: var(--white);
      background-color: #FF8600;
      box-shadow: 0 20px 20px 30px rgba(255, 134, 0, 1);
      opacity: 0;
      text-wrap: pretty;

      &.in-view {
        animation-name: fadeIn;
        animation-duration: var(--animation-duration);
        animation-timing-function: linear;
        animation-fill-mode: both;
      }
    }
  }

  .hero-banner-img-container {
    flex: 1;
    margin-left: auto;
    position: relative;

    &::after {
      content: '';
      position: absolute;
      right: 0;
      bottom: 0;
      width: calc(98.625rem / 1.5);
      height: 5.625rem;
      background-color: #FF8600;
      box-shadow: 0 0 60px 80px rgba(255, 134, 0, 1);
      z-index: 250;
    }

    .hero-banner-bg {
      margin-left: auto;
      max-width: calc(116.875rem / 1.5);
    }

    .hero-banner-people-img {
      position: absolute;
      top: -7.625rem;
      right: 0;
      max-width: calc(98.625rem / 1.5);
      max-height: calc(74.625rem / 1.5);
      z-index: 200;
    }
  }

  .header-swirl-container {
    position: absolute;
    top: 45%;
    left: 48.5%;
    width: 112%;
    height: auto;
    transform: translate(-50%, -50%);
    z-index: 90;
  }

  .header-swirl-mobile-container {
    display: none;
    position: absolute;
    top: max(45px, 70px);
    left: 0;
    width: 100%;
    height: auto;
    width: 105%;
  }
}

/* Hero Banner About Us END */

/* Who We Are Section */
#who_we_are {
  position: relative;
  width: 80%;
  margin: 0 auto;
  min-height: 100%;
  justify-content: space-between;
  display: flex;

  .txt-container {
    display: flex;
    flex-direction: column;
    justify-content: start;
    width: 37vw;
    margin-top: calc(var(--space-16) * 1.5);
    order: 1;
    opacity: 0;

    &.in-view {
      animation-name: fadeInUpShallow;
      animation-duration: var(--animation-duration);
      animation-timing-function: linear;
      animation-fill-mode: both;
    }

    h2 {
      color: var(--orange);
    }

    .img-container {
      display: none;
    }
  }

  .we-are-edge-digital-img {
    width: 100%;
    max-width: calc(56rem / 1.5);
    position: relative;
  }

  .we-are-edge-digital-bg {
    position: absolute;
    width: 72%;
    right: 0;
    bottom: 5px;
  }

  .img-container {
    position: relative;
    display: flex;
    justify-content: end;
    overflow-x: visible;
    order: 2;
    opacity: 0;

    &.in-view {
      animation-name: fadeInUpShallow;
      animation-duration: var(--animation-duration);
      animation-timing-function: linear;
      animation-fill-mode: both;
    }

    .ten-yr-sticker {
      position: absolute;
      width: calc(24.375rem / 1.5);
      left: -12.0417rem;
      bottom: 0;
    }
  }
}

/* Who We Are Section END */

.title-span {
  color: var(--orange);
  font-family: 'BricolageGrotesque', sans-serif;
  display: inline;
  font-weight: 700;
  font-size: 3.75rem;
  white-space: nowrap;
  position: relative;
}

/* Transform Ideas Section */
#transform_ideas {
  position: relative;
  width: 80%;
  margin: 0 auto;
  min-height: 100%;
  height: 100%;
  padding-bottom: 25rem;
  justify-content: space-between;
  display: flex;

  .sticker-img {
    position: absolute;
    top: -100%;
    right: -30%;
    width: calc(17.875rem / 1.5);
    height: calc(12.25rem / 1.5);
    z-index: -5;
  }

  .txt-container {
    display: flex;
    flex-direction: column;
    justify-content: start;
    width: 30vw;
    opacity: 0;

    &.in-view {
      animation-name: fadeInUpShallow;
      animation-duration: var(--animation-duration);
      animation-timing-function: linear;
      animation-fill-mode: both;
    }

    h2 {
      color: var(--black);
    }

    p {
      width: 28vw;
    }
  }

  #swirl_container {
    width: 60rem;
    height: 45vh;
    opacity: 0;

    &.in-view {
      animation-name: fadeInUpShallow;
      animation-duration: var(--animation-duration);
      animation-timing-function: linear;
      animation-fill-mode: both;
    }

    #swirl_1,
    #swirl_2 {
      stroke: rgb(255, 134, 0);
      stroke-width: 2;
    }

    .swirl-wrapper {
      position: relative;
      margin-inline: auto;
      margin-top: 12rem;
    }

    .stage-icon {
      position: absolute;
      opacity: 0;
      --icon-size: 4.6875rem;
      width: var(--icon-size);
      height: var(--icon-size);
    }

    .stage-icon img {
      display: block;
      width: 100%;
      height: 100%;
    }

    .stage-label {
      position: absolute;
      font-size: calc(var(--icon-size) * 0.40);
      white-space: nowrap;
      color: var(--text-dark, #333);
      opacity: 0;
      font-weight: 700;
      top: 100%;
      left: 50%;
      transform: translateX(-50%);
      margin-top: 0.625rem;
      text-align: center;
      line-height: 1.2;
      text-align: center
    }

    .stage-icon.label-right .stage-label {
      top: 50%;
      left: 100%;
      transform: translateY(-50%);
      margin-top: 0;
      margin-left: 0.625rem;
      text-align: center
    }

    .stage-icon.label-left .stage-label {
      top: 50%;
      left: auto;
      right: 100%;
      transform: translateY(-50%);
      margin-top: 0;
      margin-right: 0.9375rem;
      /* text-align: right; */
      text-align: center
    }

    .stage-description {
      display: none;
    }

    .center-detail {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      display: flex;
      flex-direction: column;
      align-items: center;
      text-align: center;
      opacity: 0;
      pointer-events: none;
      z-index: 0;
    }

    .center-detail-label {
      font-size: 2.25rem;
      line-height: 1.15;
      font-weight: 700;
      color: var(--orange);
    }

    .center-detail-description {
      margin-top: 0.9375rem;
      font-size: var(--text-lg);
      line-height: 1.4;
      color: var(--text-secondary, #666);
      max-width: 30rem;
    }

    .stage-icon img.icon-img {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      display: block;
    }

    .stage-icon img.icon-img-active {
      opacity: 0;
    }
  }


}

/* Transform Ideas Section END */

/* Trusted by Amazing Folks Section */

#trusted_by {
  background-color: var(--white);
  min-height: 100%;

  --logo-divider: 1.5;

  h2 {
    text-align: center;
    color: var(--black);
    margin-bottom: var(--space-10);
    opacity: 0;

    &.in-view {
      animation-name: fadeInUpShallow;
      animation-duration: var(--animation-duration);
      animation-timing-function: linear;
      animation-fill-mode: both;
    }
  }

  .logos {
    overflow: hidden;
    width: 100%;

    .logo-track {
      display: flex;
      align-items: center;
      gap: var(--space-16);
      width: max-content;
      will-change: transform;
      animation: logo-marquee 60s linear infinite !important;
    }

    .logo-item {
      height: 2.5rem;
      width: auto;
      flex-shrink: 0;
      opacity: 0;

      &.in-view {
        animation-name: fadeIn;
        animation-duration: var(--animation-duration);
        animation-timing-function: linear;
        animation-fill-mode: both;
      }
    }

    .hairdreams-logo {
      width: calc(15.125rem / var(--logo-divider));
      height: calc(5.125rem / var(--logo-divider));
    }

    .moe-logo {
      width: calc(12.5rem / var(--logo-divider));
      height: calc(9.625rem / var(--logo-divider));
    }

    .steakout-logo {
      width: calc(17.5rem / var(--logo-divider));
      height: calc(4.625rem / var(--logo-divider));
    }

    .temasek-foundation-logo {
      width: calc(15rem / var(--logo-divider));
      height: calc(4.375rem / var(--logo-divider));
    }

    .sp-group-logo {
      width: calc(18rem / var(--logo-divider));
      height: calc(5.25rem / var(--logo-divider));
    }

    .iprs-logo {
      width: calc(10rem / var(--logo-divider));
      height: calc(5.25rem / var(--logo-divider));
    }

    .pentagreen-logo {
      width: calc(11.875rem / var(--logo-divider));
      height: calc(8.3125rem / var(--logo-divider));
    }

    .kiyoclear-logo {
      width: calc(16.5rem / var(--logo-divider));
      height: calc(5.125rem / var(--logo-divider));
    }

    .victoria-hotel-logo {
      width: calc(20.125rem / var(--logo-divider));
      height: calc(3.875rem / var(--logo-divider));
    }

  }
}



@keyframes logo-marquee {
  from {
    transform: translateX(0);
  }

  to {
    /* track holds exactly 2 duplicated sets, so -50% is one full set width */
    transform: translateX(-50%);
  }
}

/* Trusted by Amazing Folks Section END */

/* We Guide Your Journey Section */

#services {
  min-height: 100%;
  height: 100%;
  --services-logo-divider: 2;

  margin-inline: 0;
  display: flex;

  #digital_journey_img {
    width: 100%;
    height: auto;
    aspect-ratio: 844 / 1066;
    max-width: calc(52.75rem / 1.5);
    max-height: calc(69.625rem / 1.5);
    margin-right: var(--space-16);
    flex-shrink: 0;
    opacity: 0;

    &.in-view {
      animation-name: fadeInUpShallow;
      animation-duration: var(--animation-duration);
      animation-timing-function: linear;
      animation-fill-mode: both;
    }
  }

  .services-container {
    text-align: left;
    max-width: 50vw;
  }

  .service-container {
    display: flex;
    justify-content: start;
    align-items: start;
    opacity: 0;

    &.in-view {
      animation-name: fadeInUpShallow;
      animation-duration: var(--animation-duration);
      animation-timing-function: linear;
      animation-fill-mode: both;
    }

    .service-details-container {
      padding: var(--space-4) var(--space-4) 0;
      border-radius: 0.625rem;
      width: 100%;
      transition: background-color 0.35s ease;

      .service-header {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-bottom: var(--space-2);
        border-bottom: 0.0625rem solid var(--gray);
        cursor: pointer;

        .service-title {
          font-family: 'RethinkSans', sans-serif;
          font-weight: 700;
          color: var(--black);
          align-self: end;
          padding-bottom: var(--space-2);
          transition: color 0.15s ease;
        }
      }

      .service-toggle {
        margin-left: 5px;

        .plus-icon {
          width: calc(2rem / 1.5);
          height: calc(2rem / 1.5);
          transition: transform 0.15s ease;
        }

        .minus-icon {
          display: none;
        }

      }

      .service-details {
        display: grid;
        grid-template-rows: 0fr;
        overflow: hidden;
        color: var(--black);
        transition: grid-template-rows 0.4s ease, color 0.35s ease;

        .service-details-inner {
          min-height: 0;
          overflow: hidden;
        }
      }

      a {
        display: flex;
        justify-content: end;
        overflow: hidden;
        color: var(--black);
        transition: max-height 0.4s ease, opacity 0.3s ease, color 0.35s ease;

        img {
          display: inline;
          width: calc(1.875rem / 1.5);
          height: calc(2.125rem / 1.5);
          margin-left: var(--space-4)
        }
      }

    }


    .service-icon {
      width: calc(5rem / var(--services-logo-divider));
      height: calc(5rem / var(--services-logo-divider));
      margin-top: var(--space-4);
      margin-right: var(--space-4);
    }

    .dc-icon {
      width: calc(5rem / var(--services-logo-divider));
      height: calc(5.125rem / var(--services-logo-divider));
    }

    .ssg-icon {
      margin-top: var(--space-3);
      width: calc(5rem / var(--services-logo-divider));
      height: calc(5rem / var(--services-logo-divider));
    }

    .smm-icon {
      margin-top: var(--space-4);
      width: calc(5rem / var(--services-logo-divider));
      height: calc(4.5625rem / var(--services-logo-divider));
    }

    .em-icon {
      margin-top: var(--space-5);
      width: calc(5rem / var(--services-logo-divider));
      height: calc(3.75rem / var(--services-logo-divider));
    }

    .bi-icon {
      margin-top: var(--space-1);
      width: calc(5rem / var(--services-logo-divider));
      height: calc(6rem / var(--services-logo-divider));
    }

    .mti-icon {
      margin-top: var(--space-4);
      width: calc(5rem / var(--services-logo-divider));
      height: calc(4.875rem / var(--services-logo-divider));
    }

    &.service-active {

      * {
        color: var(--white) !important;
      }

      .service-details-container {
        background-color: var(--orange);
        padding: var(--space-4);

        .service-header {
          border-bottom: none;
        }

        .service-details {
          grid-template-rows: 1fr;
        }
      }

      .service-toggle {
        .plus-icon {
          display: none;
        }

        .minus-icon {
          display: inline-block;
          width: calc(2rem / 1.5);
          height: calc(0.625rem / 1.5);
          margin-bottom: var(--space-5);
        }
      }

    }

  }

}

/* We Guide Your Journey Section END */

/* Bridge Ideas Section */

#bridge_ideas {
  position: relative;
  width: 100%;
  min-height: 100%;
  height: 100%;
  padding: 0;
  justify-content: space-between;
  display: flex;

  .content-wrapper {
    position: relative;
    width: 85%;
    margin: 0 auto;
    padding-top: 5rem;
    padding-bottom: 15vh;
    justify-content: space-between;
    display: flex;
    margin-left: 10%;
    margin-right: 5%;

    .txt-container {
      display: flex;
      flex-direction: column;
      justify-content: start;
      width: 30vw;
      opacity: 0;

      &.in-view {
        animation-name: fadeInUpShallow;
        animation-duration: var(--animation-duration);
        animation-timing-function: linear;
        animation-fill-mode: both;
      }

      p {
        width: 20vw;
      }
    }

    .carousel {
      position: relative;
      width: 65vw;
      margin-top: var(--space-8);
      overflow: hidden;
      display: flex;
      align-items: center;
      gap: var(--space-4);
      opacity: 0;

      &.in-view {
        animation-name: fadeInUpShallow;
        animation-duration: var(--animation-duration);
        animation-timing-function: linear;
        animation-fill-mode: both;
      }

      .carousel-viewport {
        flex: 1;
        overflow: hidden;
      }

      .carousel-quote {
        width: calc(3.5625rem / 1.5);
        height: calc(2.875rem / 1.5);

        &.carousel-quote-opening {
          margin-right: auto;
        }

        &.carousel-quote-closing {
          margin-left: auto;
        }
      }

      .carousel-track {
        display: flex;
        transition: transform 0.5s ease;
        will-change: transform;
        cursor: grab;
        touch-action: pan-y;
        user-select: none;
      }

      &.is-dragging .carousel-track {
        cursor: grabbing;
      }

      .carousel-slide {
        flex: 0 0 100%;
        padding: var(--space-8) var(--space-16);
        box-sizing: border-box;
      }

      .carousel-title {
        font-family: 'RethinkSans', sans-serif;
        font-weight: 700;
        color: var(--black);
        margin-bottom: var(--space-3);
        padding-inline: calc(3.5625rem);
        background-color: rgba(255, 255, 255, 1);
        box-shadow: 0 0 1.875rem 1.25rem rgba(255, 255, 255, 1);
        margin-top: var(--space-6);
      }

      .carousel-text {
        font-family: 'RethinkSans', sans-serif;
        color: var(--black);
        padding-inline: calc(3.5625rem);
        margin-bottom: 0;
        background-color: rgba(255, 255, 255, 1);
        box-shadow: 0 0 1.875rem 3.125rem rgba(255, 255, 255, 1);
      }

      .carousel-nav {
        flex-shrink: 0;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        transition: background-color 0.2s ease, color 0.2s ease;

        img {
          width: calc(2.875rem / 1.5);
          height: calc(2.875rem / 1.5);
        }

        &:active {
          transform: scale(0.9);
        }
      }

      a {
        display: flex;
        justify-content: end;
        overflow: hidden;
        color: var(--black);
        transition: max-height 0.4s ease, opacity 0.3s ease, color 0.35s ease;

        img {
          width: calc(1.875rem / 1.5);
          height: calc(2.125rem / 1.5);
          margin-left: 1.25rem;
          display: inline;
        }
      }
    }
  }

  #bridge_idea_bg_container {
    position: absolute;
    width: 100%;
    z-index: -10;

    #bridge_idea-mobile {
      display: none;
    }
  }
}

/* Bridge Ideas Section END */

/* Case Studies Section */

#case_studies {
  width: 90%;
  margin: 0 auto;

  article {
    opacity: 0;
  }

  article.in-view {
    animation-name: fadeInUpShallow;
    animation-duration: var(--animation-duration);
    animation-timing-function: linear;
    animation-fill-mode: both;
  }

  h2 {
    text-align: center;
    color: var(--black);
    opacity: 0;

    &.in-view {
      animation-name: fadeInUpShallow;
      animation-duration: var(--animation-duration);
      animation-timing-function: linear;
      animation-fill-mode: both;
    }
  }

  .row>* {
    padding: 0 0.625rem;
    box-sizing: border-box;
  }

  .case-study-thumbnail {
    display: block;
    position: relative;
    margin-bottom: var(--space-3);
    overflow: hidden;

    .case-study-img {
      width: 100%;
      height: auto;
      aspect-ratio: 820 / 460;
      transform: scale(1.0);
      transition: transform 0.3s ease !important;
    }

    &:hover .case-study-img {
      transform: scale(1.1);
    }

    .case-study-tag {
      position: absolute;
      top: 0;
      left: 0;
      width: calc(262px / 2);
      height: calc(114px / 2);


      .logo-bg {
        position: relative;
        top: 0rem;
        left: 0rem;
        width: calc(262px / 2);
        height: calc(114px / 2);
      }

      .logo {
        position: absolute;
        top: 50%;
        left: 45%;
        transform: translate(-50%, -50%);
      }

      .hairdreams-logo {
        width: calc(156px / 2);
        height: calc(52px / 2);
      }

      .moe-logo {
        width: calc(116px / 2);
        height: calc(92px / 2);
      }

      .steakout-logo {
        width: calc(176px / 2);
        height: calc(48px / 2);
      }

      .temasek-foundation-logo {
        width: calc(176px / 2);
        height: calc(52px / 2);
      }

      .sp-group-logo {
        width: calc(176px / 2);
        height: calc(50px / 2);
      }

      .iprs-logo {
        width: calc(118px / 2);
        height: calc(62px / 2);
      }

      .kiyoclear-logo {
        width: calc(190px / 2);
        height: calc(57px / 2);
      }

      .victoria-hotel-logo {
        width: calc(194px / 2);
        height: calc(38px / 2);
      }
    }

    .lm-img {
      position: absolute;
      top: 1.375rem;
      right: 1.875rem;
      width: calc(30px / 2);
      height: calc(34px / 2);
    }

    .lm-text {
      position: absolute;
      top: 1.375rem;
      right: 4rem;
      color: var(--white)
    }
  }

  .case-study-details {
    padding: var(--space-2);

    b {
      font-weight: 700 !important;
      white-space: break-spaces;
    }
  }

  p {
    margin-bottom: var(--space-2);
  }
}

/* Case Studies Section END */

/* Contact Us Section */

#contact_us {
  position: relative;
  width: 100%;
  background-color: var(--white);
  min-height: 100%;

  h2 {
    color: var(--black);
    opacity: 0;

    &.in-view {
      animation-name: fadeInUpShallow;
      animation-duration: var(--animation-duration);
      animation-timing-function: linear;
      animation-fill-mode: both;
    }
  }

  h3 {
    opacity: 0;

    &.in-view {
      animation-name: fadeInUpShallow;
      animation-duration: var(--animation-duration);
      animation-timing-function: linear;
      animation-fill-mode: both;
    }
  }

  p {
    margin-bottom: var(--space-2);
    opacity: 0;

    &.in-view {
      animation-name: fadeInUpShallow;
      animation-duration: var(--animation-duration);
      animation-timing-function: linear;
      animation-fill-mode: both;
    }
  }

  .row {
    margin: 0;
  }

  &>.row {
    width: 80%;
    margin: 0 auto;
    z-index: 500;
    position: relative;
  }

  &>.row>div {
    position: relative;
  }


  .contact-us-form {
    opacity: 0;

    &.in-view {
      animation-name: fadeInUpShallow;
      animation-duration: var(--animation-duration);
      animation-timing-function: linear;
      animation-fill-mode: both;
    }

    label {
      font-size: var(--text-base);
    }

    input:not([type="submit"]),
    textarea {
      font-size: var(--text-base);
      line-height: 0.875rem;
      padding: var(--space-2) var(--space-3);
      border: 0.0625rem solid var(--white);
      outline: none;
    }

    input:not([type="submit"]):focus,
    textarea:focus {
      border: 0.0625rem solid var(--gray);
      border-color: var(--gray);
    }

    input:not([type="submit"]).input-error,
    textarea.input-error {
      border-color: rgba(255, 0, 0, 0.4);
    }

    input:not([type="submit"]):disabled,
    textarea:disabled {
      color: var(--gray);
      cursor: not-allowed;
    }

    .input-container:has(:disabled) label {
      color: var(--gray);
    }

    .input-container p.error {
      font-size: var(--text-sm) !important;
      line-height: 1.125rem;
      color: var(--red);
      margin-top: var(--space-1) !important;
      margin-bottom: 0 !important;
    }

    .receive-email-container {
      display: flex;
      justify-items: start;
      align-items: start;
      padding-bottom: var(--space-4);
    }

    .receive-email-container p.error {
      flex-basis: 100%;
      width: 100%;
    }

    label.receive-email-label {
      font-weight: 400;
      padding-left: 0.7rem;
      cursor: pointer;
      user-select: none;
      -webkit-tap-highlight-color: transparent;
    }

    input[type="checkbox"]:disabled ~ label.receive-email-label {
      color: var(--gray);
      cursor: not-allowed;
    }

    input[type="checkbox"] {
      flex: 0 0 17px;
      width: 17px;
      height: 17px;
      margin: 0;
      padding: 0;
      appearance: none;
      -webkit-appearance: none;
      border: 1px solid var(--gray);
      border-radius: 3px;
      background-color: var(--white);
      cursor: pointer;
      position: relative;
      transition: transform 0.1s ease, background-color 0.2s ease, border-color 0.2s ease;
    }

    input[type="checkbox"]:active {
      transform: scale(0.85);
    }

    input[type="checkbox"]:disabled {
      cursor: not-allowed;
      opacity: 0.5;
    }

    input[type="checkbox"]:checked {
      background-color: var(--orange);
      border-color: var(--orange);
    }

    input[type="checkbox"]:checked::after {
      content: "";
      position: absolute;
      left: 5px;
      top: 1px;
      width: 5px;
      height: 10px;
      border: solid var(--white);
      border-width: 0 2px 2px 0;
      transform: rotate(45deg);
    }
  }

  #contact_us_successful {
    position: absolute;
    width: 80%;
    height: fit-content;
    top: 35%;
    left: 35%;
    transform: translate(-35%, -35%);
    padding: var(--space-4);
    border-radius: 0.625rem;
    text-align: center;
    background-color: var(--orange);
    opacity: 0;

    &.in-view {
      animation-name: fadeIn;
      animation-duration: var(--animation-duration);
      animation-timing-function: linear;
      animation-fill-mode: both;
    }

    &>* {
      color: var(--white);
    }

    &>p {
      opacity: 1;
    }

    .title {
      font-size: var(--text-xl);
      font-weight: 700;
      margin-bottom: var(--space-4);
    }

    .info {
      font-size: var(--text-md);
      line-height: 1.25rem;
    }
  }

  #contact_us_errors {
    padding: 0 0 var(--space-2) 0;

    p.error {
      font-size: var(--text-sm) !important;
      line-height: 1.125rem;
      color: var(--red);
      margin-bottom: var(--space-1) !important;
    }
  }

  #contact_us_loading {
    position: absolute;
    top: 33%;
    left: 50%;
    transform: translate(-33%, -50%);
    width: 100%;
    height: 100%;
    max-width: 100px;
    max-height: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: rgba(0, 0, 0, 0.05);
    border-radius: 0.625rem;
    z-index: 10;
  }

  .star-line-container {
    position: relative;
    top: -2.875rem;
  }

  .star-line-container-mobile {
    display: none;
    position: relative;
    top: -1rem;
  }
}

/* Case Studies Section END */

/* Connecting People */

#connecting_people {
  position: relative;
  min-height: fit-content;
  padding: 12rem 0 8rem;
  width: 100%;
  margin: 0 auto;
  text-align: center;
  overflow: hidden;

  &::before,
  &::after {
    position: absolute;
    content: '';
    height: 100%;
    width: 10%;
    top: 0;
    background-color: rgba(255, 255, 255, 1);
    box-shadow: 0 0 20px 20px rgba(255, 255, 255, 1);
  }

  &::before {
    left: 0;
  }

  &::after {
    right: 0;
  }

  h2 {
    width: fit-content;
    margin: 0 auto;
    background-color: rgba(255, 255, 255, 1);
    box-shadow: 0 0 20px 20px rgba(255, 255, 255, 1);
    margin-bottom: var(--space-8);
    opacity: 0;

    &.in-view {
      animation-name: fadeInUpShallow;
      animation-duration: var(--animation-duration);
      animation-timing-function: linear;
      animation-fill-mode: both;
    }
  }

  .txt-container {
    width: 33.25rem;
    text-align: center;
    margin: 0 auto;
    background-color: rgba(255, 255, 255, 1);
    box-shadow: 0 0 20px 20px rgba(255, 255, 255, 1);
  }

  #connecting_people_swirl {
    position: absolute;
    top: -20%;
    z-index: -20;
  }

  p {
    opacity: 0;

    &.in-view {
      animation-name: fadeInUpShallow;
      animation-duration: var(--animation-duration);
      animation-timing-function: linear;
      animation-fill-mode: both;
    }
  }
}

/* Connecting People END */

/* Our Values */

#our_values {
  min-height: 50vh;
  width:65%;
  margin: 0 auto;
  display: flex;

  h2 {
    color: var(--orange);
    opacity: 0;

    &.in-view {
      animation-name: fadeInUpShallow;
      animation-duration: var(--animation-duration);
      animation-timing-function: linear;
      animation-fill-mode: both;
    }
  }

  .our-value-message {
    width: 30%;
    opacity: 0;

    &.in-view {
      animation-name: fadeInUpShallow;
      animation-duration: var(--animation-duration);
      animation-timing-function: linear;
      animation-fill-mode: both;
    }
  }

  .our-values-list {
    width: 70%;
    min-height: fit-content;
    height: fit-content;
    display: flex;
    margin-inline: calc(var(--space-16) * 1.5);
    opacity: 0;
    position: relative;

    --ov-info-top: 100%;

    &.in-view {
      animation-name: fadeInUpShallow;
      animation-duration: var(--animation-duration);
      animation-timing-function: linear;
      animation-fill-mode: both;
    }

    &::after {
      content: '';
      position: absolute;
      width: 1.375rem;
      height: 1.375rem;
      top: calc(var(--ov-info-top) - 0.6875rem);
      left: 12.5%;
      background-color: var(--orange);
      border-radius: 0.25rem 0 0 0;
      transform: translateX(-50%) rotate(45deg);
      transition: left 0.35s ease;
      z-index: 11;
    }

    &:has(.our-value-item:nth-child(1):hover)::after,
    &:has(.our-value-item:nth-child(1).our-value-item-active)::after {
      left: 12.5%;
    }

    &:has(.our-value-item:nth-child(2):hover)::after,
    &:has(.our-value-item:nth-child(2).our-value-item-active)::after {
      left: 37.5%;
    }

    &:has(.our-value-item:nth-child(3):hover)::after,
    &:has(.our-value-item:nth-child(3).our-value-item-active)::after {
      left: 62.5%;
    }

    &:has(.our-value-item:nth-child(4):hover)::after,
    &:has(.our-value-item:nth-child(4).our-value-item-active)::after {
      left: 87.5%;
    }

    .our-value-item {
      flex: 1;
      position: static;
      text-align: center;
      padding-inline: var(--space-1);
      cursor: pointer;

      .our-value-icon-container {
        width: calc(3.075rem);
        height: calc(2.6375rem);
        margin-inline: auto;
        margin-bottom: var(--space-4);
        position: relative;

        .value-icon {
          transition: transform 0.2s ease-in;
        }

        .value-icon-strike {
          visibility: hidden;
          position: absolute;
          z-index: 200;
          top: -2.1875rem;
          left: -1.5625rem;
          transform: scale(1) rotate(5deg);
        }

        &:has(#star_strike_icon) {
          width: calc(2.5625rem);
          height: calc(2.4375rem);
        }

        #star_strike_icon {
          top: -1.5625rem;
        }


        &:has(#arrow_strike_icon) {
          width: calc(3.25rem);
          height: calc(2.5625rem);
        }

        #arrow_strike_icon {
          transform: scale(1) rotate(349deg);
          top: -2rem;
          left: -1.875rem;
        }

        &:has(#flag_strike_icon) {
          width: calc(2.625rem);
          height: calc(2.5625rem);
        }

        #flag_strike_icon {
          transform: scale(1) rotate(12deg);
          top: -2rem;
          left: 0.0625rem;
        }
      }

      .our-value-title {
        font-family: 'RethinkSans', sans-serif;
        font-weight: 700;
        font-size: var(--h6);
        line-height: 1.1;
        margin-bottom: var(--space-6);
      }

      .our-value-info {
        display: none;
        font-size: var(--text-md);
        line-height: 1.3;
        position: absolute;
        top: var(--ov-info-top);
        left: 50%;
        width: 90%;
        z-index: 10;
        background-color: var(--orange);
        padding: var(--space-6) var(--space-6);
        border-radius: 0.625rem;
        color: var(--white);
        transform: translateX(-50%);
      }

      &:nth-child(1) .our-value-title,
      &:nth-child(2) .our-value-title {
        margin-bottom: var(--space-12);
      }

      &.our-value-item-active,
      &:hover {
        .our-value-icon-container .value-icon {
          transform: scale(1.1) rotate(20deg);
        }

        .our-value-icon-container .value-icon-strike {
          visibility: visible !important;
        }

        /* our-value item typography — active / hover state */
        .our-value-title {
          font-size: var(--text-lg);
        }

        .our-value-info {
          display: block;
        }
      }
    }
  }
}

/* Our Values END */

/* Digital Marketing */

#digital_marketing {
  width: calc(100% - (20% - 3.375rem));
  margin-left: calc(10% - 3.375rem);
  margin-right: 10%;
  display: flex;
  min-height: 100%;

  .content-wrapper {
    width: 70%;

    #digital_marketing_heading {
      position: relative;
      padding-left: 4rem;
      opacity: 0;

      &.in-view {
        animation-name: fadeInUpShallow;
        animation-duration: var(--animation-duration);
        animation-timing-function: linear;
        animation-fill-mode: both;
      }

      .title-span {
        position: relative;

        img {
          position: absolute;
          top: -1.6875rem;
          right: -2.1875rem;
          width: calc(3.375rem);
          height: calc(4.1875rem);
          z-index: -10;
        }
      }
    }

    p {
      opacity: 0;

      &.in-view {
        animation-name: fadeInUpShallow;
        animation-duration: var(--animation-duration);
        animation-timing-function: linear;
        animation-fill-mode: both;
      }
    }

    #founder_quote_container {
      display: flex;

      .txt-container {
        padding-block: var(--space-4);
      }

      .quote-img {
        width: calc(3.5625rem);
        height: calc(3.875rem);
      }

      .quote-img:first-child {
        align-self: start;
      }

      .quote-img:last-child {
        align-self: end;
      }
    }
  }

  #founder_container {
    position: relative;
    min-width: calc(29.25rem / 1.5);
    margin: var(--space-12) 0 var(--space-12) auto;
    text-align: center;

    img {
      opacity: 0;

      &.in-view {
        animation-name: fadeInUpShallow;
        animation-duration: var(--animation-duration);
        animation-timing-function: linear;
        animation-fill-mode: both;
      }
    }

    .founder-img-container {
      position: relative;
      width: calc(29.25rem / 1.5);
      height: calc(33.25rem / 1.5);
      margin-inline: auto;
    }

    img.orange-bg {
      position: absolute;
      width: 100%;
      height: auto;
      bottom: 0;
    }

    img.founder-img {
      position: absolute;
      bottom: 0;
    }

    h4 {
      font-family: 'RethinkSans', sans-serif;
      font-weight: 400;
      margin-bottom: var(--space-2);
      opacity: 0;
      margin-top: var(--space-4);

      &.in-view {
        animation-name: fadeInUpShallow;
        animation-duration: var(--animation-duration);
        animation-timing-function: linear;
        animation-fill-mode: both;
      }
    }

    h5 {
      font-family: 'RethinkSans', sans-serif;
      font-weight: 700;
      opacity: 0;

      &.in-view {
        animation-name: fadeInUpShallow;
        animation-duration: var(--animation-duration);
        animation-timing-function: linear;
        animation-fill-mode: both;
      }
    }
  }


}

/* Digital Marketing END */

/* Footer Section */

.social-link {
  display: inline-block;
  transition: transform 0.15s ease;

  &:hover {
    transform: scale(1.05);
  }

  &:active {
    transform: scale(0.95);
  }
}

.fb-logo {
  width: calc(1rem / 1.5);
  height: calc(2.25rem / 1.5);
}

.insta-logo {
  width: calc(2.25rem / 1.5);
  height: calc(2.125rem / 1.5);
}

.linkedin-logo {
  width: calc(2.25rem / 1.5);
  height: calc(2.25rem / 1.5);
}



#footer {
  position: relative;
  display: flex;
  min-height: 100%;
  height: 100%;
  padding-top: 5rem;
  padding-bottom: 2.5rem;
  padding-left: 13%;
  background:
    linear-gradient(to top, var(--dark-orange), var(--orange)) padding-box,
    linear-gradient(to bottom, var(--dark-orange), var(--orange)) border-box;

  * {
    color: var(--white);
  }

  .row {
    width: 100% !important;
    margin: 0;
    padding-left: 13%;
  }

  .footer-content {
    width: fit-content;
  }

  h6 {
    font-family: 'RethinkSans', sans-serif;
    font-weight: 700;
  }

  p {
    margin-bottom: 0;
  }

  #ed_contact_number,
  #ed_email {
    font-size: var(--text-base);
    line-height: 1.375rem;
    color: var(--white);
  }

  ul {
    display: flex;
    align-items: end;
  }

  li::before {
    content: none;
  }

  li:first-child {
    padding-left: 0;
  }


  #onepeople_initative {
    font-weight: 700;
    font-size: var(--text-lg);
    line-height: 1.5rem;
    display: flex;
    align-items: center;
    width: fit-content;
    transition: transform 0.15s ease;

    &:hover {
      transform: scale(1.05);
    }

    &:active {
      transform: scale(0.95);
    }

    img {
      display: inline-block;
      width: calc(1.875rem / 1.5);
      height: calc(2.125rem / 1.5);
      margin-left: 1rem;
    }
  }

  #footer_legal {
    font-size: var(--text-sm);
    line-height: 1.125rem;

    li {
      border-right: 0.0625rem solid var(--white);
      padding-left: 1rem;
      padding-right: 1rem;
    }

    li a:hover {
      text-decoration: underline;
      text-decoration-skip-ink: none;
    }

    li:first-child {
      padding-left: 0;
    }

    li:last-child {
      border-right: 0;
    }
  }

  .footer-img {
    width: 48vw;
    max-width: calc(96.875rem / 1.5);
    height: auto;
    aspect-ratio: 1550 / 960;
    position: absolute;
    bottom: 0;
    right: 0;
  }

}

/* Footer Section END */

/* 404 Page */

#not_found {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: calc(100vh - 7.1875rem);
  padding: 4rem 0 12rem;
  overflow: hidden;

  .not-found-content {
    position: relative;
    z-index: 2;
    width: 80%;
    max-width: 50rem;
    text-align: center;
    animation: fadeInUpShallow;
    animation-duration: 0.6s;
    animation-fill-mode: both;
  }

  .not-found-code {
    font-family: 'BricolageGrotesque', sans-serif;
    font-weight: 700;
    font-size: 11rem;
    line-height: 1;
    margin-bottom: var(--space-4);
    background: linear-gradient(to right, var(--dark-orange), var(--orange));
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
  }

  h1 {
    color: var(--black);
    font-size: var(--h2);
    line-height: 1.08;
    margin-bottom: var(--space-6);

    .title-span {
      font-size: inherit;
    }
  }

  p {
    text-wrap: pretty;
  }

  .not-found-actions {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--space-8);
    padding-top: var(--space-4);

    .btn-pill {
      border-width: 0.0625rem;
    }

    .ed-link {
      font-size: var(--text-lg);
      font-weight: 700;
    }
  }

  .not-found-line-container {
    position: absolute;
    left: 0;
    bottom: 1rem;
    width: 100%;
    z-index: 1;
    pointer-events: none;
  }
}
/* 404 Page END */

html {
  font-size: 16px;
}

@media (min-width: 1920px) {
  html {
    font-size: 0.8333vw;
  }

  :root {
    --h1: 4.375rem;
    --h2: 3.25rem;
    --h3: 2rem;
    --h4: 1.5rem;
    --h5: 1.25rem;
    --h6: 1rem;

    --text-xxsm: 0.625rem;
    --text-xs: 0.75rem;
    --text-sm: 0.875rem;
    --text-base: 1rem;
    --text-md: 1.125rem;
    --text-lg: 1.25rem;
    --text-xl: 1.5rem;
    --text-2xl: 1.75rem;
    --text-3xl: 2rem;
    --text-4xl: 2.5rem;
    --text-5xl: 3.125rem;
    --text-6xl: 3.5rem;
  }
}

@media (max-width: 1699px) {

  #transform_ideas {
    width: 85%;
    margin: 0 5% 0 10%;

    #swirl_container {

      .stage-icon.label-left .stage-label,
      .stage-icon.label-right .stage-label {
        top: 100%;
        left: 50%;
        right: unset;
        transform: translateX(-50%);
        margin-top: 0.625rem;
        margin-left: 0;
      }
    }
  }

  @media (max-width: 1499px) {

    #transform_ideas {
      padding-bottom: 15rem;

      .center-detail {
        width: 60%;
      }
    }
  }

  /* Hero Banner About Us */

  #hero_banner_about_us {
    width: 100%;
    min-height: fit-content;
    padding-top: 115px;
    display: flex;
    padding-bottom: 0;
    overflow: hidden;
    position: relative;

    &::before {
      content: '';
      display: block;
      position: absolute;
      top: 0;
      left: 0;
      width: 100vw;
      height: 115px;
      background-color: white;
    }

    .hero-banner-img-container {
      flex: 1;
      margin-left: auto;
      position: relative;
      right: -150px;

      &::after {
        content: '';
        position: absolute;
        right: 0;
        bottom: 0;
        width: 100%;
        height: 90px;
        background-color: #FF8600;
        box-shadow: 0 0 60px 80px rgba(255, 134, 0, 1);
        z-index: 250;
      }
    }
  }


  #our_values {
    .our-values-list {
      margin-right: 0;
    }
  }

}



/* Extra large and below */
@media (max-width: 1399px) {

  html {
    font-size: 14px;
  }

  #transform_ideas {
    padding-bottom: 13rem;

    .sticker-img {
      position: absolute;
      top: -70%;
      right: -18%;
      width: calc(17.875rem / 2);
      height: calc(12.25rem / 2);
      z-index: -5;
    }

    .txt-container {
      p {
        width: 20vw;
      }
    }

    & #swirl_container {

      .center-detail {
        top: 53%;
      }

      .center-detail-label {
        font-size: var(--text-xl);
        line-height: 30px;
      }

      .center-detail-description {
        margin-top: 0.9375rem;
        font-size: var(--text-lg) !important;
        line-height: 1.3 !important;
      }
    }
  }
}

/* Extra large and below */
@media (max-width: 1299px) {

  html {
    font-size: 13px;
  }

  #who_we_are {
    .we-are-edge-digital-img {
      width: 100%;
      max-width: calc(896px / 2);
    }

    & .img-container {
      .ten-yr-sticker {
        position: absolute;
        width: calc(390px / 2);
        right: 400px;
      }
    }
  }

  #transform_ideas {
    padding-bottom: 13rem;

    .txt-container {
      p {
        width: 20vw;
      }
    }
  }

  #footer {
    .footer-content {
      #footer_legal {
        flex-wrap: wrap;
        justify-content: start;

        li:first-child {
          flex: 0 0 100%;
          border-right: 0;
          padding-bottom: 0.5rem;
        }

        li:nth-child(2) {
          padding-left: 0;
        }
      }
    }
  }
}

/* Large and below */
@media (max-width: 1199px) {

  :root {
    --h1: 4rem;
    --h2: 3rem;
    --h3: 1.875rem;
    --h4: 1.375rem;
    --h5: 1.125rem;
    --h6: 0.9375rem;

    /* Body/utility text scale */
    --text-xxsm: 0.5625rem;
    --text-xs: 0.6875rem;
    --text-sm: 0.8125rem;
    --text-base: 0.9375rem;
    --text-md: 1rem;
    --text-lg: 1.125rem;
    --text-xl: 1.375rem;
    --text-2xl: 1.5625rem;
    --text-3xl: 1.8125rem;
    --text-4xl: 2.25rem;
    --text-5xl: 2.8125rem;
    --text-6xl: 3.125rem;
  }

  html {
    font-size: 16px;
  }

  #hero_banner {
    .stair-heading {
      right: 30%;
    }
  }

  #who_we_are {
    display: block;

    >.img-container {
      float: right;
      margin-left: calc(60px + var(--space-4));
      margin-bottom: var(--space-8);
      padding-top: 90px;
    }

    .txt-container {
      display: block;
      width: 100%;
    }

    .we-are-edge-digital-img {
      max-width: calc(394px / 1.3);
    }

    .ten-yr-sticker {
      width: calc(140px / 1.3) !important;
      bottom: 0 !important;
      left: -75px !important;
    }
  }


  #transform_ideas {
    display: block;
    padding-bottom: 8vh;
    width: 90%;
    margin: 0 auto;

    & .txt-container {
      width: 100%;

      p {
        width: 100%;
      }
    }

    #swirl_container {
      width: 100%;
      height: auto;

      .center-detail-label {
        font-size: var(--text-4xl);
        line-height: 38px;
      }

      .center-detail-description {
        margin-top: 0.9375rem;
        font-size: var(--text-lg) !important;
        line-height: 1.4 !important;
      }

      .swirl-wrapper {
        margin-top: calc(var(--space-8) * 2);
      }
    }

    .sticker-img {
      display: inline-block;
      top: -30%;
      right: -10%;
      width: calc(17.875rem / 3);
      height: calc(12.25rem / 3);
      z-index: -5;
    }
  }

  #services {
    .services-container {
      min-width: 500px;
    }
  }

  #bridge_ideas {
    & .content-wrapper {
      padding-bottom: 5vh;

      & .carousel {

        width: 50vw;

        .carousel-slide {
          padding: var(--space-4) var(--space-8);
        }
      }
    }
  }

  #hero_banner_about_us {
    #banner_text {

      h1,
      p {
        width: 90%;
        padding: 0 0 0 var(--space-16);
      }
    }
  }

  #connecting_people {
    padding: 5rem 0;

    &::before,
    &::after {
      width: 10%;
    }
  }

  #our_values {
    .our-value-message {
      width: 40%;
    }

    .our-values-list {
      margin-left: var(--space-16);
      margin-right: 0;
    }
  }

}

/* Medium and below */
@media (max-width: 991px) {

  header {
    width: 90%;
    margin: 1.5rem auto;

    a:focus,
    a:active,
    a:hover,
    a:focus-visible {
      outline: none;
    }

    & .header-nav {
      .header-nav-mobile-toggle {
        position: relative;
        z-index: 2001;
        margin-top: 1rem;
        width: 35px;
        height: 35px;

        img {
          position: absolute;
          top: 0;
          left: 0;
          width: 35px;
          transition: opacity 0.3s ease, transform 0.3s ease;
        }

        .open-icon {
          opacity: 1;
          transform: rotate(0deg) scale(1);
        }

        .close-icon {
          opacity: 0;
          transform: rotate(-90deg) scale(0.5);
        }

        &.is-open {
          .open-icon {
            opacity: 0;
            transform: rotate(90deg) scale(0.5);
          }

          .close-icon {
            opacity: 1;
            transform: rotate(0deg) scale(1);
          }
        }
      }

      .header-nav-menu {
        position: fixed;
        top: 0;
        right: 0;
        width: 75vw;
        height: 100dvh;
        background: var(--orange);
        display: none;
        flex-direction: column;
        align-items: flex-start;
        padding: 1.5rem;
        z-index: 1000;
        overflow: hidden;
        transform: translateX(100%);
        transition: transform 0.5s ease;
        z-index: 2000;

        &.is-open {
          transform: translateX(0);
          display: flex;
        }

        ul.header-nav-list {
          display: flex;
          flex-direction: column;
          margin-top: 15dvh;
          align-items: start;

          li {
            width: auto;

            a {
              display: block;
              padding: 0.5rem 0;
              color: var(--white);
            }
          }
        }

        .header-nav-footer {
          display: block;
          margin-top: auto;
          padding-left: 1.5rem;

          * {
            color: var(--white);
          }

          #ed_contact_number_nav,
          #ed_email_nav {
            display: block;
            font-size: var(--text-md);
            margin-bottom: var(--space-0);
          }


          .social-links,
          #footer_legal_nav {
            display: flex;

            li::before {
              content: none;
            }

            li:first-child {
              padding-left: 0 !important;
            }
          }

          #footer_legal_nav {
            flex-wrap: wrap;
            justify-content: start;

            li {
              padding-left: 1rem;
              padding-right: 1rem;
            }

            li:first-child {
              flex: 0 0 100%;
              border-right: 0;
              padding-bottom: 0.5rem;
            }

            li:nth-child(2) {
              padding-left: 0;
              padding-right: 1rem;
              border-right: 0.0625rem solid var(--white);
            }

            li a:hover {
              text-decoration: underline;
              text-decoration-skip-ink: none;
            }
          }
        }
      }
    }
  }


  #hero_banner {
    .stair-heading {
      right: unset;
      left: 30%;

      span {

        &:nth-child(2) {
          margin-left: 2.5rem;
        }

        &:nth-child(3) {
          margin-left: 4.5rem;
        }
      }
    }

    #header_swirl {
      display: none;
    }

    .header-swirl-mobile-container {
      display: block !important;
      position: relative;
      width: 140%;
      left: -30%;
      top: 50%;
      transform: translateY(-50%);
    }
  }

  body.no-scroll {
    overflow: hidden;
    height: 100dvh;
  }

  .ed-logo {
    width: calc(184px / 1.5);
    height: calc(76px / 1.5);
  }

  #who_we_are {
    width: 90%;
    margin: 0 auto;

    >.img-container {
      float: right;
      margin-left: calc(30px + var(--space-4));
      margin-bottom: var(--space-8);
      padding-top: 120px;
    }


    .we-are-edge-digital-img {
      max-width: calc(394px / 2);
    }

    .ten-yr-sticker {
      width: calc(140px / 2) !important;
      bottom: 0 !important;
      left: -50px !important;
    }

    .txt-container {
      width: 100%;
    }
  }

  #transform_ideas {
    width: 90%;
    margin: 0 auto;

    .txt-container {
      width: 100%;
    }

    #swirl_container {


      .center-detail-label {
        font-size: var(--text-3xl);
        line-height: 30px;
      }

      .center-detail-description {
        margin-top: 0.9375rem;
        font-size: var(--text-lg) !important;
        line-height: 1.4 !important;
      }

      .stage-icon.label-left .stage-label,
      .stage-icon.label-right .stage-label {
        top: 100%;
        left: 50%;
        right: unset;
        transform: translateX(-50%);
        margin-top: 0.625rem;
        margin-left: 0;
      }
    }
  }

  #case_studies {
    .case-study-thumbnail {

      .case-study-img {
        aspect-ratio: 656 / 386;
      }

      .case-study-tag {
        width: calc(210px / 2);
        height: calc(92px / 2);

        .logo-bg {
          position: relative;
          top: 0rem;
          left: 0rem;
          width: calc(210px / 2);
          height: calc(92px / 2);
        }

        .logo {
          position: absolute;
          top: 50%;
          left: 45%;
          transform: translate(-50%, -50%);
        }

        .hairdreams-logo {
          width: calc(126px / 2);
          height: calc(44px / 2);
        }

        .moe-logo {
          width: calc(96px / 2);
          height: calc(74px / 2);
        }

        .steakout-logo {
          width: calc(142px / 2);
          height: calc(38px / 2);
        }

        .temasek-foundation-logo {
          width: calc(140px / 2);
          height: calc(42px / 2);
        }

        .sp-group-logo {
          width: calc(142px / 2);
          height: calc(40px / 2);
        }

        .iprs-logo {
          width: calc(94px / 2);
          height: calc(50px / 2);
        }

        .kiyoclear-logo {
          width: calc(152px / 2);
          height: calc(48px / 2);
        }

        .victoria-hotel-logo {
          width: calc(156px / 2);
          height: calc(30px / 2);
        }
      }

      .lm-img {
        position: absolute;
        right: 1.375rem;
        top: 1rem;
      }

      .lm-text {
        position: absolute;
        right: 3.5rem;
        top: 1rem;
      }
    }
  }

  #trusted_by {

    .logos {
      .logo-track {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: var(--space-10);
        align-items: center;
        justify-items: center;
        animation: none !important;
        width: 90%;
        margin: 0 auto;

        .logo-item[aria-hidden="true"] {
          display: none;
        }

        picture:has(.logo-item[aria-hidden="true"]) {
          display: none;
        }
      }

      .hairdreams-logo {
        width: calc(142px);
        height: calc(50px);
      }

      .moe-logo {
        width: calc(118px);
        height: calc(90px);
      }

      .steakout-logo {
        width: calc(166px);
        height: calc(42px);
      }

      .temasek-foundation-logo {
        width: calc(142px);
        height: calc(42px);
      }

      .sp-group-logo {
        width: calc(166px);
        height: calc(50px);
      }

      .iprs-logo {
        width: calc(94px);
        height: calc(50px);
      }

      .pentagreen-logo {
        width: calc(110px);
        height: calc(78px);
      }

      .kiyoclear-logo {
        width: calc(156px);
        height: calc(50px);
      }

      .victoria-hotel-logo {
        width: calc(170px);
        height: calc(34px);
      }

    }
  }

  #services {
    display: block;
    position: relative;
    padding-top: 0;
    top: -3rem;

    #digital_journey_img {
      max-width: 100%;
      max-height: 100%;
      aspect-ratio: 720 / 570;
    }

    .services-container {
      min-width: 90%;
      margin-inline: auto;
      padding-inline: 0;
    }
  }

  #bridge_ideas {
    & .content-wrapper {
      display: block;
      margin-left: 0;
      margin-right: 0;
      width: 100%;

      h2 {
        margin-top: var(--space-4);
        background-color: rgba(255, 255, 255, 1);
        box-shadow: 0 0 20px 20px rgba(255, 255, 255, 1);
        width: 450px;
      }

      .txt-container {
        width: 90%;
        margin-inline: auto;

        p {
          width: 100%;
        }
      }

      & .carousel {
        width: 100%;
        margin-top: var(--space-0);

        .carousel-text-container {
          position: relative;
        }

        .carousel-quote {
          width: calc(3.5625rem);
          height: calc(3.875rem);

          &.carousel-quote-opening {
            position: absolute;
            top: -13px;
          }

          &.carousel-quote-closing {
            position: absolute;
            bottom: -13px;
            right: 0;
          }


        }

        .carousel-nav {
          display: none;
        }

        .carousel-slide {
          padding: var(--space-8) var(--space-0) var(--space-16);
        }

        .carousel-title,
        .carousel-text {
          background-color: unset;
          box-shadow: unset;
        }

        .carousel-title {
          text-align: center;
          padding-inline: 0;
          margin-top: var(--space-10);
        }

        .carousel-text {
          text-align: center;
        }

        .carousel-link {
          display: block;
          margin-inline: auto;
          margin-top: var(--space-10);

          color: var(--white) !important;
          font-family: 'RethinkSans', sans-serif;
          font-weight: 700;
          font-size: var(--text-base);
          align-items: center;
          justify-content: center;
          padding: 0.6em 1.6em;
          border-radius: 62.4375rem;
          cursor: pointer;
          width: fit-content;
          border: 0.125rem solid transparent;
          background: linear-gradient(to right, var(--dark-orange), var(--orange)) padding-box, linear-gradient(to right, var(--dark-orange), var(--orange)) border-box;
          transition: transform 0.1s ease, background 0.2s ease, color 0.2s ease;
          padding: var(--space-2) var(--space-10);

          img {
            display: none;
          }
        }

        .carousel-link:hover,
        .carousel-link:focus,
        .carousel-link:focus-visible {
          color: var(--dark-orange) !important;
          background:
            linear-gradient(#fff, #fff) padding-box,
            linear-gradient(to right, var(--dark-orange), var(--orange)) border-box;
          color: var(--dark-orange);
          outline: none;
          outline-offset: 0;
        }

        .carousel-link:active {
          transform: scale(0.97);
        }

        .carousel-dots {
          position: absolute;
          bottom: 1px;
          display: flex;
          justify-content: center;
          align-items: center;
          gap: var(--space-3);
          width: 100%;
          margin-top: var(--space-4);
        }

        .carousel-dot {
          width: 8px;
          height: 8px;
          border-radius: 62.4375rem;
          background: var(--gray);
          border: none;
          cursor: pointer;
          padding: 0;
          transition: width 0.25s ease, background-color 0.2s ease;
        }

        .carousel-dot.active {
          width: 28px;
          background: var(--black);
        }
      }
    }

    #bridge_idea_bg_container {
      width: 170%;
      top: 5px;
      left: -25%;
    }

    #bridge_idea {
      display: none;
    }

    #bridge_idea-mobile {
      display: block !important;
      position: relative;
      width: 100%;
      right: 20%;
    }
  }

  :root {
    --footer-img-w: 100%;
  }

  #contact_us {
    padding-bottom: calc(var(--footer-img-w) * 960 / 1550 * 0.82);


    #contact_us_successful {
      width: 100%;
    }

    .star-line-container {
      display: none;
    }

    .star-line-container-mobile {
      display: block;
      width: 140%;
      left: -30%;
    }
  }

  #hero_banner_about_us {
    flex-direction: column-reverse !important;
    min-height: 100%;
    padding-top: 96px;

    &::before {
      height: 96px;
    }

    #banner_text {
      /* all:unset; */
      display: block;
      position: relative;
      width: 100%;
      height: 100%;
      padding: 3rem 0 6rem;
      text-align: center;
      z-index: 1000;
    }

    .hero-banner-img-container {
      /* all:unset; */
      display: block;
      position: relative;
      width: 100%;
      height: 100%;
      right: unset;
      padding-bottom: 0;

      .hero-banner-bg {
        margin-left: 0;
        width: 100%;
        border-top: 1px solid var(--orange);
      }

      .hero-banner-people-img {
        width: min(80%, calc(720px * 1.05));
        height: auto;
        top: -85px;
        right: 50%;
        transform: translateX(50%);
        margin-inline: auto;
      }

      &::after {
        /* content: none; */
        height: clamp(0.5rem, calc(15vw - 55px), 6rem);
      }
    }


    .header-swirl-container {
      display: none;
    }

    .header-swirl-mobile-container {
      display: block;
    }
  }

  #connecting_people {
    padding: 8rem 0 0;

    &::before,
    &::after {
      content: none;
    }

    h2 {
      width: 90%;
      margin: 0 auto var(--space-6) auto;
      text-align: left;
    }

    .txt-container {
      width: 90%;
      margin: 0 auto;
      text-align: left;
    }

    #connecting_people_swirl {
      display: none;
    }
  }

  #our_values {
    display: block;
    width: 90%;
    margin: 0 auto;
    min-height: 100%;
    padding-bottom: 8rem;

    .our-value-message {
      width: 100%;
      margin-bottom: var(--space-12);
    }

    .our-values-list {
      width: 100%;
      margin: 0;
      --ov-info-top: 100%;

      .our-value-item .our-value-info {
        width: 100%;
      }
    }
  }

  #digital_marketing {
    display: block;
    width: 100%;
    margin: 0;

    .content-wrapper {
      width: 100%;

      #digital_marketing_heading {
        position: relative;
        width: 90%;
        padding-left: 0;
        margin-inline: auto
      }

      #founder_quote_container {
        display: block;
        position: relative;
        width: 90%;
        margin-inline: auto;

        .quote-img:first-child {
          position: absolute;
          top: 0;
          left: -20px;
          z-index: -10;
        }

        .quote-img:last-child {
          position: absolute;
          bottom: 0;
          right: -20px;
          z-index: -10;
        }
      }
    }

    #founder_container {
      img {
        margin: 0 auto;
      }
    }
  }

  #footer {
    padding-left: 0;

    .footer-content {
      display: flex;
      justify-content: center;
      align-items: center;
      flex-direction: column;
      width: 100%;
      margin: 0 auto;

      .ed-logo {
        width: calc(184px / 1.5);
        height: calc(76px / 1.5);
      }

      #footer_legal {
        flex-wrap: wrap;
        justify-content: center;

        li:first-child {
          flex: 0 0 100%;
          border-right: 0;
          padding-bottom: 0.5rem;
          text-align: center;
        }
      }
    }

    .footer-img {
      width: var(--footer-img-w);
      height: auto;
      bottom: 100%;
    }
  }

  #not_found {
    min-height: auto;
    padding: 5rem 0 calc(var(--footer-img-w) * 960 / 1550 * 0.82 + 6rem);

    .not-found-content {
      width: 90%;
    }

    .not-found-line-container {
      display: none;
    }

    .not-found-code {
      font-size: 7.5rem;
    }

    h1 {
      font-size: var(--text-4xl);
    }
  }

}

/* Small and below */
@media (max-width: 767px) {

  :root {
    --h1: 32px;
    --h2: 28px;
    --h3: 24px;
    --h4: 20px;
    --h5: 18px;
    --h6: 16px;

    /* Body/utility text scale */
    --text-xxsm: 9px;
    --text-xs: 11px;
    --text-sm: 13px;
    --text-base: 15px;
    --text-md: 16px;
    --text-lg: 18px;
    --text-xl: 22px;
    --text-2xl: 25px;
    --text-3xl: 29px;
    --text-4xl: 36px;
    --text-5xl: 45px;
    --text-6xl: 50px;
  }

  section {
    padding: 3rem 0;
  }

  section h2 {
    line-height: 36px;
  }

  span.title-span {
    font-size: 32px;
  }

  html {
    font-size: 15px;
  }

  #who_we_are {
    margin-top: var(--space-0);


    >.img-container {
      padding-top: var(--space-16);
      margin-left: calc(27px + var(--space-4));
    }

    .we-are-edge-digital-img {
      max-width: calc(394px / 2.5);
    }

    .ten-yr-sticker {
      width: calc(140px / 2.5) !important;
      left: -40px !important;
    }

    .txt-container {
      margin-top: var(--space-8);
    }
  }


  #transform_ideas {
    .sticker-img {
      width: calc(8.75rem / 1.5);
      height: calc(6rem / 1.5);
      right: -15%;
      top: -80%;
    }

    #swirl_container {
      height: auto;
      padding-inline: 2.5%;

      .stage-icon.label-left .stage-label,
      .stage-icon.label-right .stage-label {
        transform: translateX(-50%);
        margin-top: 0.625rem;
      }

      .center-detail {
        width: 70%;
        top: 50%;
      }

      .center-detail-label {
        margin-top: 15px;
        font-size: clamp(var(--text-lg), 4vw ,var(--text-xl));
        line-height: 1.2;
      }

      .center-detail-description {
        font-size: var(--text-md) !important;
        line-height: 1.3 !important;
      }
    }
  }

  #case_studies {
    .row {
      margin-inline: 0;

      &>* {
        padding: 0;
      }
    }

    h2 {
      text-align: left;
    }

    article {
      border: 1px solid var(--gray);
    }
  }


  #digital_marketing {
    #founder_container {
      .founder-img-container {
        width: calc(468px / 2);
        height: calc(532px / 2);
      }
    }
  }

  #contact_us {
    width: 100%;
    background-color: var(--white);
    min-height: 100%;

    h2 {
      color: var(--black);
    }

    p {
      margin-bottom: var(--space-2);
    }

    .row {
      margin: 0;
    }

    &>.row {
      width: 90%;
      margin: 0 auto;
    }
  }


  #trusted_by {

    .logos {
      .hairdreams-logo {
        width: calc(142px / 1.5);
        height: calc(50px / 1.5);
      }

      .moe-logo {
        width: calc(118px / 1.5);
        height: calc(90px / 1.5);
      }

      .steakout-logo {
        width: calc(166px / 1.5);
        height: calc(42px / 1.5);
      }

      .temasek-foundation-logo {
        width: calc(142px / 1.5);
        height: calc(42px / 1.5);
      }

      .sp-group-logo {
        width: calc(166px / 1.5);
        height: calc(50px / 1.5);
      }

      .iprs-logo {
        width: calc(94px / 1.5);
        height: calc(50px / 1.5);
      }

      .pentagreen-logo {
        width: calc(110px / 1.5);
        height: calc(78px / 1.5);
      }

      .kiyoclear-logo {
        width: calc(156px / 1.5);
        height: calc(50px / 1.5);
      }

      .victoria-hotel-logo {
        width: calc(170px / 1.5);
        height: calc(34px / 1.5);
      }

    }
  }


  #hero_banner_about_us {

    padding-top: min(50px, 65px);

    &::before {
      height: min(50px, 65px);
    }

    & .hero-banner-img-container {

      &::after {
        height: clamp(2rem, calc(10vh - 65px), 6rem);
      }

      .hero-banner-people-img {
        top: -4rem;
      }
    }


    .header-swirl-mobile-container {
      top: max(15px, 20px);
    }
  }
}

/* Extra small and below */
@media (max-width: 575px) {

  html {
    font-size: 12px;
  }

  section {
    padding: 3rem 0;
  }

  section h2 {
    line-height: 36px;
  }

  p {
    font-size: var(--text-md) !important;
    line-height: 22px !important;
  }

  #contact_us {
    & #contact_us_successful {
      padding: var(--space-6);

      .title {
        font-size: var(--text-lg) !important;
      }
    }
  }

  span.title-span {
    font-size: 32px;
  }

  #transform_ideas {
    .sticker-img {
      width: calc(8.75rem / 1.5);
      height: calc(6rem / 1.5);
      right: -15%;
      top: -50%;
    }

    #swirl_container {
      height: auto;

      .stage-label {
        margin-top: 5px;
      }

      .stage-icon.label-left .stage-label,
      .stage-icon.label-right .stage-label {
        transform: translateX(-50%);
        margin-top: 10px;
      }

      .stage-icon.label-left .stage-label {
        margin-top: 3px;
      }

      .stage-icon.label-right .stage-label {
        margin-top: 5px;
      }

      .center-detail {
        top: 52%;
        width: 50%;
      }

      .center-detail-label {
        /* font-size: 16px;
        line-height: 18px; */
        font-size: clamp(var(--text-md), 4vw ,var(--text-lg));
        line-height: 1.1 !important;
      }

      .center-detail-description {
        margin-top: 0.5rem;
        /* font-size: 13px !important;
        line-height: 15px !important; */
        font-size: clamp(var(--text-sm), 2.5vw ,var(--text-base)) !important;
        line-height: 1.3 !important;
      }
    }
  }

  #bridge_ideas {

    & .content-wrapper {
      h2 {
        width: 250px
      }
    }
  }

  #hero_banner_about_us {

    #banner_text {
      padding: 0 0 3rem;
    }

    & .hero-banner-img-container {
      &::after {
        height: clamp(2.2rem, calc(10vh - 65px), 6rem);
      }
    }
  }

  #connecting_people {
    padding: 3rem 0 0;
  }

  #our_values {
    padding-bottom: 10rem;
  }

  #not_found {
    .not-found-code {
      font-size: 6rem;
    }

    h1 {
      font-size: var(--text-3xl);

      .title-span {
        white-space: normal;
      }
    }
  }

}

@media (max-width: 480px) {
  #transform_ideas {
    #swirl_container {
      .center-detail {
        top: 52%;
        width: 60%;
      }

      .center-detail-label {
        font-size: clamp(var(--text-base), 3vw ,var(--text-md));
      }

      .center-detail-description {
        font-size: clamp(var(--text-sm), 2.5vw ,var(--text-base)) !important;
      }
    }
  }

  #our_values {
    padding-bottom: 13rem;
  }
}

/* Extra small and below */
@media (max-width: 420px) {
  html {
    font-size: 12px;
  }

  #who_we_are {
    >.img-container {
      margin-left: calc(23px + var(--space-4));
    }

    .we-are-edge-digital-img {
      max-width: calc(394px / 3);
    }

    .ten-yr-sticker {
      width: calc(140px / 3) !important;
      left: -35px !important;
    }
  }


  #transform_ideas {
    width: 90%;
    margin: 0 auto;

    .txt-container {
      width: 100%;
    }

    #swirl_container {

      .center-detail {
        top: 49%;
      }

      .center-detail-label {
        font-size: clamp(var(--text-sm), 4vw, var(--text-base)) !important;
        margin-bottom: 7px;
      }

      .center-detail-description {
        margin-top: unset;
        font-size: clamp(var(--text-xs), 4vw, var(--text-sm)) !important;
        line-height: 1.2 !important;
      }

      .stage-icon.label-left .stage-label,
      .stage-icon.label-right .stage-label {
        margin-top: 2px;
        margin-left: 0;
      }
    }
  }


  #hero_banner_about_us {
    & .hero-banner-img-container {
      &::after {
        height: clamp(3rem, calc(10vh - 65px), 6rem);
      }
    }
  }
}

@media (max-width: 390px) {

  #transform_ideas {
    #swirl_container {
      .center-detail {
        top: 49%;
      }
      .center-detail-label {
        margin-bottom: 5px;
      }
    }
  }

}

@media (max-width: 375px) {
  #transform_ideas {
    #swirl_container {
      .center-detail {
        top: 51%;
      }
      .center-detail-label {
        margin-bottom: 5px;
      }
    }
  }
}