/* =PROCESS SECTION */

.process {
  position: relative;

  background: var(--white);

  overflow: hidden;
}

/* PROCESS TIMELINE */

.process-timeline {
  position: relative;

  display: grid;
  grid-template-columns: repeat(3, 1fr);

  gap: 32px;
}

/* PROCESS LINE */

.process-timeline::before {
  content: "";

  position: absolute;

  top: 44px;
  left: 0;

  width: 100%;
  height: 1px;

  background: var(--border);
}

/* PROCESS STEP */

.process-step {
  position: relative;

  padding: 2.6rem;

  border-radius: var(--radius-xl);

  background: var(--bg);

  border: 1px solid var(--border);

  transition: var(--transition);

  z-index: 1;
}

/* PROCESS STEP HOVER */

.process-step:hover {
  transform: translateY(-10px);

  box-shadow: var(--shadow-md);
}

/* PROCESS NUMBER */

.process-number {
  width: 88px;
  height: 88px;

  display: flex;
  align-items: center;
  justify-content: center;

  margin-bottom: 32px;

  border-radius: var(--radius-lg);

  background: var(--primary);

  color: var(--white);

  font-family: "ClashDisplay", sans-serif;
  font-size: 2rem;
  font-weight: 700;

  box-shadow: var(--shadow-md);
}

/* PROCESS TITLE */

.process-step h3 {
  margin-bottom: 18px;

  font-size: 2rem;

  color: var(--text);
}

/* PROCESS DESCRIPTION */

.process-step p {
  line-height: 1.8;
}

/* PROCESS CONNECTOR */

.process-step::after {
  content: "";

  position: absolute;

  top: 44px;
  right: -16px;

  width: 32px;
  height: 2px;

  background: var(--primary);
}

.process-step:last-child::after {
  display: none;
}