  


  .editorial-service-item {
      position: relative;
      overflow: hidden;
  }

  .service-image {
      width: 120px;
      height: 78px;
      flex-shrink: 0;
      overflow: hidden;
      border-radius: 6px;
      margin: 0 25px 0 0;
      position: relative;
      background: #e9eef4;
  }

  .service-image::after {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(135deg,
              rgba(11, 107, 181, 0.08),
              rgba(26, 57, 135, 0.18));
      opacity: 0;
      transition: opacity 0.35s ease;
  }

  .service-image img {
      width: 100%;
      height: 100%;
      display: block;
      object-fit: cover;
      transition:
          transform 0.55s ease,
          filter 0.35s ease;
  }

  .editorial-service-item:hover .service-image img {
      transform: scale(1.08);
      filter: saturate(1.05);
  }

  .editorial-service-item:hover .service-image::after {
      opacity: 1;
  }


  /* Keep the existing editorial layout aligned */

  .editorial-service-item {
      display: flex;
      align-items: center;
  }

  .editorial-service-item .service-num {
      color: #ba8f2b;
      font-size: 22px;
      flex: 0 0 42px;
  }

  .editorial-service-item .service-title {
      flex: 0 0 190px;
  }

  .editorial-service-item .service-desc {
      flex: 1;
  }


  /* Mobile */

  @media (max-width: 767px) {

      .editorial-service-item {
          display: grid;
          grid-template-columns: 42px 85px 1fr 30px;
          column-gap: 12px;
          row-gap: 8px;
          align-items: center;
      }

      .service-image {
          width: 85px;
          height: 65px;
          margin: 0;
      }

      .editorial-service-item .service-title {
          flex: initial;
          grid-column: 3;
      }

      .editorial-service-item .service-desc {
          flex: initial;
          grid-column: 2 / 5;
      }

      .editorial-service-item .service-arrow {
          grid-column: 4;
          grid-row: 1;
      }

  }

  @media (max-width: 480px) {

      .editorial-service-item {
          grid-template-columns: 32px 75px 1fr 24px;
          column-gap: 9px;
      }

      .service-image {
          width: 75px;
          height: 58px;
      }

  }


  .capabilities-section {
      position: relative;
      background: #ffffff;
      overflow: hidden;
  }

  .capabilities-section::before {
      content: "";
      position: absolute;
      width: 400px;
      height: 400px;
      right: -220px;
      top: -200px;
      border-radius: 50%;
      background: rgba(11, 107, 181, 0.035);
      pointer-events: none;
  }

  .capabilities-section .container {
      position: relative;
      z-index: 2;
  }


  /* =========================================
   HEADING
========================================= */

  .capabilities-tag {
      color: #0b6bb5;
      font-weight: 700;
      letter-spacing: 2px;
  }

  .capabilities-title {
      color: #1a3987;
      margin-bottom: 15px;
  }

  .capabilities-intro {
      max-width: 590px;
      color: #68778b;
      font-size: 14px;
      line-height: 1.75;
      margin-bottom: 28px;
  }


  /* =========================================
   CAPABILITY LIST
========================================= */

  .capabilities-list {
      border-top: 1px solid #e4eaf1;
  }

  .capability-item {
      position: relative;
      min-height: 62px;
      display: flex;
      align-items: center;
      gap: 16px;
      padding: 13px 8px;
      border-bottom: 1px solid #e4eaf1;
      cursor: pointer;
      overflow: hidden;

      transition:
          background 0.3s ease,
          padding 0.3s ease,
          border-color 0.3s ease;
  }


  /* blue hover background */

  .capability-item::before {
      content: "";
      position: absolute;
      left: 0;
      top: 0;
      bottom: 0;
      width: 3px;
      background: #0b6bb5;
      transform: scaleY(0);
      transform-origin: bottom;
      transition: transform 0.3s ease;
  }

  .capability-item:hover,
  .capability-item.active {
      background: #f5f9fd;
      padding-left: 16px;
      border-bottom-color: #d7e4f0;
  }

  .capability-item:hover::before,
  .capability-item.active::before {
      transform: scaleY(1);
  }


  /* Number */

  .capability-number {
      width: 28px;
      flex-shrink: 0;
      color: #9ba8b8;
      font-size: 11px;
      font-weight: 700;
      letter-spacing: 1px;
      transition: color 0.3s ease;
  }

  .capability-item.active .capability-number,
  .capability-item:hover .capability-number {
      color: #0b6bb5;
  }


  /* Name */

  .capability-name {
      flex: 1;
      color: #1a3987;
      font-size: 15px;
      font-weight: 600;
      line-height: 1.4;
      transition: color 0.3s ease;
  }

  .capability-item:hover .capability-name,
  .capability-item.active .capability-name {
      color: #0b6bb5;
  }


  /* Arrow */

  .capability-icon {
      width: 34px;
      height: 34px;
      flex-shrink: 0;

      display: inline-flex;
      align-items: center;
      justify-content: center;

      border: 1px solid #dce5ee;
      border-radius: 50%;

      color: #1a3987;
      font-size: 14px;

      transition:
          background 0.3s ease,
          color 0.3s ease,
          border-color 0.3s ease,
          transform 0.3s ease;
  }

  .capability-item:hover .capability-icon,
  .capability-item.active .capability-icon {
      color: #ffffff;
      background: #0b6bb5;
      border-color: #0b6bb5;
      transform: rotate(45deg);
  }


  /* =========================================
   IMAGE PREVIEW
========================================= */

  .capability-preview-box {
      position: relative;
      width: 100%;
      border-radius: 14px;
      overflow: hidden;
      background: #f3f6f9;
      box-shadow: 0 20px 55px rgba(26, 57, 135, 0.12);
  }


  /* Image */

  .capability-image-wrap {
      position: relative;
      width: 100%;
      height: 475px;
      overflow: hidden;
  }

  .capability-image-wrap img {
      width: 100%;
      height: 100%;
      display: block;
      object-fit: cover;

      transition:
          transform 0.7s cubic-bezier(.2, .7, .2, 1),
          opacity 0.35s ease;
  }

  .capability-preview-box:hover img {
      transform: scale(1.045);
  }


  /* Overlay */

  .capability-image-overlay {
      position: absolute;
      inset: 0;

      background:
          linear-gradient(180deg,
              rgba(26, 57, 135, 0.05) 20%,
              rgba(26, 57, 135, 0.48) 100%);

      pointer-events: none;
  }


  /* Image label */

  .preview-label {
      position: absolute;
      top: 20px;
      left: 20px;

      padding: 7px 11px;

      color: #ffffff;
      background: rgba(11, 107, 181, 0.92);

      border-radius: 4px;

      font-size: 9px;
      font-weight: 700;
      letter-spacing: 1.7px;
  }


  /* Image number */

  .preview-number {
      position: absolute;
      right: 20px;
      top: 17px;

      color: rgba(255, 255, 255, 0.85);

      font-size: 46px;
      line-height: 1;
      font-weight: 700;
  }


  /* =========================================
   CAPTION
========================================= */

  .capability-preview-caption {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 28px;

      padding: 22px 24px 24px;

      background: #ffffff;
      border: 1px solid #e3eaf2;
      border-top: 0;
  }

  .preview-small-title {
      display: block;
      margin-bottom: 6px;

      color: #0b6bb5;

      font-size: 9px;
      font-weight: 700;
      letter-spacing: 1.5px;
  }

  .capability-preview-caption h4 {
      margin: 0;

      color: #1a3987;

      font-size: 21px;
      font-weight: 700;
      line-height: 1.25;
  }

  .capability-preview-caption p {
      margin: 19px 0 0;

      color: #718096;

      font-size: 13px;
      line-height: 1.7;
  }


  /* =========================================
   RESPONSIVE
========================================= */

  @media (max-width: 991px) {

      .capabilities-section {
          padding-top: 60px;
          padding-bottom: 60px;
      }

      .capability-image-wrap {
          height: 420px;
      }

      .capability-preview-caption {
          grid-template-columns: 1fr;
          gap: 8px;
      }

      .capability-preview-caption p {
          margin-top: 5px;
      }
  }


  @media (max-width: 575px) {

      .capabilities-intro {
          font-size: 13px;
      }

      .capability-item {
          min-height: 58px;
          gap: 10px;
          padding: 10px 5px;
      }

      .capability-item:hover,
      .capability-item.active {
          padding-left: 12px;
      }

      .capability-name {
          font-size: 13px;
      }

      .capability-icon {
          width: 30px;
          height: 30px;
          font-size: 12px;
      }

      .capability-image-wrap {
          height: 330px;
      }

      .capability-preview-caption {
          padding: 18px;
      }

      .capability-preview-caption h4 {
          font-size: 18px;
      }

      .preview-number {
          font-size: 36px;
      }
  }

  .testimonials-section {
      position: relative;
      background: #f7f9fc;
      padding: 65px 0 70px;
      overflow: hidden;
  }

  .testimonials-heading {
      margin: 0 auto 38px;
  }

  /* DARK HEADING */

  .testimonials-section-title {
      color: #172033 !important;
      font-size: 32px;
      font-weight: 800;
      line-height: 1.2;
      margin: 0;
  }


  /* =========================================================
   CAROUSEL
========================================================= */

  .testimonials-carousel {
      position: relative;
      padding: 5px 45px 60px;
  }

  .testimonials-carousel .carousel-inner {
      overflow: visible;
  }

  .testimonials-carousel .carousel-item {
      transition: transform .7s ease-in-out;
  }

  .testimonials-carousel .row {
      align-items: stretch;
  }


  /* =========================================================
   CARD
========================================================= */

  .testimonials-carousel .col-lg-4 {
      display: flex;
  }

  .testimonial-card {
      position: relative;

      width: 100%;
      min-height: 350px;

      padding: 35px 28px 28px;

      display: flex;
      flex-direction: column;
      align-items: center;

      text-align: center;

      background: #fff;

      border: 1px solid #e4e9f0;
      border-radius: 18px;

      box-shadow:
          0 10px 30px rgba(26, 57, 135, .07);

      overflow: hidden;

      transition:
          transform .4s ease,
          box-shadow .4s ease,
          border-color .4s ease;
  }

  .testimonial-card::before {
      content: "";

      position: absolute;
      top: 0;
      left: 50%;

      width: 75px;
      height: 3px;

      transform: translateX(-50%);

      background: linear-gradient(90deg,
              #0b6bb5,
              #1a3987);

      border-radius: 0 0 8px 8px;
  }

  .testimonial-card:hover {
      transform: translateY(-7px);

      border-color: rgba(11, 107, 181, .2);

      box-shadow:
          0 20px 45px rgba(26, 57, 135, .12);
  }


  /* =========================================================
   QUOTE ICON
========================================================= */

  .testimonial-top {
      display: flex;
      justify-content: center;
      margin-bottom: 18px;
  }

  .testimonial-quote-icon {
      width: 52px;
      height: 52px;

      display: flex;
      align-items: center;
      justify-content: center;

      color: #fff;

      font-size: 24px;

      background: linear-gradient(135deg,
              #0b6bb5,
              #1a3987);

      border-radius: 50%;

      box-shadow:
          0 8px 22px rgba(11, 107, 181, .2);
  }


  /* =========================================================
   TEXT
========================================================= */

  .testimonial-body {
      width: 100%;

      flex: 1;

      display: flex;
      align-items: center;
  }

  .testimonial-quote {
      margin: 0;

      color: #526174;

      font-size: 14px;
      font-weight: 500;

      line-height: 1.75;
  }


  /* =========================================================
   AUTHOR
========================================================= */

  .testimonial-author {
      width: 100%;

      margin-top: 22px;
      padding-top: 17px;

      border-top: 1px solid #e8edf3;
  }

  .testimonial-author h5 {
      margin: 0 0 5px;

      color: #172033;

      font-size: 14px;
      font-weight: 800;
  }

  .testimonial-author span {
      display: block;

      color: #7c8797;

      font-size: 11px;
      font-weight: 600;

      line-height: 1.5;
  }

  .testimonial-author b {
      color: #0b6bb5;
      margin: 0 4px;
  }


  /* =========================================================
   LEFT / RIGHT CONTROLS
========================================================= */

  .testimonial-control {
      width: 42px;
      height: 42px;

      top: 50%;
      bottom: auto;

      transform: translateY(-50%);

      opacity: 1;

      z-index: 10;
  }

  .testimonial-control.carousel-control-prev {
      left: 0;
  }

  .testimonial-control.carousel-control-next {
      right: 0;
  }

  .testimonial-control-icon {
      width: 40px;
      height: 40px;

      display: flex;
      align-items: center;
      justify-content: center;

      color: #1a3987;

      background: #fff;

      border: 1px solid #dce4ed;

      border-radius: 50%;

      box-shadow:
          0 5px 18px rgba(26, 57, 135, .1);

      transition:
          all .3s ease;
  }

  .testimonial-control:hover .testimonial-control-icon {
      color: #fff;

      background: #1a3987;

      border-color: #1a3987;

      transform: scale(1.08);
  }


  /* =========================================================
   INDICATORS
========================================================= */

  .carousel-indicators-testimonials {
      position: absolute;

      left: 50%;
      bottom: 0;

      transform: translateX(-50%);

      display: flex;
      align-items: center;

      gap: 8px;

      margin: 0;

      width: auto;
  }

  .carousel-indicators-testimonials button {
      width: 8px;
      height: 8px;

      padding: 0;
      margin: 0;

      border: 0;

      border-radius: 50%;

      background: #cbd5e1;

      opacity: 1;

      transition: all .3s ease;
  }

  .carousel-indicators-testimonials button.active {
      width: 28px;

      border-radius: 20px;

      background: linear-gradient(90deg,
              #0b6bb5,
              #1a3987);
  }


  /* =========================================================
   MOBILE
========================================================= */

  @media (max-width: 991px) {

      .testimonials-carousel {
          padding-left: 35px;
          padding-right: 35px;
      }

      .testimonial-card {
          min-height: 330px;
      }

      .testimonial-quote {
          font-size: 13.5px;
      }
  }


  @media (max-width: 767px) {

      .testimonials-section {
          padding: 45px 0 50px;
      }

      .testimonials-heading {
          margin-bottom: 25px;
      }

      .testimonials-section-title {
          font-size: 23px;
      }

      .testimonials-carousel {
          padding: 5px 5px 50px;
      }

      /* Mobile = 1 card per slide */
      .testimonials-carousel .col-lg-4 {
          width: 100%;
      }

      /* Hide second/third cards on mobile */
      .testimonials-carousel .carousel-item .col-lg-4:not(:first-child) {
          display: none;
      }

      .testimonial-card {
          min-height: 330px;

          padding: 30px 22px 25px;

          border-radius: 15px;
      }

      .testimonial-quote-icon {
          width: 48px;
          height: 48px;

          font-size: 22px;
      }

      .testimonial-quote {
          font-size: 13.5px;
          line-height: 1.7;
      }

      .testimonial-control {
          display: none;
      }
  }

  .clients-section {
      position: relative;
      padding: 55px 0 60px;
      background: #ffffff;
      overflow: hidden;
  }

  .clients-heading {
      margin-bottom: 30px;
  }

  .clients-eyebrow {
      display: inline-block;

      color: #0b6bb5;

      font-size: 10px;
      font-weight: 800;

      letter-spacing: 2px;
      text-transform: uppercase;

      margin-bottom: 9px;
  }

  .clients-title {
      margin: 0;

      color: #1a3987;

      font-size: 25px;
      font-weight: 800;

      line-height: 1.2;
  }


  .clients-marquee-wrap {
      position: relative;

      width: 100%;

      overflow: hidden;

      padding: 12px 0 18px;
  }

  .clients-marquee-wrap::before,
  .clients-marquee-wrap::after {

      content: "";

      position: absolute;

      top: 0;
      bottom: 0;

      width: 120px;

      z-index: 10;

      pointer-events: none;
  }

  .clients-marquee-wrap::before {

      left: 0;

      background: linear-gradient(90deg,
              #ffffff 0%,
              rgba(255, 255, 255, .9) 35%,
              transparent 100%);
  }

  .clients-marquee-wrap::after {

      right: 0;

      background: linear-gradient(270deg,
              #ffffff 0%,
              rgba(255, 255, 255, .9) 35%,
              transparent 100%);
  }

  .clients-track {

      display: flex;

      align-items: center;

      width: max-content;

      gap: 24px;

      animation: clientsMarquee 28s linear infinite;

      will-change: transform;

  }


  /* Pause slider */

  .clients-marquee-wrap:hover .clients-track {

      animation-play-state: paused;

  }

  .client-logo-item {

      flex: 0 0 175px;

      width: 175px;
      height: 100px;

      display: flex;

      align-items: center;
      justify-content: center;

      padding: 16px 22px;

      background: #ffffff;

      border: 1px solid #edf1f5;

      border-radius: 14px;

      box-shadow: none;

      overflow: hidden;

      transition:
          transform .35s ease,
          border-color .35s ease,
          background .35s ease;
  }

  .client-logo-item img {

      display: block;

      width: auto;
      height: auto;

      max-width: 125px;
      max-height: 58px;

      object-fit: contain;
      object-position: center;
  }


  .client-logo-item:hover {

      transform: translateY(-5px);

      border-color: rgba(11, 107, 181, .25);

      background: #ffffff;

      box-shadow: none;
  }

  .client-logo-item:hover img {

      filter: grayscale(0%);

      opacity: 1;

      transform: scale(1.06);
  }


  @keyframes clientsMarquee {

      from {
          transform: translateX(0);
      }

      to {
          transform: translateX(calc(-1568px));
      }

  }

  @media (max-width: 767px) {

      .clients-section {
          padding: 45px 0 50px;
      }

      .clients-heading {
          margin-bottom: 24px;
      }

      .clients-title {
          font-size: 21px;
      }

      .clients-track {

          gap: 14px;

          animation-duration: 24s;
      }

      .client-logo-item {

          flex: 0 0 145px;

          width: 145px;
          height: 82px;

          padding: 12px 16px;

          border-radius: 11px;
      }

      .client-logo-item img {

          max-width: 105px;
          max-height: 48px;
      }

      .clients-marquee-wrap::before,
      .clients-marquee-wrap::after {

          width: 55px;
      }

  }

  @media (prefers-reduced-motion: reduce) {

      .clients-track {
          animation: none;
      }

  }

  .blog-section {
      position: relative;
      padding: 70px 0;
      background: #ffffff;
      overflow: hidden;
  }

  /* Heading */
  .blog-heading {
      margin-bottom: 35px;
  }

  .blog-heading .section-tag {
      margin-bottom: 10px;
      color: #0b6bb5;
      font-size: 10px;
      font-weight: 800;
      letter-spacing: 2px;
      text-transform: uppercase;
  }

  .blog-heading-row {
      display: flex;
      align-items: flex-end;
      justify-content: space-between;
      gap: 30px;
  }

  .blog-title {
      margin: 0 0 10px;
      color: #172033;
      font-size: 34px;
      font-weight: 800;
      line-height: 1.15;
      letter-spacing: -.7px;
  }

  .blog-title span {
      color: #0b6bb5;
  }

  .blog-description {
      max-width: 620px;
      margin: 0;
      color: #687587;
      font-size: 14px;
      line-height: 1.7;
  }

  /* View All */
  .blog-view-all {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      flex-shrink: 0;

      padding: 12px 17px;

      color: #172033;
      border: 1px solid #dce4ed;
      border-radius: 8px;

      font-size: 12px;
      font-weight: 700;
      text-decoration: none;

      transition: all .3s ease;
  }

  .blog-view-all i {
      color: #0b6bb5;
      transition: transform .3s ease;
  }

  .blog-view-all:hover {
      color: #ffffff;
      background: #1a3987;
      border-color: #1a3987;
      transform: translateY(-2px);
  }

  .blog-view-all:hover i {
      color: #ffffff;
      transform: translate(3px, -3px);
  }


  /* =====================================================
   BLOG CARD
===================================================== */

  .blog-card {
      height: 100%;
      background: #ffffff;
      border: 1px solid #e5eaf0;
      border-radius: 15px;
      overflow: hidden;

      box-shadow: 0 7px 25px rgba(23, 32, 51, .055);

      transition:
          transform .4s ease,
          box-shadow .4s ease,
          border-color .4s ease;
  }

  .blog-card:hover {
      transform: translateY(-7px);
      border-color: rgba(11, 107, 181, .2);
      box-shadow: 0 18px 40px rgba(23, 32, 51, .11);
  }


  /* Blog Image */
  .blog-image {
      position: relative;
      display: block;

      width: 100%;
      height: 215px;

      overflow: hidden;
      background: #eef2f6;
  }

  .blog-image img {
      width: 100%;
      height: 100%;

      display: block;

      object-fit: cover;
      object-position: center;

      transition: transform .6s ease;
  }

  .blog-card:hover .blog-image img {
      transform: scale(1.07);
  }


  /* Image Overlay */
  .blog-image::after {
      content: "";
      position: absolute;
      inset: 0;

      background: linear-gradient(180deg,
              rgba(14, 19, 31, .05),
              rgba(14, 19, 31, .28));

      pointer-events: none;
  }


  /* Category */
  .blog-category {
      position: absolute;
      top: 15px;
      left: 15px;
      z-index: 2;

      padding: 6px 10px;

      color: #ffffff;
      background: #0b6bb5;

      border-radius: 5px;

      font-size: 9px;
      font-weight: 800;
      letter-spacing: 1px;
  }


  /* Image Arrow */
  .blog-image-arrow {
      position: absolute;
      right: 15px;
      bottom: 15px;
      z-index: 2;

      width: 38px;
      height: 38px;

      display: flex;
      align-items: center;
      justify-content: center;

      color: #172033;
      background: #ffffff;
      border-radius: 50%;

      box-shadow: 0 5px 15px rgba(0, 0, 0, .15);

      transition:
          transform .35s ease,
          background .35s ease,
          color .35s ease;
  }

  .blog-card:hover .blog-image-arrow {
      color: #ffffff;
      background: #1a3987;
      transform: rotate(45deg);
  }


  /* =====================================================
   BLOG CONTENT
===================================================== */

  .blog-content {
      padding: 22px 22px 24px;
  }

  .blog-meta {
      display: flex;
      align-items: center;
      gap: 8px;

      margin-bottom: 10px;

      color: #8a95a5;
      font-size: 10px;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: .5px;
  }

  .blog-dot {
      width: 3px;
      height: 3px;

      background: #0b6bb5;
      border-radius: 50%;
  }

  .blog-card-title {
      margin: 0 0 10px;

      font-size: 19px;
      font-weight: 800;
      line-height: 1.35;
  }

  .blog-card-title a {
      color: #172033;
      text-decoration: none;

      transition: color .3s ease;
  }

  .blog-card:hover .blog-card-title a {
      color: #0b6bb5;
  }

  .blog-content p {
      margin: 0 0 18px;

      color: #687587;
      font-size: 13px;
      line-height: 1.65;
  }

  .blog-read-more {
      display: inline-flex;
      align-items: center;
      gap: 8px;

      color: #172033;
      text-decoration: none;

      font-size: 11px;
      font-weight: 800;
      text-transform: uppercase;
      letter-spacing: .8px;

      transition: color .3s ease;
  }

  .blog-read-more i {
      color: #0b6bb5;
      transition: transform .3s ease;
  }

  .blog-read-more:hover {
      color: #0b6bb5;
  }

  .blog-read-more:hover i {
      transform: translateX(5px);
  }


  /* =====================================================
   MOBILE
===================================================== */

  @media (max-width: 767px) {

      .blog-section {
          padding: 50px 0;
      }

      .blog-heading {
          margin-bottom: 25px;
      }

      .blog-heading-row {
          display: block;
      }

      .blog-title {
          font-size: 26px;
      }

      .blog-description {
          font-size: 13px;
      }

      .blog-view-all {
          margin-top: 18px;
      }

      .blog-image {
          height: 205px;
      }

      .blog-content {
          padding: 19px 18px 21px;
      }

      .blog-card-title {
          font-size: 17px;
      }

  }


  .process-section {
      position: relative;
      background: #f7f9fc;
      overflow: hidden;
      padding-top: 75px;
      padding-bottom: 80px;
  }


  /* Background decorations */

  .process-bg-shape {
      position: absolute;
      border-radius: 50%;
      pointer-events: none;
  }

  .process-bg-shape-1 {
      width: 420px;
      height: 420px;
      top: -220px;
      right: -150px;
      background: rgba(11, 107, 181, 0.045);
  }

  .process-bg-shape-2 {
      width: 280px;
      height: 280px;
      bottom: -160px;
      left: -120px;
      background: rgba(26, 57, 135, 0.035);
  }


  /* =========================================
   HEADING
========================================= */

  .process-heading {
      max-width: 720px;
      margin: 0 auto 55px;
  }

  .process-section .section-tag {
      color: #0b6bb5;
      font-size: 11px;
      font-weight: 800;
      letter-spacing: 2px;
      text-transform: uppercase;
      margin-bottom: 12px;
  }

  .process-main-title {
      color: #1a3987;
      font-weight: 800;
      font-size: clamp(30px, 4vw, 45px);
      line-height: 1.1;
      margin-bottom: 15px;
  }

  .process-intro {
      max-width: 650px;
      margin: auto;
      color: #667085;
      font-size: 14px;
      line-height: 1.7;
  }


  /* =========================================
   TIMELINE
========================================= */

  .process-timeline {
      position: relative;

      display: grid;
      grid-template-columns: repeat(5, 1fr);

      gap: 18px;

      margin-top: 15px;
  }


  /* Main horizontal line */

  .process-track-line {
      position: absolute;

      left: 8%;
      right: 8%;

      top: 34px;

      height: 2px;

      background: #dbe4ee;

      z-index: 0;

      overflow: hidden;
  }


  /* Animated progress */

  .process-progress-line {
      position: absolute;

      left: 0;
      top: 0;

      width: 0;
      height: 100%;

      background: linear-gradient(90deg,
              #0b6bb5,
              #1a3987);

      animation: processProgress 1.8s ease forwards;
      animation-play-state: paused;
  }

  .process-timeline.process-ready .process-progress-line {
      animation-play-state: running;
  }

  @keyframes processProgress {
      from {
          width: 0;
      }

      to {
          width: 100%;
      }
  }


  /* =========================================
   PROCESS STEP
========================================= */

  .process-step {
      position: relative;

      z-index: 2;

      text-align: center;

      padding: 0 8px;

      opacity: 0;
      transform: translateY(35px);

      animation: processReveal .7s ease forwards;
      animation-play-state: paused;
  }

  .process-timeline.process-ready .process-step {
      animation-play-state: running;
  }


  /* stagger */

  .process-step:nth-child(2) {
      animation-delay: .15s;
  }

  .process-step:nth-child(3) {
      animation-delay: .30s;
  }

  .process-step:nth-child(4) {
      animation-delay: .45s;
  }

  .process-step:nth-child(5) {
      animation-delay: .60s;
  }

  .process-step:nth-child(6) {
      animation-delay: .75s;
  }

  @keyframes processReveal {

      to {
          opacity: 1;
          transform: translateY(0);
      }

  }


  /* =========================================
   NUMBER
========================================= */

  .process-step-num {
      position: relative;

      width: 68px;
      height: 68px;

      margin: 0 auto 24px;

      border-radius: 50%;

      display: flex;
      align-items: center;
      justify-content: center;

      background: #ffffff;

      border: 2px solid #dce6f0;

      box-shadow:
          0 8px 22px rgba(26, 57, 135, 0.08);

      transition:
          transform .4s ease,
          border-color .4s ease,
          box-shadow .4s ease,
          background .4s ease;
  }


  /* inner ring */

  .process-step-num::before {
      content: "";

      position: absolute;

      inset: 5px;

      border-radius: 50%;

      border: 1px solid rgba(11, 107, 181, 0.15);

      transition:
          transform .4s ease,
          border-color .4s ease;
  }


  /* number */

  .process-step-num span {
      position: relative;
      z-index: 2;

      color: #1a3987;

      font-size: 13px;
      font-weight: 900;

      letter-spacing: .5px;

      transition:
          color .3s ease,
          transform .3s ease;
  }


  /* =========================================
   CONTENT
========================================= */

  .process-step-content {
      position: relative;

      min-height: 205px;

      padding: 23px 18px 20px;

      background: rgba(255, 255, 255, .75);

      border: 1px solid #e5ebf2;

      border-radius: 14px;

      box-shadow:
          0 5px 18px rgba(26, 57, 135, 0.035);

      transition:
          transform .4s ease,
          box-shadow .4s ease,
          border-color .4s ease,
          background .4s ease;
  }


  /* top accent */

  .process-step-content::before {
      content: "";

      position: absolute;

      top: -1px;
      left: 25%;
      right: 25%;

      height: 3px;

      border-radius: 0 0 10px 10px;

      background: linear-gradient(90deg,
              #0b6bb5,
              #1a3987);

      transform: scaleX(0);

      transition: transform .4s ease;
  }


  /* label */

  .process-mini-label {
      display: block;

      margin-bottom: 8px;

      color: #0b6bb5;

      font-size: 9px;
      font-weight: 800;

      letter-spacing: 1.5px;
  }


  /* title */

  .process-step-title {
      color: #1a3987;

      font-size: 19px;
      font-weight: 800;

      margin-bottom: 10px;

      transition:
          color .3s ease,
          transform .3s ease;
  }


  /* description */

  .process-step-desc {
      margin: 0;

      color: #667085;

      font-size: 12px;

      line-height: 1.65;
  }


  /* =========================================
   ARROW
========================================= */

  .process-arrow {
      position: absolute;

      right: 14px;
      bottom: 13px;

      width: 27px;
      height: 27px;

      border-radius: 50%;

      display: flex;
      align-items: center;
      justify-content: center;

      color: #1a3987;

      background: #f0f5fa;

      font-size: 11px;

      opacity: .7;

      transition:
          transform .35s ease,
          background .35s ease,
          color .35s ease,
          opacity .35s ease;
  }


  /* =========================================
   HOVER
========================================= */

  .process-step:hover .process-step-num {

      background: linear-gradient(135deg,
              #0b6bb5,
              #1a3987);

      border-color: transparent;

      transform: translateY(-6px) scale(1.06);

      box-shadow:
          0 12px 30px rgba(11, 107, 181, 0.25);
  }


  .process-step:hover .process-step-num::before {
      border-color: rgba(255, 255, 255, .35);

      transform: scale(.88);
  }


  .process-step:hover .process-step-num span {
      color: #ffffff;
      transform: scale(1.08);
  }


  .process-step:hover .process-step-content {

      transform: translateY(-7px);

      background: #ffffff;

      border-color: rgba(11, 107, 181, 0.18);

      box-shadow:
          0 18px 35px rgba(26, 57, 135, 0.10);
  }


  .process-step:hover .process-step-content::before {
      transform: scaleX(1);
  }


  .process-step:hover .process-step-title {
      color: #0b6bb5;

      transform: translateX(2px);
  }


  .process-step:hover .process-arrow {

      opacity: 1;

      color: #ffffff;

      background: #0b6bb5;

      transform: translate(2px, -2px) rotate(45deg);
  }


  /* =========================================
   ACTIVE FIRST STEP
========================================= */

  .process-step:nth-of-type(2) .process-step-num {

      background: linear-gradient(135deg,
              #0b6bb5,
              #1a3987);

      border-color: transparent;

      box-shadow:
          0 10px 25px rgba(11, 107, 181, 0.18);
  }

  .process-step:nth-of-type(2) .process-step-num span {
      color: #ffffff;
  }


  /* =========================================
   SHINE EFFECT
========================================= */

  .process-step-content {
      overflow: hidden;
  }

  .process-step-content::after {
      content: "";

      position: absolute;

      top: 0;
      left: -120%;

      width: 70%;
      height: 100%;

      background: linear-gradient(90deg,
              transparent,
              rgba(255, 255, 255, .55),
              transparent);

      transform: skewX(-20deg);

      transition: left .7s ease;

      pointer-events: none;
  }

  .process-step:hover .process-step-content::after {
      left: 140%;
  }


  /* =========================================
   RESPONSIVE
========================================= */

  @media (max-width: 991px) {

      .process-timeline {
          grid-template-columns: repeat(2, 1fr);

          gap: 25px;
      }

      .process-track-line {
          display: none;
      }

      .process-step-content {
          min-height: 190px;
      }
  }


  @media (max-width: 575px) {

      .process-section {
          padding-top: 55px;
          padding-bottom: 60px;
      }

      .process-heading {
          margin-bottom: 40px;
      }

      .process-main-title {
          font-size: 29px;
      }

      .process-intro {
          font-size: 13px;
      }

      .process-timeline {
          display: block;

          margin-left: 8px;
      }

      /* vertical timeline */

      .process-timeline::before {
          content: "";

          position: absolute;

          left: 33px;
          top: 0;
          bottom: 0;

          width: 2px;

          background: #dbe4ee;
      }

      .process-step {
          display: flex;

          text-align: left;

          align-items: flex-start;

          gap: 16px;

          padding: 0;

          margin-bottom: 22px;
      }

      .process-step-num {
          flex: 0 0 66px;

          width: 66px;
          height: 66px;

          margin: 0;

          z-index: 3;
      }

      .process-step-content {
          flex: 1;

          min-height: auto;

          padding: 18px 17px 22px;
      }

      .process-step-title {
          font-size: 18px;
      }

      .process-step-desc {
          font-size: 12px;
          padding-right: 5px;
      }

      .process-mini-label {
          font-size: 8px;
      }

      .process-arrow {
          display: none;
      }

      .process-track-line {
          display: none;
      }
  }

  @media (prefers-reduced-motion: reduce) {

      .process-progress-line,
      .process-step {
          animation: none !important;
      }

      .process-step {
          opacity: 1;
          transform: none;
      }

      .process-step-content,
      .process-step-num,
      .process-arrow,
      .process-step-title {
          transition: none;
      }
  }


  