/* FV handwritten lettering override — rendered from the supplied reference image. */
.fv-myfans .fv-headline {
  top: 304px;
  left: 7px;
  right: 7px;
  height: 220px;
  transform: none !important;
  transform-origin: center;
}

/* Keep semantic text in the DOM, but render the reference lettering visually. */
.fv-myfans .fv-headline > .fv-handwritten-lead,
.fv-myfans .fv-headline > h1 {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.fv-myfans .fv-headline::before {
  content: '';
  position: absolute;
  inset: 0;
  background: url('/images/fv-lettering-traced.svg?v=4') center center / 89% auto no-repeat;
  image-rendering: auto;
  pointer-events: none;
}

/* Bring the band back close to the previous thickness and fit the lettering inside it. */
.fv.fv-myfans::after {
  top: 316px;
  left: -19%;
  width: 140%;
  height: 198px;
  background:
    radial-gradient(circle at 14% 58%, rgba(255,239,246,.72) 0 10%, rgba(255,239,246,0) 34%),
    radial-gradient(circle at 79% 35%, rgba(248,190,221,.34) 0 12%, rgba(248,190,221,0) 37%),
    linear-gradient(100deg,
      #f9cede 0%,
      #f7bdd2 22%,
      #ee8fb2 52%,
      #ed94b9 70%,
      #efa8ce 100%
    );
}

.fv-refresh-ready .fv-headline {
  animation: fv-traced-lettering-in .72s cubic-bezier(.22,.72,.22,1) 1.06s both !important;
}

@keyframes fv-traced-lettering-in {
  from { opacity: 0; transform: translateY(10px) scale(.985); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

/* Phone-width refinement: do not shrink the creator; move the visual below the fixed header instead. */
@media (max-width: 480px) {
  .fv-myfans .fv-single-visual {
    top: 52px;
  }

  .fv-myfans .fv-single-visual img {
    width: 96%;
    height: 100%;
    margin-inline: auto;
    object-fit: contain;
    object-position: 50% 0%;
  }

  .fv-myfans .fv-headline {
    top: 306px;
    left: 5px;
    right: 5px;
    height: 210px;
  }

  .fv-myfans .fv-headline::before {
    background-size: 87% auto;
  }

  .fv.fv-myfans::after {
    top: 316px;
    height: 196px;
  }
}

@media (max-width: 374px) {
  .fv-myfans .fv-single-visual {
    top: 56px;
  }

  .fv-myfans .fv-single-visual img {
    width: 96%;
  }

  .fv-myfans .fv-headline {
    top: 307px;
    left: 3px;
    right: 3px;
    height: 202px;
  }

  .fv-myfans .fv-headline::before {
    background-size: 85% auto;
  }

  .fv.fv-myfans::after {
    top: 316px;
    height: 190px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .fv-refresh-ready .fv-headline {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
}
