@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&family=Space+Grotesk:wght@400;500;600;700&display=swap');

:root {
  color-scheme: light;
  font-family: 'DM Sans', system-ui, sans-serif;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; min-width: 320px; }
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
img, svg { display: block; max-width: 100%; }

.pp-logo { display: inline-flex; align-items: center; gap: 10px; font-weight: 800; letter-spacing: -.04em; }
.pp-mark { width: 38px; height: 38px; display: block; flex: 0 0 38px; object-fit: contain; border-radius: 10px !important; background: transparent !important; }

.pill { display: inline-flex; align-items: center; gap: 8px; border-radius: 999px; font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.dot { width: 7px; height: 7px; border-radius: 50%; background: currentColor; box-shadow: 0 0 0 5px color-mix(in srgb, currentColor 14%, transparent); }

.reveal { opacity: 0; transform: translateY(26px); transition: opacity .75s ease, transform .75s cubic-bezier(.2,.75,.2,1); }
.reveal.visible { opacity: 1; transform: none; }
.reveal-delay-1 { transition-delay: .09s; }
.reveal-delay-2 { transition-delay: .18s; }
.reveal-delay-3 { transition-delay: .27s; }

.cursor-glow { position: fixed; width: 460px; height: 460px; left: 0; top: 0; border-radius: 50%; pointer-events: none; transform: translate(-50%, -50%); opacity: .55; z-index: 0; filter: blur(4px); transition: opacity .25s; }

.marquee { overflow: hidden; }
.marquee-track { width: max-content; display: flex; animation: marquee 24s linear infinite; }
.marquee:hover .marquee-track { animation-play-state: paused; }
@keyframes marquee { to { transform: translateX(-50%); } }

.tilt { transform-style: preserve-3d; transition: transform .18s ease-out; will-change: transform; }
.tilt > * { transform: translateZ(14px); }

.wave { display: flex; align-items: center; gap: 3px; height: 28px; }
.wave i { display: block; width: 3px; height: 30%; border-radius: 3px; background: currentColor; animation: wave 1s ease-in-out infinite; }
.wave i:nth-child(2n) { animation-delay: -.8s; }
.wave i:nth-child(3n) { animation-delay: -.55s; }
.wave i:nth-child(5n) { animation-delay: -.3s; }
@keyframes wave { 0%, 100% { height: 25%; } 50% { height: 95%; } }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .reveal { opacity: 1; transform: none; }
  .cursor-glow { display: none; }
}

@media (max-width: 760px) {
  .cursor-glow { display: none; }
}
