/* A cleaner, more expressive reward system. */
.customer-focus .business-copy h2 {
  max-width: 650px;
}

.customer-focus .business-features {
  gap: 12px;
}

.customer-focus .business-features article {
  position: relative;
  grid-template-columns: 52px 1fr;
  gap: 15px;
  min-height: 94px;
  padding: 17px 19px;
  overflow: hidden;
  border: 1px solid transparent;
  border-radius: 20px;
  box-shadow: 0 12px 30px rgba(11, 31, 51, .07);
  transition: transform .28s cubic-bezier(.2,.8,.2,1), box-shadow .28s ease;
}

.customer-focus .business-features article::after {
  content: "";
  position: absolute;
  right: -28px;
  top: -34px;
  width: 100px;
  height: 100px;
  border: 18px solid currentColor;
  border-radius: 50%;
  opacity: .045;
}

.customer-focus .business-features article:hover {
  transform: translateY(-4px);
  box-shadow: 0 17px 38px rgba(11, 31, 51, .11);
}

.customer-focus .business-features .cashback-benefit {
  color: #067196;
  border-color: rgba(6, 113, 150, .15);
  background: linear-gradient(120deg, #f4fbfd, #e7f6fa);
}

.customer-focus .business-features .stamp-benefit {
  color: #c77900;
  border-color: rgba(255, 175, 46, .24);
  background: linear-gradient(120deg, #fffaf0, #fff1d6);
}

.customer-focus .business-features .deal-benefit {
  color: #6d4aa0;
  border-color: rgba(125, 143, 187, .25);
  background: linear-gradient(120deg, #faf8ff, #ece8f8);
}

.customer-focus .business-features h3 {
  color: #0b1f33;
  font-size: 1rem;
}

.customer-focus .business-features p {
  color: #637482;
  font-size: .82rem;
}

.customer-focus .business-features article > .reward-icon {
  position: relative;
  z-index: 1;
  display: grid;
  width: 48px;
  height: 48px;
  place-items: center;
  border-radius: 15px;
  color: #fff;
  font: 800 1.05rem Manrope, sans-serif;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.35), 0 8px 18px rgba(11,31,51,.12);
}

.cashback-icon {
  background: linear-gradient(145deg, #049bd1, #067196) !important;
}

.stamp-icon {
  background: linear-gradient(145deg, #ffc14d, #ff9826) !important;
}

.stamp-icon::before {
  content: "";
  width: 25px;
  height: 25px;
  border: 2px solid #fff;
  background: radial-gradient(circle, #fff 0 3px, transparent 3.5px);
  clip-path: polygon(0 10%,10% 10%,10% 0,25% 0,25% 10%,40% 10%,40% 0,55% 0,55% 10%,70% 10%,70% 0,85% 0,85% 10%,100% 10%,100% 25%,90% 25%,90% 40%,100% 40%,100% 55%,90% 55%,90% 70%,100% 70%,100% 85%,90% 85%,90% 100%,75% 100%,75% 90%,60% 90%,60% 100%,45% 100%,45% 90%,30% 90%,30% 100%,15% 100%,15% 90%,0 90%,0 75%,10% 75%,10% 60%,0 60%,0 45%,10% 45%,10% 30%,0 30%);
}

.deal-icon {
  background: linear-gradient(145deg, #8e78bb, #675194) !important;
}

.deal-icon::before {
  content: "";
  width: 24px;
  height: 19px;
  border: 2px solid #fff;
  border-radius: 4px;
  background: linear-gradient(90deg, transparent 42%, #fff 42% 58%, transparent 58%);
}

.deal-icon::after {
  content: "";
  position: absolute;
  top: 12px;
  width: 9px;
  height: 7px;
  border: 2px solid #fff;
  border-radius: 8px 8px 2px 2px;
  transform: rotate(-12deg);
}

.loyalty-discover {
  position: relative;
  background:
    radial-gradient(circle at 88% 12%, rgba(255, 175, 46, .20), transparent 25%),
    linear-gradient(135deg, #064f70, #067196 54%, #68538f);
}

.loyalty-discover-copy {
  position: relative;
  z-index: 1;
}

.reward-vibes {
  display: flex;
  gap: 10px;
  margin-bottom: 18px;
}

.reward-vibes > span {
  position: relative;
  display: grid;
  width: 48px;
  height: 48px;
  place-items: center;
  border: 1px solid rgba(255,255,255,.32);
  border-radius: 15px;
  color: #fff;
  background: rgba(255,255,255,.14);
  box-shadow: 0 10px 25px rgba(0,0,0,.12);
  backdrop-filter: blur(9px);
  -webkit-backdrop-filter: blur(9px);
}

.cashback-vibe {
  font: 800 1.08rem Manrope, sans-serif;
}

.stamp-vibe::before {
  content: "";
  width: 24px;
  height: 24px;
  border: 2px solid #fff;
  background: radial-gradient(circle, #ffcf74 0 4px, transparent 4.5px);
  clip-path: polygon(0 9%,12% 9%,12% 0,29% 0,29% 9%,46% 9%,46% 0,63% 0,63% 9%,80% 9%,80% 0,100% 0,100% 20%,91% 20%,91% 38%,100% 38%,100% 56%,91% 56%,91% 74%,100% 74%,100% 100%,80% 100%,80% 91%,63% 91%,63% 100%,46% 100%,46% 91%,29% 91%,29% 100%,12% 100%,12% 91%,0 91%);
}

.gift-vibe::before {
  content: "";
  width: 25px;
  height: 20px;
  border: 2px solid #fff;
  border-radius: 4px;
  background: linear-gradient(90deg, transparent 42%, #ffcf74 42% 58%, transparent 58%);
}

.gift-vibe::after {
  content: "";
  position: absolute;
  top: 9px;
  width: 10px;
  height: 8px;
  border: 2px solid #ffcf74;
  border-radius: 8px 8px 2px 2px;
}

main > .section:not(.promogen-section):not(.loyalty-section)::before {
  content: "";
  position: absolute;
  z-index: 2;
  top: 0;
  left: 50%;
  width: min(1160px, calc(100% - 40px));
  height: 1px;
  transform: translateX(-50%);
  background: linear-gradient(90deg, transparent, rgba(6,113,150,.18), rgba(255,175,46,.20), transparent);
}

/* Loyalty overview cards: compact, tactile and consistent with the reward system. */
.loyalty-section::before {
  left: -110px;
  top: 150px;
  width: 270px;
  height: 270px;
  border: 54px solid rgba(6, 113, 150, .045);
  border-radius: 50%;
  background: none;
  transform: rotate(18deg);
}

.loyalty-section .section-heading {
  margin-bottom: 45px;
}

.loyalty-section .section-heading h2 {
  max-width: 780px;
  margin-left: auto;
  margin-right: auto;
}

.loyalty-section .steps {
  gap: 18px;
}

.loyalty-section .step-card {
  min-height: 325px;
  padding: 30px;
  border: 1px solid transparent;
  border-radius: 26px;
  box-shadow: 0 16px 38px rgba(6, 71, 99, .09);
}

.loyalty-section .step-card:nth-child(1) {
  border-color: rgba(6, 113, 150, .13);
  background: linear-gradient(145deg, #fff, #eef9fc);
}

.loyalty-section .step-card:nth-child(2) {
  border-color: rgba(255, 175, 46, .20);
  background: linear-gradient(145deg, #fff, #fff6e4);
}

.loyalty-section .step-card:nth-child(3) {
  border-color: rgba(125, 143, 187, .22);
  background: linear-gradient(145deg, #fff, #f2effa);
}

.loyalty-section .step-card:hover {
  transform: translateY(-7px);
  box-shadow: 0 24px 48px rgba(6, 71, 99, .14);
}

.loyalty-section .step-icon {
  position: relative;
  width: 56px;
  height: 56px;
  margin-bottom: 28px;
  border-radius: 17px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.35), 0 10px 22px rgba(11,31,51,.13);
}

.loyalty-section .step-icon.blue {
  background: linear-gradient(145deg, #049bd1, #067196);
}

.loyalty-section .step-icon.orange {
  background: linear-gradient(145deg, #ffc14d, #ff9826);
}

.loyalty-section .step-icon.purple {
  background: linear-gradient(145deg, #8e78bb, #675194);
}

.loyalty-stamp-icon::before {
  content: "";
  width: 29px;
  height: 29px;
  border: 2px solid #fff;
  background: radial-gradient(circle, #fff 0 3.5px, transparent 4px);
  clip-path: polygon(0 10%,10% 10%,10% 0,25% 0,25% 10%,40% 10%,40% 0,55% 0,55% 10%,70% 10%,70% 0,85% 0,85% 10%,100% 10%,100% 25%,90% 25%,90% 40%,100% 40%,100% 55%,90% 55%,90% 70%,100% 70%,100% 85%,90% 85%,90% 100%,75% 100%,75% 90%,60% 90%,60% 100%,45% 100%,45% 90%,30% 90%,30% 100%,15% 100%,15% 90%,0 90%,0 75%,10% 75%,10% 60%,0 60%,0 45%,10% 45%,10% 30%,0 30%);
}

.loyalty-gift-icon::before {
  content: "";
  width: 28px;
  height: 22px;
  border: 2px solid #fff;
  border-radius: 4px;
  background: linear-gradient(90deg, transparent 42%, #fff 42% 58%, transparent 58%);
}

.loyalty-gift-icon::after {
  content: "";
  position: absolute;
  top: 13px;
  width: 11px;
  height: 8px;
  border: 2px solid #fff;
  border-radius: 9px 9px 2px 2px;
  transform: rotate(-10deg);
}

.loyalty-section .step-card p {
  min-height: 72px;
  color: #607483;
}

.loyalty-section .step-card a {
  display: inline-flex;
  align-items: center;
  padding: 7px 0;
}

.step-card,
.business-features article,
.contact-form,
.accordion,
.download-card {
  backface-visibility: hidden;
}

@media (max-width: 620px) {
  .customer-focus .business-features article {
    grid-template-columns: 46px 1fr;
    min-height: 88px;
    padding: 15px;
    border-radius: 18px;
  }
  .customer-focus .business-features article > .reward-icon {
    width: 43px;
    height: 43px;
    border-radius: 13px;
  }
  .reward-vibes {
    justify-content: center;
  }
  .reward-vibes > span {
    width: 44px;
    height: 44px;
    border-radius: 14px;
  }
  .loyalty-section::before { display: none; }
  .loyalty-section .step-card { min-height: 0; padding: 25px; }
  .loyalty-section .step-card p { min-height: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .customer-focus .business-features article:hover { transform: none; }
}
