@keyframes cmp-page-in {
  from { opacity: 0; transform: translateY(8px) }
  to { opacity: 1; transform: none }
}

@keyframes cmp-hero-zoom {
  from { transform: scale(1.06) }
  to { transform: scale(1) }
}

[data-entrance] {
  opacity: 0.001;
  will-change: transform;
}

[data-entrance].is-entered {
  opacity: 1;
  transform: none !important;
  will-change: auto;
}

.cmp-reveal-spring {
  opacity: 0.001;
  will-change: transform;
}

.cmp-reveal-spring.is-in {
  opacity: 1;
  will-change: auto;
}

.cmp-hero-fullbleed__media img {
  will-change: transform;
}

html {
  scroll-behavior: auto;
}

.cmp-grain {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: 0.025;
  mix-blend-mode: overlay;
  background-image: url("data:image/webp;base64,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");
  background-repeat: repeat;
  background-size: 256px 256px;
  contain: layout style paint;
}

[data-grain] {
  position: relative;
}

[data-grain] > *:not(.cmp-grain) {
  position: relative;
  z-index: 1;
}

[data-parallax-depth] {
  will-change: transform;
}

#cmp-scroll-progress {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 999;
  height: 2px;
  background: var(--color-text);
  transform-origin: left;
  transform: scaleX(0);
  pointer-events: none;
  opacity: 0.45;
  contain: layout style;
}

#cmp-cursor {
  position: fixed;
  z-index: 9999;
  pointer-events: none;
  border-radius: 50%;
  background: var(--color-text);
  opacity: 0;
  transition: width 0.28s var(--ease-out), height 0.28s var(--ease-out), opacity 0.28s var(--ease-out), background 0.28s var(--ease-out);
  mix-blend-mode: difference;
  contain: layout style;
}

#cmp-cursor.is-hover {
  background: var(--color-cream);
}

.cmp-text-slide {
  position: relative;
  display: inline-block;
  overflow: hidden;
  line-height: 1.2;
  vertical-align: middle;
}

.cmp-text-slide__inner {
  display: block;
  transition: transform 0.42s var(--ease-out);
}

.cmp-text-slide__inner + .cmp-text-slide__inner {
  position: absolute;
  inset: 0;
  transform: translateY(100%);
}

[data-text-hover]:hover .cmp-text-slide__inner {
  transform: translateY(-100%);
}

[data-text-hover]:hover .cmp-text-slide__inner + .cmp-text-slide__inner {
  transform: translateY(0);
}

img[loading="lazy"] {
  filter: blur(10px);
  transform: scale(1.015);
  transition: filter 0.6s var(--ease-out, ease), transform 0.6s var(--ease-out, ease);
}

img[loading="lazy"].is-loaded {
  filter: blur(0);
  transform: scale(1);
}

[data-tilt] {
  will-change: transform;
}

#cmp-to-top {
  position: fixed;
  bottom: 32px;
  right: 32px;
  z-index: 100;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border: 1px solid var(--color-line);
  border-radius: 50%;
  background: var(--color-paper);
  color: var(--color-text);
  opacity: 0;
  transform: translateY(16px);
  pointer-events: none;
  transition: opacity 0.35s var(--ease-out), transform 0.35s var(--ease-out), background var(--duration-fast) var(--ease-out);
}

#cmp-to-top.is-visible {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

#cmp-to-top:hover {
  background: var(--color-cream);
}

@media (max-width: 600px) {
  #cmp-to-top {
    bottom: 20px;
    right: 20px;
    width: 42px;
    height: 42px;
  }
}

@keyframes pt-exit {
  to { opacity: 0; transform: translateY(-6px) scale(0.98); }
}
@keyframes pt-enter {
  from { opacity: 0; transform: translateY(10px) scale(0.98); }
}

::view-transition-old(root) {
  animation: 0.25s ease-out both pt-exit;
}
::view-transition-new(root) {
  animation: 0.35s ease-out 0.08s both pt-enter;
}

@media (prefers-reduced-motion: reduce) {
  ::view-transition-old(root),
  ::view-transition-new(root) {
    animation: none;
  }

  html { scroll-behavior: auto }

  body,
  .cmp-reveal-spring,
  .cmp-reveal-spring.is-in,
  .cmp-hero-fullbleed__media img,
  [data-parallax-depth],
  .cmp-magnetic-wrap,
  [data-entrance],
  [data-entrance].is-entered,
  [data-tilt] {
    animation: none !important;
    transition: none !important;
    transform: none !important;
    opacity: 1 !important;
  }

  .cmp-grain,
  #cmp-scroll-progress,
  #cmp-cursor,
  #cmp-to-top,
  .cmp-text-slide {
    display: none;
  }

  img[loading="lazy"] {
    filter: none;
    transform: none;
  }
}
