body:has(.ez-hero) {
  background: #f5f7fb;
}

.ez-hero {
  --ez: #5c2d91;
  --ez-deep: #3d1864;
  --ez-soft: #f6f1fb;
  background:
    radial-gradient(36rem 18rem at 100% 0%, rgba(92, 45, 145, 0.18), transparent 62%),
    linear-gradient(180deg, #fff 0%, #f6f1fb 100%);
  border-bottom: 1px solid #eadff5;
}

.ez-kicker {
  color: #5c2d91;
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.ez-hero h1 { color: #3d1864; }

.ez-hero .btn-ez {
  background: #5c2d91;
  color: #fff;
}

.ez-visual { text-align: center; }

.ez-visual img {
  display: inline-block;
  max-height: 16rem;
  width: auto;
}

.ez-price {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 9.5rem;
  height: 9.5rem;
  margin-top: 1.5rem;
  border-radius: 50%;
  background: #fff;
  border: 0.55rem solid #5c2d91;
  color: #3d1864;
  line-height: 1.05;
}

.ez-price strong { font-size: 1.7rem; }

.ez-price span {
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.04em;
}

.ez-includes h2 { color: #3d1864; }

.ez-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  height: 100%;
  padding: 1.5rem 1.35rem 1.4rem;
  background: #fff;
  border-radius: 0.7rem;
  text-align: center;
}

.ez-photo {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  width: 100%;
  height: 8.5rem;
  margin-bottom: 0.85rem;
}

.ez-photo img {
  display: block;
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
}

.ez-ribbon {
  display: inline-block;
  margin-bottom: 0.85rem;
  padding: 0.2rem 0.6rem;
  border-radius: 999px;
  background: #f6f1fb;
  color: #5c2d91;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.06em;
}

.ez-sample {
  padding: 2rem 1.5rem 2.5rem;
  background: #fff;
  border-radius: 0.7rem;
  overflow: visible;
  text-align: center;
}

.ez-sample h2 { color: #3d1864; }

.ez-callout {
  position: relative;
  width: 500px;
  max-width: 100%;
  margin: 1.5rem auto 0;
}

.ez-callout img { display: block; width: 100%; height: auto; }

.ez-callout span {
  position: absolute;
  color: #3d1864;
  font-size: 1.05rem;
  font-weight: 600;
  line-height: 1.2;
  white-space: nowrap;
}

.ez-callout-foto { top: 110px; left: -97px; }
.ez-callout-logo { right: -150px; bottom: 105px; }
.ez-callout-barcode { left: -7px; bottom: 57px; }

.ez-cta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem 2rem;
  padding: 2rem 2.25rem;
  color: #fff;
  background: linear-gradient(120deg, #3d1864 0%, #5c2d91 100%);
  border-radius: 1.25rem;
}

.ez-cta h2,
.ez-cta .h3 { color: #fff; }

.ez-cta p { color: rgba(255, 255, 255, 0.88); }

.ez-cta .btn-light { color: #3d1864; font-weight: 600; }

@media (max-width: 767.98px) {
  .ez-callout span { position: static; display: inline-block; margin: 0.35rem 0.4rem 0 0; }
}
