html[data-home] {
  --autumn: #e3170a;
  --autumn-deep: #a10a05;
  --summer: #6d1fca;
  --summer-deep: #3d0d7a;
  --pink: #ff3ea5;
  --gold: #ffc93c;
  --teal: #19d3c5;
  --ice: #9fd8ff;
  --ice-deep: #0d3358;
  --cream: #fff4e4;
  --ink: #1d0b33;
  --font-display: "Montserrat", system-ui, sans-serif;
  --mix: linear-gradient(90deg, var(--autumn), var(--pink) 30%, var(--gold) 50%, var(--teal) 70%, var(--ice));
}
html[data-home] .ribbon {
  position: relative;
  overflow: hidden;
  margin-top: 56px;
  padding: 14px 0;
}

html[data-home] .ribbon__track {
  display: flex;
  gap: 14px;
  width: max-content;
  animation: home-ribbon 38s linear infinite;
}

html[data-home] .ribbon__chip {
  --c: var(--gold);
  flex: none;
  padding: 10px 22px;
  border-radius: 999px;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  white-space: nowrap;
}

@keyframes home-ribbon {
  to { transform: translateX(-50%); }
}

html[data-home="a"] {
  color-scheme: light;
  --bg: var(--cream);
  --bg-rgb: 255, 244, 228;
  --line: rgba(29, 11, 51, 0.14);
  --line-strong: rgba(29, 11, 51, 0.3);
}

html[data-home="a"] body {
  background: var(--cream);
  color: var(--ink);
}
html[data-home="a"] .site-header {
  background: rgba(255, 244, 228, 0.96);
  border-bottom: 0;
  box-shadow: none;
}

html[data-home="a"] .site-header::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -5px;
  height: 5px;
  background: var(--mix);
}

html[data-home="a"] .site-logo img,
html[data-home="a"] .site-logo:hover img {
  filter: none;
}

html[data-home="a"] .site-nav a {
  color: var(--ink);
  font-weight: 600;
}

html[data-home="a"] .site-nav a:nth-child(3n + 1):hover { color: var(--autumn); }
html[data-home="a"] .site-nav a:nth-child(3n + 2):hover { color: var(--summer); }
html[data-home="a"] .site-nav a:nth-child(3n):hover { color: #1b7fc4; }

html[data-home="a"] .lang-btn,
html[data-home="a"] .burger {
  border-color: rgba(29, 11, 51, 0.25);
  color: var(--ink);
}

html[data-home="a"] .burger span {
  background: var(--ink);
}

html[data-home="a"] .btn-tickets {
  background: var(--autumn);
  color: #fff;
}

html[data-home="a"] .mobile-menu {
  background: var(--summer);
}
html[data-home="a"] .gate {
  padding-bottom: 0;
  background:
    radial-gradient(40% 55% at 8% 18%, rgba(227, 23, 10, 0.85), transparent 70%),
    radial-gradient(35% 50% at 92% 12%, rgba(159, 216, 255, 0.75), transparent 70%),
    radial-gradient(45% 45% at 50% 105%, rgba(255, 62, 165, 0.8), transparent 70%),
    radial-gradient(30% 40% at 78% 70%, rgba(255, 201, 60, 0.55), transparent 70%),
    var(--summer);
}

html[data-home="a"] .gate__intl {
  display: inline-block;
  padding: 8px 16px;
  border-radius: 999px;
  background: var(--gold);
  color: var(--ink);
  font-weight: 700;
  letter-spacing: 0.28em;
}
html[data-home="a"] .chrome {
  background: linear-gradient(100deg, #fff6d6 0%, var(--gold) 22%, #ffffff 40%, var(--ice) 58%, #ffffff 72%, var(--gold) 88%, #fff6d6 100%);
  filter: drop-shadow(0 6px 0 rgba(29, 11, 51, 0.35));
}

html[data-home="a"] .gate__sub {
  color: #fff;
  font-weight: 500;
}
html[data-home="a"] .door::before {
  display: none;
}

html[data-home="a"] .door__poster {
  padding: 10px;
  border-radius: 18px;
  background: #fff;
  box-shadow: 10px 10px 0 var(--c);
  transform: rotate(-2deg);
}

html[data-home="a"] .door:nth-child(2) .door__poster { transform: rotate(1.5deg); }
html[data-home="a"] .door:nth-child(3) .door__poster { transform: rotate(-1deg); }

html[data-home="a"] .door__poster img {
  border-radius: 10px;
}

html[data-home="a"] .door:hover .door__poster,
html[data-home="a"] .door:focus-visible .door__poster {
  transform: rotate(0) translateY(-8px);
}

html[data-home="a"] .door__label {
  padding: 14px 16px;
  border-radius: 16px;
  background: #fff;
  color: var(--ink);
}

html[data-home="a"] .door__date {
  color: rgba(29, 11, 51, 0.6);
}

html[data-home="a"] .door__status {
  border: 0;
  background: var(--c);
  color: #fff;
  font-weight: 700;
}

html[data-home="a"] .door__go {
  border-color: rgba(29, 11, 51, 0.25);
}

html[data-home="a"] .door:hover .door__go,
html[data-home="a"] .door:focus-visible .door__go {
  background: var(--ink);
  border-color: var(--ink);
  color: #fff;
}

html[data-home="a"] .ribbon {
  margin-top: 64px;
  background: var(--ink);
}

html[data-home="a"] .ribbon__chip {
  background: var(--c);
  color: #fff;
}
html[data-home="a"] .section {
  padding: 110px 0;
}

html[data-home="a"] .kicker {
  display: inline-flex;
  padding: 8px 16px;
  border-radius: 999px;
  background: var(--ink);
  color: #fff;
  font-weight: 700;
}

html[data-home="a"] .kicker::before {
  background: var(--gold);
  box-shadow: none;
}
html[data-home="a"] #about {
  background: var(--autumn);
  color: #fff;
}

html[data-home="a"] #about .kicker {
  background: #fff;
  color: var(--autumn);
}

html[data-home="a"] #about .kicker::before {
  background: var(--autumn);
}

html[data-home="a"] .statement-title {
  color: var(--gold);
  font-family: var(--font-display);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}

html[data-home="a"] .statement p {
  color: #fff;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: clamp(22px, 3vw, 40px);
  line-height: 1.18;
  letter-spacing: -0.02em;
}
html[data-home="a"] #festivals {
  background: var(--cream);
}

html[data-home="a"] .hists {
  display: grid;
  gap: 14px;
  border: 0;
}

html[data-home="a"] .hist {
  padding: 22px 26px;
  border: 0;
  border-radius: 22px;
  background: var(--c);
  color: #fff;
  transition: transform 0.25s;
}

html[data-home="a"] .hist:nth-child(odd):hover { transform: rotate(-0.6deg) scale(1.01); }
html[data-home="a"] .hist:nth-child(even):hover { transform: rotate(0.6deg) scale(1.01); }

html[data-home="a"] .hist__dot {
  background: #fff;
  box-shadow: none;
}

html[data-home="a"] .hist__title {
  font-family: var(--font-display);
  font-weight: 700;
}

html[data-home="a"] .hist__date,
html[data-home="a"] .hist__place {
  color: rgba(255, 255, 255, 0.85);
}

html[data-home="a"] .hist__status {
  border: 0;
  background: #fff;
  color: var(--ink);
  font-weight: 700;
}

html[data-home="a"] .hist__go {
  border-color: rgba(255, 255, 255, 0.6);
}

html[data-home="a"] .hist:hover .hist__go {
  background: #fff;
  border-color: #fff;
  color: var(--ink);
}
html[data-home="a"] #join {
  padding: 0;
}

html[data-home="a"] #join > .wrap {
  max-width: none;
  padding: 0;
}

html[data-home="a"] .join-item {
  --block: var(--pink);
  --block-ink: #fff;
  padding: 110px max(var(--gutter), calc((100% - var(--maxw)) / 2 + var(--gutter)));
  background: var(--block);
  color: var(--block-ink);
}

