/* =========================================================
   CODEVIA — PREMIUM ENTERPRISE SERVICES
========================================================= */

.cv-services-premium {
  position: relative;
  overflow: hidden;
  background: #f7f9fd;
  color: #071426;
}


/* =========================================================
   COMMON
========================================================= */

.cv-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 9px;

  margin-bottom: 22px;

  color: #1769ff;

  font-family: "DM Sans", sans-serif;
  font-size: 1rem;
  font-weight: 800;
  letter-spacing: 2.5px;
  text-transform: uppercase;
}

.cv-eyebrow i {
  width: 7px;
  height: 7px;

  border-radius: 50%;

  background:
    linear-gradient(
      135deg,
      #06b6d4,
      #643aed
    );

  box-shadow:
    0 0 15px rgba(100,58,237,.45);
}


/* =========================================================
   TOP INTRO
========================================================= */

.cv-services-top {
  display: grid;

  grid-template-columns:
    1.15fr
    .85fr;

  gap: 100px;

  align-items: end;

  padding:
    120px 0 80px;
}


.cv-services-top h2 {
  max-width: 850px;

  margin: 0;

  font-family: "Manrope", sans-serif;

  font-size:
    clamp(3.2rem, 6vw, 6.5rem);

  font-weight: 800;

  line-height: .98;

  letter-spacing: -5px;
}


.cv-services-top h2 span {
  display: block;

  background:
    linear-gradient(
      100deg,
      #1769ff,
      #643aed,
      #e83e8c,
      #ff7a18
    );

  background-size: 220% auto;

  -webkit-background-clip: text;
  background-clip: text;

  color: transparent;

  animation:
    cvGradientMove
    7s
    ease
    infinite;
}


@keyframes cvGradientMove {

  0% {
    background-position: 0% center;
  }

  50% {
    background-position: 100% center;
  }

  100% {
    background-position: 0% center;
  }

}


.cv-services-top-copy {
  max-width: 440px;
}


.cv-services-top-copy p {
  margin: 0 0 28px;

  color: #5b6b80;

  font-family: "DM Sans", sans-serif;

  font-size: .98rem;

  line-height: 1.8;
}


.cv-outline-link {
  display: inline-flex;

  align-items: center;

  gap: 10px;

  color: #071426;

  font-family: "DM Sans", sans-serif;

  font-size: .98rem;

  font-weight: 800;

  border-bottom:
    1px solid #071426;

  padding-bottom: 7px;

  transition:
    gap .3s ease,
    color .3s ease;
}


.cv-outline-link:hover {
  gap: 17px;
  color: #1769ff;
}


/* =========================================================
   SERVICE GRID
========================================================= */

.cv-service-grid {

  display: grid;

  grid-template-columns:
    repeat(2, minmax(0, 1fr));

  gap: 28px;

  padding-bottom: 130px;
}


.cv-service-card {

  position: relative;

  display: flex;

  flex-direction: column;

  overflow: hidden;

  min-height: 760px;

  border-radius: 28px;

  background: #ffffff;

  border:
    1px solid #e5eaf2;

  box-shadow:
    0 15px 50px
    rgba(20,40,80,.06);

  transition:
    transform .5s cubic-bezier(.2,.8,.2,1),
    box-shadow .5s ease;
}


.cv-service-card:hover {

  transform:
    translateY(-10px);

  box-shadow:
    0 35px 90px
    rgba(20,40,80,.14);
}


/* =========================================================
   SERVICE VISUAL
========================================================= */

.cv-service-visual {

  position: relative;

  height: 400px;

  overflow: hidden;

  display: flex;

  align-items: center;

  justify-content: center;

  isolation: isolate;
}


.cv-service-visual::after {

  content: "";

  position: absolute;

  inset: 0;

  background:
    linear-gradient(
      180deg,
      transparent 55%,
      rgba(3,15,35,.18)
    );

  z-index: 3;

  pointer-events: none;
}


/* COLORS */

.cv-blue {
  background:
    linear-gradient(
      135deg,
      #dff7ff,
      #bcd8ff 50%,
      #d7c9ff
    );
}


.cv-purple {
  background:
    linear-gradient(
      135deg,
      #ddd7ff,
      #b7b5ff,
      #e9c9ff
    );
}


