.thanks-hero {
  padding-block: clamp(7rem, 14vw, 11rem);
  min-height: 62vh;
  display: flex;
  align-items: center;
}

.thanks-check {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 84px;
  height: 84px;
  border-radius: 999px;
  background: var(--accent);
  color: #fff;
  font-size: 2.4rem;
  margin-bottom: 1.6rem;
  animation: popIn 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) both;
}

@keyframes popIn {
  from { transform: scale(0.5); opacity: 0; }
  to { transform: scale(1); opacity: 1; }
}

.thanks-ref {
  display: inline-flex;
  flex-direction: column;
  gap: 0.2rem;
  padding: 1rem 2rem;
}

.thanks-ref strong {
  font-family: var(--font-display);
  font-size: 1.4rem;
  letter-spacing: 0.06em;
  color: var(--accent-dark);
}

.section-alt { background: var(--paper-soft); }

.step-card {
  position: relative;
  overflow: hidden;
}

.step-num {
  position: absolute;
  top: 1rem;
  right: 1.2rem;
  font-family: var(--font-display);
  font-size: 2.6rem;
  font-weight: 600;
  color: var(--accent-soft);
  line-height: 1;
}

.step-card h3 { font-size: 1.15rem; margin: 0.9rem 0 0.5rem; }
.step-card p { font-size: 0.9rem; margin: 0; }

.while-grid {
  display: grid;
  gap: 2.5rem;
  align-items: center;
}

.while-side {
  display: grid;
  gap: 1rem;
}

.card-mini {
  display: flex;
  gap: 1.1rem;
  align-items: center;
  padding: 1.2rem 1.4rem;
}

.card-mini h4 { margin: 0; font-size: 1.05rem; }
.card-mini p { margin: 0.15rem 0 0.35rem; }

.btn-lg {
  padding: 1.1rem 2.4rem;
  font-size: 1.05rem;
}

@media (min-width: 900px) {
  .while-grid { grid-template-columns: 1.1fr 0.9fr; }
}
