.site-ephemera-anchor {
  position: relative;
}

.site-ephemera {
  --gutter: clamp(0px, calc((100vw - 1160px) / 2), 360px);
  --oval-center: #e4b3be70;
  --oval-edge: #ecd1d34d;
  position: absolute;
  z-index: 2;
  inset-block-start: var(--ephemera-top, 42px);
  inset-inline-start: max(calc(50% - 50vw + 12px), calc(50% - 924px));
  display: grid;
  place-items: center;
  width: max(0px, calc(var(--gutter) - 24px));
  pointer-events: none;
}

.site-ephemera[data-side="right"] {
  inset-inline-start: auto;
  inset-inline-end: max(calc(50% - 50vw + 12px), calc(50% - 924px));
  --oval-center: #e6c8a367;
  --oval-edge: #eddbc350;
}

.site-ephemera::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 43%;
  border-radius: 50%;
  background: radial-gradient(ellipse, var(--oval-center), var(--oval-edge) 64%, transparent 92%);
}

.site-ephemera img {
  position: relative;
  display: block;
  width: 92%;
  height: auto;
  opacity: 0.42;
}

.gallery-ephemera .gallery-ephemera-halo {
  display: block;
  height: clamp(72px, 8vw, 136px);
  margin-top: var(--halo-offset, 130px);
  border-radius: 50%;
  background: radial-gradient(ellipse, #e4b3be75, #ecd1d350 64%, transparent 92%);
  opacity: 1;
}

.gallery-ephemera .gallery-ephemera-halo.gallery-ephemera-ferns {
  --halo-offset: 115px;
  background: radial-gradient(ellipse, #d8d9b77a, #e9e4ca58 64%, transparent 92%);
}

.gallery-ephemera-left .gallery-ephemera-halo.gallery-ephemera-ferns {
  margin-bottom: 98px;
}

.gallery-ephemera .gallery-ephemera-halo.gallery-ephemera-bust {
  --halo-offset: 90px;
  background: radial-gradient(ellipse, #e6c8a375, #eddbc357 64%, transparent 92%);
}

.pricing-ephemera :is(.service-item, .feature-tile) {
  position: relative;
  isolation: isolate;
  background: transparent;
  border: 0;
  padding: 30px clamp(24px, 3vw, 44px);
}

.pricing-ephemera :is(.service-item, .feature-tile)::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 4% 0;
  border-radius: 50%;
  background: radial-gradient(ellipse, #e8aebc68, #efd1d54a 68%, #efd1d50a 90%);
  pointer-events: none;
}

.pricing-ephemera :is(.service-item, .feature-tile):nth-child(even)::before {
  background: radial-gradient(ellipse, #efcc9c68, #f3dbb645 68%, #f3dbb60a 90%);
}

.pricing-ephemera .service-item[id]:target {
  outline: none;
}

.pricing-ephemera .service-item[id]:target::before {
  box-shadow: inset 0 0 0 1px #b7738c65;
}

.cream-site.pricing-ephemera a.primary.service-contact {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 7px 14px !important;
  border: 1px solid #dab6c2 !important;
  border-radius: 6px !important;
  background: #f7e9ee !important;
  color: #71364c !important;
  text-decoration: none;
  font: 650 0.85rem/1.25 system-ui, sans-serif !important;
  letter-spacing: normal;
}

.cream-site.pricing-ephemera a.primary.service-contact:is(:hover, :focus-visible) {
  background: #f1dbe3 !important;
  border-color: #b7738c !important;
}

@media (max-width: 1320px) {
  .site-ephemera {
    display: none;
  }
}

.pricing-ephemera .kindle-cover-offer {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
  gap: clamp(20px, 6vw, 72px);
  align-items: center;
  padding-block: 44px;
}

.pricing-ephemera .kindle-cover-copy h2 {
  margin-top: 0;
}

.pricing-ephemera .kindle-cover-price {
  display: grid;
  place-items: center;
  min-height: 106px;
  margin: 0;
  padding: 16px 24px;
  border-radius: 50%;
  background: radial-gradient(ellipse, #e8aebc80, #efd1d55c 68%, #efd1d510 90%);
  color: var(--cream-rose) !important;
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(1.65rem, 3.2vw, 3.1rem);
  font-weight: 700;
  line-height: 1.15;
  text-align: center;
}

@media (max-width: 680px) {
  .pricing-ephemera .kindle-cover-offer {
    grid-template-columns: minmax(0, 1fr);
  }

  .pricing-ephemera .kindle-cover-price {
    width: min(100%, 380px);
    justify-self: start;
  }
}

@media (min-width: 1321px) {
  .site-ephemera-anchor.wrap,
  .site-ephemera-anchor:is(.choose, .hero) > .wrap {
    max-width: 1160px;
    margin-inline: auto;
  }
}
