@property --look-x {
  syntax: "<angle>";
  inherits: false;
  initial-value: 0deg;
}

@property --look-y {
  syntax: "<angle>";
  inherits: false;
  initial-value: 0deg;
}

@property --wash-a {
  syntax: "<color>";
  inherits: true;
  initial-value: #eef1f4;
}

@property --wash-b {
  syntax: "<color>";
  inherits: true;
  initial-value: #eef1f4;
}

@property --wash-0-a {
  syntax: "<color>";
  inherits: true;
  initial-value: #eef1f4;
}

@property --wash-0-b {
  syntax: "<color>";
  inherits: true;
  initial-value: #eef1f4;
}

@property --wash-1-a {
  syntax: "<color>";
  inherits: true;
  initial-value: #eef1f4;
}

@property --wash-1-b {
  syntax: "<color>";
  inherits: true;
  initial-value: #eef1f4;
}

@property --wash-2-a {
  syntax: "<color>";
  inherits: true;
  initial-value: #eef1f4;
}

@property --wash-2-b {
  syntax: "<color>";
  inherits: true;
  initial-value: #eef1f4;
}

.cove-flow[data-astro-cid-whlud7bp] {
  --stage-chrome: 6.4rem;
  --origin-x: 50%;
  --origin-y: 46%;
  --book-w: min(16rem, 20vw);
  --book-h: calc(var(--book-w) * 708 / 472);
  --book-d: calc(var(--book-h) * 80 / 708);
  --world-px: 1px;
  --snap: 100%;
  --wash-a: var(--wash-0-a, #eef1f4);
  --wash-b: var(--wash-0-b, #eef1f4);
  position: absolute;
  inset: 0;
  overflow: visible;
  timeline-scope: --cove;
}

.cove-flow[data-astro-cid-whlud7bp]:after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 7;
  height: calc(var(--stage-chrome) + 1.4rem);
  background: linear-gradient(180deg,
      transparent,
      var(--color-background) 2.4rem,
      var(--color-background));
  pointer-events: none;
  content: "";
}

.cove-flow__scroll[data-astro-cid-whlud7bp] {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: grid;
  grid-template: 1fr / auto;
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-x: contain;
  overscroll-behavior-y: auto;
  scroll-snap-type: x mandatory;
  scroll-timeline: --cove x;
  scrollbar-width: none;
  touch-action: pan-x pan-y;
}

.cove-flow__scroll[data-astro-cid-whlud7bp]::-webkit-scrollbar {
  display: none;
}

.cove-flow__wash[data-astro-cid-whlud7bp] {
  display: none;
  position: absolute;
  inset: 0;
  z-index: 0;
  background: radial-gradient(ellipse 50% 46% at var(--origin-x) 56%,
        var(--wash-a),
        transparent 72%),
      radial-gradient(ellipse 36% 40% at calc(var(--origin-x) + 7%) 68%,
        var(--wash-b),
        transparent 70%);
  -webkit-mask-image: linear-gradient(#0000 0%, #000 22% 100%);
  mask-image: linear-gradient(#0000 0%, #000 22% 100%);
  pointer-events: none;
}

.cove-flow--wash[data-astro-cid-whlud7bp] {
  transition: --wash-a .85s cubic-bezier(.22, 1, .36, 1), --wash-b .85s cubic-bezier(.22, 1, .36, 1);
}

.cove-flow--instant[data-astro-cid-whlud7bp].cove-flow--wash {
  transition: none;
}

.cove-flow--wash[data-astro-cid-whlud7bp] .cove-flow__wash[data-astro-cid-whlud7bp] {
  display: block;
}

.cove-flow__scene[data-astro-cid-whlud7bp] {
  position: sticky;
  left: 0;
  z-index: 1;
  grid-area: 1 / 1;
  width: var(--snap);
  height: 100%;
  perspective: 1400px;
  perspective-origin: var(--origin-x) 50%;
  overflow: visible;
  transform-style: preserve-3d;
}

.cove-flow__snaps[data-astro-cid-whlud7bp] {
  display: flex;
  grid-area: 1 / 1;
  width: max-content;
  height: 100%;
  pointer-events: none;
}

.cove-flow__snap[data-astro-cid-whlud7bp] {
  flex: 0 0 var(--snap);
  height: 100%;
  scroll-snap-align: start;
  scroll-snap-stop: always;
}

.cove-flow__track[data-astro-cid-whlud7bp] {
  position: relative;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
  transform: rotateY(var(--look-x)) rotateX(var(--look-y));
  transform-style: preserve-3d;
  transition: transform .7s cubic-bezier(.22, 1.18, .36, 1);
}

.cove-flow__item[data-astro-cid-whlud7bp] {
  position: absolute;
  top: var(--origin-y);
  left: var(--origin-x);
  z-index: var(--z-0, 1);
  margin: 0;
  transform: var(--pose-0, translate(-50%, -50%));
  transform-style: preserve-3d;
  transform-origin: center;
  pointer-events: none;
}

@supports (animation-timeline: scroll()) and (animation-range: entry) {
  .cove-flow__item[data-astro-cid-whlud7bp] {
    animation: linear both cove-poses;
    animation-timeline: --cove;
  }

  .cove-flow--compact[data-astro-cid-whlud7bp] .cove-flow__item[data-astro-cid-whlud7bp] {
    animation-name: cove-poses-compact;
  }
}

@keyframes cove-poses {
  0% {
    z-index: var(--z-0);
    transform: var(--pose-0);
  }

  50% {
    z-index: var(--z-1);
    transform: var(--pose-1);
  }

  100% {
    z-index: var(--z-2);
    transform: var(--pose-2);
  }
}

@keyframes cove-poses-compact {
  0% {
    z-index: var(--z-0);
    transform: var(--pose-0);
  }

  25% {
    z-index: var(--z-05);
    transform: var(--pose-05);
  }

  50% {
    z-index: var(--z-1);
    transform: var(--pose-1);
  }

  75% {
    z-index: var(--z-15);
    transform: var(--pose-15);
  }

  100% {
    z-index: var(--z-2);
    transform: var(--pose-2);
  }
}

.cove-flow[data-astro-cid-whlud7bp] .book-wrap.book-wrap--hero {
  position: relative;
  width: var(--book-w);
  --book-width: var(--book-w);
  --book-height: var(--book-h);
  --book-depth: var(--book-d);
  transform-style: preserve-3d;
}

.cove-flow[data-astro-cid-whlud7bp] .book-wrap.book-wrap--hero .book-scene, .cove-flow[data-astro-cid-whlud7bp] .book-wrap.book-wrap--hero .book {
  transform-style: preserve-3d;
}

.cove-flow[data-astro-cid-whlud7bp] .book-wrap.book-wrap--hero .book-shadow {
  position: absolute;
  left: 54%;
  bottom: calc(var(--world-px) * -.08);
  width: 78%;
  height: calc(var(--world-px) * .22);
  margin: 0;
  background: radial-gradient(#12141a47, #12141a1a 42%, #0000 72%);
  transform: translateX(-50%);
  filter: blur(3px);
}

.cove-flow__link[data-astro-cid-whlud7bp] {
  display: flex;
  flex-direction: column;
  align-items: center;
  color: inherit;
  text-decoration: none;
  transform-style: preserve-3d;
}

.cove-flow__bob[data-astro-cid-whlud7bp] {
  display: block;
  transform-style: preserve-3d;
}

.cove-flow__bob[data-astro-cid-whlud7bp] {
  animation: 5.4s ease-in-out infinite cove-float;
}

.cove-flow__item[data-astro-cid-whlud7bp][data-index="1"] .cove-flow__bob[data-astro-cid-whlud7bp] {
  animation-duration: 6.15s;
  animation-delay: -1.6s;
}

.cove-flow__item[data-astro-cid-whlud7bp][data-index="2"] .cove-flow__bob[data-astro-cid-whlud7bp] {
  animation-duration: 5.75s;
  animation-delay: -2.9s;
}

.cove-flow__bob[data-astro-cid-whlud7bp] .book-shadow {
  transform-origin: center;
  animation: 5.4s ease-in-out infinite cove-shadow;
  transition: transform .4s cubic-bezier(.22, 1, .36, 1), opacity .4s cubic-bezier(.22, 1, .36, 1);
}

.cove-flow__item[data-astro-cid-whlud7bp][data-index="1"] .cove-flow__bob[data-astro-cid-whlud7bp] .book-shadow {
  animation-duration: 6.15s;
  animation-delay: -1.6s;
}

.cove-flow__item[data-astro-cid-whlud7bp][data-index="2"] .cove-flow__bob[data-astro-cid-whlud7bp] .book-shadow {
  animation-duration: 5.75s;
  animation-delay: -2.9s;
}

@keyframes cove-float {
  0%, 100% {
    transform: translate3d(0, 1px, 0);
  }

  50% {
    transform: translate3d(0, -1px, 0);
  }
}

@keyframes cove-shadow {
  0%, 100% {
    transform: scale(1);
    opacity: .28;
  }

  50% {
    transform: scale(.96);
    opacity: .22;
  }
}

@media (hover: hover) and (pointer: fine) {
  .cove-flow__link--hot[data-astro-cid-whlud7bp] .cove-flow__bob[data-astro-cid-whlud7bp] .book-shadow, .cove-flow__link[data-astro-cid-whlud7bp][aria-current="true"]:focus-visible .cove-flow__bob[data-astro-cid-whlud7bp] .book-shadow {
    animation-play-state: paused;
    transform: scale(.9);
    opacity: .18;
  }
}

.cove-flow__link[data-astro-cid-whlud7bp]:focus-visible {
  outline: 3px solid var(--color-focus);
  outline-offset: 6px;
}

.cove-flow__title[data-astro-cid-whlud7bp] {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
}

.cove-flow__chrome[data-astro-cid-whlud7bp] {
  position: absolute;
  left: var(--origin-x);
  bottom: .7rem;
  z-index: 8;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.45rem;
  transform: translateX(-50%);
  pointer-events: none;
}

.cove-flow__status[data-astro-cid-whlud7bp] {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .28rem;
  margin: 0;
  text-align: center;
}

.cove-flow__focus-name[data-astro-cid-whlud7bp] {
  font-family: var(--font-display);
  font-size: 1.05rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--color-on-background);
}

.cove-flow__hint[data-astro-cid-whlud7bp] {
  display: none;
  font-size: .78rem;
  letter-spacing: .06em;
  color: var(--color-ink-muted);
}

@media (hover: none) {
  .cove-flow__hint[data-astro-cid-whlud7bp] {
    display: block;
  }
}

.cove-flow__ticks[data-astro-cid-whlud7bp] {
  display: flex;
  gap: .2rem;
  pointer-events: auto;
}

.cove-flow__ticks[data-astro-cid-whlud7bp] button[data-astro-cid-whlud7bp] {
  display: grid;
  width: 2.75rem;
  height: 2.75rem;
  padding: 0;
  place-items: center;
  border: 0;
  background: none;
  cursor: pointer;
}

.cove-flow__ticks[data-astro-cid-whlud7bp] button[data-astro-cid-whlud7bp]:after {
  width: .55rem;
  height: .55rem;
  border-radius: 999px;
  background: color-mix(in oklab, var(--color-on-background) 28%, transparent);
  content: "";
}

.cove-flow__ticks[data-astro-cid-whlud7bp] button[data-astro-cid-whlud7bp][aria-current="true"]:after {
  background: var(--color-on-background);
}

.cove-flow__ticks[data-astro-cid-whlud7bp] button[data-astro-cid-whlud7bp]:focus-visible {
  outline: 3px solid var(--color-focus);
  outline-offset: 2px;
}

@media (width <= 79.99rem) {
  .cove-flow[data-astro-cid-whlud7bp] {
    --stage-chrome: 7.1rem;
    --book-w: min(22rem, 52vw);
    --origin-x: 50%;
  }

  .cove-flow__chrome[data-astro-cid-whlud7bp] {
    bottom: .55rem;
    width: calc(100% - 2rem);
    gap: 1.25rem;
  }

  .cove-flow__focus-name[data-astro-cid-whlud7bp] {
    font-size: .92rem;
  }

  .cove-flow__hint[data-astro-cid-whlud7bp] {
    display: block;
  }
}

@media (width >= 80rem) {
  .cove-flow[data-astro-cid-whlud7bp] {
    --origin-x: max(36rem, 42vw);
  }
}

@media (prefers-reduced-motion: reduce) {
  .cove-flow__item[data-astro-cid-whlud7bp], .cove-flow__track[data-astro-cid-whlud7bp] {
    animation: none;
    transition: none;
  }

  .cove-flow__bob[data-astro-cid-whlud7bp], .cove-flow__bob[data-astro-cid-whlud7bp] .book-shadow {
    animation: none;
  }

  .cove-flow__track[data-astro-cid-whlud7bp] {
    --look-x: 0deg;
    --look-y: 0deg;
    transform: none;
  }

  .cove-flow--wash[data-astro-cid-whlud7bp] {
    transition: none;
  }
}