html[data-home="a"] .join-item + .join-item {
  margin: 0;
  border: 0;
}

html[data-home="a"] #collab { --block: var(--pink); }
html[data-home="a"] #volunteers { --block: var(--ice); --block-ink: var(--ice-deep); }
html[data-home="a"] #food { --block: var(--gold); --block-ink: var(--ink); }

html[data-home="a"] .join-item .kicker {
  background: var(--block-ink);
  color: var(--block);
}

html[data-home="a"] .join-item .kicker::before {
  background: var(--block);
}

html[data-home="a"] .lead-block .h2 {
  color: var(--block-ink);
  font-family: var(--font-display);
  font-weight: 900;
  font-size: clamp(26px, 2.9vw, 44px);
  line-height: 1.05;
  letter-spacing: -0.02em;
  text-transform: uppercase;
  hyphens: auto;
  overflow-wrap: anywhere;
}

html[data-home="a"] .lead-block .lead,
html[data-home="a"] .ticks li {
  color: var(--block-ink);
}

html[data-home="a"] .ticks li {
  border-bottom-color: color-mix(in srgb, var(--block-ink) 25%, transparent);
  font-weight: 500;
}

html[data-home="a"] .ticks li::before {
  background: var(--block-ink);
  box-shadow: none;
}

html[data-home="a"] .lead-form {
  border: 0;
  border-radius: 26px;
  background: #fff;
  box-shadow: 12px 12px 0 var(--ink);
  color: var(--ink);
}

html[data-home="a"] .field label {
  color: rgba(29, 11, 51, 0.6);
}

html[data-home="a"] .field input,
html[data-home="a"] .field textarea,
html[data-home="a"] .field select {
  border-bottom-color: rgba(29, 11, 51, 0.25);
  color: var(--ink);
}

html[data-home="a"] .field input::placeholder,
html[data-home="a"] .field textarea::placeholder {
  color: rgba(29, 11, 51, 0.38);
}

html[data-home="a"] .field input:focus,
html[data-home="a"] .field textarea:focus {
  border-bottom-color: var(--summer);
  box-shadow: 0 1px 0 var(--summer);
}

html[data-home="a"] .lead-form .btn {
  background: var(--ink);
  border-color: var(--ink);
  color: #fff;
}

html[data-home="a"] .lead-form .btn:hover {
  background: var(--summer);
  border-color: var(--summer);
  box-shadow: none;
}
html[data-home="a"] .site-footer {
  position: relative;
  margin-top: 0;
  padding-top: 72px;
  border: 0;
  background: var(--summer-deep);
  color: #fff;
}

html[data-home="a"] .site-footer::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 8px;
  background: var(--mix);
}

html[data-home="a"] .site-footer__h {
  color: var(--gold);
}

html[data-home="a"] .site-footer .muted,
html[data-home="a"] .site-footer__copy {
  color: rgba(255, 255, 255, 0.65);
}

html[data-home="a"] .site-footer__contacts a {
  color: #fff;
}

html[data-home="a"] .site-logo--footer img {
  filter: invert(1);
}

html[data-home="a"] .partners--compact .partner {
  border-radius: 14px;
  border-color: rgba(255, 255, 255, 0.2);
}

html[data-home="b"] {
  --bg: #170a35;
  --bg-rgb: 23, 10, 53;
  --bg2: #22104a;
  --bg2-rgb: 34, 16, 74;
  --surface: #2a1458;
  --line: rgba(255, 255, 255, 0.14);
  --line-strong: rgba(255, 255, 255, 0.3);
  --steel: #c9b8ff;
}

html[data-home="b"] body {
  background:
    radial-gradient(60% 40% at 0% 30%, rgba(227, 23, 10, 0.28), transparent 70%),
    radial-gradient(50% 35% at 100% 55%, rgba(25, 211, 197, 0.2), transparent 70%),
    radial-gradient(60% 40% at 10% 85%, rgba(255, 62, 165, 0.22), transparent 70%),
    #170a35;
}

html[data-home="b"] .site-header {
  background: rgba(23, 10, 53, 0.9);
  border-bottom: 1px solid transparent;
  border-image: var(--mix) 1;
}

html[data-home="b"] .site-nav a {
  color: #efe6ff;
}

html[data-home="b"] .site-nav a:hover {
  color: var(--gold);
}

html[data-home="b"] .btn-tickets {
  background: var(--gold);
  color: var(--ink);
}

