/* GROOVE — DJ / live-entertainment starter. Near-black plum, electric
   magenta-pink + cyan, Unbounded display / Outfit body. Dark by default,
   like the room right before the drop. Tokens feed the CMS block library. */
@import url('https://fonts.googleapis.com/css2?family=Unbounded:wght@600;700&family=Outfit:wght@400;500;600;700&display=swap');

:root {
  --t-bg: #150d1c;
  --t-bg-alt: #1e1428;
  --t-fg: #f7f2fb;
  --t-muted: #a795bb;
  --t-brand: #f52d76;
  --t-brand-fg: #ffffff;
  --t-accent: #2de2e6;
  --t-dark-bg: #0b0612;
  --t-dark-fg: #f7f2fb;
  --t-border: #322343;
  --t-radius: 18px;
  --t-font-display: "Unbounded", system-ui, sans-serif;
  --t-font-body: "Outfit", system-ui, sans-serif;
  --t-maxw: 1140px;
  --t-shadow: 0 10px 32px -10px rgba(245, 45, 118, .35);
  --t-display-weight: 700;
  --t-display-tracking: -0.01em;
}

* { box-sizing: border-box; }
body { margin: 0; font-family: var(--t-font-body); color: var(--t-fg); background: var(--t-bg); }

/* header */
.site-header {
  position: sticky; top: 0; z-index: 40; background: rgba(21, 13, 28, .88);
  backdrop-filter: blur(12px); border-bottom: 1px solid var(--t-border);
}
.site-header .bar {
  max-width: var(--t-maxw); margin: 0 auto; padding: 14px 24px;
  display: flex; align-items: center; gap: 26px;
}
.logo {
  font-family: var(--t-font-display); font-weight: 700; font-size: 19px;
  color: var(--t-fg); text-decoration: none; letter-spacing: .02em;
  text-transform: uppercase;
}
.logo .pulse { color: var(--t-accent); }
.site-nav { display: flex; gap: 24px; margin-left: auto; }
.site-nav a { color: var(--t-muted); text-decoration: none; font-weight: 500; font-size: 15px; }
.site-nav a:hover { color: var(--t-accent); }
.header-cta {
  background: var(--t-brand); color: var(--t-brand-fg); font-weight: 700; font-size: 15px;
  padding: 11px 22px; border-radius: 999px; text-decoration: none;
  box-shadow: 0 0 22px -4px var(--t-brand), 0 6px 18px -8px rgba(0, 0, 0, .6);
  transition: box-shadow .2s ease, transform .2s ease;
}
.header-cta:hover { box-shadow: 0 0 34px -2px var(--t-brand); transform: translateY(-1px); }
@media (max-width: 760px) { .site-nav { display: none; } }

/* footer */
.site-footer { background: var(--t-dark-bg); color: var(--t-dark-fg); border-top: 1px solid var(--t-border); }
.site-footer .inner {
  max-width: var(--t-maxw); margin: 0 auto; padding: 46px 24px;
  display: flex; flex-wrap: wrap; gap: 18px; align-items: center; justify-content: space-between;
}
.site-footer p { margin: 0; color: #8c7aa3; font-size: 14px; }
.site-footer .foot-logo {
  font-family: var(--t-font-display); font-weight: 700; font-size: 17px;
  color: var(--t-dark-fg); text-transform: uppercase; letter-spacing: .02em;
}
.site-footer .foot-logo .pulse { color: var(--t-accent); }
