/* Volet — Electric Editorial theme */
:root {
  --lime-brand: oklch(0.9 0.21 122);
  --ink: oklch(0.17 0 0);
  --background: oklch(1 0 0);
  --foreground: oklch(0.17 0 0);
  --secondary: oklch(0.96 0.003 106);
  --muted-foreground: oklch(0.5 0.01 106);
  --border: oklch(0.9 0.004 106);
  --radius: 1rem;
}

* { box-sizing: border-box; margin: 0; padding: 0; }
body { font-family: "Inter", sans-serif; background: var(--background); color: var(--foreground); }
h1, h2, h3, h4, .font-display { font-family: "Space Grotesk", sans-serif; letter-spacing: -0.02em; }

.bg-lime-brand { background-color: var(--lime-brand); }
.text-lime-brand { color: var(--lime-brand); }
.border-lime-brand { border-color: var(--lime-brand); }
.bg-ink { background-color: var(--ink); }
.text-ink { color: var(--ink); }
.bg-secondary { background-color: var(--secondary); }
.text-muted { color: var(--muted-foreground); }
.border-border { border-color: var(--border); }

.container {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1rem;
  padding-right: 1rem;
}
@media (min-width: 640px) { .container { padding-left: 1.5rem; padding-right: 1.5rem; } }
@media (min-width: 1024px) { .container { padding-left: 2rem; padding-right: 2rem; max-width: 1280px; } }

.zp-press:active { transform: scale(0.97); transition: transform 0.16s cubic-bezier(0.23,1,0.32,1); }

@keyframes zp-marquee {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}
.zp-marquee { animation: zp-marquee 40s linear infinite; }
@media (prefers-reduced-motion: reduce) { .zp-marquee { animation: none; } }

@keyframes zp-rise-in {
  to { opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion: no-preference) {
  .zp-rise {
    opacity: 0;
    transform: translateY(20px);
    animation: zp-rise-in 0.6s cubic-bezier(0.23, 1, 0.32, 1) forwards;
  }
}
