.how-we-operate__grid {
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-7);
}

.how-we-operate__connector {
  display: none;
}

.op-block {
  position: relative;
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-areas:
    "label num"
    "title title"
    "list  list";
  column-gap: var(--space-4);
  row-gap: var(--space-4);
  padding-top: var(--space-5);
  border-top: 1px solid var(--border-on-dark);
}

.op-block__num {
  grid-area: num;
  align-self: start;
  font-size: clamp(3rem, 4vw + 1.5rem, 4.5rem);
  font-weight: var(--weight-light);
  line-height: 0.9;
  letter-spacing: var(--tracking-tight);
  color: var(--color-accent);
  opacity: 0.85;
  font-variant-numeric: tabular-nums;
  transition:
    opacity var(--duration-base) var(--ease-out),
    transform var(--duration-base) var(--ease-out);
}

.op-block__label {
  grid-area: label;
  align-self: end;
  font-size: var(--text-xs);
  font-weight: var(--weight-bold);
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--color-accent);
  margin: 0;
}

.op-block__title {
  grid-area: title;
  font-size: clamp(1.375rem, 1.2vw + 1rem, 1.625rem);
  font-weight: var(--weight-bold);
  line-height: var(--lh-snug);
  letter-spacing: var(--tracking-tight);
  color: var(--text-on-dark);
  margin: 0;
  text-wrap: balance;
}

.op-block__list {
  grid-area: list;
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.op-block__list li {
  font-size: var(--text-base);
  line-height: var(--lh-normal);
  color: var(--text-on-dark-muted);
  padding-left: calc(6px + var(--space-3));
  position: relative;
}

.op-block__list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.7em;
  width: 6px;
  height: 1.5px;
  background: var(--color-accent);
}

@media (hover: hover) {
  .op-block:hover .op-block__num {
    opacity: 1;
    transform: translateY(-2px);
  }
}

/* Stagger reveal — entry animation */
[data-stagger-item] {
  opacity: 0;
  transform: translateY(16px);
  transition:
    opacity var(--duration-slow) var(--ease-out),
    transform var(--duration-slow) var(--ease-out);
}

[data-stagger-item].is-visible {
  opacity: 1;
  transform: translateY(0);
}

[data-stagger-item]:nth-child(2) { transition-delay: 0ms; }
[data-stagger-item]:nth-child(3) { transition-delay: 120ms; }
[data-stagger-item]:nth-child(4) { transition-delay: 240ms; }

@media (prefers-reduced-motion: reduce) {
  [data-stagger-item] {
    opacity: 1;
    transform: none;
    transition: none;
  }
  .op-block__num {
    transition: none;
  }
}

/* Tablet ≥ 768px */
@media (min-width: 768px) {
  .how-we-operate__grid {
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-6);
  }

  .op-block {
    padding-top: var(--space-6);
  }
}

/* Desktop ≥ 1024px — connector line between blocks */
@media (min-width: 1024px) {
  .how-we-operate__grid {
    gap: var(--space-7);
  }

  .how-we-operate__connector {
    display: block;
    position: absolute;
    top: 1px;
    left: 0;
    right: 0;
    height: 1px;
    background: var(--color-accent);
    opacity: 0.3;
    transform-origin: left center;
    transform: scaleX(0);
    transition: transform 800ms var(--ease-out);
  }

  .how-we-operate__grid.is-visible .how-we-operate__connector {
    transform: scaleX(1);
  }
}