.cv-cyan {
  background:
    linear-gradient(
      135deg,
      #c8fbff,
      #a9e8ff,
      #d5e4ff
    );
}


.cv-orange {
  background:
    linear-gradient(
      135deg,
      #ffe2cc,
      #ffc9df,
      #d7c7ff
    );
}


.cv-pink {
  background:
    linear-gradient(
      135deg,
      #ffd8eb,
      #e1c9ff,
      #bde7ff
    );
}


.cv-green {
  background:
    linear-gradient(
      135deg,
      #d7fff0,
      #bce8ff,
      #d7d4ff
    );
}


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

.cv-service-visual > img {

  position: relative;

  z-index: 2;

  width: 68%;
  height: 75%;

  object-fit: cover;

  border-radius: 22px;

  box-shadow:
    0 30px 60px
    rgba(20,45,90,.20);

  transform:
    rotate(-3deg);

  transition:
    transform .7s cubic-bezier(.2,.8,.2,1);
}


.cv-service-card:hover
.cv-service-visual > img {

  transform:
    rotate(0deg)
    scale(1.05)
    translateY(-8px);
}


/* =========================================================
   COLORFUL ORBS
========================================================= */

.cv-service-orb {

  position: absolute;

  border-radius: 50%;

  filter: blur(3px);

  z-index: 1;

  animation:
    cvOrbFloat
    7s
    ease-in-out
    infinite;
}


.orb-a {

  width: 190px;
  height: 190px;

  left: -45px;
  top: -35px;

  background:
    linear-gradient(
      135deg,
      #06b6d4,
      #1769ff
    );

  opacity: .35;
}


.orb-b {

  width: 230px;
  height: 230px;

  right: -70px;
  bottom: -90px;

  background:
    linear-gradient(
      135deg,
      #643aed,
      #e83e8c
    );

  opacity: .28;

  animation-delay: -3s;
}


.orb-c {

  width: 260px;
  height: 260px;

  right: -100px;
  top: -80px;

  background:
    linear-gradient(
      135deg,
      #643aed,
      #ff5da2
    );

  opacity: .28;
}


@keyframes cvOrbFloat {

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

  50% {
    transform: translate(18px,15px);
  }

}


/* =========================================================
   FLOATING UI
========================================================= */

.cv-floating-ui {

  position: absolute;

  z-index: 5;

  top: 28px;
  left: 28px;

  display: flex;

  align-items: center;

  gap: 9px;

  padding:
    9px 13px;

  border-radius: 100px;

  background:
    rgba(255,255,255,.78);

  border:
    1px solid
    rgba(255,255,255,.8);

  backdrop-filter:
    blur(15px);

  box-shadow:
    0 12px 30px
    rgba(20,40,80,.12);

  font-family:
    "DM Sans",
    sans-serif;
}


.cv-floating-ui span {

  width: 24px;
  height: 24px;

  display: flex;

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

  border-radius: 50%;

  color: #fff;

  background:
    linear-gradient(
      135deg,
      #1769ff,
      #643aed
    );

  font-size: 9px;
  font-weight: 800;
}


.cv-floating-ui strong {

  color: #15263f;

  font-size: 9px;

  letter-spacing: 1.2px;
}


/* =========================================================
   GLASS CARD
========================================================= */

.cv-service-glass {

  position: absolute;

  z-index: 6;

  right: 25px;
  bottom: 25px;

  padding:
    14px 17px;

  border-radius: 14px;

  background:
    rgba(255,255,255,.82);

  backdrop-filter:
    blur(14px);

  box-shadow:
    0 15px 30px
    rgba(20,40,80,.12);
}


.cv-service-glass span {

  display: block;

  margin-bottom: 4px;

  color: #6b7890;

  font-size: 8px;

  font-weight: 800;

  letter-spacing: 1.5px;
}


.cv-service-glass strong {

  color: #10223c;

  font-family: "Manrope", sans-serif;

  font-size: 13px;
}


/* =========================================================
   CODE WINDOW
========================================================= */

.cv-code-window {

  position: absolute;

  z-index: 4;

  width: 240px;

  padding: 20px;

  border-radius: 17px;

  background:
    rgba(10,22,45,.91);

  box-shadow:
    0 30px 70px
    rgba(20,30,80,.30);

  transform:
    rotate(-5deg);

  transition:
    transform .6s ease;
}


