/* hero_swaps.css — de-scoped cross-vibe looks (GENERATED). Hero+Editorial+Formal. var() fallbacks. vibelooks-20260718 */

/* ===== SLOT: headline ===== */
/* headliner */
.hdl-hero__title { font-family: 'Archivo Black', sans-serif; font-weight: 900; font-size: clamp(44px, 7.5vw, 100px); line-height: 1; letter-spacing: -0.03em; margin: 0; background: linear-gradient(135deg, #fef3c7 0%, var(--event-accent, #ff8a3d) 50%, var(--event-accent-2, #ff3d81) 100%); -webkit-background-clip: text; background-clip: text; color: transparent; text-wrap: balance; text-transform: uppercase; }
/* junglist */
.jng-hero__title { font-family: 'Archivo Black', sans-serif; font-weight: 900; font-size: clamp(44px, 7.5vw, 100px); line-height: 0.95; letter-spacing: -0.03em; margin: 0; color: #fff; text-transform: uppercase; text-wrap: balance; text-shadow: 4px 4px 0 var(--event-accent, #ff8a3d), 8px 8px 0 var(--event-accent-2, #ff3d81); transform: rotate(-1deg); transform-origin: left; }
@media (max-width: 860px) {
  .jng-hero__title { transform: none; }
}
/* sub_bass */
.sb-hero__title { font-family: 'Archivo Black', sans-serif; font-weight: 900; font-size: clamp(44px, 7.5vw, 100px); line-height: 0.92; letter-spacing: -0.04em; margin: var(--s-3, 12px) 0 var(--s-5, 24px); color: #f5f0ff; text-transform: uppercase; text-shadow: -2px 0 0 rgba(168, 85, 247, 0.85), 2px 0 0 rgba(34, 211, 238, 0.75); text-wrap: balance; }
/* substation */
.sub-hero__title { font-family: 'Archivo Black', 'Inter', sans-serif; font-weight: 900; font-size: clamp(44px, 7.5vw, 100px); line-height: 0.92; letter-spacing: -0.04em; margin: 0; color: #f5f5f5; text-transform: uppercase; text-wrap: balance; text-shadow: 0.028em 0 0 rgba(255, 42, 120, 0.75), -0.028em 0 0 rgba(0, 240, 255, 0.75), 0 0 18px rgba(0, 255, 157, 0.55); animation: sub-glitch 3.8s steps(1) infinite; will-change: transform, text-shadow; }
@media (prefers-reduced-motion: reduce) {
  .sub-hero__title { animation: none; }
}
/* playa */
.ply-title { font-family: 'Archivo Black', sans-serif; font-size: clamp(48px, 12vw, 150px); line-height: 0.88; letter-spacing: -0.02em; text-transform: uppercase; margin: 0; color: #fbe9cd; text-shadow: 0 0 26px rgba(255,170,90,0.45), 0 4px 0 rgba(58,30,18,0.6); text-wrap: balance; }
/* candlelight */
.cdl-title { font-family: 'Cormorant Garamond', serif; font-weight: 600; font-size: clamp(38px, 8.5vw, 84px); line-height: 1.04; margin: clamp(12px,2vw,18px) 0; color: var(--cream, #f3e7d2); text-shadow: 0 0 30px rgba(230,179,92,.35); }
/* deco */
.dco-title { font-family: 'Poiret One', cursive; font-weight: 400; font-size: clamp(40px, 9vw, 96px); line-height: 1.02; letter-spacing: 0.04em; text-transform: uppercase; margin: 0; background: linear-gradient(100deg, var(--gold-d, #9a7f34), var(--gold-l, #f4e3a6) 45%, var(--gold, #d9b95c) 60%, var(--gold-d, #9a7f34)); background-size: 220% auto; -webkit-background-clip: text; background-clip: text; color: transparent; animation: dco-foil 9s linear infinite; }
@media (prefers-reduced-motion: reduce) {
  .dco-sun, .dco-title, .dco-pilaster::before,
  .dco-kicker span, .vx-pay, .dco-sticky { animation: none; }
  .dco-title { background-position: 0 center; }
}
/* garden */
.grd-title { font-family: 'Cormorant Garamond', serif; font-weight: 600; font-size: clamp(40px, 9vw, 88px); line-height: 1.04; margin: 6px 0 0; color: var(--ink, #34372c); }
/* harvest */
.hrv-title { font-family: 'Fraunces', serif; font-weight: 600; font-size: clamp(38px, 8.5vw, 84px); line-height: 1.04; margin: 8px 0 0; color: var(--cream, #f1e6d2); text-shadow: 0 0 30px rgba(217,154,82,.3); }
/* noir */
.noir-title { font-family: 'Cinzel', serif; font-weight: 700; font-size: clamp(34px, 7.5vw, 80px); line-height: 1.06; letter-spacing: .02em; margin: clamp(12px,2vw,18px) 0; background: linear-gradient(100deg, #9a7d20, var(--gold-l, #f3e2a3) 45%, var(--gold, #d4af37) 60%, #9a7d20); background-size: 220% auto; -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent; animation: noir-sheen 6.5s linear infinite; }
@media (prefers-reduced-motion: reduce) {
  body.noir-sparkle, .noir-title, .noir-rule,
  .noir-panel .vx-pay, .noir-sticky { animation: none; }
  .noir-title { background: none; -webkit-text-fill-color: var(--gold, #d4af37); color: var(--gold, #d4af37); }
}
/* velvet */
.vlv-title { font-family: 'Fraunces', serif; font-weight: 600; font-size: clamp(38px, 8.5vw, 84px); line-height: 1.04; margin: 6px 0 12px; color: var(--ink, #f3ecdd); background: linear-gradient(100deg, var(--gold-d, #b8943f), #fff4d8 45%, var(--gold, #e6c98a) 60%, var(--gold-d, #b8943f)); background-size: 220% auto; -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent; animation: vlv-sheen 8s linear infinite; }
@media (prefers-reduced-motion: reduce) {
  body.vibe-velvet::before, .vlv-title, .vlv-panel .vx-pay, .vlv-sticky { animation: none; }
  .vlv-title { background: none; -webkit-text-fill-color: var(--gold, #e6c98a); color: var(--gold, #e6c98a); }
}
/* eternal */
.etn-title { font-family: 'Cormorant Garamond', serif; font-weight: 600; font-size: clamp(38px, 8vw, 76px); line-height: 1.05; margin: 0; letter-spacing: 0.01em; background: linear-gradient(100deg, var(--gold-d, #9c7c31), #eacd82 45%, var(--gold, #c8a24a) 60%, var(--gold-d, #9c7c31)); background-size: 220% auto; -webkit-background-clip: text; background-clip: text; color: transparent; animation: etn-foil 9s linear infinite; }
@media (prefers-reduced-motion: reduce) {
  .etn-petals i, .etn-title { animation: none; }
  .etn-title { background-position: 0 center; }
}
/* launch */
.lnch-title { font-weight: 700; font-size: clamp(38px, 8vw, 92px); line-height: .98; letter-spacing: -.03em; margin: 0 0 12px; background: linear-gradient(100deg, var(--violet, #7c5cff), var(--cyan, #22d3ee) 45%, var(--pink, #ff5ca8) 75%, var(--violet, #7c5cff)); background-size: 240% auto; -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent; animation: lnch-flow 7s linear infinite; }
@media (prefers-reduced-motion: reduce) {
  body.lnch-mesh, .lnch-title, .lnch-panel .vx-pay, .lnch-sticky { animation: none; }
  .lnch-title { background: none; -webkit-text-fill-color: var(--violet, #7c5cff); color: var(--violet, #7c5cff); }
}
/* boardroom */
.brd-title { font-weight: 700; font-size: clamp(34px, 6vw, 66px); line-height: 1.04; letter-spacing: -0.02em; margin: clamp(22px,4vw,36px) 0 8px; color: var(--ink, #16202e); }
/* house */
.hse-title { font-family: 'Archivo Black', sans-serif; font-size: clamp(34px, 6.5vw, 68px); line-height: 1.02; letter-spacing: -0.02em; margin: clamp(12px, 2vw, 18px) 0 0; color: var(--hse-ink, #fef3c7); text-shadow: 0 2px 30px rgba(249,115,22,0.3); text-wrap: balance; }
/* summit */
.smt-title { font-weight: 700; font-size: clamp(36px, 7vw, 74px); line-height: 1.03; letter-spacing: -0.02em; margin: clamp(8px,1.5vw,14px) 0 10px; color: var(--ink, #eaf1fb); }
/* supper */
.sup-title { font-family: 'Cormorant Garamond', serif; font-weight: 600; font-size: clamp(38px, 8vw, 76px); line-height: 1.02; letter-spacing: 0.005em; margin: 0; background: linear-gradient(100deg, var(--gold, #b08a3e) 0%, #7a5f27 30%, var(--gold-l, #e6c877) 50%, #7a5f27 70%, var(--gold, #b08a3e) 100%); background-size: 220% auto; -webkit-background-clip: text; background-clip: text; color: transparent; animation: sup-foil 9s linear infinite; }
@media (prefers-reduced-motion: reduce) {
  .sup-table, .sup-title, .sup-divider span { animation: none; }
  .sup-title { background-position: 0 center; }
}

/* ===== SLOT: venue ===== */
/* headliner */
.hdl-hero__venue { margin-top: var(--s-5, 24px); font-size: 18px; color: #c8c0a8; display: flex; flex-wrap: wrap; gap: var(--s-3, 12px); justify-content: center; }
.hdl-hero__venue strong { color: #f8f5e8; font-weight: 600; }
.hdl-hero__venue { justify-content: flex-start; }
@media (max-width: 900px) {
  .hdl-hero, .hdl-hero__venue { text-align: center; justify-content: center; }
}
/* junglist */
.jng-hero__venue { margin-top: var(--s-6, 32px); font-size: 16px; color: #b8e6b8; display: flex; flex-wrap: wrap; gap: var(--s-3, 12px); }
.jng-hero__venue strong { color: var(--event-accent-2, #ff3d81); font-weight: 700; }
/* sub_bass */
.sb-hero__venue { font-size: 18px; color: #c8b5dd; display: flex; flex-wrap: wrap; gap: var(--s-3, 12px); align-items: baseline; margin-top: var(--s-3, 12px); }
.sb-hero__venue strong { color: #f5f0ff; font-weight: 700; }
/* substation */
.sub-hero__venue { margin-top: var(--s-5, 24px); font-size: 16px; letter-spacing: 0.04em; color: #b8b8b8; display: flex; flex-wrap: wrap; gap: var(--s-3, 12px); align-items: baseline; }
.sub-hero__venue strong { color: #f5f5f5; font-weight: 600; }
/* candlelight */
.cdl-venue { font-size: clamp(14px,1.9vw,17px); margin: 8px 0 0; }
/* deco */
.dco-venue { font-size: clamp(15px,2vw,19px); font-weight: 500; margin: 8px 0 0; }
/* garden */
.grd-venue { font-size: clamp(14px,1.9vw,17px); margin: 8px 0 0; }
/* harvest */
.hrv-venue { font-size: clamp(14px,1.9vw,17px); margin: 8px 0 0; }
/* noir */
.noir-venue { font-size: clamp(15px,2vw,19px); font-weight: 500; margin: 8px 0 0; }
/* velvet */
.vlv-venue { font-size: clamp(14px,1.9vw,17px); font-weight: 500; margin: 8px 0 0; }
/* eternal */
.etn-venue { font-size: clamp(16px,2.2vw,20px); font-weight: 600; margin: 6px 0 0; }
/* launch */
.lnch-venue { font-size: clamp(15px,2vw,19px); font-weight: 500; margin: 0; }
/* house */
.hse-venue { display: flex; flex-wrap: wrap; gap: 8px 18px; justify-content: center; margin-top: clamp(14px, 2vw, 20px); font-size: 16px; color: var(--hse-mid, #c9a98a); }
.hse-venue strong { color: var(--hse-cream, #f4e3c3); font-weight: 700; }
/* summit */
.smt-venue { font-size: clamp(15px,2vw,19px); font-weight: 500; margin: 0; }

/* ===== SLOT: date ===== */
/* headliner */
.hdl-hero__eyebrow { font-family: 'JetBrains Mono', monospace; font-size: 11px; letter-spacing: 0.36em; text-transform: uppercase; color: var(--event-accent, #ff8a3d); margin-bottom: var(--s-5, 24px); display: inline-flex; align-items: center; gap: 16px; }
.hdl-hero__eyebrow::before,
.hdl-hero__eyebrow::after { content: ''; width: 40px; height: 1px; background: var(--event-accent, #ff8a3d); opacity: 0.5; }
@media (max-width: 860px) {
  .hdl-hero__eyebrow::before,
  .hdl-hero__eyebrow::after { width: 20px; }
}
/* junglist */
.jng-hero__date { display: inline-block; padding: 6px 12px; background: var(--event-accent, #ff8a3d); color: #020a05; font-family: 'JetBrains Mono', ui-monospace, monospace; font-size: 11px; font-weight: 700; letter-spacing: 0.2em; text-transform: uppercase; margin-bottom: var(--s-4, 16px); box-shadow: 4px 4px 0 #020a05, 4px 4px 0 1px var(--event-accent-2, #ff3d81); }
/* sub_bass */
.sb-hero__date { font-family: 'JetBrains Mono', ui-monospace, Menlo, monospace; font-size: 12px; letter-spacing: 0.3em; text-transform: uppercase; color: var(--event-accent-2, #ff3d81); margin-bottom: var(--s-3, 12px); display: inline-block; padding: 4px 10px; border: 1px solid rgba(34, 211, 238, 0.3); background: rgba(34, 211, 238, 0.06); }
/* substation */
.sub-hero__date { font-family: 'JetBrains Mono', ui-monospace, Menlo, monospace; font-size: 12px; letter-spacing: 0.32em; text-transform: uppercase; color: var(--event-accent, #ff8a3d); margin-bottom: var(--s-3, 12px); }
/* candlelight */
.cdl-date { font-family: 'Cormorant Garamond', serif; font-size: clamp(18px,2.6vw,24px); }
/* deco */
.dco-date { font-weight: 500; letter-spacing: 0.2em; text-transform: uppercase; font-size: clamp(11px,1.5vw,13px); color: var(--gold-l, #f4e3a6); }
/* garden */
.grd-date { font-family: 'Cormorant Garamond', serif; font-size: clamp(18px, 2.6vw, 24px); }
/* harvest */
.hrv-date { font-family: 'Fraunces', serif; font-size: clamp(18px,2.6vw,24px); }
/* noir */
.noir-date { font-size: clamp(18px,2.6vw,24px); letter-spacing: .08em; color: var(--ink, #efe9da); }
/* velvet */
.vlv-date { font-family: 'Fraunces', serif; font-size: clamp(18px,2.6vw,24px); }
/* eternal */
.etn-date { font-style: italic; font-size: clamp(17px,2.4vw,22px); color: var(--ink, #3a3128); }

/* ===== SLOT: presented ===== */
/* headliner */
.hdl-hero__presented { font-family: 'JetBrains Mono', monospace; font-size: 11px; letter-spacing: 0.22em; text-transform: uppercase; color: #8a8470; margin-top: var(--s-3, 12px); }
.hdl-hero__presented a { color: var(--event-accent, #ff8a3d); }
.hdl-hero__presented a:hover { color: var(--event-accent-2, #ff3d81); }
/* junglist */
.jng-hero__presented { font-family: 'JetBrains Mono', monospace; font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase; color: #6ba66b; margin-top: var(--s-3, 12px); }
.jng-hero__presented a { color: var(--event-accent, #ff8a3d); }
.jng-hero__presented a:hover { color: var(--event-accent-2, #ff3d81); }
/* sub_bass */
.sb-hero__presented { font-family: 'JetBrains Mono', monospace; font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase; color: #9b85ba; margin-top: var(--s-3, 12px); }
.sb-hero__presented a { color: var(--event-accent-2, #ff3d81); text-decoration: none; }
.sb-hero__presented a:hover { text-decoration: underline; }
/* substation */
.sub-hero__presented { font-family: 'JetBrains Mono', ui-monospace, Menlo, monospace; font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase; color: #8a8a8a; margin-top: var(--s-3, 12px); }
.sub-hero__presented a { color: var(--event-accent, #ff8a3d); text-decoration: none; }
.sub-hero__presented a:hover { text-decoration: underline; }
/* candlelight */
.cdl-presented { font-size: 13px; opacity: .7; margin: 6px 0 0; }
.cdl-presented a { color: var(--amber, #e6b35c); text-decoration: none; border-bottom: 1px solid var(--evt-border, rgba(230,179,92,.28)); }
/* deco */
.dco-presented { font-size: 12.5px; letter-spacing: 0.06em; color: #b9a877; margin: 6px 0 0; }
.dco-presented a { color: var(--gold, #d9b95c); text-decoration: none; border-bottom: 1px solid rgba(217,185,92,0.4); }
/* garden */
.grd-presented { font-size: 13px; opacity: .7; margin: 6px 0 0; }
.grd-presented a { color: var(--sage-d, #56624a); text-decoration: none; border-bottom: 1px solid var(--evt-border, rgba(86,98,74,.28)); }
/* harvest */
.hrv-presented { font-size: 13px; opacity: .72; margin: 6px 0 0; }
.hrv-presented a { color: var(--wheat, #d99a52); text-decoration: none; border-bottom: 1px solid var(--evt-border, rgba(217,154,82,.30)); }
/* noir */
.noir-presented { font-size: 13px; opacity: .7; margin: 6px 0 0; }
.noir-presented a { color: var(--gold, #d4af37); text-decoration: none; border-bottom: 1px solid var(--evt-border, rgba(212,175,55,.30)); }
.noir-presented { font-size: 14px; }
/* velvet */
.vlv-presented { font-size: 13px; opacity: .72; margin: 6px 0 0; }
.vlv-presented a { color: var(--gold, #e6c98a); text-decoration: none; border-bottom: 1px solid var(--evt-border, rgba(230,201,138,.28)); }
/* launch */
.lnch-presented { font-size: 13px; opacity: .72; margin: 6px 0 0; }
.lnch-presented a { color: var(--cyan, #22d3ee); text-decoration: none; }
/* house */
.hse-presented { margin-top: 10px; font-family: 'JetBrains Mono', ui-monospace, monospace; font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: #a07a5a; }
.hse-presented a { color: var(--event-accent, #ff8a3d); }
.hse-presented a:hover { filter: brightness(1.15); }
/* summit */
.smt-presented { font-size: 13px; color: var(--mute, #93a6c4); margin: 6px 0 0; }
.smt-presented a { color: var(--blue-l, #6ea0ff); text-decoration: none; }

/* ===== SLOT: blurb ===== */
/* headliner */
.hdl-blurb { border-top: 1px solid var(--event-accent, #ff8a3d); border-bottom: 1px solid var(--event-accent, #ff8a3d); padding: var(--s-5, 24px) var(--s-5, 24px); background: rgba(251, 191, 36, 0.04); color: #d4cdb8; font-style: italic; font-size: 15px; line-height: 1.7; white-space: pre-line; text-align: center; }
.hdl-about,
.hdl-blurb { overflow-wrap: anywhere; word-wrap: break-word; }
/* junglist */
.jng-blurb { border-left: 3px solid var(--event-accent-2, #ff3d81); padding: var(--s-4, 16px) var(--s-5, 24px); background: rgba(0, 255, 255, 0.06); color: #b8d8b8; font-style: italic; font-size: 14px; line-height: 1.65; white-space: pre-line; box-shadow: 3px 3px 0 rgba(0, 255, 65, 0.3); }
.jng-blurb { overflow-wrap: anywhere; word-wrap: break-word; }
/* sub_bass */
.sb-blurb { border-left: 2px solid var(--event-accent-2, #ff3d81); padding: var(--s-4, 16px) var(--s-5, 24px); background: linear-gradient(90deg, rgba(34, 211, 238, 0.07) 0%, transparent 100%); color: #c0b5d0; font-style: italic; font-size: 15px; line-height: 1.7; white-space: pre-line; }
.sb-about,
.sb-blurb { overflow-wrap: anywhere; word-wrap: break-word; }
/* substation */
.sub-blurb { border-left: 3px solid var(--event-accent, #ff8a3d); padding: var(--s-4, 16px) var(--s-5, 24px); background: rgba(255,255,255,0.025); color: #c0c0c0; font-style: italic; font-size: 15px; line-height: 1.65; white-space: pre-line; }
.sub-about,
.sub-blurb { overflow-wrap: anywhere; word-wrap: break-word; }
/* playa */
.ply-blurb { margin-top: clamp(24px, 4vw, 34px); font-style: italic; text-align: center; color: #cbaa80; line-height: 1.7; border-top: 2px dashed rgba(232,121,74,0.35); border-bottom: 2px dashed rgba(232,121,74,0.35); padding: clamp(16px, 2.5vw, 22px) 0; white-space: pre-line; overflow-wrap: anywhere; }
/* candlelight */
.cdl-blurb { font-family: 'Cormorant Garamond', serif; font-style: italic; font-size: clamp(17px,2.4vw,21px); opacity: .85; margin: clamp(20px,3vw,28px) 0 0; }
/* deco */
.dco-blurb { font-family: 'Poiret One', cursive; font-size: clamp(18px,2.6vw,24px); color: var(--gold-l, #f4e3a6); margin: clamp(24px,4vw,34px) auto 0; max-width: 46ch; letter-spacing: 0.02em; overflow-wrap: anywhere; }
/* garden */
.grd-blurb { font-family: 'Cormorant Garamond', serif; font-style: italic; font-size: clamp(17px,2.4vw,21px); opacity: .85; margin: clamp(20px,3vw,28px) 0 0; }
/* harvest */
.hrv-blurb { font-family: 'Fraunces', serif; font-style: italic; font-size: clamp(17px,2.4vw,21px); opacity: .85; margin: clamp(20px,3vw,28px) 0 0; }
/* noir */
.noir-blurb { font-style: italic; font-size: clamp(18px,2.4vw,22px); opacity: .85; margin: clamp(20px,3vw,28px) 0 0; }
/* velvet */
.vlv-blurb { font-family: 'Fraunces', serif; font-style: italic; font-size: clamp(17px,2.4vw,21px); opacity: .85; margin: clamp(20px,3vw,28px) 0 0; }
/* eternal */
.etn-blurb { font-style: italic; font-size: clamp(17px,2.3vw,21px); color: var(--gold-d, #9c7c31); margin: clamp(22px,3vw,30px) auto 0; max-width: 44ch; overflow-wrap: anywhere; }
/* launch */
.lnch-blurb { opacity: .85; line-height: 1.6; border-left: 3px solid var(--violet, #7c5cff); padding-left: 14px; margin: clamp(18px,3vw,26px) 0 0; }
/* boardroom */
.brd-blurb { border-left: 3px solid var(--navy, #1f3a5f); padding-left: 14px; color: var(--slate, #5b6b7e); font-size: clamp(15px,2vw,17px); line-height: 1.6; margin: clamp(18px,3vw,24px) 0 0; overflow-wrap: anywhere; }
/* house */
.hse-blurb { margin-top: clamp(22px, 3vw, 32px); font-style: italic; font-size: 15px; line-height: 1.7; color: var(--hse-mid, #c9a98a); border-top: 1px solid rgba(249,115,22,0.25); border-bottom: 1px solid rgba(249,115,22,0.25); padding: clamp(16px, 2.5vw, 22px) 0; white-space: pre-line; overflow-wrap: anywhere; }
/* summit */
.smt-blurb { font-style: italic; font-size: clamp(16px,2.2vw,20px); color: var(--mute, #93a6c4); margin: 0; overflow-wrap: anywhere; }
/* supper */
.sup-blurb { font-style: italic; font-size: clamp(17px, 2.3vw, 21px); line-height: 1.6; color: var(--ink-2, #4a3b30); text-align: center; margin: clamp(24px, 4vw, 34px) auto 0; max-width: 46ch; overflow-wrap: anywhere; }
.sup-blurb::before, .sup-blurb::after { content: '\201C'; color: var(--gold, #b08a3e); }
.sup-blurb::after { content: '\201D'; }

/* ===== SLOT: about ===== */
/* headliner */
.hdl-about { color: #d4cdb8; font-size: 15px; line-height: 1.7; white-space: pre-line; margin: 0; text-align: center; max-width: 60ch; margin-left: auto; margin-right: auto; }
.hdl-about,
.hdl-blurb { overflow-wrap: anywhere; word-wrap: break-word; }
.hdl-about { overflow-wrap: anywhere; word-break: break-word; }
.hdl-about a { overflow-wrap: anywhere; word-break: break-all; }
/* junglist */
.jng-about { color: #c8e8c8; font-size: 15px; line-height: 1.65; white-space: pre-line; overflow-wrap: anywhere; word-wrap: break-word; margin: 0; }
/* sub_bass */
.sb-about { color: #d0c4e4; font-size: 16px; line-height: 1.7; white-space: pre-line; margin: 0; overflow-wrap: anywhere; word-break: break-word; }
.sb-about a { overflow-wrap: anywhere; word-break: break-all; }
.sb-about,
.sb-blurb { overflow-wrap: anywhere; word-wrap: break-word; }
/* substation */
.sub-about { color: #d0d0d0; font-size: 16px; line-height: 1.65; white-space: pre-line; margin: 0; overflow-wrap: anywhere; word-break: break-word; }
.sub-about a { overflow-wrap: anywhere; word-break: break-all; }
.sub-about,
.sub-blurb { overflow-wrap: anywhere; word-wrap: break-word; }
/* playa */
.ply-about { font-size: 15px; line-height: 1.8; color: #e6d0ac; text-align: center; max-width: 60ch; margin: 0 auto; white-space: pre-line; overflow-wrap: anywhere; word-wrap: break-word; }
.ply-about a { color: var(--event-accent, #ff8a3d); word-break: break-all; }

/* ===== SLOT: buy ===== */
/* headliner */
.hdl-buy-btn { display: block; width: 100%; margin-top: var(--s-6, 32px); padding: 20px 28px; background: linear-gradient(135deg, var(--event-accent, #ff8a3d) 0%, #fef3c7 50%, var(--event-accent-2, #ff3d81) 100%); color: #0a0e1a; border: 0; border-radius: 4px; font-family: 'Archivo Black', sans-serif; font-weight: 900; font-size: 17px; letter-spacing: 0.06em; text-transform: uppercase; cursor: pointer; box-shadow: 0 12px 32px -10px rgba(251, 191, 36, 0.5); transition: transform 0.18s, box-shadow 0.18s, filter 0.18s; }
.hdl-buy-btn:hover { transform: translateY(-2px); box-shadow: 0 18px 44px -10px rgba(251, 191, 36, 0.7), 0 0 70px -10px rgba(245, 158, 11, 0.5); filter: brightness(1.05); }
/* junglist */
.jng-buy-btn { display: block; width: 100%; margin-top: var(--s-6, 32px); padding: 20px 24px; background: var(--event-accent, #ff8a3d); color: #020a05; border: 0; border-radius: 0; font-family: 'Archivo Black', sans-serif; font-weight: 900; font-size: 18px; letter-spacing: 0.06em; text-transform: uppercase; cursor: pointer; box-shadow: 6px 6px 0 var(--event-accent-2, #ff3d81); transition: transform 0.15s, box-shadow 0.15s, filter 0.15s; }
.jng-buy-btn:hover { transform: translate(-3px, -3px); box-shadow: 9px 9px 0 var(--event-accent-2, #ff3d81), 0 0 40px var(--event-accent, #ff8a3d); filter: brightness(1.1); }
.jng-buy-btn:active { transform: translate(0, 0); box-shadow: 3px 3px 0 var(--event-accent-2, #ff3d81); }
/* sub_bass */
.sb-buy-btn { display: block; width: 100%; margin-top: var(--s-5, 24px); padding: 20px 24px; background: linear-gradient(135deg, var(--event-accent, #ff8a3d) 0%, #7c3aed 50%, var(--event-accent-2, #ff3d81) 100%); color: #0a0214; border: 0; border-radius: 0; font-family: 'Archivo Black', sans-serif; font-weight: 900; font-size: 18px; letter-spacing: 0.04em; text-transform: uppercase; cursor: pointer; position: relative; clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 14px, 100% 100%, 14px 100%, 0 calc(100% - 14px)); transition: filter 0.15s, transform 0.1s; box-shadow: 0 0 30px -8px var(--event-accent, #ff8a3d); }
.sb-buy-btn:hover { filter: brightness(1.12); transform: translateY(-1px); }
.sb-buy-btn:active { transform: translateY(0); }
/* substation */
.sub-buy-btn { display: block; width: 100%; margin-top: var(--s-5, 24px); padding: 20px 24px; background: var(--event-accent, #ff8a3d); color: #050505; border: 0; border-radius: 0; font-family: 'Archivo Black', sans-serif; font-weight: 900; font-size: 18px; letter-spacing: 0.04em; text-transform: uppercase; cursor: pointer; transition: transform 0.1s, box-shadow 0.15s; box-shadow: 0 0 24px -8px var(--event-accent, #ff8a3d); }
.sub-buy-btn:hover { transform: translateY(-1px); box-shadow: 0 0 36px -6px var(--event-accent, #ff8a3d); }
.sub-buy-btn:active { transform: translateY(0); }

/* ===== SLOT: lineup ===== */
/* headliner */
.hdl-lineup-list { list-style: none; margin: 0; padding: 0; text-align: center; }
.hdl-lineup-list li { font-family: 'Archivo Black', sans-serif; letter-spacing: -0.01em; text-transform: uppercase; padding: var(--s-2, 8px) 0; color: #f8f5e8; border-bottom: 1px solid rgba(251, 191, 36, 0.12); }
.hdl-lineup-list li:last-child { border-bottom: 0; }
.hdl-lineup-list li:nth-child(1) { font-size: clamp(26px, 4vw, 40px); line-height: 1; color: var(--event-accent, #ff8a3d); text-shadow: 0 2px 16px rgba(251, 191, 36, 0.4); }
.hdl-lineup-list li:nth-child(2),
.hdl-lineup-list li:nth-child(3) { font-size: clamp(20px, 2.8vw, 28px); line-height: 1.05; }
.hdl-lineup-list li:nth-child(n+4) { font-size: clamp(16px, 2vw, 20px); line-height: 1.1; color: #c8c0a8; }
/* junglist */
.jng-lineup-list { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--s-3, 12px); }
.jng-lineup-list li { font-family: 'Archivo Black', sans-serif; font-size: clamp(20px, 3vw, 30px); line-height: 1.05; letter-spacing: -0.015em; text-transform: uppercase; color: #fff; padding: var(--s-2, 8px) 0; text-shadow: 2px 2px 0 var(--event-accent, #ff8a3d); }
.jng-lineup-list li:nth-child(even) { margin-left: var(--s-4, 16px); text-shadow: -2px 2px 0 var(--event-accent-2, #ff3d81); }
@media (max-width: 860px) {
  .jng-lineup-list li:nth-child(even) { margin-left: var(--s-2, 8px); }
}
/* sub_bass */
.sb-lineup-list { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--s-2, 8px); }
.sb-lineup-list li { font-family: 'Archivo Black', sans-serif; font-weight: 900; font-size: clamp(22px, 3.4vw, 34px); line-height: 1.1; letter-spacing: -0.02em; text-transform: uppercase; color: #f5f0ff; padding: var(--s-3, 12px) 0; border-bottom: 1px solid rgba(168, 85, 247, 0.15); text-shadow: 0 0 12px rgba(168, 85, 247, 0.25); }
.sb-lineup-list li:last-child { border-bottom: 0; }
@media (max-width: 860px) {
  .sb-lineup-list li { font-size: 22px; }
}
/* substation */
.sub-lineup-list { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--s-2, 8px); }
.sub-lineup-list li { font-family: 'Archivo Black', 'Inter', sans-serif; font-weight: 900; font-size: clamp(22px, 3.5vw, 36px); line-height: 1.05; letter-spacing: -0.02em; text-transform: uppercase; color: #f5f5f5; padding: var(--s-2, 8px) 0; border-bottom: 1px solid rgba(255,255,255,0.06); display: flex; align-items: baseline; gap: var(--s-4, 16px); }
.sub-lineup-list li::before { content: counter(lineup, decimal-leading-zero); counter-increment: lineup; font-family: 'JetBrains Mono', monospace; font-weight: 500; font-size: 14px; letter-spacing: 0.1em; color: var(--event-accent, #ff8a3d); min-width: 32px; }
.sub-lineup-list { counter-reset: lineup; }
.sub-lineup-list li:last-child { border-bottom: 0; }
@media (max-width: 860px) {
  .sub-lineup-list li { font-size: 22px; }
}
/* candlelight */
.cdl-lineup { font-family: 'Cormorant Garamond', serif; font-size: clamp(20px,3.4vw,28px); line-height: 1.3; margin: 0; }
/* deco */
.dco-lineup { font-family: 'Poiret One', cursive; text-transform: uppercase; font-size: clamp(20px,3.4vw,30px); }
/* garden */
.grd-lineup { font-family: 'Cormorant Garamond', serif; font-size: clamp(20px,3.4vw,28px); line-height: 1.3; margin: 0; }
/* harvest */
.hrv-lineup { font-family: 'Fraunces', serif; font-size: clamp(20px,3.4vw,28px); line-height: 1.3; margin: 0; }
/* noir */
.noir-lineup { font-size: clamp(20px,3.4vw,30px); line-height: 1.25; margin: 0; }
/* velvet */
.vlv-lineup { font-family: 'Fraunces', serif; font-size: clamp(20px,3.4vw,28px); line-height: 1.25; margin: 0; }
/* eternal */
.etn-lineup { font-family: 'Cormorant Garamond', serif; font-size: clamp(20px,3.2vw,28px); color: var(--ink, #3a3128); margin: 0; }
/* launch */
.lnch-lineup { font-size: clamp(18px,2.6vw,24px); font-weight: 500; line-height: 1.4; margin: 0; }

/* ===== SLOT: section ===== */
/* headliner */
.hdl-block { background: rgba(251, 191, 36, 0.03); border: 1px solid rgba(251, 191, 36, 0.2); padding: var(--s-6, 32px); margin-bottom: var(--s-5, 24px); transition: border-color 0.2s, box-shadow 0.2s, transform 0.2s; }
.hdl-block:hover { border-color: var(--event-accent, #ff8a3d); box-shadow: 0 16px 40px -16px rgba(251, 191, 36, 0.35); transform: translateY(-2px); }
/* junglist */
.jng-block { position: relative; background: rgba(0, 255, 65, 0.04); border: 1px solid var(--event-accent, #ff8a3d); padding: var(--s-6, 32px); margin-bottom: var(--s-6, 32px); box-shadow: 4px 4px 0 rgba(0, 255, 255, 0.4); transition: transform 0.18s, box-shadow 0.18s, border-color 0.18s; }
.jng-block:hover { transform: translate(-1px, -1px); box-shadow: 7px 7px 0 var(--event-accent-2, #ff3d81); border-color: var(--event-accent-2, #ff3d81); }
/* sub_bass */
.sb-block { background: rgba(168, 85, 247, 0.04); border: 1px solid rgba(168, 85, 247, 0.18); padding: var(--s-6, 32px); margin-bottom: var(--s-5, 24px); position: relative; }
.sb-block::before { content: ''; position: absolute; top: 0; right: 0; width: 14px; height: 14px; background: linear-gradient(135deg, transparent 0%, transparent 50%, var(--event-accent-2, #ff3d81) 50%, var(--event-accent-2, #ff3d81) 100%); }
.sb-block { transition: border-color 0.18s, box-shadow 0.18s, transform 0.18s; }
.sb-block:hover { border-color: var(--event-accent, #ff8a3d); box-shadow: 0 0 32px -8px var(--event-accent, #ff8a3d), 0 0 18px -10px var(--event-accent-2, #ff3d81); transform: translateY(-2px); }
/* substation */
.sub-block { border: 1px solid rgba(255,255,255,0.08); background: rgba(255,255,255,0.015); padding: var(--s-6, 32px) var(--s-6, 32px); margin-bottom: var(--s-6, 32px); }
.sub-block { transition: border-color 0.18s, box-shadow 0.18s, transform 0.18s; }
.sub-block:hover { border-color: var(--event-accent, #ff8a3d); box-shadow: 0 0 28px -8px var(--event-accent, #ff8a3d); transform: translateY(-2px); }
/* candlelight */
.cdl-panel { text-align: left; margin-top: clamp(30px,5vw,46px); border: 1px solid var(--evt-border, rgba(230,179,92,.28)); border-radius: 12px; padding: clamp(20px,4vw,34px); background: linear-gradient(180deg, rgba(230,179,92,.06), rgba(22,18,14,.6)); box-shadow: 0 30px 70px -40px rgba(0,0,0,.6); }
.cdl-panel .vx-tickets__head { font-family: 'Cormorant Garamond', serif; font-weight: 600; color: var(--amber, #e6b35c); }
.cdl-panel .vx-tier__low { color: var(--amber, #e6b35c); }
/* deco */
.dco-panel { margin-top: clamp(30px,5vw,46px); text-align: left; border: 1px solid rgba(217,185,92,0.34); background: linear-gradient(180deg, rgba(217,185,92,0.06), rgba(18,18,24,0.7)); padding: clamp(20px,4vw,34px); box-shadow: inset 0 0 0 1px rgba(217,185,92,0.08); }
.dco-panel .dco-label { margin-top: 0; }
/* garden */
.grd-panel { text-align: left; margin-top: clamp(30px,5vw,46px); background: linear-gradient(180deg, #fff, var(--cream-2, #eee9da)); border: 1px solid var(--evt-border, rgba(86,98,74,.28)); border-radius: 18px; padding: clamp(20px,4vw,34px); box-shadow: 0 30px 70px -40px rgba(52,55,44,.35); }
.grd-panel .vx-tickets__head { font-family: 'Cormorant Garamond', serif; font-weight: 600; color: var(--ink, #34372c); }
.grd-panel .vx-tier__low { color: var(--terra, #c47a52); }
/* harvest */
.hrv-panel { text-align: left; margin-top: clamp(30px,5vw,46px); border: 1px solid var(--evt-border, rgba(217,154,82,.30)); border-radius: 14px; padding: clamp(20px,4vw,34px); background: linear-gradient(180deg, rgba(217,154,82,.06), rgba(36,29,20,.6)); box-shadow: 0 30px 70px -40px rgba(0,0,0,.6); }
.hrv-panel .vx-tickets__head { font-family: 'Fraunces', serif; font-weight: 600; color: var(--wheat, #d99a52); }
.hrv-panel .vx-tier__low { color: var(--wheat-l, #f0c585); }
/* noir */
.noir-panel { text-align: left; margin-top: 0; border: 1px solid var(--evt-border, rgba(212,175,55,.30)); border-radius: 6px; padding: clamp(20px,4vw,34px); background: linear-gradient(180deg, rgba(212,175,55,.05), rgba(7,7,10,.6)); box-shadow: 0 30px 70px -40px rgba(212,175,55,.4); }
.noir-panel .vx-tickets__head { font-family: 'Cinzel', serif; letter-spacing: .04em; color: var(--gold, #d4af37); }
.noir-panel .vx-pay { background: linear-gradient(100deg, #b9962b, var(--gold-l, #f3e2a3), #b9962b); background-size: 200% auto; animation: noir-sheen 6s linear infinite; letter-spacing: .06em; text-transform: uppercase; font-size: clamp(13px,1.7vw,15px); }
.noir-panel .vx-tier__low { color: var(--gold-l, #f3e2a3); }
.noir-panel { background: linear-gradient(180deg, rgba(16,16,22,0.74), rgba(7,7,10,0.84)); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.noir-panel .vx-tickets__head { font-size: clamp(22px, 2.8vw, 28px); }
.noir-panel .vx-tier { padding: clamp(13px, 2vw, 17px) 0; }
.noir-panel .vx-tier__name { font-family: 'Cinzel', serif; font-size: clamp(17px, 2.2vw, 21px); color: var(--ink, #efe9da); }
.noir-panel .vx-tier__desc { font-size: clamp(13px, 1.7vw, 15px); opacity: .8; }
.noir-panel .vx-tier__price { font-size: clamp(15px, 1.9vw, 18px); color: var(--gold-l, #f3e2a3); }
.noir-panel .vx-qty { font-size: 15px; }
.noir-panel .vx-field label { font-size: 13px; }
.noir-panel .vx-field input { font-size: 15px; }
.noir-panel .vx-help,
.noir-panel .vx-secure { font-size: 12.5px; }
.noir-panel .vx-pay { font-size: clamp(15px, 1.9vw, 17px); }
@media (prefers-reduced-motion: reduce) {
  body.noir-sparkle, .noir-title, .noir-rule,
  .noir-panel .vx-pay, .noir-sticky { animation: none; }
}
/* velvet */
.vlv-panel { text-align: left; margin-top: clamp(30px,5vw,46px); border: 1px solid var(--evt-border, rgba(230,201,138,.28)); border-radius: 22px; padding: clamp(20px,4vw,34px); background: linear-gradient(180deg, rgba(230,201,138,.06), rgba(21,64,47,.55)); box-shadow: 0 30px 70px -40px rgba(0,0,0,.6), inset 0 0 0 1px rgba(230,201,138,.06); }
.vlv-panel .vx-tickets__head { font-family: 'Fraunces', serif; color: var(--gold, #e6c98a); }
.vlv-panel .vx-pay { background: linear-gradient(100deg, var(--gold-d, #b8943f), #fff4d8, var(--gold-d, #b8943f)); background-size: 200% auto; animation: vlv-sheen 7s linear infinite; border-radius: 999px; }
.vlv-panel .vx-tier__low { color: var(--gold, #e6c98a); }
@media (prefers-reduced-motion: reduce) {
  body.vibe-velvet::before, .vlv-title, .vlv-panel .vx-pay, .vlv-sticky { animation: none; }
}
/* launch */
.lnch-panel { border: 1px solid var(--evt-border, rgba(124,92,255,.30)); border-radius: 18px; padding: clamp(20px,3vw,28px); background: linear-gradient(180deg, var(--bg-2, #11111d), rgba(8,8,15,.6)); box-shadow: 0 30px 70px -40px rgba(124,92,255,.5); }
.lnch-panel .vx-tickets__head { color: var(--ink, #eef0fb); }
.lnch-panel .vx-pay { background: linear-gradient(100deg, var(--violet, #7c5cff), var(--cyan, #22d3ee)); background-size: 200% auto; animation: lnch-flow 6s linear infinite; }
.lnch-panel .vx-tier__low { color: var(--cyan, #22d3ee); }
@media (prefers-reduced-motion: reduce) {
  body.lnch-mesh, .lnch-title, .lnch-panel .vx-pay, .lnch-sticky { animation: none; }
}
/* eternal */
.etn-card { position: relative; width: min(640px, 94vw); margin: clamp(28px,5vw,60px) auto clamp(90px,12vw,120px); background: linear-gradient(180deg, var(--ivory, #faf5ec), var(--ivory-2, #f3ead9)); padding: clamp(40px,7vw,72px) clamp(26px,6vw,64px) clamp(30px,5vw,50px); text-align: center; box-shadow: 0 50px 100px -46px rgba(120,70,60,0.55); }
.etn-card::before { content: ''; position: absolute; inset: clamp(12px,2.4vw,20px); border: 1px solid var(--gold-d, #9c7c31); box-shadow: inset 0 0 0 3px var(--ivory, #faf5ec), inset 0 0 0 4px rgba(200,162,74,0.5); pointer-events: none; }
.etn-card > * { position: relative; z-index: 1; }
/* house */
.hse-block { margin-top: clamp(30px, 5vw, 52px); text-align: left; }
@media (max-width: 560px) {
  .hse-block { text-align: left; }
}
/* summit */
.smt-section { position: relative; padding: clamp(18px,3vw,26px) 0; border-bottom: 1px solid rgba(110,160,255,0.12); }
.smt-section:last-child { border-bottom: 0; }
/* supper */
.sup-section { margin-top: clamp(30px, 5vw, 46px); text-align: left; }


/* ===== ONE-OFF VIBES — titles + lineups (GENERATED, vibelooks-oneoffs-20260718) ===== */

/* ===== SLOT: headline (one-offs) ===== */
/* acid */
.acid-title { position: relative; font-family: 'Archivo Black', sans-serif; font-weight: 400; font-size: clamp(38px, 9vw, 92px); line-height: 0.98; letter-spacing: -0.02em; text-transform: uppercase; margin: clamp(8px,2vw,14px) 0 10px; color: #fff; text-shadow: 3px 0 var(--acid-mag, #ff17c3), -3px 0 var(--acid-cyan, #00e5ff), 0 0 30px rgba(182,255,0,0.4); animation: acid-wave 4s ease-in-out infinite; }
@media (prefers-reduced-motion: reduce) {
  .acid-warp, .acid-ring, .acid-title { animation: none; }
}
/* berlin */
.bln-title { position: relative; font-family: 'Archivo Black', sans-serif; font-weight: 900; font-size: clamp(46px, 11vw, 150px); line-height: 0.9; letter-spacing: -0.03em; text-transform: uppercase; color: #fff; margin: 0; text-shadow: 0 0 24px rgba(55,230,255,0.5), 0 0 60px rgba(55,230,255,0.25); overflow-wrap: anywhere; animation: bln-jitter 5.5s steps(1) infinite; }
.bln-title::before,
.bln-title::after { content: attr(data-text); position: absolute; left: 0; top: 0; width: 100%; text-transform: uppercase; pointer-events: none; }
.bln-title::before { color: var(--event-accent, #37e6ff); mix-blend-mode: screen; animation: bln-glitch-a 3.2s infinite steps(2); }
.bln-title::after { color: var(--bln-acc2, #ff2fb0); mix-blend-mode: screen; animation: bln-glitch-b 2.6s infinite steps(2); }
@media (prefers-reduced-motion: reduce) {
  .bln-fx *, .bln-fx::before,
  .bln-title, .bln-title::before, .bln-title::after,
  .bln-panel, .bln-caret, .bln-ico,
  .bln-kick, .vx-pay,
  .bln-flyerpanel::after { animation: none !important; }
}
/* discotheque */
.disco-title { font-family: 'Playfair Display', serif; font-style: italic; font-weight: 900; font-size: clamp(42px, 9vw, 96px); line-height: 1.0; margin: 10px 0 12px; background: linear-gradient(100deg, var(--disco-gold, #f5c451), #fff3cf 40%, var(--disco-pink, #ff4fa3) 60%, var(--disco-gold, #f5c451)); background-size: 220% auto; -webkit-background-clip: text; background-clip: text; color: transparent; filter: drop-shadow(0 4px 24px rgba(245,196,81,0.4)); animation: disco-shimmer 7s linear infinite; }
.disco-hero .disco-title,
.disco-hero .disco-venue { text-shadow: 0 3px 26px rgba(0,0,0,0.6); }
@media (prefers-reduced-motion: reduce) {
  .disco-floor, .disco-dots, .disco-beams,
  .disco-ball, .disco-ball__shine, .disco-title,
  .vx-pay, .disco-sticky { animation: none; }
  .disco-title { background-position: 0 center; }
}
/* dnb */
.dnb-title { margin: clamp(6px,1.5vw,12px) 0; padding: 0; line-height: 0.95; display: flex; flex-wrap: wrap; gap: 8px 10px; align-items: center; }
/* forest */
.fst-title { font-family: 'Fraunces', serif; font-weight: 600; font-size: clamp(38px, 8vw, 82px); line-height: 1.02; margin: clamp(10px,2vw,16px) 0 10px; color: var(--ink, #f0e6d2); text-shadow: 0 2px 30px rgba(212,160,86,0.3); }
/* stub */
.stub-title { font-family: 'Archivo Black', sans-serif; font-size: clamp(30px, 6.5vw, 64px); line-height: .96; letter-spacing: -.015em; margin: 8px 0 10px; color: var(--ink, #1a1714); word-break: break-word; }
/* vow */
.vow-title { font-weight: 200; font-size: clamp(40px, 9vw, 88px); line-height: 1.08; letter-spacing: 0.06em; text-transform: uppercase; margin: clamp(16px,3vw,26px) 0; color: var(--ink, #2b2926); animation: vow-fade 1.6s ease 0.1s both; }
@media (prefers-reduced-motion: reduce) {
  .vow-kicker, .vow-title { animation: none; opacity: 1; transform: none; }
}

/* ===== SLOT: lineup (one-offs) ===== */
/* acid */
.acid-names { list-style: none; margin: 0; padding: 0; }
.acid-names li { font-family: 'Archivo Black', sans-serif; text-transform: uppercase; font-size: clamp(20px,3.6vw,34px); line-height: 1.15; padding: 5px 0; color: var(--acid-ink, #eaffea); }
.acid-names li:first-child { color: var(--acid-lime, #b6ff00); text-shadow: 0 0 16px rgba(182,255,0,0.5); }
/* berlin */
.bln-index { list-style: none; margin: 0; padding: 0; }
.bln-index li { display: flex; align-items: baseline; gap: clamp(14px, 2vw, 24px); padding: clamp(10px, 1.4vw, 14px) 10px; border-bottom: 1px solid rgba(55,230,255,0.14); transition: background 0.2s, box-shadow 0.2s, transform 0.2s; }
.bln-index li:last-child { border-bottom: 0; }
.bln-index li:hover { background: rgba(55,230,255,0.07); transform: translateX(6px); box-shadow: inset 3px 0 0 var(--event-accent, #37e6ff), 0 0 22px rgba(55,230,255,0.15); }
.bln-index li:first-child .bln-index__name { color: var(--event-accent, #37e6ff); text-shadow: 0 0 18px rgba(55,230,255,0.6); }
/* discotheque */
.disco-billing { list-style: none; margin: 0; padding: 0; }
.disco-billing li { font-family: 'Playfair Display', serif; font-weight: 900; text-transform: uppercase; font-size: clamp(20px,3.4vw,34px); line-height: 1.15; color: var(--disco-ink, #f6ecff); padding: 6px 0; transition: color 0.2s, text-shadow 0.2s; }
.disco-billing li:hover { color: var(--disco-gold, #f5c451); text-shadow: 0 0 18px rgba(245,196,81,0.6); }
.disco-billing li:first-child { color: var(--disco-gold, #f5c451); }
/* dnb */
.dnb-roster__list { list-style: none; margin: 0; padding: 0; }
.dnb-roster__list li { font-family: 'Anton', sans-serif; text-transform: uppercase; font-size: clamp(18px,2.8vw,26px); line-height: 1.06; padding: 5px 0; border-bottom: 1px dashed rgba(20,19,15,0.35); }
.dnb-roster__list li:first-child { color: #6f7a00; }
.dnb-roster__list li:last-child { border-bottom: 0; }
/* forest */
.fst-lineup { list-style: none; margin: 0; padding: 0; }
.fst-lineup li { font-family: 'Fraunces', serif; font-size: clamp(20px,3.2vw,30px); line-height: 1.2; padding: 5px 0; color: var(--ink, #f0e6d2); }
.fst-lineup li:first-child { color: var(--gold, #d4a056); }
/* stub */
.stub-lineup { font-family: 'Archivo Black', sans-serif; font-size: clamp(17px,3.2vw,26px); line-height: 1.15; margin: 0; }
/* vow */
.vow-acts { list-style: none; margin: 0; padding: 0; }
.vow-acts li { font-family: 'Cormorant Garamond', serif; font-style: italic; font-size: clamp(21px,3.4vw,30px); line-height: 1.3; color: var(--ink, #2b2926); }

/* ===== KEYFRAMES carried with swapped looks (vibelooks-oneoffs-20260718) ===== */
/* acid */ @keyframes acid-wave { 0%,100% { transform: skewX(0deg); } 25% { transform: skewX(-3deg); } 75% { transform: skewX(3deg); } }
/* berlin */ @keyframes bln-glitch-a { 0%,92%,100% { transform: translate(0,0); opacity: 0; } 93% { transform: translate(-4px,2px); opacity: 0.9; } 96% { transform: translate(3px,-2px); opacity: 0.9; } }
/* berlin */ @keyframes bln-glitch-b { 0%,90%,100% { transform: translate(0,0); opacity: 0; } 91% { transform: translate(4px,-2px); opacity: 0.85; } 95% { transform: translate(-3px,2px); opacity: 0.85; } }
/* berlin */ @keyframes bln-jitter { 0%,96%,100% { transform: translate(0,0); } 97% { transform: translate(-2px,1px); } 98% { transform: translate(2px,-1px); } }
/* deco */ @keyframes dco-foil { to { background-position: 220% center; } }
/* discotheque */ @keyframes disco-shimmer { to { background-position: 220% center; } }
/* eternal */ @keyframes etn-foil { to { background-position: 220% center; } }
/* launch */ @keyframes lnch-flow { to { background-position: 240% center; } }
/* noir */ @keyframes noir-sheen { to { background-position: 220% center; } }
/* substation */ @keyframes sub-glitch { 0%, 90%, 100% { text-shadow: 0.028em 0 0 rgba(255,42,120,.75), -0.028em 0 0 rgba(0,240,255,.75), 0 0 18px rgba(0,255,157,.55); transform: translate(0, 0) skewX(0); } 91% { text-shadow: -0.06em 0 0 rgba(255,42,120,.95), 0.06em 0 0 rgba(0,240,255,.95), 0 0 30px rgba(0,255,157,.85); transform: translate(3px,-1px) skewX(-3deg); } 93% { text-shadow: 0.07em 0 0 rgba(255,42,120,.95), -0.07em 0 0 rgba(0,240,255,.95), 0 0 30px rgba(0,255,157,.85); transform: translate(-3px, 1px) skewX(2deg); } 95% { transform: translate(2px, 0) skewX(0); } 97% { transform: translate(-1px, 0); } }
/* supper */ @keyframes sup-foil { to { background-position: 220% center; } }
/* velvet */ @keyframes vlv-sheen { to { background-position: 220% center; } }
/* vow */ @keyframes vow-fade { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }

/* ===== ONE-OFF VIBES — remaining slots (GENERATED, vibelooks-oneoffs2-20260718) ===== */

/* ===== SLOT: venue (one-offs) ===== */
/* acid */
.acid-venue { font-size: clamp(15px,2vw,19px); font-weight: 700; margin: 0; color: var(--acid-ink, #eaffea); }
/* berlin */
.bln-metabar__venue { color: var(--event-accent, #37e6ff); text-shadow: 0 0 12px rgba(55,230,255,0.5); }
/* discotheque */
.disco-venue { font-size: clamp(15px,2vw,19px); font-weight: 500; margin: 0; color: var(--disco-ink, #f6ecff); }
.disco-hero .disco-title,
.disco-hero .disco-venue { text-shadow: 0 3px 26px rgba(0,0,0,0.6); }
.disco-hero .disco-venue { color: #fff; }
/* dnb */
.dnb-venue { display: inline-flex; flex-wrap: wrap; gap: 6px 14px; align-items: baseline; transform: rotate(0.8deg); margin: clamp(14px,2.5vw,22px) 0 0; font-size: clamp(12px,1.6vw,14px); }
.dnb-venue strong { font-family: 'Anton', sans-serif; font-weight: 400; letter-spacing: 0.02em; font-size: clamp(16px,2.4vw,22px); text-transform: uppercase; }
/* forest */
.fst-venue { font-family: 'Fraunces', serif; font-style: italic; font-size: clamp(17px,2.4vw,22px); color: var(--sage, #8aa97a); margin: 0; }
/* stub */
.stub-venue { font-weight: 700; font-size: clamp(14px,1.9vw,18px); margin: 0; }
/* vow */
.vow-where { font-family: 'Cormorant Garamond', serif; font-style: italic; font-size: clamp(19px,2.6vw,25px); margin: 10px 0 0; color: var(--ink, #2b2926); }

/* ===== SLOT: date (one-offs) ===== */
/* acid */
.acid-date { font-weight: 700; letter-spacing: 0.2em; text-transform: uppercase; font-size: clamp(11px,1.6vw,13px); color: var(--acid-lime, #b6ff00); text-shadow: 0 0 12px rgba(182,255,0,0.6); }
/* berlin */
.bln-kick { display: inline-block; font-family: 'JetBrains Mono', ui-monospace, monospace; font-size: clamp(11px, 1.3vw, 13px); letter-spacing: 0.3em; text-transform: uppercase; color: var(--event-accent, #37e6ff); padding: 6px 12px; border: 1px solid var(--bln-line, rgba(55, 230, 255, 0.28)); box-shadow: 0 0 18px rgba(55,230,255,0.25), inset 0 0 12px rgba(55,230,255,0.08); margin-bottom: clamp(16px, 2vw, 24px); animation: bln-flicker 6s steps(1) infinite; }
@media (prefers-reduced-motion: reduce) {
  .bln-fx *, .bln-fx::before,
  .bln-title, .bln-title::before, .bln-title::after,
  .bln-panel, .bln-caret, .bln-ico,
  .bln-kick, .vx-pay,
  .bln-flyerpanel::after { animation: none !important; }
}
/* discotheque */
.disco-date { font-weight: 700; letter-spacing: 0.24em; text-transform: uppercase; font-size: clamp(11px, 1.5vw, 13px); color: var(--disco-gold, #f5c451); margin-top: clamp(14px,2.5vw,22px); }
/* forest */
.fst-kicker { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; letter-spacing: 0.22em; text-transform: uppercase; font-size: clamp(10px,1.4vw,12px); color: var(--gold, #d4a056); }
.fst-kicker .fst-leaf-i { width: 16px; height: 16px; color: var(--sage, #8aa97a); }
/* stub */
.stub-date { font-weight: 700; letter-spacing: .14em; font-size: clamp(11px,1.5vw,13px); color: var(--stamp, #d8402f); }
/* vow */
.vow-when { font-weight: 300; letter-spacing: 0.16em; font-size: clamp(13px,1.8vw,16px); }

/* ===== SLOT: presented (one-offs) ===== */
/* acid */
.acid-presented { font-size: 12.5px; color: #9fdca0; margin: 8px 0 0; }
.acid-presented a { color: var(--acid-lime, #b6ff00); }
/* berlin */
.bln-metabar span + span:not(.bln-metabar__pres)::before { content: '//'; position: absolute; left: -14px; color: var(--event-accent, #37e6ff); opacity: 0.6; }
.bln-metabar__pres { margin-left: auto; }
.bln-metabar__pres a { color: var(--bln-ink, #eaf6ff); text-decoration: none; border-bottom: 1px solid var(--event-accent, #37e6ff); transition: text-shadow 0.2s, color 0.2s; }
.bln-metabar__pres a:hover { color: var(--event-accent, #37e6ff); text-shadow: 0 0 14px rgba(55,230,255,0.8); }
@media (max-width: 820px) {
  .bln-metabar__pres { margin-left: 0; width: 100%; }
}
/* discotheque */
.disco-presented { font-size: 12.5px; letter-spacing: 0.04em; color: var(--disco-mid, #b9a6d6); margin: 8px 0 0; }
.disco-presented a { color: var(--disco-gold, #f5c451); text-decoration: none; border-bottom: 1px solid rgba(245,196,81,0.4); }
/* dnb */
.dnb-pres { flex-basis: 100%; font-size: 12px; opacity: 0.72; }
.dnb-pres a { color: #7a7a1a; text-decoration: underline; }
/* forest */
.fst-presented { font-size: 12.5px; letter-spacing: 0.05em; color: #b9b089; margin: 8px 0 0; }
.fst-presented a { color: var(--gold, #d4a056); text-decoration: none; border-bottom: 1px solid rgba(212,160,86,0.4); }
/* stub */
.stub-presented { font-size: 13px; opacity: .72; margin: 6px 0 0; }
.stub-presented a { color: var(--stamp, #d8402f); text-decoration: none; border-bottom: 1px solid rgba(216,64,47,.4); }
/* vow */
.vow-host { font-weight: 300; font-size: 12.5px; letter-spacing: 0.06em; color: var(--mute, #8a8178); margin: 8px 0 0; }
.vow-host a { color: var(--clay-d, #a96a4e); text-decoration: none; border-bottom: 1px solid var(--evt-border, rgba(43,41,38,0.14)); }

/* ===== SLOT: blurb (one-offs) ===== */
/* acid */
.acid-blurb { margin-top: clamp(22px,3vw,30px); font-style: italic; color: var(--acid-mag, #ff17c3); font-size: clamp(15px,2vw,18px); line-height: 1.6; overflow-wrap: anywhere; text-shadow: 0 0 14px rgba(255,23,195,0.4); }
/* berlin */
.bln-blurb { font-size: 14.5px; line-height: 1.75; color: #d9c7e8; font-style: italic; white-space: pre-line; overflow-wrap: anywhere; }
/* discotheque */
.disco-blurb { font-family: 'Playfair Display', serif; font-style: italic; font-size: clamp(17px,2.4vw,21px); color: var(--disco-mid, #b9a6d6); margin: clamp(22px,3vw,30px) auto 0; max-width: 46ch; overflow-wrap: anywhere; }
/* dnb */
.dnb-blurb { transform: rotate(0.7deg); margin-top: clamp(20px,3vw,30px); background: var(--dnb-ink, #14130f); color: var(--dnb-paper, #f3f0e6); font-style: italic; line-height: 1.65; overflow-wrap: anywhere; }
.dnb-blurb::after { opacity: 0.06; background-image: radial-gradient(var(--dnb-paper, #f3f0e6) 22%, transparent 24%); }
/* forest */
.fst-blurb { position: relative; text-align: center; font-family: 'Fraunces', serif; font-style: italic; font-size: clamp(17px,2.4vw,21px); color: var(--sage, #8aa97a); margin: clamp(30px,5vw,46px) auto 0; max-width: 46ch; overflow-wrap: anywhere; }
/* stub */
.stub-blurb { font-style: italic; opacity: .8; line-height: 1.6; margin: clamp(16px,3vw,22px) 0 0; }
/* vow */
.vow-blurb { font-family: 'Cormorant Garamond', serif; font-style: italic; font-size: clamp(19px,2.6vw,24px); color: var(--clay-d, #a96a4e); margin: clamp(30px,5vw,46px) auto 0; max-width: 40ch; overflow-wrap: anywhere; }

/* ===== SLOT: about (one-offs) ===== */
/* acid */
.acid-prose { font-size: clamp(15px,2vw,17px); line-height: 1.8; color: #d4ffd4; margin: 0; white-space: pre-line; overflow-wrap: anywhere; word-wrap: break-word; }
.acid-prose a { color: var(--acid-lime, #b6ff00); word-break: break-all; }
/* berlin */
.bln-about { font-size: 15.5px; line-height: 1.8; color: #c7dbe8; margin: 0; white-space: pre-line; overflow-wrap: anywhere; word-wrap: break-word; }
.bln-about a { color: var(--event-accent, #37e6ff); text-decoration: underline; text-underline-offset: 3px; text-shadow: 0 0 10px rgba(55,230,255,0.4); overflow-wrap: anywhere; word-break: break-all; }
/* discotheque */
.disco-prose { font-size: clamp(15px,2vw,17px); line-height: 1.8; color: #dccff2; margin: 0; white-space: pre-line; overflow-wrap: anywhere; word-wrap: break-word; }
.disco-prose a { color: var(--disco-gold, #f5c451); word-break: break-all; }
/* dnb */
.dnb-brief__txt { margin: 0; font-family: 'Space Mono', monospace; font-size: 14px; line-height: 1.75; color: #2a2822; white-space: pre-line; overflow-wrap: anywhere; word-wrap: break-word; }
.dnb-brief__txt a { color: #6f7a00; word-break: break-all; }
/* forest */
.fst-prose { font-size: clamp(15px,2vw,17px); line-height: 1.85; color: #ddd2b8; margin: 0; white-space: pre-line; overflow-wrap: anywhere; word-wrap: break-word; }
.fst-prose a { color: var(--gold, #d4a056); word-break: break-all; }
/* stub */
.stub-prose { line-height: 1.7; margin: 0; white-space: pre-line; }
/* vow */
.vow-prose { font-weight: 300; font-size: clamp(15px,2vw,17px); line-height: 1.9; color: #55504a; margin: 0 auto; max-width: 46ch; white-space: pre-line; overflow-wrap: anywhere; word-wrap: break-word; }
.vow-prose a { color: var(--clay-d, #a96a4e); word-break: break-all; }

/* ===== SLOT: section (one-offs) ===== */
/* acid */
.acid-block { margin-top: clamp(28px,5vw,44px); }
/* berlin */
.bln-panel { position: relative; background: linear-gradient(180deg, rgba(12,18,30,0.9), rgba(8,12,22,0.9)); border: 1px solid var(--bln-line, rgba(55, 230, 255, 0.28)); border-radius: 4px; padding: clamp(20px, 2.6vw, 30px); box-shadow: 0 0 22px rgba(55,230,255,0.12), inset 0 0 0 1px rgba(55,230,255,0.05); transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease; animation: bln-panelglow 4.5s ease-in-out infinite; }
.bln-panel::before,
.bln-panel::after { content: ''; position: absolute; width: 16px; height: 16px; pointer-events: none; border: 2px solid var(--event-accent, #37e6ff); filter: drop-shadow(0 0 6px var(--event-accent, #37e6ff)); }
.bln-panel::before { top: -1px; left: -1px; border-right: 0; border-bottom: 0; }
.bln-panel::after { bottom: -1px; right: -1px; border-left: 0; border-top: 0; }
.bln-panel:hover { transform: translateY(-4px); border-color: var(--event-accent, #37e6ff); box-shadow: 0 12px 40px -8px rgba(55,230,255,0.45), 0 0 40px rgba(255,47,176,0.2); }
@media (prefers-reduced-motion: reduce) {
  .bln-fx *, .bln-fx::before,
  .bln-title, .bln-title::before, .bln-title::after,
  .bln-panel, .bln-caret, .bln-ico,
  .bln-kick, .vx-pay,
  .bln-flyerpanel::after { animation: none !important; }
}
/* discotheque */
.disco-panel { margin-top: clamp(30px,5vw,46px); text-align: left; background: linear-gradient(180deg, rgba(40,22,64,0.72), rgba(16,8,28,0.72)); border: 1px solid rgba(245,196,81,0.34); border-radius: 18px; padding: clamp(20px,4vw,32px); box-shadow: 0 30px 70px -34px rgba(0,0,0,0.8), inset 0 0 0 1px rgba(255,255,255,0.04); backdrop-filter: blur(4px); }
.disco-panel .disco-rule { margin-top: 0; }
/* dnb */
.dnb-scrap { position: relative; background: var(--dnb-paper, #f3f0e6); color: var(--dnb-ink, #14130f); padding: clamp(14px, 2.4vw, 22px) clamp(16px, 2.6vw, 26px); box-shadow: 0 16px 30px -18px rgba(0,0,0,0.85); transition: transform 0.22s ease; }
.dnb-scrap::after { content: ''; position: absolute; inset: 0; pointer-events: none; opacity: 0.10; background-image: radial-gradient(var(--dnb-ink, #14130f) 22%, transparent 24%); background-size: 6px 6px; }
/* forest */
.fst-station { position: relative; z-index: 1; text-align: center; padding: clamp(18px,3vw,28px) clamp(16px,4vw,32px); margin: clamp(30px,5vw,50px) 0 0; background: rgba(11,21,14,0.62); -webkit-backdrop-filter: blur(12px) saturate(1.1); backdrop-filter: blur(12px) saturate(1.1); border: 1px solid rgba(212,160,86,0.34); border-radius: 24px; box-shadow: 0 24px 60px -30px rgba(0,0,0,0.9), inset 0 0 0 1px rgba(212,160,86,0.06); }
.fst-station:first-child { margin-top: clamp(20px,4vw,34px); }
/* stub */
.stub-panel { margin-top: clamp(18px,3vw,26px); background: linear-gradient(135deg, var(--cream, #f6efe0), var(--cream-2, #efe5d2)); color: var(--ink, #1a1714); border-radius: 16px; padding: clamp(20px,4vw,34px); box-shadow: 0 30px 70px -40px rgba(0,0,0,.7); }
.stub-panel .vx-tickets__head { font-family: 'Archivo Black', sans-serif; color: var(--ink, #1a1714); }
.stub-panel .vx-tier__low { color: var(--stamp, #d8402f); }
.stub-panel .vx-pay { box-shadow: 0 12px 30px -12px rgba(216,64,47,.6); }
/* vow */
.vow-moment { position: relative; padding: clamp(22px,4vw,34px) 0; }
/* ===== KEYFRAMES (remaining-slot pass) ===== */
/* berlin */ @keyframes bln-flicker { 0%,97%,100% { opacity: 1; } 98% { opacity: 0.55; } 99% { opacity: 0.85; } }
/* berlin */ @keyframes bln-panelglow { 0%,100% { box-shadow: 0 0 18px rgba(55,230,255,0.10), inset 0 0 0 1px rgba(55,230,255,0.05); } 50% { box-shadow: 0 0 30px rgba(55,230,255,0.20), inset 0 0 0 1px rgba(55,230,255,0.08); } }

/* ===== SECTION INK — a swapped-in container carries readable text color for its children
       (scoped to [data-vk-look] so home pages are untouched). vibelooks-fix2-20260718 ===== */
/* headliner */ .hdl-block[data-vk-look], .hdl-block[data-vk-look] p, .hdl-block[data-vk-look] li, .hdl-block[data-vk-look] div, .hdl-block[data-vk-look] span, .hdl-block[data-vk-look] h1, .hdl-block[data-vk-look] h2, .hdl-block[data-vk-look] h3, .hdl-block[data-vk-look] h4, .hdl-block[data-vk-look] a { color: #d4cdb8; }
/* junglist */ .jng-block[data-vk-look], .jng-block[data-vk-look] p, .jng-block[data-vk-look] li, .jng-block[data-vk-look] div, .jng-block[data-vk-look] span, .jng-block[data-vk-look] h1, .jng-block[data-vk-look] h2, .jng-block[data-vk-look] h3, .jng-block[data-vk-look] h4, .jng-block[data-vk-look] a { color: #c8e8c8; }
/* sub_bass */ .sb-block[data-vk-look], .sb-block[data-vk-look] p, .sb-block[data-vk-look] li, .sb-block[data-vk-look] div, .sb-block[data-vk-look] span, .sb-block[data-vk-look] h1, .sb-block[data-vk-look] h2, .sb-block[data-vk-look] h3, .sb-block[data-vk-look] h4, .sb-block[data-vk-look] a { color: #d0c4e4; }
/* substation */ .sub-block[data-vk-look], .sub-block[data-vk-look] p, .sub-block[data-vk-look] li, .sub-block[data-vk-look] div, .sub-block[data-vk-look] span, .sub-block[data-vk-look] h1, .sub-block[data-vk-look] h2, .sub-block[data-vk-look] h3, .sub-block[data-vk-look] h4, .sub-block[data-vk-look] a { color: #d0d0d0; }
/* candlelight */ .cdl-panel[data-vk-look], .cdl-panel[data-vk-look] p, .cdl-panel[data-vk-look] li, .cdl-panel[data-vk-look] div, .cdl-panel[data-vk-look] span, .cdl-panel[data-vk-look] h1, .cdl-panel[data-vk-look] h2, .cdl-panel[data-vk-look] h3, .cdl-panel[data-vk-look] h4, .cdl-panel[data-vk-look] a { color: #f0e4cf; }
/* deco */ .dco-panel[data-vk-look], .dco-panel[data-vk-look] p, .dco-panel[data-vk-look] li, .dco-panel[data-vk-look] div, .dco-panel[data-vk-look] span, .dco-panel[data-vk-look] h1, .dco-panel[data-vk-look] h2, .dco-panel[data-vk-look] h3, .dco-panel[data-vk-look] h4, .dco-panel[data-vk-look] a { color: #f4e3a6; }
/* garden */ .grd-panel[data-vk-look], .grd-panel[data-vk-look] p, .grd-panel[data-vk-look] li, .grd-panel[data-vk-look] div, .grd-panel[data-vk-look] span, .grd-panel[data-vk-look] h1, .grd-panel[data-vk-look] h2, .grd-panel[data-vk-look] h3, .grd-panel[data-vk-look] h4, .grd-panel[data-vk-look] a { color: #34372c; }
/* harvest */ .hrv-panel[data-vk-look], .hrv-panel[data-vk-look] p, .hrv-panel[data-vk-look] li, .hrv-panel[data-vk-look] div, .hrv-panel[data-vk-look] span, .hrv-panel[data-vk-look] h1, .hrv-panel[data-vk-look] h2, .hrv-panel[data-vk-look] h3, .hrv-panel[data-vk-look] h4, .hrv-panel[data-vk-look] a { color: #efe2cc; }
/* noir */ .noir-panel[data-vk-look], .noir-panel[data-vk-look] p, .noir-panel[data-vk-look] li, .noir-panel[data-vk-look] div, .noir-panel[data-vk-look] span, .noir-panel[data-vk-look] h1, .noir-panel[data-vk-look] h2, .noir-panel[data-vk-look] h3, .noir-panel[data-vk-look] h4, .noir-panel[data-vk-look] a { color: #efe9da; }
/* velvet */ .vlv-panel[data-vk-look], .vlv-panel[data-vk-look] p, .vlv-panel[data-vk-look] li, .vlv-panel[data-vk-look] div, .vlv-panel[data-vk-look] span, .vlv-panel[data-vk-look] h1, .vlv-panel[data-vk-look] h2, .vlv-panel[data-vk-look] h3, .vlv-panel[data-vk-look] h4, .vlv-panel[data-vk-look] a { color: #f3ecdd; }
/* eternal */ .etn-card[data-vk-look], .etn-card[data-vk-look] p, .etn-card[data-vk-look] li, .etn-card[data-vk-look] div, .etn-card[data-vk-look] span, .etn-card[data-vk-look] h1, .etn-card[data-vk-look] h2, .etn-card[data-vk-look] h3, .etn-card[data-vk-look] h4, .etn-card[data-vk-look] a { color: #9c7c31; }
/* launch */ .lnch-panel[data-vk-look], .lnch-panel[data-vk-look] p, .lnch-panel[data-vk-look] li, .lnch-panel[data-vk-look] div, .lnch-panel[data-vk-look] span, .lnch-panel[data-vk-look] h1, .lnch-panel[data-vk-look] h2, .lnch-panel[data-vk-look] h3, .lnch-panel[data-vk-look] h4, .lnch-panel[data-vk-look] a { color: #eef0fb; }
/* house */ .hse-block[data-vk-look], .hse-block[data-vk-look] p, .hse-block[data-vk-look] li, .hse-block[data-vk-look] div, .hse-block[data-vk-look] span, .hse-block[data-vk-look] h1, .hse-block[data-vk-look] h2, .hse-block[data-vk-look] h3, .hse-block[data-vk-look] h4, .hse-block[data-vk-look] a { color: #c9a98a; }
/* summit */ .smt-section[data-vk-look], .smt-section[data-vk-look] p, .smt-section[data-vk-look] li, .smt-section[data-vk-look] div, .smt-section[data-vk-look] span, .smt-section[data-vk-look] h1, .smt-section[data-vk-look] h2, .smt-section[data-vk-look] h3, .smt-section[data-vk-look] h4, .smt-section[data-vk-look] a { color: #93a6c4; }
/* supper */ .sup-section[data-vk-look], .sup-section[data-vk-look] p, .sup-section[data-vk-look] li, .sup-section[data-vk-look] div, .sup-section[data-vk-look] span, .sup-section[data-vk-look] h1, .sup-section[data-vk-look] h2, .sup-section[data-vk-look] h3, .sup-section[data-vk-look] h4, .sup-section[data-vk-look] a { color: #4a3b30; }
/* acid */ .acid-block[data-vk-look], .acid-block[data-vk-look] p, .acid-block[data-vk-look] li, .acid-block[data-vk-look] div, .acid-block[data-vk-look] span, .acid-block[data-vk-look] h1, .acid-block[data-vk-look] h2, .acid-block[data-vk-look] h3, .acid-block[data-vk-look] h4, .acid-block[data-vk-look] a { color: #d4ffd4; }
/* berlin */ .bln-panel[data-vk-look], .bln-panel[data-vk-look] p, .bln-panel[data-vk-look] li, .bln-panel[data-vk-look] div, .bln-panel[data-vk-look] span, .bln-panel[data-vk-look] h1, .bln-panel[data-vk-look] h2, .bln-panel[data-vk-look] h3, .bln-panel[data-vk-look] h4, .bln-panel[data-vk-look] a { color: #c7dbe8; }
/* discotheque */ .disco-panel[data-vk-look], .disco-panel[data-vk-look] p, .disco-panel[data-vk-look] li, .disco-panel[data-vk-look] div, .disco-panel[data-vk-look] span, .disco-panel[data-vk-look] h1, .disco-panel[data-vk-look] h2, .disco-panel[data-vk-look] h3, .disco-panel[data-vk-look] h4, .disco-panel[data-vk-look] a { color: #dccff2; }
/* dnb */ .dnb-scrap[data-vk-look], .dnb-scrap[data-vk-look] p, .dnb-scrap[data-vk-look] li, .dnb-scrap[data-vk-look] div, .dnb-scrap[data-vk-look] span, .dnb-scrap[data-vk-look] h1, .dnb-scrap[data-vk-look] h2, .dnb-scrap[data-vk-look] h3, .dnb-scrap[data-vk-look] h4, .dnb-scrap[data-vk-look] a { color: #2a2822; }
/* forest */ .fst-station[data-vk-look], .fst-station[data-vk-look] p, .fst-station[data-vk-look] li, .fst-station[data-vk-look] div, .fst-station[data-vk-look] span, .fst-station[data-vk-look] h1, .fst-station[data-vk-look] h2, .fst-station[data-vk-look] h3, .fst-station[data-vk-look] h4, .fst-station[data-vk-look] a { color: #ddd2b8; }
/* stub */ .stub-panel[data-vk-look], .stub-panel[data-vk-look] p, .stub-panel[data-vk-look] li, .stub-panel[data-vk-look] div, .stub-panel[data-vk-look] span, .stub-panel[data-vk-look] h1, .stub-panel[data-vk-look] h2, .stub-panel[data-vk-look] h3, .stub-panel[data-vk-look] h4, .stub-panel[data-vk-look] a { color: #1a1714; }
/* vow */ .vow-moment[data-vk-look], .vow-moment[data-vk-look] p, .vow-moment[data-vk-look] li, .vow-moment[data-vk-look] div, .vow-moment[data-vk-look] span, .vow-moment[data-vk-look] h1, .vow-moment[data-vk-look] h2, .vow-moment[data-vk-look] h3, .vow-moment[data-vk-look] h4, .vow-moment[data-vk-look] a { color: #55504a; }

/* ===== SLOT: flyer — the hero/flyer image treatment (GENERATED, vibeflyer-20260718) ===== */
/* headliner */
.hdl-flyer { position: relative; padding: 8px; background: linear-gradient(135deg, var(--event-accent, #fbbf24) 0%, var(--event-accent-2, #f59e0b) 100%); box-shadow: 0 30px 70px -24px rgba(251, 191, 36, 0.35); transition: transform 0.3s, box-shadow 0.3s; }
.hdl-flyer:hover { transform: scale(1.012) translateY(-3px); box-shadow: 0 36px 90px -22px rgba(251, 191, 36, 0.55), 0 0 60px -8px rgba(245, 158, 11, 0.3); }
.hdl-flyer img { display: block; width: 100%; height: auto; }
.hdl-flyer { max-width: 100%; }
.hdl-flyer img { max-width: 100%; }
.hdl-flyer { position: relative; z-index: 1; border-radius: 3px; overflow: hidden; background: #05060a; }
.hdl-flyer img { display: block; width: 100%; height: auto; max-height: 84vh; object-fit: contain; }
@media (max-width: 900px) {
  .hdl-flyer img { max-height: none; }
}
/* junglist */
.jng-flyer { position: relative; background: #050505; border: 2px solid var(--event-accent, #00ff41); box-shadow: 6px 6px 0 var(--event-accent-2, #00ffff); transition: transform 0.2s, box-shadow 0.2s; }
.jng-flyer:hover { transform: translate(-2px, -2px) rotate(-0.5deg); box-shadow: 10px 10px 0 var(--event-accent-2, #00ffff); }
.jng-flyer img { display: block; width: 100%; height: auto; }
.jng-flyer { max-width: 100%; }
.jng-flyer img { max-width: 100%; }
/* sub_bass */
.sb-flyer { background: #0c0220; display: block; }
.sb-flyer img { display: block; width: 100%; height: auto; }
.sb-flyer { max-width: 100%; }
.sb-flyer img { max-width: 100%; }
/* substation */
.sub-flyer { position: relative; border: 1px solid rgba(255,255,255,0.08); background: #0c0c0c; }
.sub-flyer img { display: block; width: 100%; height: auto; }
.sub-flyer::before,
.sub-flyer::after { content: ''; position: absolute; width: 18px; height: 18px; border: 1px solid var(--event-accent, #00ff9d); pointer-events: none; }
.sub-flyer::before { top: -6px; left: -6px; border-right: 0; border-bottom: 0; }
.sub-flyer::after { bottom: -6px; right: -6px; border-left: 0; border-top: 0; }
.sub-flyer { transition: transform 0.25s, box-shadow 0.25s; }
.sub-flyer:hover { transform: scale(1.012); box-shadow: 0 0 40px -10px var(--event-accent, #00ff9d); }
.sub-flyer { max-width: 100%; }
.sub-flyer img { max-width: 100%; }
/* playa */
.ply-flyer { position: relative; margin: clamp(20px, 4vw, 40px) auto clamp(30px, 5vw, 50px); max-width: 440px; transform: rotate(-1.6deg); background: #120a06; padding: 10px; border: 1px solid rgba(233,211,172,0.25); box-shadow: 0 30px 60px -28px rgba(0,0,0,0.8); }
.ply-flyer img { display: block; width: 100%; height: auto; max-width: 100%; }
@media (max-width: 560px) {
  .ply-flyer { transform: none; max-width: 100%; }
}
/* candlelight */
.cdl-photo { width: min(360px, 78vw); aspect-ratio: 4/5; max-height: 56vh; overflow: hidden; margin: clamp(26px,5vw,40px) auto 0; border: 1px solid var(--evt-border, rgba(230,179,92,.28)); border-radius: 8px; box-shadow: 0 30px 70px -40px rgba(230,179,92,.45); }
.cdl-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
/* deco */
.dco-photo { position: relative; margin: clamp(26px,4vw,40px) auto 0; width: 100%; padding: 10px; background: linear-gradient(135deg, var(--gold-d, #9a7f34), var(--gold, #d9b95c) 50%, var(--gold-d, #9a7f34)); box-shadow: 0 30px 70px -34px rgba(0,0,0,0.8); }
.dco-photo img { display: block; width: 100%; aspect-ratio: 16 / 8; object-fit: cover; background: var(--onyx, #0a0a0d); }
/* garden */
.grd-photo { width: min(360px, 78vw); aspect-ratio: 4/5; max-height: 56vh; overflow: hidden; margin: clamp(26px,5vw,40px) auto 0; border-radius: 999px 999px 18px 18px; border: 1px solid var(--evt-border, rgba(86,98,74,.28)); box-shadow: 0 30px 60px -34px rgba(52,55,44,.4); }
.grd-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
/* harvest */
.hrv-photo { width: min(360px, 78vw); aspect-ratio: 4/5; max-height: 56vh; overflow: hidden; margin: clamp(26px,5vw,40px) auto 0; border: 1px solid var(--evt-border, rgba(217,154,82,.30)); border-radius: 10px; box-shadow: 0 30px 70px -40px rgba(217,154,82,.4); }
.hrv-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
/* noir */
.noir-photo { width: 100%; aspect-ratio: 4/5; overflow: hidden; margin: 0; border: 1px solid var(--gold, #d4af37); border-radius: 3px; box-shadow: 0 30px 70px -40px rgba(212,175,55,.5); }
.noir-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
@media (max-width: 860px) {
  .noir-photo { width: min(360px, 78vw); margin: 0 auto; }
}
/* velvet */
.vlv-photo { width: min(360px, 78vw); aspect-ratio: 4/5; max-height: 56vh; overflow: hidden; margin: clamp(26px,5vw,40px) auto 0; border-radius: 20px; border: 1px solid var(--gold, #e6c98a); box-shadow: 0 30px 70px -40px rgba(230,201,138,.5); }
.vlv-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
/* launch */
.lnch-photo { border-radius: 16px; overflow: hidden; border: 1px solid var(--evt-border, rgba(124,92,255,.30)); margin-bottom: clamp(18px,3vw,26px); box-shadow: 0 30px 60px -36px rgba(124,92,255,.5); }
.lnch-photo img { width: 100%; display: block; }
/* acid */
.acid-portal { position: relative; width: min(70vw, 380px); aspect-ratio: 1; margin: 0 auto clamp(20px,4vw,34px); display: grid; place-items: center; }
/* berlin */
.bln-flyerpanel { padding: 8px; overflow: hidden; }
.bln-flyerpanel img { display: block; width: 100%; height: auto; max-width: 100%; border-radius: 2px; transition: transform 0.4s ease, filter 0.4s ease; }
.bln-flyerpanel:hover img { transform: scale(1.03); filter: saturate(1.15) contrast(1.05); }
.bln-flyerpanel > img + span, .bln-flyerpanel::after { content: ''; position: absolute; left: 0; right: 0; height: 40%; top: -40%; background: linear-gradient(180deg, transparent, rgba(55,230,255,0.18), transparent); pointer-events: none; animation: bln-flyerscan 4.5s linear infinite; }
@media (prefers-reduced-motion: reduce) {
  .bln-fx *, .bln-fx::before,
  .bln-title, .bln-title::before, .bln-title::after,
  .bln-panel, .bln-caret, .bln-ico,
  .bln-kick, .vx-pay,
  .bln-flyerpanel::after { animation: none !important; }
}
/* dnb */
.dnb-photo { position: relative; flex: 1 1 300px; max-width: 420px; margin: 0; background: #fff; padding: 10px 10px 12px; transform: rotate(-3deg); box-shadow: 0 26px 44px -20px rgba(0,0,0,0.9); transition: transform 0.25s ease; }
.dnb-photo:hover { transform: rotate(0deg); }
.dnb-photo img { display: block; width: 100%; height: auto; filter: grayscale(1) contrast(1.35) brightness(0.98); }
@media (max-width: 640px) {
  .dnb-photo { transform: rotate(-1.5deg); max-width: 100%; }
}
/* forest */
.fst-arch { position: relative; width: 100%; aspect-ratio: 4 / 3.4; overflow: hidden; border-radius: 50% 50% 20px 20px / 34% 34% 20px 20px; border: 3px solid var(--gold, #d4a056); box-shadow: 0 40px 80px -34px rgba(0,0,0,0.8), inset 0 0 60px rgba(0,0,0,0.4); margin-bottom: clamp(20px,4vw,32px); }
.fst-arch img { width: 100%; height: 100%; object-fit: cover; display: block; }
/* stub */
.stub-flyer { border-radius: 10px; overflow: hidden; margin-bottom: clamp(16px,3vw,24px); box-shadow: 0 14px 34px -16px rgba(0,0,0,.4); }
.stub-flyer img { width: 100%; display: block; }
/* vow */
.vow-band { width: 100%; aspect-ratio: 16 / 8; overflow: hidden; margin: clamp(34px,6vw,54px) 0 0; border-radius: 2px; -webkit-mask: radial-gradient(120% 100% at 50% 50%, #000 70%, transparent 100%); mask: radial-gradient(120% 100% at 50% 50%, #000 70%, transparent 100%); }
.vow-band img { width: 100%; height: 100%; object-fit: cover; display: block; filter: saturate(0.94); }
/* ===== KEYFRAMES (flyer pass) ===== */
/* berlin */ @keyframes bln-flyerscan { 0% { top: -45%; } 100% { top: 105%; } }
