:root { --motion-ease: cubic-bezier(.2, 0, 0, 1); }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.main-nav { position: relative; isolation: isolate; }
.main-nav a { position: relative; z-index: 1; }
.main-nav a:hover, .main-nav a.is-active { background: transparent; }
.nav-indicator { position: absolute; top: 5px; left: 0; height: calc(100% - 10px); border-radius: 999px; background: color-mix(in srgb, var(--accent) 12%, transparent); transition: transform .25s var(--motion-ease), width .25s var(--motion-ease); pointer-events: none; z-index: 0; }
.lenis.lenis-smooth { scroll-behavior: auto !important; }
.motion-ready [data-reveal] { opacity: 0; filter: none; transform: translateY(24px); transition: opacity .9s cubic-bezier(.22,1,.36,1), transform .9s cubic-bezier(.22,1,.36,1); transition-delay: var(--reveal-delay, 0ms); }
.motion-ready [data-reveal].is-revealed { opacity: 1; transform: none; }
.motion-ready .project-card.card-pending { opacity: 0; transform: translateY(16px); animation: none; }
.motion-ready .project-card.card-entered { animation: card-rise .7s var(--motion-ease) both; animation-delay: calc(min(var(--card-index, 0), 5) * 100ms); }
@keyframes card-rise { from { opacity: 0; translate: 0 16px; } to { opacity: 1; translate: 0 0; } }
.project-card .discord-banner { transition: transform .5s var(--motion-ease), filter .35s ease; }
.project-card:hover .discord-banner { transform: scale(1.04); }
.commission-contact:active, .projects-link:active, .server-price-options a:active { transform: scale(.97); }
@media (prefers-reduced-motion: reduce) {
  .nav-indicator { transition: none; }
  .motion-ready .project-card.card-entered { animation: none; }
  .motion-ready .project-card.card-pending { opacity: 1; transform: none; }
  .motion-ready [data-reveal], .project-card:hover .discord-banner { opacity: 1; transform: none; transition: none; }
}