.cv-service-card:hover
.cv-code-window {

  transform:
    rotate(0deg)
    translateY(-8px);
}


.cv-code-window > span {

  display: inline-block;

  width: 6px;
  height: 6px;

  margin-right: 4px;

  border-radius: 50%;

  background: #42c8ff;
}


.cv-code-window code {

  display: block;

  margin-top: 17px;

  color: #a9c8ff;

  font-family: monospace;

  font-size: 11px;

  line-height: 1.8;
}


/* =========================================================
   DATA VISUAL
========================================================= */

.cv-data-bars {

  position: absolute;

  left: 50px;
  bottom: 50px;

  z-index: 4;

  display: flex;

  align-items: end;

  gap: 9px;

  height: 120px;
}


.cv-data-bars i {

  display: block;

  width: 13px;

  border-radius:
    7px 7px 0 0;

  background:
    linear-gradient(
      to top,
      #1769ff,
      #06b6d4
    );

  animation:
    cvBars
    2.8s
    ease-in-out
    infinite alternate;
}


.cv-data-bars i:nth-child(1) {
  height: 45%;
}

.cv-data-bars i:nth-child(2) {
  height: 75%;
  animation-delay: -.5s;
}

.cv-data-bars i:nth-child(3) {
  height: 58%;
  animation-delay: -.9s;
}

.cv-data-bars i:nth-child(4) {
  height: 92%;
  animation-delay: -1.2s;
}

.cv-data-bars i:nth-child(5) {
  height: 68%;
  animation-delay: -1.6s;
}


@keyframes cvBars {

  from {
    transform: scaleY(.75);
  }

  to {
    transform: scaleY(1);
  }

}


.cv-data-circle {

  position: absolute;

  z-index: 5;

  right: 55px;
  top: 55px;

  width: 130px;
  height: 130px;

  display: flex;

  flex-direction: column;

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

  border-radius: 50%;

  background:
    rgba(255,255,255,.72);

  border:
    8px solid
    rgba(255,255,255,.45);

  box-shadow:
    0 20px 40px
    rgba(20,70,100,.12);

  backdrop-filter: blur(10px);
}


.cv-data-circle strong {

  color: #075fc4;

  font-family: "Manrope", sans-serif;

  font-size: 25px;
}


.cv-data-circle span {

  color: #64758b;

  font-size: 7px;

  font-weight: 800;

  letter-spacing: 1px;
}


/* =========================================================
   PHONE
========================================================= */

.cv-phone-card {

  position: relative;

  z-index: 4;

  width: 210px;
  height: 330px;

  padding: 15px;

  border-radius: 30px;

  background:
    linear-gradient(
      145deg,
      #10152d,
      #4330aa
    );

  box-shadow:
    0 35px 65px
    rgba(60,30,100,.25);

  transform:
    rotate(6deg);

  transition:
    transform .6s ease;
}


.cv-service-card:hover
.cv-phone-card {

  transform:
    rotate(0deg)
    translateY(-8px);
}


.cv-phone-camera {

  width: 45px;
  height: 7px;

  margin:
    0 auto 45px;

  border-radius: 20px;

  background:
    rgba(255,255,255,.18);
}


.cv-phone-content {

  height: 220px;

  display: flex;

  flex-direction: column;

  justify-content: end;

  padding: 20px;

  border-radius: 20px;

  background:
    linear-gradient(
      145deg,
      rgba(6,182,212,.75),
      rgba(100,58,237,.85),
      rgba(232,62,140,.75)
    );
}


.cv-phone-content span {

  color: rgba(255,255,255,.7);

  font-size: 8px;

  font-weight: 800;

  letter-spacing: 2px;
}


.cv-phone-content strong {

  margin-top: 6px;

  color: #fff;

  font-family: "Manrope", sans-serif;

  font-size: 24px;
}


.cv-mini-badge {

  position: absolute;

  right: 55px;
  bottom: 50px;

  z-index: 6;

  padding:
    13px 18px;

  border-radius: 14px;

  background: #fff;

  box-shadow:
    0 15px 40px
    rgba(20,40,80,.18);

  color: #1769ff;

  font-family: "Manrope", sans-serif;

  font-size: 18px;

  font-weight: 800;
}