html[data-home="b"] .mobile-menu {
  background: rgba(23, 10, 53, 0.98);
}
html[data-home="b"] .gate {
  padding-bottom: 0;
  background:
    radial-gradient(45% 60% at 15% 40%, rgba(227, 23, 10, 0.75), transparent 70%),
    radial-gradient(40% 55% at 85% 35%, rgba(25, 120, 220, 0.7), transparent 70%),
    radial-gradient(50% 50% at 50% 100%, rgba(255, 62, 165, 0.6), transparent 70%),
    linear-gradient(180deg, #2b0d63, #170a35);
}

html[data-home="b"] .gate__intl {
  background: var(--mix);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  font-weight: 700;
}

html[data-home="b"] .chrome {
  filter: drop-shadow(0 0 28px rgba(255, 62, 165, 0.55)) drop-shadow(0 0 60px rgba(159, 216, 255, 0.35));
}
html[data-home="b"] .gate__doors {
  gap: 0;
  padding-top: 20px;
}

html[data-home="b"] .door::before {
  opacity: 0.9;
}

html[data-home="b"] .door__poster {
  position: relative;
  overflow: visible;
  border-radius: 4px;
  background: transparent;
  box-shadow: 0 30px 60px rgba(0, 0, 0, 0.45), 0 0 0 3px var(--c);
}

html[data-home="b"] .door__poster img {
  border-radius: 4px;
}

html[data-home="b"] .door__poster::after {
  content: "";
  position: absolute;
  top: -14px;
  left: 50%;
  width: 110px;
  height: 28px;
  margin-left: -55px;
  background: rgba(255, 201, 60, 0.75);
  transform: rotate(-4deg);
  mix-blend-mode: screen;
}

html[data-home="b"] .door:nth-child(1) .door__poster { transform: rotate(-4deg) translateX(18px); }
html[data-home="b"] .door:nth-child(2) { z-index: 2; }
html[data-home="b"] .door:nth-child(2) .door__poster { transform: translateY(-18px); }
html[data-home="b"] .door:nth-child(3) .door__poster { transform: rotate(4deg) translateX(-18px); }
html[data-home="b"] .door:nth-child(1) .door__label { padding-right: 24px; }
html[data-home="b"] .door:nth-child(3) .door__label { padding-left: 24px; }
html[data-home="b"] .door:hover .door__poster,
html[data-home="b"] .door:focus-visible .door__poster { transform: rotate(0) translateY(-10px); }
html[data-home="b"] .door:nth-child(2) .door__poster::after { background: rgba(255, 62, 165, 0.75); transform: rotate(3deg); }
html[data-home="b"] .door:nth-child(3) .door__poster::after { background: rgba(159, 216, 255, 0.8); }

html[data-home="b"] .door:hover,
html[data-home="b"] .door:focus-visible {
  z-index: 3;
}

html[data-home="b"] .door__label {
  padding: 0 10px;
}

html[data-home="b"] .door__title {
  font-family: var(--font-display);
  font-weight: 700;
}

html[data-home="b"] .door__status {
  border-color: var(--c);
  background: color-mix(in srgb, var(--c) 35%, transparent);
  color: #fff;
}

html[data-home="b"] .ribbon {
  margin-top: 72px;
  border-top: 2px solid transparent;
  border-bottom: 2px solid transparent;
  border-image: var(--mix) 1;
  background: rgba(23, 10, 53, 0.6);
}

html[data-home="b"] .ribbon__chip {
  padding: 6px 4px;
  background: none;
  color: var(--c);
  font-size: 22px;
  font-weight: 900;
  text-shadow: 0 0 18px var(--c);
}

html[data-home="b"] .ribbon__chip::after {
  content: "✦";
  margin-left: 18px;
  color: var(--gold);
  text-shadow: none;
}

html[data-home="b"] .section {
  padding: 120px 0 0;
}

html[data-home="b"] .kicker {
  color: var(--gold);
  font-weight: 700;
}

html[data-home="b"] .kicker::before {
  background: var(--mix);
  box-shadow: 0 0 14px var(--pink);
}
html[data-home="b"] .statement p,
html[data-home="b"] .lead-block .h2 {
  background: linear-gradient(95deg, #ff6b5e, var(--pink) 28%, var(--gold) 52%, var(--teal) 76%, var(--ice));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

html[data-home="b"] .statement p {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: clamp(22px, 3vw, 40px);
  line-height: 1.2;
}

html[data-home="b"] .statement-title {
  color: #efe6ff;
}

html[data-home="b"] .hists {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  border: 0;
}

html[data-home="b"] .hist {
  grid-template-columns: 12px minmax(0, 1fr) 40px;
  gap: 8px 14px;
  padding: 24px;
  border: 1px solid color-mix(in srgb, var(--c) 70%, transparent);
  border-radius: 20px;
  background: linear-gradient(160deg, color-mix(in srgb, var(--c) 45%, transparent), rgba(23, 10, 53, 0.4));
  box-shadow: 0 0 34px color-mix(in srgb, var(--c) 30%, transparent);
  color: #fff;
}

html[data-home="b"] .hist__dot { grid-row: 1; grid-column: 1; }
html[data-home="b"] .hist__title { grid-row: 1; grid-column: 2; font-family: var(--font-display); font-weight: 700; font-size: 26px; }
html[data-home="b"] .hist__go { grid-row: 1; grid-column: 3; }
html[data-home="b"] .hist__date { grid-row: 2; grid-column: 2 / span 2; color: #efe6ff; }
html[data-home="b"] .hist__place { grid-row: 3; grid-column: 2 / span 2; color: #c9b8ff; }
html[data-home="b"] .hist__status { grid-row: 4; grid-column: 2 / span 2; border-color: var(--c); }

html[data-home="b"] .join-item {
  --n: var(--pink);
}

html[data-home="b"] #volunteers { --n: var(--teal); }
html[data-home="b"] #food { --n: var(--gold); }

html[data-home="b"] .join-item + .join-item {
  border-top: 0;
}

html[data-home="b"] .lead-block .h2 {
  font-family: var(--font-display);
  font-weight: 900;
  text-transform: uppercase;
  font-size: clamp(26px, 2.9vw, 44px);
  line-height: 1.05;
  hyphens: auto;
  overflow-wrap: anywhere;
}

html[data-home="b"] .ticks li::before {
  background: var(--n);
  box-shadow: 0 0 10px var(--n);
}

html[data-home="b"] .lead-form {
  border: 2px solid var(--n);
  border-radius: 22px;
  background: rgba(34, 16, 74, 0.85);
  box-shadow: 0 0 40px color-mix(in srgb, var(--n) 35%, transparent), inset 0 0 30px color-mix(in srgb, var(--n) 12%, transparent);
}

html[data-home="b"] .field label {
  color: var(--n);
}

html[data-home="b"] .field input,
html[data-home="b"] .field textarea {
  color: #fff;
}

html[data-home="b"] .field input::placeholder,
html[data-home="b"] .field textarea::placeholder {
  color: rgba(255, 255, 255, 0.38);
}

html[data-home="b"] .field input:focus,
html[data-home="b"] .field textarea:focus {
  border-bottom-color: var(--n);
  box-shadow: 0 1px 0 var(--n);
}

html[data-home="b"] .lead-form .btn {
  background: var(--n);
  border-color: var(--n);
  color: var(--ink);
}

html[data-home="b"] .lead-form .btn:hover {
  background: #fff;
  border-color: #fff;
}

html[data-home="b"] .site-footer {
  position: relative;
  border: 0;
  background: linear-gradient(180deg, transparent, rgba(109, 31, 202, 0.35));
}

html[data-home="b"] .site-footer::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: var(--mix);
}

html[data-home="b"] .site-footer__h {
  color: var(--gold);
}

html[data-home="b"] .partners--compact .partner {
  border-radius: 14px;
}

@media (max-width: 900px) {
  html[data-home="b"] .hists {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 760px) {
  html[data-home] .ribbon {
    margin-top: 36px;
  }

  html[data-home="a"] .gate__intl {
    padding: 6px 12px;
    font-size: 9px;
    letter-spacing: 0.14em;
  }

  html[data-home="a"] .section {
    padding: 80px 0;
  }

  html[data-home="a"] .join-item {
    padding: 80px var(--gutter);
  }

  html[data-home="a"] .door__poster {
    padding: 7px;
    box-shadow: 7px 7px 0 var(--c);
  }

  html[data-home="a"] .gate__doors {
    padding-bottom: 18px;
  }

  html[data-home="a"] .hist {
    padding: 18px 18px;
  }

  html[data-home="a"] .hist__title {
    font-size: 22px;
  }

  html[data-home="a"] .hist__status {
    grid-row: 3;
    grid-column: 2 / span 2;
    margin-top: 6px;
  }

  html[data-home="a"] .statement p,
  html[data-home="b"] .statement p {
    font-size: 19px;
  }

  html[data-home="a"] .lead-form {
    box-shadow: 8px 8px 0 var(--ink);
  }
  html[data-home="b"] .gate__doors {
    gap: 16px;
    padding-top: 26px;
  }

    html[data-home="b"] .door:nth-child(n) .door__poster {
    transform: none;
  }

  html[data-home="b"] .door:nth-child(n) .door__label {
    padding: 0 4px;
  }

  html[data-home="b"] .door:nth-child(odd) .door__poster {
    transform: rotate(-1.5deg);
  }

  html[data-home="b"] .door:nth-child(even) .door__poster {
    transform: rotate(1.5deg);
  }

  html[data-home="b"] .ribbon__chip {
    font-size: 16px;
  }
}

@media (prefers-reduced-motion: reduce) {
  html[data-home] .ribbon__track {
    animation: none;
  }
}

html[data-home="c"] {
  --bg: #120a22;
  --bg-rgb: 18, 10, 34;
  --bg2: #1a1030;
  --bg2-rgb: 26, 16, 48;
  --surface: #1d1335;
  --card: #1c1233;
  --line: rgba(255, 255, 255, 0.1);
  --line-strong: rgba(255, 255, 255, 0.24);
  --steel: #a99cc2;
  --soft: #d9d0ea;
}

html[data-home="c"] body {
  background: var(--bg);
  color: #f3eefb;
}

html[data-home="c"] .site-header {
  background: rgba(18, 10, 34, 0.94);
  border-bottom: 0;
}

html[data-home="c"] .site-header::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -2px;
  height: 2px;
  background: var(--mix);
  opacity: 0.8;
}

html[data-home="c"] .site-nav a {
  color: var(--soft);
  font-weight: 500;
}

html[data-home="c"] .site-nav a:hover {
  color: #fff;
}

html[data-home="c"] .mobile-menu {
  background: rgba(18, 10, 34, 0.98);
}
html[data-home="c"] .gate {
  padding-bottom: 0;
  isolation: isolate;
  background: var(--bg);
}

html[data-home="c"] .gate::before {
  content: "";
  position: absolute;
  inset: -15%;
  z-index: -1;
  background:
    radial-gradient(28% 34% at 8% 18%, rgba(255, 75, 62, 0.75), transparent 70%),
    radial-gradient(26% 32% at 30% 6%, rgba(255, 201, 60, 0.6), transparent 70%),
    radial-gradient(30% 36% at 62% 12%, rgba(255, 62, 165, 0.65), transparent 70%),
    radial-gradient(28% 34% at 92% 22%, rgba(159, 216, 255, 0.6), transparent 70%),
    radial-gradient(32% 30% at 84% 62%, rgba(25, 211, 197, 0.5), transparent 70%),
    radial-gradient(34% 32% at 14% 66%, rgba(255, 62, 165, 0.5), transparent 70%),
    radial-gradient(40% 34% at 50% 52%, rgba(109, 31, 202, 0.75), transparent 72%),
    radial-gradient(36% 30% at 40% 94%, rgba(255, 201, 60, 0.4), transparent 70%),
    radial-gradient(40% 30% at 78% 98%, rgba(255, 75, 62, 0.45), transparent 70%);
  animation: gate-drift 22s ease-in-out infinite alternate;
  will-change: transform;
}
html[data-home="c"] .gate::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: radial-gradient(55% 34% at 50% 22%, rgba(18, 10, 34, 0.35), transparent 75%),
    linear-gradient(to bottom, transparent 75%, var(--bg));
  pointer-events: none;
}

@keyframes gate-drift {
  0% { transform: translate3d(0, 0, 0) scale(1); }
  50% { transform: translate3d(3%, -2%, 0) scale(1.06); }
  100% { transform: translate3d(-3%, 2%, 0) scale(1.03); }
}

@media (prefers-reduced-motion: reduce) {
  html[data-home="c"] .gate::before { animation: none; }
}
html[data-home="c"] .chrome {
  background: linear-gradient(100deg, #ff4b3e 0%, var(--pink) 24%, var(--gold) 46%, var(--teal) 70%, var(--ice) 88%, #ffffff 100%);
  filter: drop-shadow(0 0 30px rgba(255, 62, 165, 0.25));
}

html[data-home="c"] .door::before {
  opacity: 0.25;
}

html[data-home="c"] .door__poster {
  border-radius: 12px;
  box-shadow: 0 0 0 2px var(--c), 0 24px 50px rgba(0, 0, 0, 0.4);
}

html[data-home="c"] .door__title {
  font-family: var(--font-display);
  font-weight: 700;
}

html[data-home="c"] .door__status {
  border-color: var(--c);
  background: color-mix(in srgb, var(--c) 28%, transparent);
  color: #fff;
}

html[data-home="c"] .ribbon {
  margin-top: 56px;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

html[data-home="c"] .ribbon__chip {
  padding: 4px;
  background: none;
  color: color-mix(in srgb, var(--c) 55%, #fff);
  font-size: 13px;
  font-weight: 500;
}

html[data-home="c"] .ribbon__chip::before {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  margin-right: 10px;
  border-radius: 50%;
  background: var(--c);
  vertical-align: middle;
}
html[data-home="c"] .section {
  padding: 110px 0 0;
}

html[data-home="c"] .kicker {
  color: var(--steel);
  font-weight: 600;
}

html[data-home="c"] .kicker::before {
  background: var(--autumn);
  box-shadow: none;
}

html[data-home="c"] .statement-title {
  color: var(--steel);
}

html[data-home="c"] .statement p {
  color: #fff;
  font-family: var(--font-display);
  font-weight: 600;
  font-size: clamp(20px, 2.6vw, 34px);
  line-height: 1.25;
  letter-spacing: -0.02em;
}
html[data-home="c"] .hists {
  display: grid;
  gap: 10px;
  border: 0;
}

html[data-home="c"] .hist {
  padding: 20px 24px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--card);
  color: #fff;
  transition: border-color 0.25s;
}

html[data-home="c"] .hist:hover {
  border-color: color-mix(in srgb, var(--c) 70%, transparent);
}

html[data-home="c"] .hist__dot {
  box-shadow: 0 0 10px var(--c);
}

html[data-home="c"] .hist__title {
  font-family: var(--font-display);
  font-weight: 700;
}

html[data-home="c"] .hist__date,
html[data-home="c"] .hist__place {
  color: var(--steel);
}

html[data-home="c"] .hist__status {
  border: 1px solid color-mix(in srgb, var(--c) 70%, transparent);
  background: color-mix(in srgb, var(--c) 20%, transparent);
  color: #fff;
  font-weight: 600;
}

html[data-home="c"] .hist:hover .hist__go {
  background: #fff;
  border-color: #fff;
  color: var(--bg);
}
html[data-home="c"] .join-item {
  --n: var(--pink);
}

html[data-home="c"] #volunteers { --n: var(--ice); }
html[data-home="c"] #food { --n: var(--gold); }

html[data-home="c"] .join-item + .join-item {
  border-top-color: var(--line);
}

html[data-home="c"] .join-item .kicker::before {
  background: var(--n);
}

html[data-home="c"] .lead-block .h2 {
  color: #fff;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: clamp(26px, 3vw, 44px);
  line-height: 1.08;
  hyphens: auto;
  overflow-wrap: anywhere;
}

html[data-home="c"] .lead-block .lead,
html[data-home="c"] .ticks li {
  color: var(--soft);
}

html[data-home="c"] .ticks li {
  border-bottom-color: var(--line);
}

html[data-home="c"] .ticks li::before {
  background: var(--n);
  box-shadow: none;
}

html[data-home="c"] .lead-form {
  border: 1px solid var(--line);
  border-radius: 20px;
  background: var(--card);
}

html[data-home="c"] .field label {
  color: var(--steel);
}

html[data-home="c"] .field input,
html[data-home="c"] .field textarea {
  color: #fff;
}

html[data-home="c"] .field input::placeholder,
html[data-home="c"] .field textarea::placeholder {
  color: rgba(255, 255, 255, 0.35);
}

html[data-home="c"] .field input:focus,
html[data-home="c"] .field textarea:focus {
  border-bottom-color: var(--n);
  box-shadow: 0 1px 0 var(--n);
}

html[data-home="c"] .lead-form .btn {
  background: #fff;
  border-color: #fff;
  color: var(--bg);
}

html[data-home="c"] .lead-form .btn:hover {
  background: var(--n);
  border-color: var(--n);
  color: var(--ink);
  box-shadow: none;
}
html[data-home="c"] .site-footer {
  position: relative;
  margin-top: 120px;
  border: 0;
  background: #0d0719;
}

html[data-home="c"] .site-footer::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: var(--mix);
  opacity: 0.8;
}

html[data-home="c"] .site-footer__h {
  color: var(--steel);
}

html[data-home="c"] .partners--compact .partner {
  border-radius: 12px;
}

@media (max-width: 760px) {
  html[data-home="c"] .section {
    padding-top: 80px;
  }

  html[data-home="c"] .hist {
    padding: 16px;
  }

  html[data-home="c"] .hist__title {
    font-size: 22px;
  }

  html[data-home="c"] .hist__status {
    grid-row: 3;
    grid-column: 2 / span 2;
    margin-top: 6px;
  }

  html[data-home="c"] .statement p {
    font-size: 18px;
  }

  html[data-home="c"] .site-footer {
    margin-top: 80px;
  }
}
html[data-home] .party {
  position: absolute;
  inset: 0;
  z-index: -1;
  overflow: hidden;
  pointer-events: none;
  mix-blend-mode: screen;
}

html[data-home] .laser {
  position: absolute;
  left: 50%;
  bottom: -4%;
  width: 3px;
  height: 135%;
  margin-left: -1.5px;
  transform-origin: 50% 100%;
  background: linear-gradient(to top, var(--lc), color-mix(in srgb, var(--lc) 40%, transparent) 55%, transparent);
  box-shadow: 0 0 12px var(--lc), 0 0 28px var(--lc);
  opacity: 0.55;
  --a: calc((var(--i) - 3.5) * 14deg);
  transform: rotate(var(--a));
  animation: laser-sweep 4.8s ease-in-out calc(var(--i) * -0.6s) infinite alternate;
}

@keyframes laser-sweep {
  0% { transform: rotate(calc(var(--a) - 16deg)); opacity: 0.25; }
  50% { opacity: 0.7; }
  100% { transform: rotate(calc(var(--a) + 16deg)); opacity: 0.35; }
}
html[data-home] .spot {
  position: absolute;
  top: -10%;
  width: 46%;
  height: 120%;
  opacity: 0.32;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0.9), rgba(255, 255, 255, 0) 80%);
  clip-path: polygon(46% 0, 54% 0, 100% 100%, 0 100%);
  filter: blur(6px);
  transform-origin: 50% 0;
}

html[data-home] .spot--l {
  left: -6%;
  animation: spot-l 7s ease-in-out infinite alternate;
}

html[data-home] .spot--r {
  right: -6%;
  animation: spot-r 8s ease-in-out infinite alternate;
}

@keyframes spot-l {
  from { transform: rotate(-38deg); }
  to { transform: rotate(-8deg); }
}

@keyframes spot-r {
  from { transform: rotate(38deg); }
  to { transform: rotate(6deg); }
}
html[data-home] .eq {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: 4px;
  height: 64px;
  max-width: var(--maxw);
  margin: 48px auto 0;
  padding: 0 var(--gutter);
  -webkit-mask: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
  mask: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
}

html[data-home] .eq i {
  flex: 1 1 0;
  max-width: 12px;
  height: 100%;
  border-radius: 3px 3px 1px 1px;
  background: linear-gradient(to top, var(--summer), var(--pink) 45%, var(--gold) 80%, #fff);
  transform-origin: 50% 100%;
  transform: scaleY(var(--h));
  animation: eq-bar var(--d) ease-in-out var(--o) infinite alternate;
}

@keyframes eq-bar {
  0% { transform: scaleY(0.08); }
  100% { transform: scaleY(var(--h)); }
}

html[data-home] .eq + .ribbon {
  margin-top: 0;
}

html[data-home] #about .wrap {
  position: relative;
}

html[data-home] #about .wrap::after,
html[data-home] #about .wrap::before {
  content: "";
  position: absolute;
  top: -70px;
  right: calc(var(--gutter) - 90px);
  z-index: -1;
  width: clamp(200px, 26vw, 360px);
  aspect-ratio: 1;
  border-radius: 50%;
  animation: vinyl 5s linear infinite;
}
html[data-home] #about .wrap::after {
  background:
    conic-gradient(from 30deg, rgba(255, 255, 255, 0.16), transparent 12%, transparent 45%, rgba(255, 255, 255, 0.12) 55%, transparent 68%),
    repeating-radial-gradient(circle, #0b0614 0 2px, #1b1128 2px 4px);
  opacity: 0.6;
}
html[data-home] #about .wrap::before {
  z-index: 0;
  background:
    radial-gradient(circle, #120a22 0 4%, transparent 4.5% 33%, #0b0614 33.5%),
    conic-gradient(from 0deg, var(--autumn), var(--pink), var(--gold), var(--teal), var(--ice), var(--summer), var(--autumn));
  -webkit-mask: radial-gradient(circle, #000 0 33%, transparent 33.5%);
  mask: radial-gradient(circle, #000 0 33%, transparent 33.5%);
  opacity: 0.6;
}

@keyframes vinyl {
  to { transform: rotate(360deg); }
}

html[data-home] #about .statement,
html[data-home] #about .statement-title {
  position: relative;
  max-width: 820px;
}
html[data-home] .djs-title {
  margin: 0;
  max-width: 900px;
  font-family: var(--font-display);
  font-size: clamp(30px, 4.6vw, 64px);
  font-weight: 700;
  line-height: 1.02;
  letter-spacing: -0.03em;
  color: #fff;
}

html[data-home] .djs-caption {
  margin: 14px 0 0;
  color: var(--steel);
}

html[data-home] .djs {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 14px;
  margin-top: 40px;
}

html[data-home] .dj {
  --c: var(--pink);
  position: relative;
  display: block;
  overflow: hidden;
  aspect-ratio: 3 / 4.4;
  border-radius: 16px;
  background: var(--card, #1c1233);
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.08);
  transition: transform 0.35s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.35s;
}

html[data-home] .dj:nth-child(6n + 2) { --c: var(--gold); }
html[data-home] .dj:nth-child(6n + 3) { --c: var(--teal); }
html[data-home] .dj:nth-child(6n + 4) { --c: var(--autumn); }
html[data-home] .dj:nth-child(6n + 5) { --c: var(--ice); }
html[data-home] .dj:nth-child(6n + 6) { --c: var(--summer); }

html[data-home] .dj img,
html[data-home] .dj video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 30%;
  transition: transform 0.6s cubic-bezier(0.2, 0.8, 0.2, 1);
}
html[data-home] .dj::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, color-mix(in srgb, var(--c) 70%, #000) 0%, color-mix(in srgb, var(--c) 25%, transparent) 38%, transparent 60%);
  mix-blend-mode: normal;
}

html[data-home] .dj__name {
  position: absolute;
  left: 14px;
  right: 14px;
  bottom: 14px;
  z-index: 1;
  font-family: var(--font-display);
  font-size: 15px;
  font-weight: 700;
  line-height: 1.15;
  color: #fff;
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.5);
}

