.starq-fantasy {
  --fy-charcoal: oklch(0.226 0.004 106.7);
  --fy-charcoal-lift: oklch(0.26 0.007 95.3);
  --fy-gold: oklch(0.75 0.085 82.1);
  --fy-gold-deep: oklch(0.688 0.114 87.9);
  --fy-ivory: oklch(0.957 0.01 72.7);
  --fy-cream: oklch(0.978 0.005 67.8);
  --fy-sand: oklch(0.876 0.02 80.1);
  --fy-stone: oklch(0.594 0.032 65.4);
  --fy-stone-soft: oklch(0.715 0.029 67.3);
  --fy-brown: oklch(0.26 0.013 34.3);
  --fy-gray: oklch(0.483 0.016 67.4);
  --fy-ease: cubic-bezier(0.25, 0, 0.35, 1);
  --fy-spring: cubic-bezier(0.22, 1, 0.36, 1);
  font-family: var(--font-body, var(--font-sans, system-ui, sans-serif));
  -webkit-font-smoothing: antialiased;
}
.starq-fantasy .fy-caps {
  font-family: var(--font-display, serif);
  text-transform: uppercase;
  letter-spacing: 0.15em;
  font-weight: 400;
}
.starq-fantasy .fy-display {
  font-family: var(--font-display, serif);
  font-weight: 300;
  line-height: 1.18;
  letter-spacing: 0;
}
.starq-fantasy .fy-label {
  display: flex;
  align-items: center;
  gap: 1rem;
  font-family: var(--font-display, serif);
  font-size: 0.75rem;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: var(--fy-stone);
}
.starq-fantasy .fy-label::before,
.starq-fantasy[data-centered] .fy-label::after {
  content: "";
  width: 3rem;
  height: 1px;
  background: var(--fy-gold);
}
.starq-fantasy .fy-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  min-height: 2.75rem;
  padding: 1rem 2rem;
  background: var(--fy-gold);
  color: var(--fy-charcoal);
  font-family: var(--font-display, serif);
  font-size: 0.875rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  transition: background-color 0.3s var(--fy-ease);
}
.starq-fantasy .fy-btn:hover {
  background: var(--fy-cream);
}
.starq-fantasy .fy-arrow {
  display: inline-block;
  transition: transform 0.3s var(--fy-ease);
}
.starq-fantasy a:hover > .fy-arrow,
.starq-fantasy .fy-btn:hover .fy-arrow {
  transform: translateX(0.25rem);
}
.starq-fantasy .fy-underline {
  position: relative;
  display: inline-block;
}
.starq-fantasy .fy-underline::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -0.25rem;
  height: 1px;
  width: 0;
  background: currentColor;
  transition: width 0.5s var(--fy-ease);
}
.starq-fantasy a:hover .fy-underline::after,
.starq-fantasy .fy-underline:hover::after {
  width: 100%;
}
.starq-fantasy .fy-reveal {
  transition:
    opacity 0.8s var(--fy-ease),
    transform 0.8s var(--fy-ease);
}
@media (prefers-reduced-motion: no-preference) {
  .starq-fantasy .fy-reveal[data-reveal="wait"] {
    opacity: 0;
    transform: translateY(1.875rem);
  }
  .starq-fantasy li.fy-reveal:nth-child(2) {
    transition-delay: 0.08s;
  }
  .starq-fantasy li.fy-reveal:nth-child(3) {
    transition-delay: 0.16s;
  }
  .starq-fantasy li.fy-reveal:nth-child(n + 4) {
    transition-delay: 0.24s;
  }
}
.starq-fantasy .fy-star {
  position: absolute;
  pointer-events: none;
  user-select: none;
  color: var(--fy-gold);
  opacity: 0.05;
}
.starq-fantasy {
  --fy-h2: clamp(2.25rem, 1.2rem + 3.2cqi, 3.75rem);
}
