/* Motion Kit — independent implementation, no external dependencies. */
:root {
  --pk-ease: cubic-bezier(.65, 0, .15, 1);
  --pk-hover-duration: 480ms;
  --pk-char-delay: 18ms;
  --pk-menu-duration: 650ms;
  --pk-menu-bg: #151515;
  --pk-menu-color: #f5f3ec;
  --pk-page-bg: #f5f3ec;
}
[data-pk-view] { position: relative; background: var(--pk-page-bg); }
.pk-leave-layer { position: fixed; inset: 0; height: 100dvh; overflow: hidden; pointer-events: none; z-index: 20; transform-origin: center bottom; }
.pk-entering { position: relative; z-index: 21; transform-origin: center bottom; }
.pk-transitioning { overflow-x: clip; }
.pk-transitioning [data-pk-view] { pointer-events: none; }
.pk-split-unit { display: inline-block; will-change: auto; }
.pk-word { display: inline-block; white-space: nowrap; }
[data-pk-hover] { position: relative; text-decoration: none; }
.pk-hover-label { display: inline-flex; overflow: hidden; vertical-align: bottom; padding-block: .1em; }
.pk-hover-char { display: inline-block; white-space: pre; }
[data-pk-hover]::after { content: ''; position: absolute; left: 0; right: 0; bottom: -.2em; height: 1px; background: currentColor; transform: scaleX(0); transform-origin: right; transition: transform 350ms var(--pk-ease); }
[data-pk-hover][aria-current="page"]::after,
[data-pk-hover]:focus-visible::after { transform: scaleX(1); transform-origin: left; }
[data-pk-hover]:focus-visible .pk-hover-char { animation: pk-roll var(--pk-hover-duration) both; animation-delay: calc(var(--pk-i) * var(--pk-char-delay)); }
@media (hover: hover) and (pointer: fine) {
  [data-pk-hover]:hover::after { transform: scaleX(1); transform-origin: left; }
  [data-pk-hover]:hover .pk-hover-char { animation: pk-roll var(--pk-hover-duration) both; animation-delay: calc(var(--pk-i) * var(--pk-char-delay)); }
}
@keyframes pk-roll {
  0% { transform: translateY(0); opacity: 1; }
  42% { transform: translateY(-115%); opacity: 0; }
  43% { transform: translateY(115%); opacity: 0; }
  100% { transform: translateY(0); opacity: 1; }
}
[data-pk-menu-toggle] { display: none; }
[data-pk-menu] a { color: inherit; }
@media (max-width: 767px) {
  [data-pk-menu-toggle] { display: inline-flex; position: relative; z-index: 103; align-items: center; gap: 10px; color: inherit; font: inherit; background: none; border: 0; cursor: pointer; padding: 12px 0 12px 12px; }
  [data-pk-nav].pk-menu-ready [data-pk-menu] { position: fixed; inset: 0; z-index: 101; padding: 110px 8vw 40px; background: var(--pk-menu-bg); color: var(--pk-menu-color); visibility: hidden; clip-path: circle(0% at calc(100% - 32px) 32px); transition: clip-path var(--pk-menu-duration) var(--pk-ease), visibility 0s var(--pk-menu-duration); overflow-y: auto; overscroll-behavior: contain; }
  [data-pk-nav].pk-menu-open { color: var(--pk-menu-color); }
  [data-pk-nav].pk-menu-open [data-pk-menu] { visibility: visible; clip-path: circle(150% at calc(100% - 32px) 32px); transition-delay: 0s; }
  [data-pk-nav].pk-menu-ready [data-pk-menu] a { display: block; width: fit-content; margin: 0 0 18px; font-size: clamp(30px, 8vw, 60px); line-height: 1.15; opacity: 0; transform: translateY(45px) rotate(4deg); transition: opacity 300ms, transform 650ms var(--pk-ease); }
  [data-pk-nav].pk-menu-open [data-pk-menu] a { opacity: 1; transform: none; transition-delay: calc(80ms + var(--pk-menu-i, 0) * 35ms); }
  [data-pk-nav].pk-menu-open [data-pk-brand] { position: relative; z-index: 103; }
}
@media (prefers-reduced-motion: reduce) {
  .pk-hover-char { animation: none !important; }
  [data-pk-hover]::after, [data-pk-menu], [data-pk-menu] a { transition: none !important; }
}