html[data-home] .dj__play {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 1;
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--c);
  opacity: 0;
  transform: scale(0.7);
  transition: opacity 0.3s, transform 0.3s;
}

html[data-home] .dj__play svg {
  width: 16px;
  height: 16px;
  fill: #120a22;
}
html[data-home] .dj__open {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  padding: 0;
  border: 0;
  background: none;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

html[data-home] .dj__open:focus-visible {
  outline: 2px solid var(--c);
  outline-offset: -2px;
  border-radius: 16px;
}
html[data-home] .dj-viewer {
  width: 100vw;
  max-width: none;
  height: 100dvh;
  max-height: none;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: #fff;
  overflow: hidden;
}

html[data-home] .dj-viewer::backdrop {
  background: rgba(8, 4, 16, 0.92);
  backdrop-filter: blur(10px);
}

html[data-home] .dj-viewer[open] {
  display: grid;
  grid-template-rows: 1fr auto;
  place-items: center;
  gap: 14px;
  padding: 56px 16px 24px;
  animation: viewer-in 0.25s ease-out;
}

@keyframes viewer-in {
  from { opacity: 0; transform: scale(0.97); }
}

html[data-home] .dj-viewer__stage {
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  min-height: 0;
}

html[data-home] .dj-viewer__video {
  display: block;
  width: auto;
  max-width: 100%;
  height: calc(100dvh - 140px);
  aspect-ratio: 9 / 16;
  border-radius: 18px;
  background: #000;
  box-shadow: 0 0 0 2px var(--c, var(--pink)), 0 30px 90px color-mix(in srgb, var(--c, var(--pink)) 35%, transparent);
}

html[data-home] .dj-viewer__name {
  margin: 0;
  font-family: var(--font-display);
  font-size: clamp(18px, 2.4vw, 28px);
  font-weight: 700;
}

html[data-home] .dj-viewer__btn {
  position: absolute;
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, 0.25);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
  cursor: pointer;
  transition: background 0.2s, border-color 0.2s;
}

