/* Entrupy authentication partnership section (#entrupy).
   Shared by product.html and index.html — keep the markup in both pages in sync. */

#entrupy {
  padding: 100px 20px 80px;
  background: #000;
  text-align: center;
  position: relative;
  overflow: hidden;
  scroll-margin-top: 80px;
}

#entrupy::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: min(1400px, 140%);
  height: 900px;
  background: radial-gradient(ellipse at left top, rgba(0, 255, 215, 0.16), transparent 65%);
  pointer-events: none;
}

#entrupy .ent-inner {
  max-width: 1000px;
  margin: 0 auto;
  position: relative;
}

/* Hand-drawn flying money in the section's top-right corner */
#entrupy .ent-inner::after {
  content: "";
  position: absolute;
  top: -84px;
  right: -52px;
  width: 172px;
  height: 154px;
  background: url('images/entrupy/hand-drawn-money.png') no-repeat center/contain;
  transform: rotate(8deg);
  pointer-events: none;
}

#entrupy .ent-intro {
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  align-items: center;
  gap: 48px;
  margin-bottom: 56px;
  text-align: left;
}

#entrupy .ent-lockup {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 22px;
}

#entrupy .ent-lockup img {
  display: block;
  height: 52px;
  width: auto;
}

#entrupy .ent-lockup img[alt="Entrupy"] {
  height: 60px;
}

#entrupy .ent-lockup .ent-x {
  display: block;
  width: 34px;
  height: 34px;
  color: #ffffff;
}

#entrupy h3 {
  font-size: 3.5rem;
  font-weight: 700;
  color: #ffffff;
  margin: 0 0 26px;
  line-height: 1.1;
  text-shadow: 0 0 20px rgba(255, 255, 255, 0.13), 0 0 60px rgba(255, 255, 255, 0.07);
}

/* Hand-drawn underline behind "they're real." — the h3 is the stacking context, so the
   line (z-index -1) paints beneath every line of headline text, not just this span */
#entrupy h3 {
  position: relative;
  z-index: 0;
}

#entrupy .ent-underlined {
  position: relative;
  white-space: nowrap;
}

#entrupy .ent-underlined::before {
  content: "";
  position: absolute;
  left: -3%;
  right: -3%;
  bottom: -0.12em;
  aspect-ratio: 642 / 42;
  background: url('images/entrupy/hand-drawn-line.svg') no-repeat center/contain;
  z-index: -1;
  pointer-events: none;
}

#entrupy .ent-lede {
  font-size: var(--font-size-body);
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.9);
  margin: 0;
}

#entrupy .ent-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin-bottom: 40px;
}

#entrupy .ent-stat,
#entrupy .ent-step {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 14px;
}

#entrupy .ent-stat {
  padding: 22px 18px;
}

#entrupy .ent-stat strong {
  display: block;
  font-size: 2.25rem;
  font-weight: 700;
  color: #00FFD7;
  line-height: 1.1;
  margin-bottom: 6px;
}

#entrupy .ent-stat span {
  font-size: 0.9rem;
  color: rgba(255, 255, 255, 0.75);
}

#entrupy .ent-steps {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin-bottom: 10px;
  text-align: left;
}

#entrupy .ent-step {
  position: relative;
  padding: 24px 22px;
}

/* Hand-drawn arrow bridging the gap into steps 2 and 3, tip overlapping the card */
#entrupy .ent-step + .ent-step::before {
  content: "";
  position: absolute;
  top: 16px;
  left: -112px;
  width: 124px;
  height: 42px;
  background: url('images/entrupy/hand-drawn-arrow.png') no-repeat center/contain;
  z-index: 2;
  pointer-events: none;
}

#entrupy .ent-step + .ent-step + .ent-step::before {
  background-image: url('images/entrupy/hand-drawn-arrow-2-large.png');
}

#entrupy .ent-step h4 {
  font-size: 1.15rem;
  font-weight: 700;
  color: #ffffff;
  margin: 0 0 8px;
}

#entrupy .ent-step p {
  font-size: 0.95rem;
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.78);
  margin: 0;
}

#entrupy .ent-categories-label {
  font-size: 0.875rem;
  color: #D1D5DB;
  font-weight: 500;
  margin: 0 0 12px;
}

#entrupy .ent-categories {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  margin-bottom: 36px;
}

#entrupy .ent-categories span {
  padding: 8px 16px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.16);
  color: rgba(255, 255, 255, 0.9);
  font-size: 0.9rem;
}

#entrupy .ent-footnote {
  font-size: 0.8rem;
  color: rgba(255, 255, 255, 0.5);
  margin: 20px 0 0;
}

#entrupy .ent-footnote a {
  color: rgba(255, 255, 255, 0.7);
}

@media (max-width: 880px) {
  #entrupy {
    padding: 72px 16px 64px;
  }

  #entrupy h3 {
    font-size: 2.5rem;
  }

  #entrupy .ent-steps {
    grid-template-columns: 1fr;
  }

  /* Stats stay as one row of three — shrink padding and type to fit */
  #entrupy .ent-stats {
    gap: 8px;
  }

  #entrupy .ent-stat {
    padding: 14px 6px;
  }

  #entrupy .ent-stat strong {
    font-size: clamp(1.05rem, 5vw, 1.75rem);
    margin-bottom: 4px;
  }

  #entrupy .ent-stat span {
    display: block;
    font-size: 0.72rem;
    line-height: 1.3;
  }

  /* Stacked steps: arrows point down through the widened gap */
  #entrupy .ent-steps {
    gap: 36px;
  }

  #entrupy .ent-step + .ent-step::before {
    top: -31px;
    left: 50%;
    width: 80px;
    height: 26px;
    transform: translateX(-50%) rotate(90deg);
  }

  #entrupy .ent-intro {
    grid-template-columns: 1fr;
    gap: 32px;
    margin-bottom: 40px;
    text-align: center;
  }

  #entrupy .ent-lockup {
    order: -1;
    gap: 14px;
  }

  #entrupy .ent-lockup img {
    height: 36px;
  }

  #entrupy .ent-lockup img[alt="Entrupy"] {
    height: 42px;
  }

  #entrupy .ent-lockup .ent-x {
    width: 24px;
    height: 24px;
  }

  /* Anchored to the centre line, beside the centred logo stack and vertically
     centred on it (stack is ~130px tall, so its middle is ~65px down) */
  #entrupy .ent-inner::after {
    top: 65px;
    right: auto;
    left: calc(50% + 90px);
    width: min(132px, 23vw);
    transform: translateY(-50%) rotate(8deg);
    height: auto;
    aspect-ratio: 236 / 211;
  }
}