.cv-mini-badge small {

  display: block;

  color: #728096;

  font-size: 7px;

  letter-spacing: 1px;
}


/* =========================================================
   TEAM LABEL
========================================================= */

.cv-team-label {

  position: absolute;

  z-index: 5;

  left: 35px;
  bottom: 35px;

  padding: 15px 18px;

  border-radius: 14px;

  background:
    rgba(255,255,255,.86);

  backdrop-filter:
    blur(12px);

  box-shadow:
    0 15px 35px
    rgba(30,40,80,.15);
}


.cv-team-label strong {

  display: block;

  color: #152642;

  font-size: 9px;

  letter-spacing: 1.5px;
}


.cv-team-label span {

  display: block;

  margin-top: 5px;

  color: #6d7c91;

  font-size: 9px;
}


/* =========================================================
   SECURITY
========================================================= */

.cv-security-ring {

  position: absolute;

  width: 250px;
  height: 250px;

  border:
    1px solid
    rgba(16,185,129,.25);

  border-radius: 50%;

  box-shadow:
    0 0 0 35px rgba(16,185,129,.05),
    0 0 0 70px rgba(16,185,129,.035);

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


@keyframes cvSecurityPulse {

  0%,
  100% {
    transform: scale(.92);
  }

  50% {
    transform: scale(1.04);
  }

}


.cv-security-lock {

  position: relative;

  z-index: 3;

  width: 110px;
  height: 110px;

  display: flex;

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

  border-radius: 50%;

  background:
    linear-gradient(
      135deg,
      #10b981,
      #1769ff
    );

  color: #fff;

  font-size: 40px;

  box-shadow:
    0 25px 50px
    rgba(16,185,129,.25);
}


.cv-security-text {

  position: absolute;

  right: 45px;
  top: 45px;

  display: flex;

  flex-direction: column;

  gap: 5px;

  color: #086b56;

  font-family: "DM Sans", sans-serif;
}


.cv-security-text strong {
  font-size: 10px;
  letter-spacing: 2px;
}


.cv-security-text span {
  font-size: 8px;
  color: #698073;
}


/* =========================================================
   SERVICE CONTENT
========================================================= */

.cv-service-content {

  flex: 1;

  display: flex;

  flex-direction: column;

  padding:
    38px 40px 42px;
}


.cv-service-index {

  color: #1769ff;

  font-family: "DM Sans", sans-serif;

  font-size: 9px;

  font-weight: 800;

  letter-spacing: 2px;
}


.cv-service-content h3 {

  margin:
    16px 0 18px;

  color: #081426;

  font-family: "Manrope", sans-serif;

  font-size:
    clamp(2rem, 3vw, 3.3rem);

  font-weight: 800;

  line-height: .98;

  letter-spacing: -2.5px;
}


.cv-service-content h3 em {

  font-style: normal;

  background:
    linear-gradient(
      100deg,
      #1769ff,
      #643aed,
      #e83e8c
    );

  -webkit-background-clip: text;
  background-clip: text;

  color: transparent;
}


.cv-service-content p {

  max-width: 510px;

  margin: 0 0 22px;

  color: #607086;

  font-family: "DM Sans", sans-serif;

  font-size: .9rem;

  line-height: 1.8;
}


/* =========================================================
   TAGS
========================================================= */

.cv-service-tags {

  display: flex;

  flex-wrap: wrap;

  gap: 7px;

  margin-bottom: 25px;
}


.cv-service-tags span {

  padding:
    7px 10px;

  border-radius: 100px;

  color: #43536a;

  background: #f2f5f9;

  border:
    1px solid #e3e8ef;

  font-family: "DM Sans", sans-serif;

  font-size: 8px;

  font-weight: 700;
}


.cv-service-arrow {

  display: inline-flex;

  align-items: center;

  gap: 10px;

  margin-top: auto;

  width: max-content;

  color: #081426;

  font-family: "DM Sans", sans-serif;

  font-size: .76rem;

  font-weight: 800;

  transition:
    gap .3s ease,
    color .3s ease;
}


.cv-service-arrow span {
  font-size: 15px;
}


.cv-service-card:hover
.cv-service-arrow {

  gap: 17px;

  color: #1769ff;
}


/* =========================================================
   TRUST STRIP
========================================================= */

.cv-trust-strip {

  padding:
    80px 0;

  background:
    #071426;

  color: #fff;
}


.cv-trust-grid {

  display: grid;

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

  border-top:
    1px solid rgba(255,255,255,.12);

  border-bottom:
    1px solid rgba(255,255,255,.12);
}


.cv-trust-grid > div {

  padding:
    35px 25px;

  border-right:
    1px solid rgba(255,255,255,.12);
}


.cv-trust-grid > div:last-child {
  border-right: 0;
}


.cv-trust-grid strong {

  display: block;

  font-family: "Manrope", sans-serif;

  font-size:
    clamp(2.7rem, 5vw, 4.7rem);

  font-weight: 800;

  letter-spacing: -3px;
}


.cv-trust-grid strong span {
  color: #42c8ff;
}


.cv-trust-grid p {

  margin: 5px 0 0;

  color: #8fa0b7;

  font-family: "DM Sans", sans-serif;

  font-size: .75rem;
}


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

.cv-technology {

  padding:
    60px 0;

  background: #fff;
}


.cv-tech-heading {

  max-width: 750px;

  margin-bottom: 70px;
}


.cv-tech-heading h2 {

  margin: 0;

  font-family: "Manrope", sans-serif;

  font-size:
    clamp(3rem, 5vw, 5.5rem);

  font-weight: 800;

  line-height: .98;

  letter-spacing: -4px;
}


.cv-tech-heading h2 span {

  background:
    linear-gradient(
      100deg,
      #1769ff,
      #643aed,
      #e83e8c
    );

  -webkit-background-clip: text;
  background-clip: text;

  color: transparent;
}


.cv-tech-heading p {

  max-width: 500px;

  margin-top: 25px;

  color: #68788c;

  font-family: "DM Sans", sans-serif;

  line-height: 1.8;
}


.cv-tech-grid {

  display: grid;

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

  border-top:
    1px solid #dfe6ef;

  border-left:
    1px solid #dfe6ef;
}


.cv-tech-item {

  min-height: 150px;

  padding: 30px;

  border-right:
    1px solid #dfe6ef;

  border-bottom:
    1px solid #dfe6ef;

  transition:
    background .3s ease,
    transform .3s ease;
}


.cv-tech-item:hover {

  background:
    linear-gradient(
      135deg,
      #f0f7ff,
      #f5f0ff
    );

  transform:
    translateY(-4px);
}


.cv-tech-item strong {

  display: block;

  color: #0b1d35;

  font-family: "Manrope", sans-serif;

  font-size: 1.2rem;
}


.cv-tech-item span {

  display: block;

  margin-top: 9px;

  color: #8995a5;

  font-family: "DM Sans", sans-serif;

  font-size: .7rem;
}


/* =========================================================
   PROCESS
========================================================= */

.cv-process {

  padding:
    40px 0;

  background:
    #f4f7fb;
}


.cv-process-header {

  max-width: 750px;

  margin-bottom: 80px;
}


.cv-process-header h2 {

  margin: 0;

  font-family: "Manrope", sans-serif;

  font-size:
    clamp(3rem, 5vw, 5.5rem);

  font-weight: 800;

  line-height: .98;

  letter-spacing: -4px;
}


.cv-process-header h2 span {

  display: block;

  color: #643aed;
}


.cv-process-grid {

  display: grid;

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

  gap: 0;

  border-top:
    1px solid #d6dfe9;
}


.cv-process-step {

  min-height: 250px;

  padding:
    30px 30px 20px 0;

  border-right:
    1px solid #d6dfe9;

}


.cv-process-step:not(:first-child) {
  padding-left: 30px;
}


.cv-process-step:last-child {
  border-right: 0;
}


.cv-process-step > span {

  display: block;

  margin-bottom: 45px;

  color: #1769ff;

  font-family: "DM Sans", sans-serif;

  font-size: .7rem;

  font-weight: 800;

  letter-spacing: 1px;
}


.cv-process-step h3 {

  margin: 0 0 13px;

  color: #071426;

  font-family: "Manrope", sans-serif;

  font-size: 1.45rem;

  font-weight: 800;
}


.cv-process-step p {

  margin: 0;

  color: #6b7a8d;

  font-family: "DM Sans", sans-serif;

  font-size: .82rem;

  line-height: 1.7;
}


/* =========================================================
   CTA
========================================================= */

.cv-services-cta {

  position: relative;

  overflow: hidden;

  padding:
    60px 0;

  background:
    linear-gradient(
      135deg,
      #071426,
      #101c43 55%,
      #24124d
    );

  color: #fff;
}


.cv-cta-glow {

  position: absolute;

  width: 500px;
  height: 500px;

  right: -180px;
  top: -180px;

  border-radius: 50%;

  background:
    radial-gradient(
      circle,
      rgba(66,200,255,.35),
      rgba(100,58,237,.15),
      transparent 70%
    );

  filter: blur(10px);

  animation:
    cvCtaGlow
    7s
    ease-in-out
    infinite alternate;
}


@keyframes cvCtaGlow {

  from {
    transform: scale(.85);
  }

  to {
    transform: scale(1.15);
  }

}


.cv-services-cta .container-custom {

  position: relative;

  z-index: 2;
}


.cv-services-cta h2 {

  max-width: 950px;

  margin: 0;

  font-family: "Manrope", sans-serif;

  font-size:
    clamp(3.5rem, 7vw, 7rem);

  font-weight: 800;

  line-height: .95;

  letter-spacing: -5px;
}


.cv-services-cta h2 span {

  display: block;

  background:
    linear-gradient(
      100deg,
      #42c8ff,
      #8c6cff,
      #ff5ba7
    );

  -webkit-background-clip: text;
  background-clip: text;

  color: transparent;
}


.cv-services-cta p {

  max-width: 600px;

  margin:
    30px 0 35px;

  color: #9aaac0;

  font-family: "DM Sans", sans-serif;

  font-size: .95rem;

  line-height: 1.8;
}


.cv-cta-button {

  display: inline-flex;

  align-items: center;

  gap: 15px;

  padding:
    16px 23px;

  border-radius: 100px;

  color: #071426;

  background: #fff;

  font-family: "DM Sans", sans-serif;

  font-size: .8rem;

  font-weight: 800;

  transition:
    transform .3s ease,
    box-shadow .3s ease,
    gap .3s ease;
}


.cv-cta-button:hover {

  color: #071426;

  transform:
    translateY(-4px);

  gap: 21px;

  box-shadow:
    0 20px 50px
    rgba(0,0,0,.25);
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1000px) {

  .cv-services-top {

    grid-template-columns: 1fr;

    gap: 35px;

  }

  .cv-service-grid {

    grid-template-columns: 1fr;
  }

  .cv-trust-grid {

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

  .cv-trust-grid > div:nth-child(2) {
    border-right: 0;
  }

  .cv-tech-grid {

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

  .cv-process-grid {

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

  .cv-process-step:nth-child(2) {
    border-right: 0;
  }

}


@media (max-width: 650px) {

  .cv-services-top {

    padding:
      90px 0 50px;
  }

  .cv-services-top h2 {

    letter-spacing: -3px;
  }

  .cv-service-grid {

    gap: 18px;

    padding-bottom: 80px;
  }

  .cv-service-card {

    min-height: 0;

    border-radius: 22px;
  }

  .cv-service-visual {

    height: 330px;
  }

  .cv-service-content {

    padding:
      30px 25px 32px;
  }

  .cv-service-content h3 {

    font-size: 2.5rem;

    letter-spacing: -2px;
  }

  .cv-trust-grid {

    grid-template-columns: 1fr 1fr;
  }

  .cv-trust-grid > div {

    padding:
      25px 15px;
  }

  .cv-trust-grid strong {

    font-size: 2.5rem;
  }

  .cv-tech-grid {

    grid-template-columns: 1fr 1fr;
  }

  .cv-tech-item {

    min-height: 120px;

    padding: 22px;
  }

  .cv-process-grid {

    grid-template-columns: 1fr;
  }

  .cv-process-step,
  .cv-process-step:not(:first-child) {

    min-height: auto;

    padding:
      30px 0;

    border-right: 0;

    border-bottom:
      1px solid #d6dfe9;
  }

  .cv-process-step > span {

    margin-bottom: 25px;
  }

  .cv-services-cta {

    padding:
      100px 0;
  }

  .cv-services-cta h2 {

    letter-spacing: -3px;
  }

}