html[data-home] .dj-viewer__btn:hover {
  border-color: var(--c, var(--pink));
  background: var(--c, var(--pink));
  color: #120a22;
}

html[data-home] .dj-viewer__btn svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

html[data-home] .dj-viewer__close { top: 16px; right: 16px; width: 44px; height: 44px; }
html[data-home] .dj-viewer__prev { left: max(16px, calc(50% - 360px)); top: 50%; transform: translateY(-50%); }
html[data-home] .dj-viewer__next { right: max(16px, calc(50% - 360px)); top: 50%; transform: translateY(-50%); }

html.dj-lock {
  overflow: hidden;
}

@media (max-width: 760px) {
  html[data-home] .dj-viewer[open] {
    padding: 64px 0 20px;
  }

  html[data-home] .dj-viewer__video {
    width: 100%;
    height: calc(100dvh - 150px);
    object-fit: contain;
    border-radius: 0;
    box-shadow: none;
  }

  html[data-home] .dj-viewer__prev,
  html[data-home] .dj-viewer__next {
    top: auto;
    bottom: 12px;
    width: 44px;
    height: 44px;
    transform: none;
  }
}

@media (hover: hover) {
  html[data-home] .dj:hover {
    transform: translateY(-6px);
    box-shadow: 0 0 0 2px var(--c), 0 18px 50px color-mix(in srgb, var(--c) 45%, transparent);
  }

  html[data-home] .dj:hover img,
  html[data-home] .dj:hover video {
    transform: scale(1.06);
  }

  html[data-home] .dj:hover .dj__play {
    opacity: 1;
    transform: none;
  }
}
html[data-home] .names {
  overflow: hidden;
  margin-top: 56px;
  padding: 10px 0;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

html[data-home] .names__track {
  display: flex;
  width: max-content;
  animation: home-ribbon 60s linear infinite;
}

html[data-home] .names span {
  padding: 0 28px;
  font-family: var(--font-display);
  font-size: clamp(30px, 5vw, 72px);
  font-weight: 800;
  line-height: 1.2;
  text-transform: uppercase;
  white-space: nowrap;
  color: rgba(255, 255, 255, 0.16);
}

html[data-home] .names span::after {
  content: "✦";
  margin-left: 56px;
  color: var(--pink);
  font-size: 0.5em;
  vertical-align: middle;
}

html[data-home] .names span:nth-child(3n + 1) { color: var(--pink); }
html[data-home] .names span:nth-child(5n + 3) { color: var(--gold); }
html[data-home] .names span:nth-child(7n + 5) { color: var(--teal); }
html[data-home="c"] .kicker::before {
  width: 14px;
  height: 12px;
  border-radius: 0;
  background:
    linear-gradient(var(--pink), var(--pink)) 0 100% / 3px 60% no-repeat,
    linear-gradient(var(--gold), var(--gold)) 50% 100% / 3px 100% no-repeat,
    linear-gradient(var(--teal), var(--teal)) 100% 100% / 3px 40% no-repeat;
}
html[data-home="c"] #collab .lead-form {
  border-color: transparent;
  background:
    linear-gradient(var(--card, #1c1233), var(--card, #1c1233)) padding-box,
    var(--mix) border-box;
  border: 2px solid transparent;
  box-shadow: 0 0 60px rgba(255, 62, 165, 0.15);
}

@media (max-width: 1100px) {
  html[data-home] .djs {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 760px) {
  html[data-home="c"] .gate__doors {
    padding-top: 10px;
  }

  html[data-home="c"] .door__poster {
    border-radius: 8px;
    box-shadow: 0 0 0 2px var(--c), 0 0 0 4px rgba(255, 255, 255, 0.15), 0 12px 30px rgba(20, 0, 80, 0.5);
  }

  html[data-home] .door__title {
    font-size: clamp(13px, 3.7vw, 16px);
    text-wrap: balance;
  }

  html[data-home] .door__date {
    font-size: 11px;
  }
}

@media (max-width: 760px) {
  html[data-home] .djs {
    display: flex;
    gap: 12px;
    overflow-x: auto;
    margin-right: calc(-1 * var(--gutter));
    margin-left: calc(-1 * var(--gutter));
    padding: 8px var(--gutter) 6px;
    scroll-snap-type: x mandatory;
    scroll-padding: 0 var(--gutter);
    scrollbar-width: none;
  }

  html[data-home] .djs::-webkit-scrollbar {
    display: none;
  }

  html[data-home] .dj {
    flex: 0 0 44%;
    scroll-snap-align: start;
  }

  html[data-home] .eq {
    height: 44px;
    gap: 3px;
    margin-top: 32px;
  }

  html[data-home] .eq i:nth-child(n + 41) {
    display: none;
  }

  html[data-home] .laser {
    width: 2px;
  }

  html[data-home] #about .wrap::after,
  html[data-home] #about .wrap::before {
    top: -60px;
    right: -70px;
    width: 220px;
  }

  html[data-home] #about .wrap::after { opacity: 0.35; }
  html[data-home] #about .wrap::before { opacity: 0.35; }
}

@media (prefers-reduced-motion: reduce) {
  html[data-home] .laser,
  html[data-home] .spot,
  html[data-home] .eq i,
  html[data-home] #about .wrap::after,
  html[data-home] #about .wrap::before,
  html[data-home] .names__track {
    animation: none;
  }
}
html[data-home="c"] {
  --violet: #3a06bd;
  --violet-deep: #22067a;
  --coral: #ff6a3d;
  --gold: #ffcf3f;
  --bg: #2a0796;
  --bg-rgb: 42, 7, 150;
  --bg2: #320aa6;
  --bg2-rgb: 50, 10, 166;
  --surface: #3a12b0;
  --card: rgba(255, 255, 255, 0.08);
  --line: rgba(255, 255, 255, 0.18);
  --line-strong: rgba(255, 255, 255, 0.35);
  --steel: #d2c2ff;
  --soft: #f1e9ff;
}

html[data-home="c"] body {
  background:
    radial-gradient(60% 40% at 100% 30%, rgba(255, 62, 165, 0.35), transparent 70%),
    radial-gradient(50% 35% at 0% 55%, rgba(25, 211, 197, 0.28), transparent 70%),
    radial-gradient(60% 35% at 100% 80%, rgba(255, 106, 61, 0.3), transparent 70%),
    linear-gradient(180deg, #3a06bd 0%, #2e08a4 35%, #27068c 70%, #1d0566 100%);
  background-color: var(--bg);
  color: #fff;
}

html[data-home="c"] .site-header {
  background: rgba(46, 8, 164, 0.9);
}

html[data-home="c"] .mobile-menu {
  background: rgba(38, 6, 140, 0.98);
}
html[data-home="c"] .gate {
  background: var(--violet);
}

html[data-home="c"] .gate::before {
  background:
    radial-gradient(26% 30% at 6% 20%, rgba(255, 106, 61, 0.95), transparent 70%),
    radial-gradient(24% 28% at 28% 4%, rgba(255, 207, 63, 0.8), transparent 70%),
    radial-gradient(26% 32% at 72% 6%, rgba(255, 62, 165, 0.9), transparent 70%),
    radial-gradient(26% 32% at 96% 26%, rgba(25, 211, 197, 0.85), transparent 70%),
    radial-gradient(30% 30% at 88% 70%, rgba(255, 62, 165, 0.7), transparent 70%),
    radial-gradient(30% 30% at 10% 70%, rgba(25, 211, 197, 0.6), transparent 70%),
    radial-gradient(36% 30% at 50% 36%, rgba(80, 20, 230, 0.9), transparent 72%),
    radial-gradient(34% 28% at 34% 96%, rgba(255, 207, 63, 0.55), transparent 70%),
    radial-gradient(38% 28% at 74% 98%, rgba(255, 106, 61, 0.6), transparent 70%);
}

html[data-home="c"] .gate::after {
  background: linear-gradient(to bottom, transparent 82%, rgba(58, 6, 189, 0.6));
}
html[data-home] .gate__eagle {
  display: block;
  width: min(640px, 92vw);
  height: auto;
  margin: -6px auto calc(min(640px, 92vw) * -0.2);
  filter: drop-shadow(0 0 40px rgba(255, 207, 63, 0.35));
  animation: eagle-float 6s ease-in-out infinite alternate;
}

@keyframes eagle-float {
  from { transform: translateY(0); }
  to { transform: translateY(-8px); }
}

html[data-home] .gate__logo {
  position: relative;
}

html[data-home="c"] .chrome {
  filter: drop-shadow(0 4px 0 rgba(34, 6, 122, 0.55)) drop-shadow(0 0 26px rgba(255, 207, 63, 0.45));
}

html[data-home="c"] .gate__intl {
  color: var(--gold);
}

html[data-home="c"] .gate__sub {
  color: #fff;
  font-weight: 500;
}

html[data-home="c"] .door__poster {
  box-shadow: 0 0 0 3px var(--c), 0 0 0 6px rgba(255, 255, 255, 0.15), 0 24px 60px rgba(20, 0, 80, 0.55);
}

html[data-home="c"] .door__date {
  color: var(--soft);
}

html[data-home="c"] .door__status,
html[data-home="c"] .hist__status {
  border-color: color-mix(in srgb, var(--c) 60%, #fff);
  background: rgba(20, 0, 80, 0.55);
  color: #fff;
}

html[data-home="c"] .ribbon {
  background: rgba(20, 0, 80, 0.35);
}

html[data-home="c"] .ribbon__chip {
  color: #fff;
}

html[data-home] .eq i {
  background: linear-gradient(to top, var(--pink), var(--coral, #ff6a3d) 40%, var(--gold) 75%, #fff);
}
html[data-home="c"] .kicker {
  color: var(--gold);
}

html[data-home="c"] .statement-title {
  color: var(--gold);
}

html[data-home="c"] .djs-caption {
  color: var(--soft);
}

html[data-home] .names span {
  color: rgba(255, 255, 255, 0.24);
}

html[data-home] .names span:nth-child(3n + 1) { color: var(--pink); }
html[data-home] .names span:nth-child(5n + 3) { color: var(--gold); }
html[data-home] .names span:nth-child(7n + 5) { color: var(--teal); }

html[data-home] .names {
  background: rgba(20, 0, 80, 0.3);
}

html[data-home] .dj {
  box-shadow: 0 0 0 2px var(--c), 0 16px 40px rgba(20, 0, 80, 0.45);
}
html[data-home="c"] .hist,
html[data-home="c"] .lead-form {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.2);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}

html[data-home="c"] .hist:hover {
  border-color: var(--gold);
  background: rgba(255, 255, 255, 0.12);
}

html[data-home="c"] .hist__date,
html[data-home="c"] .hist__place,
html[data-home="c"] .field label {
  color: var(--steel);
}

html[data-home="c"] .field input::placeholder,
html[data-home="c"] .field textarea::placeholder {
  color: rgba(255, 255, 255, 0.5);
}

html[data-home="c"] .lead-form .btn {
  background: var(--gold);
  border-color: var(--gold);
  color: var(--violet-deep);
  font-weight: 700;
}

html[data-home="c"] .lead-form .btn:hover {
  background: #fff;
  border-color: #fff;
  color: var(--violet-deep);
}

html[data-home="c"] #about .wrap::after {
  opacity: 0.8;
}

html[data-home="c"] .site-footer {
  background: #1a0559;
}

@media (prefers-reduced-motion: reduce) {
  html[data-home] .gate__eagle { animation: none; }
}
html[data-home] #about {
  overflow: hidden;
  overflow: clip;
}
html[data-home="c"] #collab .lead-form {
  background:
    linear-gradient(#36109f, #2d0b8f) padding-box,
    var(--mix) border-box;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

html[data-home][data-tone="dark"] {
  --violet: #0d080b;
  --violet-deep: #0d080b;
  --ruby-rgb: 214, 32, 59;
  --bg: #0d080b;
  --bg-rgb: 13, 8, 11;
  --bg2: #120c10;
  --bg2-rgb: 18, 12, 16;
  --surface: #161014;
  --card: rgba(245, 245, 245, 0.06);
  --line: rgba(245, 245, 245, 0.1);
  --line-strong: rgba(245, 245, 245, 0.24);
  --steel: #c9c9c9;
  --soft: rgba(245, 245, 245, 0.8);
  --pink: #f5f5f5;
  --gold: #f5f5f5;
  --coral: #f5f5f5;
  --autumn: #c9c9c9;
  --teal: #8f8a8d;
  --ice: #c9c9c9;
  --summer: #3a3337;
  --mix: linear-gradient(90deg, rgba(245, 245, 245, 0.08), rgba(245, 245, 245, 0.08));
}

html[data-home][data-tone="dark"] body {
  background: #0d080b;
  color: #f5f5f5;
}

html[data-home][data-tone="dark"] [style*="--c"] {
  --c: rgba(245, 245, 245, 0.35) !important;
}

html[data-home][data-tone="dark"] .site-header {
  background: rgba(13, 8, 11, 0.86);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

html[data-home][data-tone="dark"] .site-header::after {
  height: 1px;
  bottom: -1px;
  opacity: 1;
}

html[data-home][data-tone="dark"] .site-nav a {
  color: #f5f5f5;
}

html[data-home][data-tone="dark"] .mobile-menu {
  background: rgba(13, 8, 11, 0.98);
}

html[data-home][data-tone="dark"] .gate {
  background: #0d080b;
}

html[data-home][data-tone="dark"] .gate::before {
  background:
    radial-gradient(42% 38% at 50% 40%, rgba(var(--ruby-rgb), 0.14), transparent 72%),
    radial-gradient(70% 60% at 50% 0%, rgba(245, 245, 245, 0.05), transparent 70%);
  animation: none;
}

html[data-home][data-tone="dark"] .gate::after {
  background: linear-gradient(to bottom, transparent 80%, #0d080b);
}

html[data-home][data-tone="dark"] .laser {
  opacity: 0.12;
  box-shadow: none;
}

html[data-home][data-tone="dark"] .spot {
  opacity: 0.1;
  filter: none;
}

html[data-home][data-tone="dark"] .party {
  mix-blend-mode: normal;
}

html[data-home][data-tone="dark"] .eq i {
  background: linear-gradient(to top, rgba(245, 245, 245, 0.1), rgba(245, 245, 245, 0.55));
}

html[data-home][data-tone="dark"] .kicker,
html[data-home][data-tone="dark"] .gate__intl {
  color: rgba(245, 245, 245, 0.6);
}

html[data-home][data-tone="dark"] .gate__sub,
html[data-home][data-tone="dark"] .statement-title,
html[data-home][data-tone="dark"] .djs-caption {
  color: #c9c9c9;
}

html[data-home][data-tone="dark"] .door__poster {
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.5);
}

html[data-home][data-tone="dark"] .door:hover .door__poster {
  box-shadow: 0 0 0 1px rgba(245, 245, 245, 0.5), 0 20px 50px rgba(0, 0, 0, 0.5);
}

html[data-home][data-tone="dark"] .door__date,
html[data-home][data-tone="dark"] .hist__date,
html[data-home][data-tone="dark"] .hist__place {
  color: #c9c9c9;
}

html[data-home][data-tone="dark"] .door__status,
html[data-home][data-tone="dark"] .hist__status {
  border-color: rgba(245, 245, 245, 0.35);
  background: transparent;
  color: #f5f5f5;
}

html[data-home][data-tone="dark"] .ribbon,
html[data-home][data-tone="dark"] .names {
  background: transparent;
  border-color: rgba(245, 245, 245, 0.08);
}

html[data-home][data-tone="dark"] .ribbon__chip {
  color: rgba(245, 245, 245, 0.7);
}

html[data-home][data-tone="dark"] .names span {
  color: rgba(245, 245, 245, 0.14);
}

html[data-home][data-tone="dark"] .names span:nth-child(3n + 1) {
  color: rgba(245, 245, 245, 0.9);
}

html[data-home][data-tone="dark"] .dj {
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.5);
}

html[data-home][data-tone="dark"] .hist,
html[data-home][data-tone="dark"] .lead-form,
html[data-home][data-tone="dark"] #collab .lead-form {
  background: rgba(245, 245, 245, 0.05);
  border: 1px solid rgba(245, 245, 245, 0.08);
  border-radius: 12px;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

html[data-home][data-tone="dark"] .hist:hover {
  background: rgba(245, 245, 245, 0.09);
  border-color: rgba(245, 245, 245, 0.16);
}

html[data-home][data-tone="dark"] .lead-form .btn {
  border-radius: 999px;
  background: #f5f5f5;
  border-color: #f5f5f5;
  color: #0d080b;
  letter-spacing: 0.14em;
}

html[data-home][data-tone="dark"] .lead-form .btn:hover {
  background: #ffffff;
  border-color: #ffffff;
  color: #0d080b;
}

html[data-home][data-tone="dark"] .site-footer {
  background: #0a0609;
  border-top: 1px solid rgba(245, 245, 245, 0.08);
}

html[data-home] .gate__logo--img {
  width: min(760px, 86vw);
  margin-top: -4px;
}

html[data-home] .gate__logo--img img {
  display: block;
  width: 100%;
  height: auto;
  filter: drop-shadow(0 0 2px rgba(var(--ruby-rgb, 224, 32, 60), 0.6)) drop-shadow(0 0 48px rgba(var(--ruby-rgb, 224, 32, 60), 0.35)) drop-shadow(0 18px 30px rgba(0, 0, 0, 0.55));
  animation: eagle-float 6s ease-in-out infinite alternate;
}

@media (max-width: 760px) {
  html[data-home] .gate__logo--img {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  html[data-home] .gate__logo--img img { animation: none; }
}

html[data-home][data-tone="dark"] .gate__logo--img img {
  filter: drop-shadow(0 0 1px rgba(255, 255, 255, 0.5)) drop-shadow(0 0 42px rgba(200, 215, 235, 0.22)) drop-shadow(0 18px 30px rgba(0, 0, 0, 0.6));
}

html[data-home][data-tone="dark"] .gate::before {
  background:
    radial-gradient(42% 38% at 50% 42%, rgba(210, 220, 235, 0.08), transparent 72%),
    radial-gradient(70% 60% at 50% 0%, rgba(245, 245, 245, 0.05), transparent 70%);
}

html[data-home][data-tone="dark"] .gate__intl {
  color: rgba(225, 232, 242, 0.7);
}

html[data-home][data-tone="dark"] .gate__sub {
  color: #e9eef5;
  letter-spacing: 0.04em;
}

html[data-home] .section--djs .kicker,
html[data-home] .djs-title,
html[data-home] .djs-caption {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

html[data-home] .section--djs .kicker {
  justify-content: center;
}

html[data-home][data-tone="dark"] {
  --bg: #0e0424;
  --bg-rgb: 14, 4, 36;
  --bg2: #150735;
  --bg2-rgb: 21, 7, 53;
  --surface: #1a0a40;
  --violet: #3607ac;
  --violet-deep: #0e0424;
}

html[data-home][data-tone="dark"] body {
  background:
    radial-gradient(70% 40% at 50% 0%, rgba(54, 7, 172, 0.55), transparent 70%),
    radial-gradient(60% 35% at 100% 45%, rgba(54, 7, 172, 0.22), transparent 70%),
    radial-gradient(60% 35% at 0% 75%, rgba(54, 7, 172, 0.18), transparent 70%),
    linear-gradient(180deg, #1a0650 0%, #12043a 30%, #0e0424 60%, #0a031a 100%);
  background-color: #0e0424;
}

html[data-home][data-tone="dark"] .site-header {
  background: rgba(20, 5, 58, 0.85);
}

html[data-home][data-tone="dark"] .mobile-menu {
  background: rgba(14, 4, 36, 0.98);
}

html[data-home][data-tone="dark"] .gate {
  background: transparent;
}

html[data-home][data-tone="dark"] .gate::before {
  background:
    radial-gradient(45% 42% at 50% 42%, rgba(80, 30, 230, 0.55), transparent 72%),
    radial-gradient(80% 60% at 50% 0%, rgba(54, 7, 172, 0.6), transparent 70%);
}

html[data-home][data-tone="dark"] .gate::after {
  background: linear-gradient(to bottom, transparent 80%, rgba(14, 4, 36, 0.6));
}

html[data-home][data-tone="dark"] .gate__logo--img img {
  filter: drop-shadow(0 0 1px rgba(255, 255, 255, 0.6)) drop-shadow(0 0 46px rgba(150, 110, 255, 0.45)) drop-shadow(0 18px 30px rgba(5, 0, 20, 0.7));
}

html[data-home][data-tone="dark"] .gate__intl {
  color: rgba(214, 200, 255, 0.8);
}

html[data-home][data-tone="dark"] .hist,
html[data-home][data-tone="dark"] .lead-form,
html[data-home][data-tone="dark"] #collab .lead-form {
  background: rgba(120, 80, 255, 0.07);
  border-color: rgba(190, 170, 255, 0.16);
}

html[data-home][data-tone="dark"] .hist:hover {
  background: rgba(120, 80, 255, 0.12);
}

html[data-home][data-tone="dark"] .site-footer {
  background: #08021a;
}

html[data-home] .site-logo img,
html[data-home] .site-logo:hover img {
  filter: none;
  opacity: 1;
}

html[data-home] .site-logo:hover img {
  opacity: 0.85;
}

/* Кнопка «Слушать радио» в hero */
.radio-cta {
  position: relative;
  z-index: 3;
  isolation: isolate;
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-height: 56px;
  margin-top: 24px;
  padding: 8px 22px 8px 9px;
  border-radius: 999px;
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-decoration: none;
  box-shadow: 0 0 34px rgba(124, 77, 255, 0.45);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.radio-cta::before {
  content: "";
  position: absolute;
  z-index: -2;
  top: 50%;
  left: 50%;
  width: 130%;
  aspect-ratio: 1;
  background: conic-gradient(#7c4dff, #ff3ea5 18%, #ffffff 26%, #7c4dff 40%, #3607ac 70%, #7c4dff);
  transform: translate(-50%, -50%);
  animation: radio-cta-ring 3.2s linear infinite;
}

.radio-cta::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 2px;
  border-radius: inherit;
  background: #170a45;
  transition: background 0.25s ease;
}

.radio-cta__disc {
  position: relative;
  flex: none;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background:
    radial-gradient(circle, #fff 0 2px, #ff3ea5 2.5px 7px, transparent 7.5px),
    repeating-radial-gradient(circle, #0b0618 0 2px, #24183f 2px 3px);
  animation: radio-cta-spin 2.4s linear infinite;
}

.radio-cta__disc::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background: conic-gradient(transparent 0 8%, rgba(255, 255, 255, 0.38) 13%, transparent 18% 58%, rgba(255, 255, 255, 0.26) 63%, transparent 68%);
}

.radio-cta__eq {
  display: inline-flex;
  align-items: flex-end;
  gap: 3px;
  height: 18px;
}

.radio-cta__eq i {
  width: 3px;
  height: 100%;
  border-radius: 2px;
  background: #fff;
  transform: scaleY(0.35);
  transform-origin: bottom;
  animation: radio-cta-eq 0.9s ease-in-out infinite alternate;
}

.radio-cta__eq i:nth-child(2) { animation-duration: 0.65s; animation-delay: -0.3s; }
.radio-cta__eq i:nth-child(3) { animation-duration: 1.05s; animation-delay: -0.55s; }
.radio-cta__eq i:nth-child(4) { animation-duration: 0.75s; animation-delay: -0.15s; }

@keyframes radio-cta-ring {
  to { transform: translate(-50%, -50%) rotate(360deg); }
}

@keyframes radio-cta-spin {
  to { transform: rotate(360deg); }
}

@keyframes radio-cta-eq {
  to { transform: scaleY(1); }
}

@media (hover: hover) {
  .radio-cta:hover {
    transform: translateY(-2px) scale(1.03);
    box-shadow: 0 0 52px rgba(255, 62, 165, 0.5);
  }

  .radio-cta:hover::after {
    background: #2a1170;
  }
}

.radio-cta:active {
  transform: scale(0.98);
}

.radio-cta:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
  .radio-cta,
  .radio-cta::after {
    transition: none;
  }

  .radio-cta::before,
  .radio-cta__disc,
  .radio-cta__eq i {
    animation: none;
  }

  .radio-cta__eq i:nth-child(odd) { transform: scaleY(0.6); }
  .radio-cta__eq i:nth-child(even) { transform: scaleY(1); }
}
