/* ==========================================================================
   BashWorld — site design system. Black, red, drip, neon. Everything is scoped
   to .bw-* classes so the rest of WordPress/Elementor is left alone.
   ========================================================================== */

:root {
	--bw-red: #e10600;
	--bw-red-hot: #ff3b30;
	--bw-red-deep: #8c0400;
	--bw-ink: #09090b;
	--bw-ink-2: #0f0f13;
	--bw-panel: #131318;
	--bw-panel-2: #1b1b22;
	--bw-line: rgba(255, 255, 255, .09);
	--bw-line-2: rgba(255, 255, 255, .16);
	--bw-text: #f5f5f6;
	--bw-muted: #a3a3ad;
	--bw-blue: #1fa2e0;
	--bw-green: #7ed321;
	--bw-discord: #5865f2;
	--bw-display: "Bayon", "Bebas Neue", "Anton", Impact, "Arial Narrow", sans-serif;
	--bw-body: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	--bw-ease: cubic-bezier(.2, .8, .2, 1);
	--bw-hh: 78px;
	--bw-gutter: clamp(16px, 5vw, 64px);
}

body.bw-site {
	margin: 0;
	background: var(--bw-ink);
	color: var(--bw-text);
	font-family: var(--bw-body);
	-webkit-font-smoothing: antialiased;
	overflow-x: clip;
}
body.bw-site.bw-lock { overflow: hidden; }

/* ---------- scoped reset (beats Elementor kit/theme typography) ---------- */
:is(.bw-intro, .bw-hero, .bw-phero, .bw-bandwrap, .bw-worlds, .bw-statement, .bw-photos, .bw-bio, .bw-live, .bw-videos, .bw-merch, .bw-sponsors, .bw-discord, .bw-dcta, .bw-contact, .bw-header, .bw-mnav, .bw-footer, .bw-drawer, .bw-cart, .bw-lightbox, .bw-band) {
	box-sizing: border-box;
	font-family: var(--bw-body);
	color: var(--bw-text);
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
}
:is(.bw-intro, .bw-hero, .bw-phero, .bw-bandwrap, .bw-worlds, .bw-statement, .bw-photos, .bw-bio, .bw-live, .bw-videos, .bw-merch, .bw-sponsors, .bw-discord, .bw-dcta, .bw-contact, .bw-header, .bw-mnav, .bw-footer, .bw-drawer, .bw-cart, .bw-lightbox) :is(*, *::before, *::after) { box-sizing: border-box; }
body :is(.bw-intro, .bw-hero, .bw-phero, .bw-worlds, .bw-statement, .bw-photos, .bw-bio, .bw-live, .bw-videos, .bw-merch, .bw-sponsors, .bw-discord, .bw-dcta, .bw-contact, .bw-header, .bw-mnav, .bw-footer, .bw-drawer, .bw-cart) :is(h1, h2, h3, h4, h5, p, ul, ol, li, figure, blockquote) {
	margin: 0;
	padding: 0;
}
/* Headings only: undo Elementor kit heading colors/fonts (components set their own with !important). */
body :is(.bw-intro, .bw-hero, .bw-phero, .bw-worlds, .bw-statement, .bw-photos, .bw-bio, .bw-live, .bw-videos, .bw-merch, .bw-sponsors, .bw-discord, .bw-dcta, .bw-contact, .bw-header, .bw-mnav, .bw-footer, .bw-drawer, .bw-cart) :is(h1, h2, h3, h4, h5) {
	color: inherit;
	letter-spacing: normal;
	text-transform: none;
	font-weight: inherit;
}
body :is(.bw-worlds, .bw-bio, .bw-live, .bw-videos, .bw-merch, .bw-sponsors, .bw-discord, .bw-contact, .bw-header, .bw-mnav, .bw-footer, .bw-drawer, .bw-cart) :is(ul, ol) { list-style: none; }
:where(body [class*="bw-"]) a { text-decoration: none; }
:where(body [class*="bw-"]) button { font: inherit; color: inherit; }
/* :where() keeps these at zero specificity so each component's own image sizing wins. */
:where(body [class*="bw-"]) img { max-width: 100%; height: auto; border: 0; box-shadow: none; }
body .bw-header__logo img { height: 46px; width: auto; max-width: none; }
:is(.bw-intro, .bw-hero, .bw-phero, .bw-live, .bw-videos, .bw-merch, .bw-contact, .bw-header, .bw-mnav, .bw-footer, .bw-drawer, .bw-cart, .bw-lightbox) :focus-visible { outline: 3px solid var(--bw-blue); outline-offset: 3px; }

/* ---------- layout ---------- */
.bw-sec { position: relative; isolation: isolate; overflow: hidden; overflow: clip; background: var(--bw-ink); padding: clamp(72px, 10vw, 140px) var(--bw-gutter); }
.bw-sec--flush { padding-top: clamp(24px, 4vw, 48px); padding-bottom: clamp(24px, 4vw, 48px); }
.bw-wrap { max-width: 1280px; margin: 0 auto; width: 100%; position: relative; }

/* ---------- background FX ---------- */
.bw-fx { position: absolute; inset: 0; z-index: -1; pointer-events: none; overflow: hidden; overflow: clip; }
.bw-fx__glow { position: absolute; top: -35vmax; right: -25vmax; width: 70vmax; height: 70vmax; border-radius: 50%; background: radial-gradient(closest-side, rgba(225, 6, 0, .32), transparent); animation: bw-drift 18s ease-in-out infinite alternate; }
.bw-fx__glow--2 { top: auto; right: auto; left: -30vmax; bottom: -42vmax; background: radial-gradient(closest-side, rgba(31, 162, 224, .13), transparent); animation-duration: 26s; }
.bw-fx--soft .bw-fx__glow { opacity: .6; }
.bw-fx--live .bw-fx__glow--2 { background: radial-gradient(closest-side, rgba(145, 70, 255, .18), transparent); }
.bw-fx--discord .bw-fx__glow { background: radial-gradient(closest-side, rgba(88, 101, 242, .35), transparent); }
.bw-fx__grain { position: absolute; inset: -50%; opacity: .07; animation: bw-grain 1.2s steps(6) infinite;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E"); }

/* ---------- type ---------- */
.bw-head { max-width: 980px; margin: 0 auto clamp(36px, 6vw, 72px); }
.bw-head--center { text-align: center; }
.bw-head--left { margin-left: 0; }
.bw-head--center .bw-eyebrow { margin-left: auto !important; margin-right: auto !important; }
.bw-eyebrow { display: flex !important; width: fit-content; align-items: center; gap: .7em; font-family: var(--bw-display) !important; font-size: clamp(15px, 1.4vw, 19px) !important; letter-spacing: .34em !important; text-transform: uppercase; color: var(--bw-red-hot) !important; margin-bottom: .55em !important; }
.bw-eyebrow::before { content: ""; width: 34px; height: 2px; background: currentColor; }
.bw-head--center .bw-eyebrow::after { content: ""; width: 34px; height: 2px; background: currentColor; }
.bw-eyebrow svg { flex: none; }
.bw-title, .bw-hero__title, .bw-phero__title, .bw-merch__title, .bw-bio__name, .bw-live__title { position: relative; display: inline-block; font-family: var(--bw-display) !important; font-weight: 400 !important; text-transform: uppercase !important; letter-spacing: .005em !important; line-height: .86 !important; color: #fff; }
.bw-title { font-size: clamp(48px, 8vw, 116px) !important; }
.bw-title::after, .bw-hero__title::after, .bw-phero__title::after, .bw-merch__title::after, .bw-bio__name::after, .bw-live__title::after {
	content: attr(data-text); position: absolute; top: .045em; left: .045em; width: 100%; z-index: -1; color: transparent; -webkit-text-stroke: 2px var(--bw-red); pointer-events: none;
}
.bw-lead { color: #d4d4d8; font-size: clamp(16px, 1.3vw, 19px); line-height: 1.7; max-width: 64ch; margin-top: 20px; }
.bw-head--center .bw-lead { margin-left: auto; margin-right: auto; }
.bw-dot, .bw-chip--live i, .bw-nav__dot, .bw-intro__live i, .bw-live__status i, .bw-pcard__live i, .bw-discord__online i { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: var(--bw-red-hot); box-shadow: 0 0 0 0 rgba(255, 59, 48, .7); animation: bw-ping 1.6s ease-out infinite; flex: none; }

/* split letters */
.bw-split-word { display: inline-block; white-space: nowrap; }
.bw-char { display: inline-block; }
.bw-js [data-bw-split] .bw-char { opacity: 0; translate: 0 .5em; rotate: 8deg; transition: opacity .6s ease, translate .8s var(--bw-ease), rotate .8s var(--bw-ease); transition-delay: calc(var(--ci, 0) * 35ms); }
.bw-js [data-bw-split].is-in .bw-char { opacity: 1; translate: 0 0; rotate: 0deg; }

/* reveal */
.bw-js [data-bw-reveal] { opacity: 0; translate: 0 34px; transition: opacity .9s ease, translate .9s var(--bw-ease); transition-delay: calc(var(--i, 0) * 90ms); }
.bw-js [data-bw-reveal].is-in { opacity: 1; translate: 0 0; }

/* ---------- chips & buttons ---------- */
.bw-chip { display: inline-flex; align-items: center; gap: 8px; padding: 6px 12px !important; border-radius: 999px; font: 700 11px/1.2 var(--bw-body) !important; letter-spacing: .18em !important; text-transform: uppercase !important; color: #fff; background: rgba(0, 0, 0, .55); border: 1px solid rgba(255, 255, 255, .2); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.bw-chip--live { background: rgba(225, 6, 0, .2); border-color: rgba(255, 59, 48, .6); }
.bw-chip svg { flex: none; }

.bw-btn {
	--h: 56px;
	position: relative; overflow: hidden; isolation: isolate;
	display: inline-flex; align-items: center; justify-content: center; gap: 10px;
	height: var(--h); padding: 0 30px; border: 0; cursor: pointer;
	font-family: var(--bw-display) !important; font-size: 21px !important; letter-spacing: .08em !important; text-transform: uppercase !important; line-height: 1 !important;
	color: #fff !important; background: var(--bw-red);
	clip-path: polygon(14px 0, 100% 0, calc(100% - 14px) 100%, 0 100%);
	translate: var(--mx, 0) var(--my, 0);
	transition: background .25s, translate .35s var(--bw-ease), box-shadow .3s;
}
.bw-btn::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(105deg, transparent 35%, rgba(255, 255, 255, .45) 50%, transparent 65%); translate: -120% 0; transition: translate .7s var(--bw-ease); }
.bw-btn:hover { background: var(--bw-red-hot); }
.bw-btn:hover::after { translate: 120% 0; }
.bw-btn svg { transition: translate .3s var(--bw-ease); }
.bw-btn:hover svg { translate: 4px 0; }
.bw-btn--primary { box-shadow: 0 16px 40px -14px rgba(225, 6, 0, .85); }
.bw-btn--ghost, .bw-btn--soon { clip-path: none; border-radius: 999px; background: rgba(255, 255, 255, .04); box-shadow: inset 0 0 0 2px rgba(255, 255, 255, .7); }
.bw-btn--ghost:hover { background: #fff; color: var(--bw-ink) !important; }
.bw-btn--soon { box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .3); color: var(--bw-muted) !important; }
.bw-btn--soon:hover { background: rgba(255, 255, 255, .08); }
.bw-btn--discord { background: var(--bw-discord); box-shadow: 0 16px 40px -14px rgba(88, 101, 242, .9); }
.bw-btn--discord:hover { background: #6f7bff; }
.bw-btn--sm { --h: 42px; padding: 0 20px; font-size: 16px !important; clip-path: polygon(10px 0, 100% 0, calc(100% - 10px) 100%, 0 100%); }
.bw-btn--sm.bw-btn--ghost, .bw-btn--sm.bw-btn--soon { clip-path: none; }
.bw-btn--xl { --h: 70px; padding: 0 44px; font-size: 28px !important; }

.bw-socials { display: flex; flex-wrap: wrap; gap: 10px; list-style: none !important; margin: 26px 0 0 !important; padding: 0 !important; }
.bw-socials a { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; color: #fff !important; background: rgba(255, 255, 255, .06); border: 1px solid var(--bw-line-2); translate: var(--mx, 0) var(--my, 0); transition: background .25s, border-color .25s, translate .35s var(--bw-ease), color .25s; }
.bw-socials a:hover { background: var(--bw-red); border-color: var(--bw-red); }
.bw-socials--light a { background: rgba(0, 0, 0, .35); border-color: rgba(255, 255, 255, .35); }
.bw-socials--header { margin: 0 !important; gap: 6px; }
.bw-socials--header a { width: 36px; height: 36px; }
.bw-socials--stack { margin-top: 0 !important; }

/* ---------- marquee band ---------- */
.bw-bandwrap { padding: clamp(20px, 3vw, 40px) 0; background: var(--bw-ink); overflow: hidden; overflow: clip; }
.bw-band { position: relative; overflow: hidden; overflow: clip; white-space: nowrap; font-family: var(--bw-display); font-size: clamp(26px, 3.4vw, 48px); line-height: 1; padding: .36em 0; background: var(--bw-red); color: var(--bw-ink); }
.bw-band--tilt { rotate: -2deg; margin: 0 -24px; }
.bw-band--outline { background: transparent; color: transparent; -webkit-text-stroke: 1.5px rgba(255, 255, 255, .55); border-block: 1px solid var(--bw-line); }
.bw-band--dark { background: #000; color: #fff; }
.bw-band--discord { background: var(--bw-discord); color: #fff; }
.bw-band__track { display: inline-flex; align-items: center; animation: bw-marquee 38s linear infinite; }
.bw-band--reverse .bw-band__track { animation-direction: reverse; }
.bw-band__track span { padding: 0 .45em; }
.bw-band__track i { font-style: normal; font-size: .7em; opacity: .9; }
.bw-band--outline .bw-band__track i { -webkit-text-stroke: 0; color: var(--bw-red); }

/* ---------- drip ---------- */
.bw-drip { display: block; width: 100%; height: clamp(50px, 7vw, 110px); }

/* ---------- page wipe ---------- */
.bw-wipe { position: fixed; inset: 0; z-index: 100000; background: var(--bw-red); transform: scaleY(0); transform-origin: 50% 100%; pointer-events: none; transition: transform .5s cubic-bezier(.7, 0, .3, 1); }
.bw-wipe::after { content: "BASHWORLD"; position: absolute; inset: 0; display: grid; place-items: center; font-family: var(--bw-display); font-size: clamp(48px, 10vw, 140px); color: var(--bw-ink); opacity: 0; transition: opacity .2s .2s; }
html.bw-wiping .bw-wipe { transform: scaleY(1); pointer-events: all; }
html.bw-wiping .bw-wipe::after { opacity: 1; }
html.bw-enter .bw-wipe { transform: scaleY(1); transform-origin: 50% 0; }

/* ==========================================================================
   HEADER
   ========================================================================== */
.bw-header { position: fixed; top: 0; left: 0; right: 0; z-index: 9990; height: var(--bw-hh); transition: transform .45s var(--bw-ease), background .35s, border-color .35s; border-bottom: 1px solid transparent; }
body.admin-bar .bw-header { top: 32px; }
@media (max-width: 782px) { body.admin-bar .bw-header { top: 46px; } }
.bw-header.is-scrolled { background: rgba(9, 9, 11, .82); -webkit-backdrop-filter: blur(16px) saturate(140%); backdrop-filter: blur(16px) saturate(140%); border-bottom-color: var(--bw-line); }
.bw-header.is-hidden { transform: translateY(-100%); }
.bw-header__bar { height: 100%; max-width: 1560px; margin: 0 auto; padding: 0 clamp(14px, 3vw, 34px); display: flex; align-items: center; gap: 24px; }
.bw-header__logo { flex: none; display: block; }
.bw-header__logo img { height: 46px; width: auto; display: block; filter: drop-shadow(0 4px 12px rgba(0, 0, 0, .5)); transition: scale .3s var(--bw-ease); }
.bw-header__logo:hover img { scale: 1.06; rotate: -2deg; }
.bw-nav { margin: 0 auto; }
.bw-nav > ul { display: flex; align-items: center; gap: clamp(10px, 1.4vw, 26px); list-style: none; margin: 0; padding: 0; }
.bw-nav li { position: relative; }
.bw-nav__link { position: relative; display: inline-flex; align-items: center; gap: 7px; padding: 10px 0; font-family: var(--bw-display) !important; font-size: 17px !important; letter-spacing: .1em !important; text-transform: uppercase !important; color: #fff !important; white-space: nowrap; }
.bw-nav__link::after { content: ""; position: absolute; left: 0; right: 0; bottom: 4px; height: 2px; background: var(--bw-red-hot); transform: scaleX(0); transform-origin: right; transition: transform .35s var(--bw-ease); }
.bw-nav__link:hover::after, .bw-nav__link.is-current::after { transform: scaleX(1); transform-origin: left; }
.bw-nav__link span { position: relative; }
.bw-nav__link:hover span::before, .bw-nav__link:hover span::after { content: attr(data-text); position: absolute; inset: 0; pointer-events: none; }
.bw-nav__link:hover span::before { color: var(--bw-red-hot); translate: -2px 0; clip-path: inset(0 0 55% 0); animation: bw-glitch .35s steps(2) 2; }
.bw-nav__link:hover span::after { color: var(--bw-blue); translate: 2px 0; clip-path: inset(55% 0 0 0); animation: bw-glitch .35s steps(2) 2 reverse; }
.bw-nav__sub { position: absolute; top: 100%; left: -16px; min-width: 200px; padding: 10px !important; list-style: none; background: rgba(12, 12, 16, .96); border: 1px solid var(--bw-line); border-radius: 14px; opacity: 0; visibility: hidden; translate: 0 8px; transition: opacity .25s, translate .25s, visibility 0s .25s; }
.bw-nav li.has-sub:hover .bw-nav__sub, .bw-nav li.has-sub:focus-within .bw-nav__sub { opacity: 1; visibility: visible; translate: 0 0; transition-delay: 0s; }
.bw-nav__sublink { display: block; padding: 10px 12px; border-radius: 8px; font-family: var(--bw-display) !important; font-size: 16px !important; letter-spacing: .08em !important; color: #fff !important; }
.bw-nav__sublink:hover { background: var(--bw-red); }
.bw-header__tools { display: flex; align-items: center; gap: 12px; flex: none; margin-left: auto; }
.bw-nav + .bw-header__tools { margin-left: 0; }
.bw-header__cart { position: relative; display: grid; place-items: center; width: 46px; height: 46px; border-radius: 50%; border: 1px solid var(--bw-line-2); background: rgba(255, 255, 255, .06); color: #fff; cursor: pointer; transition: background .25s, border-color .25s; }
.bw-header__cart:hover { background: var(--bw-red); border-color: var(--bw-red); }
.bw-header__count { position: absolute; top: -4px; right: -4px; min-width: 20px; height: 20px; padding: 0 5px; border-radius: 10px; background: var(--bw-red-hot); color: #fff; font: 800 11px/20px var(--bw-body); text-align: center; }
.bw-header__count.is-bump { animation: bw-bump .5s var(--bw-ease); }
.bw-burger { display: none; position: relative; width: 48px; height: 48px; border: 0; border-radius: 50%; background: var(--bw-red); cursor: pointer; }
.bw-burger span { position: absolute; left: 14px; right: 14px; height: 2px; background: #fff; border-radius: 2px; transition: transform .35s var(--bw-ease), opacity .2s; }
.bw-burger span:nth-child(1) { top: 17px; }
.bw-burger span:nth-child(2) { top: 23px; }
.bw-burger span:nth-child(3) { top: 29px; right: 20px; }
.bw-burger[aria-expanded="true"] span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.bw-burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.bw-burger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); right: 14px; }
@media (max-width: 1440px) { .bw-socials--header { display: none; } }
@media (max-width: 1200px) {
	.bw-nav { display: none; }
	.bw-burger { display: block; }
	.bw-header__tools { margin-left: auto; }
}

.bw-mnav { position: fixed; inset: 0; z-index: 9980; display: flex; flex-direction: column; justify-content: center; gap: 36px; padding: calc(var(--bw-hh) + 20px) var(--bw-gutter) 40px; background: var(--bw-ink); overflow-y: auto; opacity: 0; transition: opacity .35s; }
.bw-mnav[hidden] { display: none; }
.bw-mnav.is-open { opacity: 1; }
.bw-mnav__list { list-style: none; margin: 0; padding: 0; }
.bw-mnav__link { display: flex; align-items: center; gap: 14px; padding: 4px 0; font-family: var(--bw-display) !important; font-size: clamp(38px, 9vw, 76px) !important; line-height: 1.05; text-transform: uppercase !important; color: #fff !important; opacity: 0; translate: -30px 0; transition: opacity .5s, translate .6s var(--bw-ease), color .2s; }
.bw-mnav.is-open .bw-mnav__link { opacity: 1; translate: 0 0; }
.bw-mnav__list li:nth-child(1) .bw-mnav__link { transition-delay: .05s; }
.bw-mnav__list li:nth-child(2) .bw-mnav__link { transition-delay: .09s; }
.bw-mnav__list li:nth-child(3) .bw-mnav__link { transition-delay: .13s; }
.bw-mnav__list li:nth-child(4) .bw-mnav__link { transition-delay: .17s; }
.bw-mnav__list li:nth-child(5) .bw-mnav__link { transition-delay: .21s; }
.bw-mnav__list li:nth-child(6) .bw-mnav__link { transition-delay: .25s; }
.bw-mnav__list li:nth-child(7) .bw-mnav__link { transition-delay: .29s; }
.bw-mnav__list li:nth-child(8) .bw-mnav__link { transition-delay: .33s; }
.bw-mnav__list li:nth-child(9) .bw-mnav__link { transition-delay: .37s; }
.bw-mnav__link:hover, .bw-mnav__link.is-current { color: var(--bw-red-hot) !important; }
.bw-mnav .bw-nav__sub { position: static; opacity: 1; visibility: visible; translate: none; background: none; border: 0; padding: 0 0 0 24px !important; }
.bw-mnav .bw-nav__sublink { font-size: 24px !important; }
.bw-mnav__foot { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 24px; }
.bw-mnav__foot .bw-socials { margin: 0 !important; }

/* ==========================================================================
   FOOTER
   ========================================================================== */
.bw-footer { position: relative; isolation: isolate; overflow: hidden; overflow: clip; background: var(--bw-red); color: #fff; padding: 0 var(--bw-gutter) 28px; }
.bw-footer__drip { position: relative; margin: 0 calc(-1 * var(--bw-gutter)); width: calc(100% + 2 * var(--bw-gutter)); }
.bw-footer .bw-fx__glow { background: radial-gradient(closest-side, rgba(0, 0, 0, .25), transparent); }
.bw-footer__top { display: grid; grid-template-columns: minmax(0, 1.4fr) repeat(3, minmax(0, 1fr)); gap: 40px; padding: clamp(20px, 4vw, 50px) 0 clamp(30px, 4vw, 60px); }
.bw-footer__brand img { width: 240px; height: auto; filter: drop-shadow(0 10px 24px rgba(0, 0, 0, .35)); }
.bw-footer__brand p { margin: 14px 0 20px !important; max-width: 38ch; color: rgba(255, 255, 255, .88); font-size: 15px; }
.bw-footer__col h3 { font-family: var(--bw-display) !important; font-size: 24px !important; letter-spacing: .08em !important; text-transform: uppercase !important; margin-bottom: 14px !important; color: var(--bw-ink) !important; }
.bw-footer__col ul { display: grid; gap: 8px; list-style: none; }
.bw-footer__link { color: #fff !important; font-weight: 600; font-size: 16px; position: relative; }
.bw-footer__link span { background: linear-gradient(currentColor, currentColor) 0 100% / 0 2px no-repeat; transition: background-size .35s var(--bw-ease); padding-bottom: 2px; }
.bw-footer__link:hover span { background-size: 100% 2px; }
.bw-footer .bw-socials a { background: rgba(0, 0, 0, .2); border-color: rgba(255, 255, 255, .35); }
.bw-footer .bw-socials a:hover { background: var(--bw-ink); border-color: var(--bw-ink); }
.bw-footer__giant { font-family: var(--bw-display) !important; font-size: 23.5vw !important; line-height: .78 !important; text-align: center; color: rgba(0, 0, 0, .2); white-space: nowrap; margin: 0 calc(-1 * var(--bw-gutter)) !important; letter-spacing: -.01em !important; user-select: none; transition: color .6s; }
.bw-footer:hover .bw-footer__giant { color: rgba(0, 0, 0, .3); }
.bw-footer__bottom { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding-top: 22px; border-top: 1px solid rgba(255, 255, 255, .25); font-size: 14px; }
.bw-footer__top-link { display: inline-flex; align-items: center; gap: 8px; color: #fff !important; font-weight: 700; }
.bw-footer__top-link:hover svg { translate: 0 -3px; }
.bw-footer__top-link svg { transition: translate .3s var(--bw-ease); }
@media (max-width: 900px) { .bw-footer__top { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } .bw-footer__brand { grid-column: 1 / -1; } }
@media (max-width: 520px) { .bw-footer__top { grid-template-columns: 1fr; } .bw-footer__bottom { flex-direction: column; align-items: flex-start; } }

/* ==========================================================================
   INTRO (video + ENTER)
   ========================================================================== */
.bw-intro { position: relative; isolation: isolate; overflow: hidden; height: 100vh; height: 100svh; min-height: 560px; background: #000; display: grid; place-items: center; }
.bw-intro__media { position: absolute; inset: 0; z-index: -2; overflow: hidden; }
.bw-intro__poster { position: absolute; inset: -4%; background: center / cover no-repeat; animation: bw-kenburns 26s ease-in-out infinite alternate; }
.bw-intro__video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity 1.4s ease; }
.bw-intro__yt { position: absolute; top: 50%; left: 50%; width: 100vw; height: 56.25vw; min-height: 100vh; min-width: 177.78vh; translate: -50% -50%; scale: 1.18; opacity: 0; transition: opacity 1.4s ease; pointer-events: none; }
.bw-intro__yt iframe { width: 100%; height: 100%; border: 0; }
.bw-intro.is-playing :is(.bw-intro__video, .bw-intro__yt) { opacity: 1; }
.bw-intro__shade { position: absolute; inset: 0; background: radial-gradient(ellipse at center, rgba(0, 0, 0, .1) 0%, rgba(0, 0, 0, .55) 62%, rgba(0, 0, 0, .92) 100%), linear-gradient(180deg, rgba(0, 0, 0, .6), transparent 28%, transparent 62%, rgba(0, 0, 0, .85)); }
.bw-intro__scan { position: absolute; inset: 0; background: repeating-linear-gradient(0deg, rgba(255, 255, 255, .04) 0 1px, transparent 1px 3px); mix-blend-mode: overlay; }
.bw-intro .bw-fx__glow { opacity: .55; }
.bw-intro__top { position: absolute; top: 0; left: 0; right: 0; display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 22px clamp(16px, 4vw, 40px); }
.bw-intro__top .bw-socials { margin: 0 !important; }
.bw-intro__live { display: inline-flex; align-items: center; gap: 10px; padding: 8px 14px; border-radius: 999px; background: rgba(225, 6, 0, .25); border: 1px solid rgba(255, 59, 48, .6); font: 800 12px/1 var(--bw-body); letter-spacing: .22em; color: #fff; }
.bw-intro__center { position: relative; display: grid; justify-items: center; gap: clamp(16px, 3vh, 28px); padding: 0 16px; text-align: center; }
.bw-intro__logo { line-height: 0 !important; margin: 0 !important; }
.bw-intro__logo img { width: min(80vw, 660px); height: auto; filter: drop-shadow(0 22px 40px rgba(0, 0, 0, .65)); animation: bw-drop-in 1.3s var(--bw-ease) both, bw-float 6s ease-in-out 1.3s infinite; }
.bw-intro__word { font-family: var(--bw-display) !important; font-size: clamp(64px, 14vw, 200px) !important; line-height: .9 !important; color: #fff; }
.bw-intro__enter { position: relative; isolation: isolate; display: inline-grid; place-items: center; min-width: 260px; padding: 20px 56px; border-radius: 999px; color: #fff !important; background: rgba(0, 0, 0, .45); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); box-shadow: 0 0 0 0 rgba(225, 6, 0, .6); animation: bw-drop-in 1.3s .35s var(--bw-ease) both, bw-pulse 2.4s 1.6s var(--bw-ease) infinite; transition: background .3s, scale .3s var(--bw-ease); }
.bw-intro__enter-ring { position: absolute; inset: -2px; z-index: -1; border-radius: inherit; padding: 2px; background: conic-gradient(from var(--bw-a, 0deg), var(--bw-red), #fff, var(--bw-red-hot), transparent 60%, var(--bw-red)); -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude; animation: bw-spin-a 3s linear infinite; }
.bw-intro__enter-text { position: relative; font-family: var(--bw-display) !important; font-size: clamp(34px, 5vw, 58px) !important; letter-spacing: .38em !important; padding-left: .38em; line-height: 1 !important; }
.bw-intro__enter:hover, .bw-intro__enter:focus-visible { background: var(--bw-red); scale: 1.05; }
.bw-intro__enter:hover .bw-intro__enter-text::before, .bw-intro__enter:hover .bw-intro__enter-text::after { content: attr(data-text); position: absolute; inset: 0; padding-left: .38em; }
.bw-intro__enter:hover .bw-intro__enter-text::before { color: var(--bw-blue); translate: -3px 0; clip-path: inset(0 0 60% 0); animation: bw-glitch .3s steps(2) infinite; mix-blend-mode: screen; }
.bw-intro__enter:hover .bw-intro__enter-text::after { color: #ffe600; translate: 3px 0; clip-path: inset(60% 0 0 0); animation: bw-glitch .3s steps(2) infinite reverse; mix-blend-mode: screen; }
.bw-intro__hint { font: 600 12px/1 var(--bw-body); letter-spacing: .2em; text-transform: uppercase; color: rgba(255, 255, 255, .6); animation: bw-fade-in 1s 1.2s both; }
.bw-intro__hint kbd { display: inline-block; padding: 3px 7px; margin: 0 4px; border-radius: 5px; border: 1px solid rgba(255, 255, 255, .45); font: inherit; }
.bw-intro__tagline { max-width: 54ch; font-size: clamp(13px, 1.2vw, 15px); letter-spacing: .08em; text-transform: uppercase; color: rgba(255, 255, 255, .78); animation: bw-fade-in 1s 1.4s both; }
.bw-intro__sound { position: absolute; left: clamp(16px, 4vw, 40px); bottom: clamp(16px, 4vh, 36px); display: inline-flex; align-items: center; gap: 10px; padding: 10px 16px; border-radius: 999px; border: 1px solid rgba(255, 255, 255, .35); background: rgba(0, 0, 0, .4); color: #fff; font: 700 12px/1 var(--bw-body); letter-spacing: .16em; text-transform: uppercase; cursor: pointer; }
.bw-intro__sound[hidden] { display: none; }
.bw-intro__bars { display: inline-flex; align-items: flex-end; gap: 2px; height: 14px; }
.bw-intro__bars i { width: 3px; height: 30%; background: #fff; border-radius: 2px; }
.bw-intro__sound[aria-pressed="true"] .bw-intro__bars i { animation: bw-eq .8s ease-in-out infinite alternate; background: var(--bw-red-hot); }
.bw-intro__bars i:nth-child(2) { animation-delay: -.3s !important; }
.bw-intro__bars i:nth-child(3) { animation-delay: -.6s !important; }
.bw-intro__bars i:nth-child(4) { animation-delay: -.15s !important; }
body.bw-intro-page .bw-header, body.bw-intro-page .bw-footer { display: none; }

/* ==========================================================================
   HOME HERO
   ========================================================================== */
.bw-hero { position: relative; isolation: isolate; overflow: hidden; overflow: clip; min-height: 100vh; min-height: 100svh; display: grid; align-items: center; padding: calc(var(--bw-hh) + 30px) var(--bw-gutter) 90px; background: var(--bw-ink); }
.bw-hero__stripes { position: absolute; inset: 0; z-index: -1; background: repeating-linear-gradient(115deg, transparent 0 70px, rgba(225, 6, 0, .07) 70px 72px); -webkit-mask-image: linear-gradient(90deg, transparent 10%, #000 70%); mask-image: linear-gradient(90deg, transparent 10%, #000 70%); }
.bw-hero__inner { width: 100%; max-width: 1360px; margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: clamp(20px, 4vw, 60px); align-items: center; }
.bw-hero__eyebrow { display: inline-flex; align-items: center; gap: 12px; font-family: var(--bw-display) !important; font-size: clamp(20px, 2.2vw, 30px) !important; letter-spacing: .3em !important; color: #fff; }
.bw-hero__title { font-size: clamp(64px, 10.5vw, 168px) !important; line-height: .8 !important; background: linear-gradient(180deg, #fff 35%, #ffc8c4); -webkit-background-clip: text; background-clip: text; color: transparent; margin: .08em 0 .12em !important; }
.bw-hero__title .bw-char { background: linear-gradient(180deg, #fff 35%, #ffc8c4); -webkit-background-clip: text; background-clip: text; color: transparent; }
.bw-hero__sub { font-size: clamp(19px, 2vw, 27px); font-weight: 800; line-height: 1.25; max-width: 30ch; }
.bw-hero__text { margin-top: 14px !important; color: var(--bw-muted); max-width: 52ch; font-size: clamp(15px, 1.2vw, 18px); }
.bw-hero__actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 30px; }
.bw-hero__art { position: relative; width: 100%; max-width: 640px; aspect-ratio: 1; justify-self: center; translate: 0 var(--py, 0); }
.bw-hero__halo { position: absolute; inset: 10%; border-radius: 50%; background: radial-gradient(circle, rgba(225, 6, 0, .6), transparent 66%); filter: blur(8px); animation: bw-breathe 5s ease-in-out infinite; }
.bw-hero__ring { position: absolute; inset: 0; width: 100%; height: 100%; animation: bw-spin 30s linear infinite; }
.bw-hero__ring text { font-family: var(--bw-display); font-size: 25px; letter-spacing: .32em; fill: rgba(255, 255, 255, .78); }
.bw-hero__img { position: absolute; left: 9%; top: 6%; width: 82%; height: 94%; object-fit: cover; object-position: 50% 30%; -webkit-mask-image: radial-gradient(ellipse 58% 64% at 50% 44%, #000 58%, transparent 76%); mask-image: radial-gradient(ellipse 58% 64% at 50% 44%, #000 58%, transparent 76%); }
.bw-hero__chip { position: absolute; animation: bw-float 5s ease-in-out infinite; }
.bw-hero__chip--a { top: 16%; left: 0; }
.bw-hero__chip--b { bottom: 14%; right: 2%; gap: 10px; animation-delay: -2.5s; }
.bw-hero__scroll { position: absolute; left: 50%; bottom: 26px; translate: -50% 0; width: 28px; height: 44px; border-radius: 16px; border: 2px solid rgba(255, 255, 255, .6); }
.bw-hero__scroll span { position: absolute; left: 50%; top: 8px; width: 4px; height: 8px; border-radius: 2px; background: #fff; translate: -50% 0; animation: bw-scroll 1.8s ease-in-out infinite; }
@media (max-width: 900px) {
	.bw-hero__inner { grid-template-columns: 1fr; }
	.bw-hero__art { max-width: 460px; order: -1; margin-bottom: -40px; }
	.bw-hero__scroll { display: none; }
}

/* ==========================================================================
   PAGE BANNER
   ========================================================================== */
.bw-phero { position: relative; isolation: isolate; overflow: hidden; overflow: clip; min-height: clamp(460px, 74vh, 760px); display: grid; align-items: end; padding: calc(var(--bw-hh) + 60px) var(--bw-gutter) clamp(110px, 12vw, 170px); background: var(--bw-ink); }
.bw-phero--medium { min-height: clamp(380px, 56vh, 560px); }
.bw-phero__bg, .bw-merch__hero-bg { position: absolute; inset: -12% 0; z-index: -3; translate: 0 var(--py, 0); }
.bw-phero__bg img, .bw-merch__hero-bg img { width: 100%; height: 100%; object-fit: cover; }
.bw-phero__shade { position: absolute; inset: 0; z-index: -2; background: linear-gradient(180deg, rgba(9, 9, 11, .55), rgba(9, 9, 11, .35) 40%, rgba(9, 9, 11, .92) 88%, var(--bw-ink)), linear-gradient(90deg, rgba(9, 9, 11, .8), transparent 70%); }
.bw-phero__inner, .bw-merch__hero-inner { position: relative; max-width: 1280px; width: 100%; margin: 0 auto; }
.bw-phero__title, .bw-merch__title { font-size: clamp(64px, 12vw, 190px) !important; line-height: .82 !important; }
.bw-phero__text, .bw-merch__text { margin-top: 18px !important; max-width: 56ch; color: #e4e4e7; font-size: clamp(16px, 1.4vw, 20px); }
.bw-phero__actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 28px; }
.bw-phero__drip { position: absolute; left: 0; right: 0; bottom: 0; }

/* ==========================================================================
   EXPLORE TILES
   ========================================================================== */
.bw-worlds__grid { max-width: 1320px; margin: 0 auto; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); grid-auto-rows: clamp(190px, 19vw, 290px); gap: clamp(12px, 1.6vw, 20px); }
.bw-tile { position: relative; isolation: isolate; overflow: hidden; border-radius: 22px; grid-column: span 3; display: flex; align-items: flex-end; padding: clamp(18px, 2.4vw, 30px); color: #fff !important; border: 1px solid var(--bw-line); transform: perspective(1000px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)); transition: transform .35s var(--bw-ease), border-color .35s, box-shadow .35s; }
.bw-tile--1 { grid-row: span 2; }
.bw-tile:hover { border-color: rgba(255, 59, 48, .7); box-shadow: 0 30px 70px -30px rgba(225, 6, 0, .7); }
.bw-tile__media { position: absolute; inset: 0; z-index: -2; }
.bw-tile__media img { width: 100%; height: 100%; object-fit: cover; scale: 1.02; transition: scale 1s var(--bw-ease), filter .6s; filter: saturate(.9); }
.bw-tile:hover .bw-tile__media img { scale: 1.1; filter: saturate(1.15); }
.bw-tile__shade { position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(0, 0, 0, 0) 30%, rgba(0, 0, 0, .88)); transition: background .5s; }
.bw-tile:hover .bw-tile__shade { background: linear-gradient(180deg, rgba(225, 6, 0, .08) 20%, rgba(0, 0, 0, .9)); }
.bw-tile__num { position: absolute; top: 16px; left: 20px; font-family: var(--bw-display); font-size: clamp(40px, 5vw, 72px); line-height: 1; color: transparent; -webkit-text-stroke: 1.5px rgba(255, 255, 255, .55); }
.bw-tile__body { display: grid; gap: 8px; justify-items: start; max-width: 90%; }
.bw-tile__title { font-family: var(--bw-display); font-size: clamp(34px, 3.6vw, 58px); line-height: .9; text-transform: uppercase; }
.bw-tile__text { color: #e4e4e7; font-size: 15px; }
.bw-tile__go { position: absolute; top: 18px; right: 18px; display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; background: rgba(255, 255, 255, .12); border: 1px solid rgba(255, 255, 255, .3); rotate: -45deg; transition: rotate .45s var(--bw-ease), background .3s; }
.bw-tile:hover .bw-tile__go { rotate: 0deg; background: var(--bw-red); border-color: var(--bw-red); }
@media (max-width: 800px) {
	.bw-worlds__grid { grid-template-columns: 1fr; grid-auto-rows: 260px; }
	.bw-tile, .bw-tile--1 { grid-column: auto; grid-row: auto; }
	.bw-tile--1 { height: 360px; }
}

/* ==========================================================================
   STATEMENT
   ========================================================================== */
.bw-statement { min-height: 90vh; display: grid; place-items: center; }
.bw-statement__inner { position: relative; z-index: 2; max-width: 1100px; margin: 0 auto; text-align: center; display: grid; justify-items: center; gap: 28px; }
.bw-statement__text { font-weight: 800; font-size: clamp(28px, 4.3vw, 64px); line-height: 1.12; letter-spacing: -.01em; text-wrap: balance; }
.bw-statement__text .bw-word { opacity: .16; transition: opacity .4s ease, color .4s; }
.bw-statement__text .bw-word.is-lit { opacity: 1; }
.bw-statement__text .bw-word.is-hot { color: var(--bw-red-hot); }
.bw-statement__photos { position: absolute; inset: 0; z-index: 1; pointer-events: none; }
.bw-statement__photo { position: absolute; width: clamp(130px, 15vw, 230px); aspect-ratio: 3 / 4; border-radius: 16px; overflow: hidden; border: 5px solid #fff; box-shadow: 0 30px 60px rgba(0, 0, 0, .6); translate: 0 var(--py, 0); opacity: .9; }
.bw-statement__photo img { width: 100%; height: 100%; object-fit: cover; }
.bw-statement__photo--1 { top: 8%; left: 4%; rotate: -8deg; }
.bw-statement__photo--2 { top: 12%; right: 5%; rotate: 7deg; }
.bw-statement__photo--3 { bottom: 6%; left: 12%; rotate: 5deg; }
@media (max-width: 900px) { .bw-statement__photos { display: none; } }

/* ==========================================================================
   PHOTO WALL
   ========================================================================== */
.bw-wall { display: grid; gap: clamp(12px, 1.6vw, 22px); rotate: -2deg; margin: 0 -40px; padding: 26px 0; }
.bw-wall__row { min-width: 0; overflow: hidden; overflow: clip; padding: 14px 0; }
.bw-wall__track { display: flex; gap: clamp(12px, 1.6vw, 22px); width: max-content; animation: bw-marquee calc(var(--n, 10) * 5.5s) linear infinite; }
.bw-wall__row--rev .bw-wall__track { animation-direction: reverse; }
.bw-wall:hover .bw-wall__track { animation-play-state: paused; }
.bw-wall__dup { display: flex; gap: inherit; padding-right: clamp(12px, 1.6vw, 22px); }
.bw-wall__item { flex: none; width: clamp(170px, 19vw, 290px); aspect-ratio: 3 / 4; padding: 0; border: 5px solid #fff; border-radius: 16px; overflow: hidden; background: #222; cursor: zoom-in; rotate: -2deg; box-shadow: 0 20px 40px rgba(0, 0, 0, .5); transition: rotate .4s var(--bw-ease), scale .4s var(--bw-ease), border-color .3s; }
.bw-wall__item:nth-child(even) { rotate: 2.5deg; }
.bw-wall__item:hover { rotate: 0deg; scale: 1.06; border-color: var(--bw-red); position: relative; z-index: 2; }
.bw-wall__item img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* ==========================================================================
   BIO
   ========================================================================== */
.bw-bio { padding-top: calc(var(--bw-hh) + clamp(40px, 6vw, 90px)); }
.bw-bio__giant { position: absolute; right: -2vw; top: 50%; z-index: -1; writing-mode: vertical-rl; rotate: 180deg; translate: 0 -50%; font-family: var(--bw-display); font-size: clamp(120px, 22vw, 360px); line-height: .8; color: transparent; -webkit-text-stroke: 1.5px rgba(255, 255, 255, .06); pointer-events: none; }
.bw-bio__grid { max-width: 1280px; margin: 0 auto; display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(32px, 6vw, 96px); align-items: start; }
.bw-bio__media { position: sticky; top: calc(var(--bw-hh) + 30px); }
.bw-bio__photo { position: relative; border-radius: 26px; }
.bw-bio__photo::before { content: ""; position: absolute; inset: 0; translate: 18px 18px; border-radius: inherit; background: var(--bw-red); z-index: -1; }
.bw-bio__photo img { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 26px; }
.bw-bio__tag { position: absolute; left: 18px; bottom: 18px; display: inline-flex; align-items: center; gap: 10px; padding: 10px 16px; border-radius: 999px; background: rgba(0, 0, 0, .7); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); font: 800 12px/1 var(--bw-body); letter-spacing: .16em; text-transform: uppercase; }
.bw-bio__tag i { width: 8px; height: 8px; border-radius: 50%; background: var(--bw-green); }
.bw-bio__name { font-size: clamp(70px, 10vw, 160px) !important; }
.bw-bio__roles { display: flex; flex-wrap: wrap; gap: 8px; margin: 22px 0 34px !important; }
.bw-bio__roles li { padding: 8px 14px !important; border-radius: 999px; border: 1px solid var(--bw-line-2); font-weight: 700; font-size: 14px; background: rgba(255, 255, 255, .04); }
.bw-bio__roles li:nth-child(odd) { border-color: rgba(255, 59, 48, .6); }
.bw-bio__story { display: grid; gap: 22px; }
.bw-bio__story p { color: #d4d4d8; font-size: clamp(16px, 1.25vw, 19px); line-height: 1.8; }
.bw-bio__story .bw-bio__lede { color: #fff; font-size: clamp(19px, 1.7vw, 24px); line-height: 1.6; font-weight: 500; }
.bw-bio__lede::first-letter { float: left; font-family: var(--bw-display); font-size: 4.6em; line-height: .78; padding: .06em .12em 0 0; color: var(--bw-red); }
.bw-bio__quote { position: relative; margin: 14px 0 !important; padding: 26px 0 26px 30px !important; border-left: 4px solid var(--bw-red); font-family: var(--bw-display) !important; font-size: clamp(30px, 3.6vw, 52px) !important; line-height: 1 !important; text-transform: uppercase !important; color: #fff; }
.bw-bio__quote span { position: absolute; left: 22px; top: -18px; font-size: 2.4em; color: var(--bw-red); opacity: .35; }
.bw-bio__facts { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px; margin-top: 40px; }
.bw-bio__fact { padding: 22px; border-radius: 20px; background: linear-gradient(180deg, var(--bw-panel-2), var(--bw-panel)); border: 1px solid var(--bw-line); }
.bw-bio__fact-label { display: flex; align-items: center; gap: 8px; margin-bottom: 12px !important; font: 800 12px/1 var(--bw-body); letter-spacing: .2em; text-transform: uppercase; color: var(--bw-red-hot) !important; }
.bw-bio__fact ul { display: grid; gap: 8px; list-style: none; }
.bw-bio__fact li { font-family: var(--bw-display); font-size: 22px; letter-spacing: .04em; }
@media (max-width: 900px) {
	.bw-bio__grid { grid-template-columns: 1fr; }
	.bw-bio__media { position: relative; top: 0; max-width: 460px; }
	.bw-bio__facts { grid-template-columns: 1fr; }
}

/* ==========================================================================
   LIVE NOW
   ========================================================================== */
.bw-live { padding-top: calc(var(--bw-hh) + clamp(40px, 6vw, 80px)); }
.bw-live__head { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; }
.bw-live__title { font-size: clamp(60px, 10vw, 150px) !important; }
.bw-live__onair { flex: none; padding: 10px 18px; border: 3px solid rgba(255, 59, 48, .35); border-radius: 12px; font-family: var(--bw-display); font-size: clamp(22px, 2.6vw, 38px); letter-spacing: .14em; color: rgba(255, 59, 48, .35); transition: all .5s; }
.bw-live.is-live .bw-live__onair { color: #fff; border-color: var(--bw-red-hot); text-shadow: 0 0 8px #ff3b30, 0 0 24px #e10600, 0 0 48px #e10600; box-shadow: 0 0 18px rgba(255, 59, 48, .7), inset 0 0 18px rgba(255, 59, 48, .5); animation: bw-flicker 4s infinite; }
.bw-live__status { display: inline-flex; align-items: center; gap: 10px; margin-top: 22px !important; padding: 10px 16px !important; border-radius: 999px; border: 1px solid var(--bw-line-2); background: rgba(255, 255, 255, .04); font-weight: 700; font-size: 14px; }
.bw-live__status[data-state="checking"] i { background: var(--bw-muted); animation: none; }
.bw-live__status[data-state="offline"] i { background: #6b6b75; animation: none; }
.bw-live__status[data-state="live"] { background: rgba(225, 6, 0, .2); border-color: var(--bw-red-hot); }
.bw-live__lead { max-width: 70ch; }
.bw-live__stage { margin-top: clamp(30px, 4vw, 56px); }
.bw-live__tv { --c: #9146ff; display: grid; grid-template-columns: 1fr; gap: 16px; }
.bw-live__tv.has-chat { grid-template-columns: 1fr 340px; }
.bw-live__bezel { position: relative; padding: 12px; border-radius: 28px; background: linear-gradient(145deg, #1d1d24, #0d0d11); border: 1px solid var(--bw-line-2); box-shadow: 0 0 0 1px rgba(0, 0, 0, .6), 0 40px 90px -30px color-mix(in srgb, var(--c) 55%, transparent), 0 0 70px -20px color-mix(in srgb, var(--c) 60%, transparent); transition: box-shadow .6s; }
.bw-live__ch { position: absolute; top: 26px; left: 28px; z-index: 3; display: inline-flex; align-items: center; gap: 8px; padding: 6px 12px; border-radius: 8px; background: rgba(0, 0, 0, .7); font: 800 11px/1 var(--bw-body); letter-spacing: .2em; pointer-events: none; }
.bw-live__ch::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--c); box-shadow: 0 0 10px var(--c); }
.bw-live__screen { position: relative; aspect-ratio: 16 / 9; border-radius: 18px; overflow: hidden; background: #000; }
.bw-live__screen iframe, .bw-live__screen > div:not(.bw-live__static) { position: absolute; inset: 0; width: 100% !important; height: 100% !important; border: 0; }
.bw-live__poster { position: absolute; inset: 0; width: 100%; height: 100% !important; object-fit: cover; opacity: .55; }
.bw-live__start { position: absolute; left: 50%; top: 50%; translate: -50% -50%; display: inline-flex; align-items: center; gap: 14px; padding: 18px 30px 18px 22px; border: 0; border-radius: 999px; background: var(--bw-red); color: #fff; font-family: var(--bw-display) !important; font-size: 24px !important; letter-spacing: .1em; cursor: pointer; box-shadow: 0 0 0 0 rgba(225, 6, 0, .6); animation: bw-pulse 2.2s infinite; }
.bw-live__static { position: absolute; inset: 0; pointer-events: none; opacity: 0; background: repeating-radial-gradient(circle at 17% 32%, #fff 0 .5px, transparent 1px 3px), repeating-linear-gradient(0deg, rgba(255, 255, 255, .12) 0 1px, transparent 1px 3px); mix-blend-mode: screen; }
.bw-live__screen.is-switching .bw-live__static { animation: bw-static .45s steps(4); }
.bw-live__chat { border-radius: 22px; overflow: hidden; border: 1px solid var(--bw-line-2); background: #18181b; min-height: 400px; }
.bw-live__chat iframe { width: 100%; height: 100%; border: 0; display: block; }
.bw-live__channels { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(12px, 1.6vw, 20px); margin-top: clamp(18px, 2.4vw, 28px); list-style: none; }
.bw-pcard { position: relative; isolation: isolate; display: flex; align-items: flex-end; width: 100%; aspect-ratio: 4 / 5; padding: 18px; border-radius: 22px; overflow: hidden; border: 2px solid var(--bw-line); background: #000; color: #fff !important; text-align: left; cursor: pointer; transform: perspective(900px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)); transition: transform .35s var(--bw-ease), border-color .35s, box-shadow .35s; }
.bw-pcard:hover, .bw-pcard.is-active { border-color: var(--c); box-shadow: 0 0 0 1px var(--c), 0 24px 60px -18px var(--c); }
.bw-pcard__media { position: absolute; inset: 0; z-index: -2; }
.bw-pcard__media img { width: 100%; height: 100%; object-fit: cover; transition: scale .8s var(--bw-ease), filter .5s; filter: saturate(.85) brightness(.85); }
.bw-pcard:hover .bw-pcard__media img { scale: 1.08; filter: saturate(1.2) brightness(1); }
.bw-pcard__scan { position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, transparent 35%, rgba(0, 0, 0, .9)), repeating-linear-gradient(0deg, rgba(255, 255, 255, .05) 0 1px, transparent 1px 3px); }
.bw-pcard__num { position: absolute; top: 14px; left: 16px; font: 800 11px/1 var(--bw-body); letter-spacing: .22em; padding: 6px 9px; border-radius: 6px; background: rgba(0, 0, 0, .6); }
.bw-pcard__live { position: absolute; top: 14px; right: 14px; display: inline-flex; align-items: center; gap: 7px; padding: 6px 10px; border-radius: 6px; background: var(--bw-red); font: 800 11px/1 var(--bw-body); letter-spacing: .18em; }
.bw-pcard__live[hidden] { display: none; }
.bw-pcard__body { display: grid; gap: 6px; width: 100%; }
.bw-pcard__icon { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 12px; background: var(--c); color: #000; }
.bw-pcard[data-bw-channel="twitch"] .bw-pcard__icon, .bw-pcard[data-bw-channel="youtube"] .bw-pcard__icon { color: #fff; }
.bw-pcard__name { font-family: var(--bw-display); font-size: clamp(26px, 2.4vw, 38px); line-height: .95; text-transform: uppercase; }
.bw-pcard__cta { display: inline-flex; align-items: center; gap: 8px; font: 800 12px/1 var(--bw-body); letter-spacing: .2em; color: var(--c); max-height: 0; opacity: 0; overflow: hidden; transition: max-height .4s var(--bw-ease), opacity .3s; }
.bw-pcard:hover .bw-pcard__cta, .bw-pcard:focus-visible .bw-pcard__cta, .bw-pcard.is-active .bw-pcard__cta { max-height: 30px; opacity: 1; }
@media (hover: none) { .bw-pcard__cta { max-height: 30px; opacity: 1; } }
.bw-live__recent { margin-top: clamp(60px, 8vw, 110px); }
.bw-live__photos { margin-top: clamp(40px, 6vw, 80px); }
@media (max-width: 1100px) { .bw-live__tv.has-chat { grid-template-columns: 1fr; } .bw-live__chat { height: 460px; } }
@media (max-width: 800px) { .bw-live__channels { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } .bw-live__onair { display: none; } }

/* ==========================================================================
   VIDEO HUB (rails, cards, featured, lightbox)
   ========================================================================== */
.bw-videos { padding-top: calc(var(--bw-hh) + 10px); }
.bw-videos__marquee { margin: 0 calc(-1 * var(--bw-gutter)) clamp(40px, 6vw, 80px); }
.bw-videos__top { display: flex; justify-content: space-between; align-items: flex-end; flex-wrap: wrap; gap: 20px; margin-bottom: clamp(26px, 3vw, 40px); }
.bw-videos__top .bw-head { margin-bottom: 0; }
.bw-fvideo { margin-bottom: clamp(40px, 6vw, 80px); }
.bw-fvideo__facade { position: relative; display: block; width: 100%; aspect-ratio: 16 / 9; padding: 0; border: 1px solid var(--bw-line-2); border-radius: 26px; overflow: hidden; background: #000; cursor: pointer; box-shadow: 0 40px 90px -40px rgba(225, 6, 0, .6); }
.bw-fvideo__facade img { width: 100%; height: 100% !important; object-fit: cover; transition: scale 1.2s var(--bw-ease); }
.bw-fvideo__facade:hover img { scale: 1.05; }
.bw-fvideo__shade { position: absolute; inset: 0; background: linear-gradient(180deg, transparent 45%, rgba(0, 0, 0, .85)); }
.bw-fvideo__meta { position: absolute; left: clamp(18px, 3vw, 40px); bottom: clamp(18px, 3vw, 36px); right: 120px; display: grid; gap: 12px; justify-items: start; text-align: left; }
.bw-fvideo__title { font-family: var(--bw-display); font-size: clamp(28px, 4vw, 60px); line-height: .95; text-transform: uppercase; color: #fff; }
.bw-fvideo__play { position: absolute; left: 50%; top: 50%; translate: -50% -50%; display: grid; place-items: center; width: clamp(76px, 9vw, 110px); aspect-ratio: 1; border-radius: 50%; background: var(--bw-red); color: #fff; box-shadow: 0 0 0 0 rgba(225, 6, 0, .6); animation: bw-pulse 2.2s infinite; transition: scale .3s var(--bw-ease); }
.bw-fvideo__play svg { translate: 3px 0; }
.bw-fvideo__facade:hover .bw-fvideo__play { scale: 1.1; }
.bw-fvideo iframe { display: block; width: 100%; aspect-ratio: 16 / 9; height: auto; border: 0; border-radius: 26px; background: #000; }
.bw-rail { margin-bottom: clamp(34px, 5vw, 60px); }
.bw-rail__head { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 16px; }
.bw-rail__title { display: inline-flex; align-items: center; gap: 12px; font-family: var(--bw-display) !important; font-size: clamp(24px, 2.6vw, 36px) !important; letter-spacing: .04em !important; text-transform: uppercase !important; }
.bw-rail__title span { font-family: var(--bw-body); font-size: 12px; font-weight: 800; padding: 3px 9px; border-radius: 999px; background: var(--bw-panel-2); color: var(--bw-muted); letter-spacing: 0; }
.bw-rail__nav { display: flex; gap: 8px; }
.bw-rail__nav button { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--bw-line-2); background: rgba(255, 255, 255, .04); cursor: pointer; transition: background .25s, border-color .25s, opacity .25s; }
.bw-rail__nav button:hover { background: var(--bw-red); border-color: var(--bw-red); }
.bw-rail__nav button:disabled { opacity: .3; cursor: default; background: none; border-color: var(--bw-line); }
.bw-rail__track { display: grid; grid-auto-flow: column; grid-auto-columns: clamp(240px, 27vw, 360px); gap: clamp(12px, 1.4vw, 20px); overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding: 6px 2px 14px; cursor: grab; overscroll-behavior-x: contain; }
.bw-rail__track::-webkit-scrollbar { display: none; }
.bw-rail__track.is-dragging { cursor: grabbing; scroll-snap-type: none; }
.bw-rail__track > * { scroll-snap-align: start; }
.bw-vcard { display: grid; gap: 12px; padding: 0; border: 0; background: none; text-align: left; cursor: pointer; }
.bw-vcard__thumb { position: relative; display: block; aspect-ratio: 16 / 9; border-radius: 16px; overflow: hidden; background: #111; border: 1px solid var(--bw-line); transition: border-color .3s, translate .35s var(--bw-ease), box-shadow .35s; }
.bw-vcard__thumb img { width: 100%; height: 100% !important; object-fit: cover; transition: scale .6s var(--bw-ease); }
.bw-vcard:hover .bw-vcard__thumb { border-color: rgba(255, 59, 48, .8); translate: 0 -4px; box-shadow: 0 20px 44px -18px rgba(225, 6, 0, .7); }
.bw-vcard:hover .bw-vcard__thumb img { scale: 1.08; }
.bw-vcard__play { position: absolute; left: 50%; top: 50%; translate: -50% -50%; display: grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; background: var(--bw-red); color: #fff; opacity: 0; scale: .7; transition: opacity .3s, scale .35s var(--bw-ease); }
.bw-vcard__play svg { translate: 2px 0; }
.bw-vcard:hover .bw-vcard__play, .bw-vcard:focus-visible .bw-vcard__play { opacity: 1; scale: 1; }
.bw-vcard__bar { position: absolute; left: 0; bottom: 0; height: 4px; width: 0; background: var(--bw-red-hot); transition: width 1.2s var(--bw-ease); }
.bw-vcard:hover .bw-vcard__bar { width: 100%; }
.bw-vcard__title { color: #fff; font-weight: 700; font-size: 15px; line-height: 1.35; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

.bw-lightbox { position: fixed; inset: 0; z-index: 100001; display: grid; place-items: center; padding: 60px 16px; background: rgba(4, 4, 6, .92); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); opacity: 0; transition: opacity .3s; }
.bw-lightbox.is-open { opacity: 1; }
.bw-lightbox__box { position: relative; width: min(1200px, 100%); }
.bw-lightbox__box iframe { display: block; width: 100%; aspect-ratio: 16 / 9; border: 0; border-radius: 18px; background: #000; box-shadow: 0 40px 100px rgba(0, 0, 0, .7); }
.bw-lightbox__box img { display: block; max-width: 100%; max-height: 82vh; margin: 0 auto; border-radius: 16px; }
.bw-lightbox__close, .bw-lightbox__prev, .bw-lightbox__next { position: fixed; display: grid; place-items: center; width: 50px; height: 50px; border-radius: 50%; border: 1px solid rgba(255, 255, 255, .3); background: rgba(0, 0, 0, .5); color: #fff; cursor: pointer; }
.bw-lightbox__close { top: 18px; right: 18px; }
.bw-lightbox__prev { left: 18px; top: 50%; translate: 0 -50%; }
.bw-lightbox__next { right: 18px; top: 50%; translate: 0 -50%; }
.bw-lightbox__count { position: fixed; bottom: 20px; left: 50%; translate: -50% 0; font: 700 13px/1 var(--bw-body); letter-spacing: .2em; color: rgba(255, 255, 255, .7); }
:is(.bw-lightbox__close, .bw-lightbox__prev, .bw-lightbox__next):hover { background: var(--bw-red); border-color: var(--bw-red); }

/* ==========================================================================
   MERCH
   ========================================================================== */
.bw-merch, .bw-discord { background: var(--bw-ink); overflow: hidden; overflow: clip; }
.bw-merch__hero { position: relative; isolation: isolate; overflow: hidden; overflow: clip; min-height: clamp(520px, 86vh, 860px); display: grid; align-items: end; padding: calc(var(--bw-hh) + 60px) var(--bw-gutter) clamp(120px, 13vw, 180px); }
.bw-merch__hero-inner .bw-btn { margin-top: 28px; }
.bw-lookbook { padding: clamp(40px, 6vw, 80px) 0 clamp(10px, 2vw, 30px); background: var(--bw-ink); }
.bw-lookbook__track { grid-auto-columns: clamp(260px, 38vw, 560px); padding: 0 var(--bw-gutter) 14px; scroll-padding: 0 var(--bw-gutter); }
.bw-lookbook__item { aspect-ratio: 4 / 3; border-radius: 24px; overflow: hidden; border: 1px solid var(--bw-line); }
.bw-lookbook__item img { width: 100%; height: 100% !important; object-fit: cover; transition: scale 1s var(--bw-ease); }
.bw-lookbook__item:hover img { scale: 1.06; }
.bw-merch > .bw-band { margin: clamp(30px, 4vw, 60px) -24px 0; }
.bw-adminbar { margin: 0 0 28px !important; padding: 10px 14px !important; border: 1px dashed rgba(255, 255, 255, .3); border-radius: 10px; font-size: 13px; color: #d4d4d8 !important; background: rgba(255, 255, 255, .04); }
.bw-products { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: clamp(20px, 2.4vw, 34px); }
.bw-product { display: grid; gap: 16px; align-content: start; }
.bw-product__media { position: relative; isolation: isolate; display: block; width: 100%; aspect-ratio: 1; padding: 0; border: 1px solid var(--bw-line); border-radius: 24px; overflow: hidden; cursor: pointer; background: radial-gradient(circle at 50% 42%, #2b2b34, #121216 70%); transform: perspective(900px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)); transition: transform .35s var(--bw-ease), border-color .35s, box-shadow .35s; }
.bw-product__media:hover { border-color: rgba(255, 59, 48, .7); box-shadow: 0 30px 70px -30px rgba(225, 6, 0, .75); }
.bw-product__glow { position: absolute; inset: 20%; z-index: -1; border-radius: 50%; background: radial-gradient(circle, rgba(225, 6, 0, .55), transparent 70%); opacity: 0; filter: blur(20px); transition: opacity .5s; }
.bw-product__media:hover .bw-product__glow { opacity: 1; }
.bw-product__img { position: absolute; inset: 0; width: 100%; height: 100% !important; object-fit: contain; padding: 2%; scale: 1.1; transition: opacity .5s, scale .7s var(--bw-ease); }
.bw-product__img--alt { opacity: 0; }
.bw-product__media:hover .bw-product__img { scale: 1.18; }
.bw-product__media:hover .bw-product__img--alt { opacity: 1; }
.bw-product__media:hover .bw-product__img:not(.bw-product__img--alt):has(+ .bw-product__img--alt) { opacity: 0; }
.bw-product__badge { position: absolute; top: 14px; left: 14px; padding: 6px 12px; border-radius: 999px; background: var(--bw-red); color: #fff; font: 800 11px/1.2 var(--bw-body); letter-spacing: .16em; text-transform: uppercase; }
.bw-product__quick { position: absolute; left: 50%; bottom: 14px; translate: -50% 12px; display: inline-flex; align-items: center; gap: 8px; padding: 9px 16px; border-radius: 999px; background: rgba(0, 0, 0, .75); color: #fff; font: 800 12px/1 var(--bw-body); letter-spacing: .14em; text-transform: uppercase; opacity: 0; transition: opacity .3s, translate .35s var(--bw-ease); white-space: nowrap; }
.bw-product__media:hover .bw-product__quick, .bw-product__media:focus-visible .bw-product__quick { opacity: 1; translate: -50% 0; }
.bw-product__body { display: grid; gap: 10px; }
.bw-product__name { font-family: var(--bw-display) !important; font-size: clamp(24px, 2vw, 30px) !important; line-height: 1 !important; text-transform: uppercase !important; }
.bw-product__row { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.bw-product__price { font-family: var(--bw-display); font-size: 28px; line-height: 1; }
.bw-product__price del { font-size: .6em; color: var(--bw-muted); }
.bw-product__price ins { text-decoration: none; }
.bw-product__swatches { display: inline-flex; gap: 6px; }
.bw-product__swatches i { width: 16px; height: 16px; border-radius: 50%; background: var(--sw); box-shadow: 0 0 0 2px var(--bw-ink), 0 0 0 3px rgba(255, 255, 255, .35); }
.bw-product__add { width: 100%; }
.bw-empty { color: var(--bw-muted); font-size: 18px; }

/* drawers */
.bw-drawer, .bw-cart { position: fixed; inset: 0; z-index: 100002; }
.bw-drawer[hidden], .bw-cart[hidden] { display: none; }
.bw-drawer__backdrop { position: absolute; inset: 0; background: rgba(0, 0, 0, .6); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); opacity: 0; transition: opacity .35s; }
.is-open > .bw-drawer__backdrop { opacity: 1; }
.bw-drawer__panel, .bw-cart__panel { position: absolute; top: 0; right: 0; bottom: 0; background: var(--bw-ink-2); border-left: 1px solid var(--bw-line-2); box-shadow: -40px 0 80px rgba(0, 0, 0, .5); translate: 100% 0; transition: translate .5s var(--bw-ease); overflow-y: auto; }
.is-open > :is(.bw-drawer__panel, .bw-cart__panel) { translate: 0 0; }
.bw-drawer__panel { width: min(1000px, 100%); display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); }
.bw-drawer__close { position: absolute; top: 14px; right: 14px; z-index: 3; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--bw-line-2); background: rgba(0, 0, 0, .5); color: #fff; cursor: pointer; }
.bw-drawer__close:hover { background: var(--bw-red); }
.bw-drawer__gallery { padding: 24px; display: grid; gap: 12px; align-content: start; background: radial-gradient(circle at 50% 30%, #25252d, var(--bw-ink-2) 70%); }
.bw-drawer__main { aspect-ratio: 1; border-radius: 22px; overflow: hidden; display: grid; place-items: center; }
.bw-drawer__main img { width: 100%; height: 100% !important; object-fit: contain; transition: opacity .25s; }
.bw-drawer__thumbs { display: flex; gap: 10px; flex-wrap: wrap; }
.bw-drawer__thumbs button { width: 70px; height: 70px; padding: 4px; border-radius: 14px; border: 2px solid var(--bw-line); background: #16161b; cursor: pointer; }
.bw-drawer__thumbs button.is-on { border-color: var(--bw-red); }
.bw-drawer__thumbs img { width: 100%; height: 100% !important; object-fit: contain; }
.bw-drawer__info { padding: 60px 30px 30px; display: grid; gap: 18px; align-content: start; }
.bw-drawer__info .bw-chip[hidden] { display: none; }
.bw-drawer__title { font-family: var(--bw-display) !important; font-size: clamp(34px, 3.6vw, 52px) !important; line-height: .92 !important; text-transform: uppercase !important; }
.bw-drawer__price { font-family: var(--bw-display); font-size: 36px; line-height: 1; }
.bw-drawer__short { color: #d4d4d8; font-size: 15px; line-height: 1.65; }
.bw-drawer__attrs { display: grid; gap: 18px; }
.bw-attr__label { font: 800 12px/1 var(--bw-body); letter-spacing: .18em; text-transform: uppercase; color: var(--bw-muted); margin-bottom: 10px !important; }
.bw-attr__label b { color: #fff; margin-left: 6px; letter-spacing: .08em; }
.bw-attr__opts { display: flex; flex-wrap: wrap; gap: 8px; }
.bw-opt { min-width: 50px; height: 46px; padding: 0 12px; border-radius: 12px; border: 1px solid var(--bw-line-2); background: rgba(255, 255, 255, .04); color: #fff; font: 800 14px/1 var(--bw-body); cursor: pointer; transition: border-color .2s, background .2s; }
.bw-opt:hover { border-color: #fff; }
.bw-opt[aria-pressed="true"] { background: #fff; color: var(--bw-ink); border-color: #fff; }
.bw-opt:disabled { opacity: .3; text-decoration: line-through; cursor: not-allowed; }
.bw-opt--swatch { width: 40px; min-width: 40px; height: 40px; padding: 0; border-radius: 50%; background: var(--sw); box-shadow: inset 0 0 0 2px rgba(0, 0, 0, .25); }
.bw-opt--swatch[aria-pressed="true"] { background: var(--sw); box-shadow: 0 0 0 3px var(--bw-ink-2), 0 0 0 5px var(--bw-red-hot); }
.bw-drawer__buy { display: flex; gap: 12px; align-items: stretch; }
.bw-drawer__add { flex: 1; }
.bw-drawer__add[disabled] { opacity: .5; cursor: not-allowed; }
.bw-qty { display: inline-flex; align-items: center; border: 1px solid var(--bw-line-2); border-radius: 12px; overflow: hidden; }
.bw-qty button { width: 40px; height: 100%; min-height: 44px; border: 0; background: rgba(255, 255, 255, .04); color: #fff; font-size: 20px; cursor: pointer; }
.bw-qty button:hover { background: var(--bw-red); }
.bw-qty input { width: 44px; height: 100%; border: 0; background: transparent; color: #fff; text-align: center; font: 800 16px var(--bw-body); -moz-appearance: textfield; appearance: textfield; }
.bw-qty input::-webkit-outer-spin-button, .bw-qty input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.bw-drawer__msg { min-height: 1.4em; font-weight: 700; font-size: 14px; }
.bw-drawer__msg.is-ok { color: var(--bw-green); }
.bw-drawer__msg.is-err { color: var(--bw-red-hot); }
.bw-drawer__details { border-top: 1px solid var(--bw-line); padding-top: 14px; }
.bw-drawer__details summary { cursor: pointer; font-family: var(--bw-display); font-size: 20px; letter-spacing: .06em; text-transform: uppercase; }
.bw-drawer__details div { margin-top: 12px; color: #d4d4d8; font-size: 14px; line-height: 1.7; }
.bw-drawer__details ul { list-style: disc; padding-left: 20px !important; }
.bw-cart__panel { width: min(440px, 100%); display: flex; flex-direction: column; }
.bw-cart__head { display: flex; justify-content: space-between; align-items: center; padding: 22px 22px 16px; border-bottom: 1px solid var(--bw-line); }
.bw-cart__head h2 { font-family: var(--bw-display) !important; font-size: 34px !important; text-transform: uppercase !important; display: flex; align-items: center; gap: 10px; }
.bw-cart__head h2 span { font: 800 13px/24px var(--bw-body); min-width: 26px; height: 24px; padding: 0 7px; border-radius: 12px; background: var(--bw-red); text-align: center; }
.bw-cart__head .bw-drawer__close { position: static; }
.bw-cart__items { flex: 1; overflow-y: auto; padding: 8px 22px; }
.bw-cart__item { display: grid; grid-template-columns: 76px 1fr auto; gap: 14px; padding: 16px 0; border-bottom: 1px solid var(--bw-line); align-items: center; }
.bw-cart__item img { width: 76px; height: 76px !important; object-fit: contain; border-radius: 12px; background: #1a1a20; }
.bw-cart__item h3 { font-family: var(--bw-display) !important; font-size: 20px !important; line-height: 1 !important; text-transform: uppercase !important; }
.bw-cart__meta { color: var(--bw-muted); font-size: 13px; margin-top: 4px !important; }
.bw-cart__line { display: grid; justify-items: end; gap: 8px; }
.bw-cart__line strong { font-family: var(--bw-display); font-size: 20px; }
.bw-cart__item .bw-qty button { width: 30px; min-height: 32px; font-size: 16px; }
.bw-cart__item .bw-qty input { width: 32px; font-size: 14px; }
.bw-cart__remove { border: 0; background: none; color: var(--bw-muted); font-size: 12px; text-decoration: underline; cursor: pointer; }
.bw-cart__empty { flex: 1; display: grid; place-content: center; justify-items: center; gap: 14px; padding: 30px; text-align: center; color: var(--bw-muted); }
.bw-cart__empty[hidden], .bw-cart__foot[hidden] { display: none; }
.bw-cart__foot { padding: 20px 22px 26px; border-top: 1px solid var(--bw-line); display: grid; gap: 12px; }
.bw-cart__total { display: flex; justify-content: space-between; align-items: baseline; font-weight: 700; }
.bw-cart__total strong { font-family: var(--bw-display); font-size: 30px; }
.bw-cart__checkout { width: 100%; }
.bw-cart__view { text-align: center; color: var(--bw-muted) !important; font-size: 14px; text-decoration: underline !important; }
.bw-cart.is-busy .bw-cart__items { opacity: .5; pointer-events: none; }
@media (max-width: 820px) {
	.bw-drawer__panel { grid-template-columns: 1fr; }
	.bw-drawer__info { padding-top: 10px; }
}

/* ==========================================================================
   SPONSORS
   ========================================================================== */
.bw-sponsors { padding-top: clamp(30px, 4vw, 50px); }
.bw-sponsors > .bw-band { margin: 0 calc(-1 * var(--bw-gutter)) clamp(60px, 8vw, 110px); }
.bw-logos { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(12px, 1.6vw, 22px); list-style: none; }
.bw-logo { position: relative; display: grid; justify-items: center; gap: 14px; padding: clamp(18px, 2.4vw, 30px) !important; border-radius: 22px; border: 1px solid var(--bw-line); background: linear-gradient(180deg, rgba(255, 255, 255, .05), rgba(255, 255, 255, .015)); transform: perspective(900px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)); transition: transform .35s var(--bw-ease), border-color .35s, box-shadow .35s; }
.bw-logo:hover { border-color: rgba(255, 59, 48, .6); box-shadow: 0 26px 60px -26px rgba(225, 6, 0, .7); }
.bw-logo__link { position: absolute; inset: 0; z-index: 2; border-radius: inherit; }
.bw-logo__img { display: grid; place-items: center; width: 100%; aspect-ratio: 16 / 10; border-radius: 16px; background: radial-gradient(circle at 50% 50%, rgba(255, 255, 255, .22), rgba(255, 255, 255, .04) 70%); }
.bw-logo__img img { max-width: 78%; max-height: 100% !important; width: auto; object-fit: contain; border-radius: 12px; opacity: .92; transition: opacity .45s, scale .45s var(--bw-ease); }
.bw-logo:hover .bw-logo__img img { opacity: 1; scale: 1.08; }
.bw-logo__name { font: 700 13px/1.2 var(--bw-body); letter-spacing: .08em; text-transform: uppercase; color: var(--bw-muted); text-align: center; }
.bw-logostrip { margin-top: clamp(50px, 7vw, 100px); overflow: hidden; overflow: clip; -webkit-mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent); mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent); }
.bw-logostrip__track { display: flex; align-items: center; gap: clamp(30px, 5vw, 70px); width: max-content; animation: bw-marquee 34s linear infinite; }
.bw-logostrip__track span { flex: none; height: clamp(46px, 5vw, 64px); }
.bw-logostrip__track img { height: 100% !important; width: auto; border-radius: 10px; filter: grayscale(1); opacity: .55; }
@media (max-width: 800px) { .bw-logos { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } }

/* ==========================================================================
   DISCORD
   ========================================================================== */
.bw-discord__hero { padding-top: calc(var(--bw-hh) + clamp(40px, 6vw, 90px)); }
.bw-discord__grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(30px, 5vw, 80px); align-items: center; }
.bw-discord__title { font-size: clamp(54px, 8vw, 118px) !important; }
.bw-discord .bw-eyebrow { color: #aab1ff !important; }
.bw-discord__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 18px; margin-top: 30px; }
.bw-discord__online { display: inline-flex; align-items: center; gap: 10px; font-weight: 700; }
.bw-discord__online[hidden] { display: none; }
.bw-discord__online i { background: #23a55a; box-shadow: none; animation: none; }
.bw-discord__art { position: relative; }
.bw-discord__frame { border-radius: 26px; overflow: hidden; border: 2px solid rgba(88, 101, 242, .6); box-shadow: 0 40px 90px -30px rgba(88, 101, 242, .8); rotate: 2deg; transform: perspective(900px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)); transition: transform .35s var(--bw-ease); }
.bw-discord__frame img { display: block; width: 100%; height: auto; }
.bw-discord__orb { position: absolute; display: grid; place-items: center; border-radius: 50%; color: #fff; animation: bw-float 5s ease-in-out infinite; }
.bw-discord__orb--a { top: -24px; left: -24px; width: 70px; height: 70px; background: var(--bw-discord); box-shadow: 0 16px 40px rgba(88, 101, 242, .7); }
.bw-discord__orb--b { bottom: -18px; right: -12px; width: 54px; height: 54px; background: var(--bw-red); animation-delay: -2.5s; }
.bw-discord > .bw-band { margin: 0 -24px; }
.bw-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(14px, 2vw, 26px); counter-reset: none; position: relative; list-style: none; }
.bw-steps::before { content: ""; position: absolute; left: 8%; right: 8%; top: 56px; height: 2px; background: linear-gradient(90deg, var(--bw-discord), var(--bw-red)); opacity: .5; z-index: -1; }
.bw-step { padding: clamp(22px, 2.6vw, 34px) !important; border-radius: 24px; background: linear-gradient(180deg, var(--bw-panel-2), var(--bw-panel)); border: 1px solid var(--bw-line); transition: translate .35s var(--bw-ease), border-color .35s; }
.bw-step:hover { translate: 0 -6px; border-color: rgba(88, 101, 242, .7); }
.bw-step__num { display: inline-grid; place-items: center; width: 70px; height: 70px; border-radius: 20px; margin-bottom: 20px; background: var(--bw-discord); font-family: var(--bw-display); font-size: 34px; box-shadow: 0 14px 30px -10px rgba(88, 101, 242, .9); }
.bw-step:nth-child(2) .bw-step__num { background: linear-gradient(135deg, var(--bw-discord), var(--bw-red)); }
.bw-step:nth-child(3) .bw-step__num { background: var(--bw-red); box-shadow: 0 14px 30px -10px rgba(225, 6, 0, .9); }
.bw-step__title { font-family: var(--bw-display) !important; font-size: clamp(24px, 2.2vw, 32px) !important; line-height: 1 !important; text-transform: uppercase !important; margin-bottom: 12px !important; }
.bw-step__text { color: #d4d4d8; line-height: 1.7; }
.bw-discord__final { margin-top: clamp(60px, 8vw, 120px); text-align: center; display: grid; justify-items: center; gap: 30px; }
.bw-discord__final .bw-title { font-size: clamp(44px, 7vw, 100px) !important; }
@media (max-width: 900px) {
	.bw-discord__grid, .bw-steps { grid-template-columns: 1fr; }
	.bw-steps::before { display: none; }
}

/* ---------- Discord call-to-action banner ---------- */
.bw-dcta__card { position: relative; isolation: isolate; display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(24px, 4vw, 60px); align-items: center; padding: clamp(28px, 4vw, 60px); border-radius: 32px; background: linear-gradient(135deg, #14152b, #0e0e12 60%); overflow: hidden; }
.bw-dcta__border { position: absolute; inset: 0; z-index: -1; border-radius: inherit; padding: 2px; background: conic-gradient(from var(--bw-a, 0deg), var(--bw-discord), var(--bw-red), transparent 40%, var(--bw-discord)); -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude; animation: bw-spin-a 5s linear infinite; }
.bw-dcta__copy .bw-eyebrow { color: #aab1ff !important; }
.bw-dcta__title { font-size: clamp(46px, 6vw, 92px) !important; }
.bw-dcta__text { margin: 18px 0 28px !important; color: #d4d4d8; font-size: clamp(16px, 1.3vw, 19px); line-height: 1.7; max-width: 56ch; }
.bw-dcta__art { border-radius: 22px; overflow: hidden; rotate: 2deg; box-shadow: 0 30px 70px -30px rgba(88, 101, 242, .8); transform: perspective(900px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)); transition: transform .35s var(--bw-ease); }
.bw-dcta__art img { display: block; width: 100%; height: auto; }
@media (max-width: 860px) { .bw-dcta__card { grid-template-columns: 1fr; } }

/* ==========================================================================
   CONTACT
   ========================================================================== */
.bw-contact__grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(30px, 5vw, 80px); align-items: start; }
.bw-contact__info .bw-head { margin-bottom: 20px; }
.bw-contact__info .bw-title { font-size: clamp(44px, 6vw, 88px) !important; }
.bw-contact__logo { width: min(360px, 80%); height: auto; margin: 10px 0 10px; filter: drop-shadow(0 16px 30px rgba(0, 0, 0, .6)); }
.bw-contact__side { margin-top: 10px; padding: 24px; border-radius: 22px; background: linear-gradient(180deg, var(--bw-panel-2), var(--bw-panel)); border: 1px solid var(--bw-line); }
.bw-contact__side h3 { font-family: var(--bw-display) !important; font-size: 30px !important; text-transform: uppercase !important; margin-bottom: 10px !important; }
.bw-contact__side p { color: #d4d4d8; line-height: 1.7; }
.bw-contact__buttons { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
.bw-contact__side--bare { padding: 0; background: none; border: 0; }
.bw-contact__side--bare .bw-contact__buttons { margin-top: 6px; }
.bw-form { position: relative; padding: clamp(22px, 3vw, 40px); border-radius: 28px; background: linear-gradient(180deg, rgba(255, 255, 255, .06), rgba(255, 255, 255, .02)); border: 1px solid var(--bw-line-2); box-shadow: 0 40px 90px -40px rgba(225, 6, 0, .5); }
.bw-form__title { font-family: var(--bw-display) !important; font-size: clamp(30px, 3vw, 44px) !important; text-transform: uppercase !important; margin-bottom: 20px !important; }
.bw-form__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 14px; }
.bw-field { position: relative; }
.bw-field--area, .bw-form__grid > .bw-field:only-child { grid-column: 1 / -1; }
.bw-form__grid > .bw-field:nth-last-child(2):nth-child(odd) { grid-column: auto; }
.bw-field :is(input, textarea) { width: 100%; padding: 24px 16px 10px !important; border-radius: 14px !important; border: 1px solid var(--bw-line-2) !important; background: rgba(0, 0, 0, .35) !important; color: #fff !important; font: 500 16px/1.4 var(--bw-body) !important; outline: none; box-shadow: none !important; transition: border-color .25s, background .25s; }
.bw-field textarea { resize: vertical; min-height: 150px; }
.bw-field :is(input, textarea):focus { border-color: var(--bw-red-hot) !important; background: rgba(0, 0, 0, .55) !important; }
.bw-field label { position: absolute; left: 17px; top: 17px; color: var(--bw-muted); font: 500 15px/1.2 var(--bw-body); pointer-events: none; transition: top .2s var(--bw-ease), font-size .2s, color .2s; }
.bw-field label small { font-size: .85em; opacity: .7; }
.bw-field :is(input, textarea):focus + label, .bw-field :is(input, textarea):not(:placeholder-shown) + label { top: 8px; font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--bw-red-hot); }
.bw-field.is-invalid :is(input, textarea) { border-color: var(--bw-red-hot) !important; }
.bw-form__trap { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.bw-form__send { margin-top: 18px; }
.bw-form.is-sending .bw-form__send { opacity: .6; pointer-events: none; }
.bw-form__msg { min-height: 1.4em; margin-top: 14px !important; font-weight: 700; }
.bw-form__msg.is-ok { color: var(--bw-green); }
.bw-form__msg.is-err { color: var(--bw-red-hot); }
@media (max-width: 900px) { .bw-contact__grid { grid-template-columns: 1fr; } }
@media (max-width: 520px) { .bw-form__grid { grid-template-columns: 1fr; } }

/* ---------- Elementor ships `.elementor img { height:auto; border-radius:0 }` — keep our image sizing ---------- */
body .bw-hero__img { height: 94% !important; }
body :is(.bw-tile__media, .bw-pcard__media, .bw-statement__photo, .bw-wall__item, .bw-phero__bg, .bw-merch__hero-bg, .bw-lookbook__item, .bw-fvideo__facade, .bw-vcard__thumb, .bw-product__media, .bw-drawer__main, .bw-drawer__thumbs button) img { height: 100% !important; }
body .bw-bio__photo img { border-radius: 26px !important; height: auto !important; }
body .bw-logo__img img { border-radius: 12px !important; height: auto !important; max-height: 100% !important; }
body .bw-logostrip__track img { border-radius: 10px !important; height: 100% !important; }
body .bw-cart__item img { border-radius: 12px !important; }
body .bw-contact__logo, body .bw-footer__brand img, body .bw-intro__logo img { height: auto !important; }

/* ---------- Music page: the album store sits under the fixed header ---------- */
:root:has(.bw-header) .bw-ms { padding-top: calc(var(--bw-hh) + clamp(40px, 6vw, 90px)); }

/* ==========================================================================
   KEYFRAMES
   ========================================================================== */
@property --bw-a { syntax: "<angle>"; inherits: false; initial-value: 0deg; }
@keyframes bw-spin { to { rotate: 360deg; } }
@keyframes bw-spin-a { to { --bw-a: 360deg; } }
@keyframes bw-marquee { to { translate: -50% 0; } }
@keyframes bw-drift { to { translate: -8vmax 6vmax; } }
@keyframes bw-grain { 0% { translate: 0 0; } 20% { translate: -5% 3%; } 40% { translate: 4% -6%; } 60% { translate: -3% 5%; } 80% { translate: 6% 2%; } 100% { translate: 0 0; } }
@keyframes bw-ping { 0% { box-shadow: 0 0 0 0 rgba(255, 59, 48, .7); } 100% { box-shadow: 0 0 0 10px rgba(255, 59, 48, 0); } }
@keyframes bw-pulse { 0% { box-shadow: 0 0 0 0 rgba(225, 6, 0, .6); } 100% { box-shadow: 0 0 0 26px rgba(225, 6, 0, 0); } }
@keyframes bw-breathe { 50% { scale: 1.08; opacity: .8; } }
@keyframes bw-float { 50% { translate: 0 -12px; } }
@keyframes bw-kenburns { from { scale: 1; } to { scale: 1.12; translate: -2% 1%; } }
@keyframes bw-drop-in { from { opacity: 0; translate: 0 -40px; scale: .92; } to { opacity: 1; translate: 0 0; scale: 1; } }
@keyframes bw-fade-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes bw-glitch { 0% { translate: -3px 1px; } 50% { translate: 3px -1px; } 100% { translate: -1px 0; } }
@keyframes bw-eq { 0% { height: 20%; } 100% { height: 100%; } }
@keyframes bw-scroll { 0% { opacity: 1; translate: -50% 0; } 100% { opacity: 0; translate: -50% 14px; } }
@keyframes bw-bump { 30% { scale: 1.4; } }
@keyframes bw-static { 0%, 100% { opacity: 0; } 25%, 75% { opacity: .9; } 50% { opacity: .6; } }
@keyframes bw-flicker { 0%, 19%, 21%, 23%, 55%, 57%, 100% { opacity: 1; } 20%, 22%, 56% { opacity: .55; } }

@media (prefers-reduced-motion: reduce) {
	[class*="bw-"], [class*="bw-"]::before, [class*="bw-"]::after { animation: none !important; transition-duration: .01ms !important; }
	.bw-js [data-bw-reveal], .bw-js [data-bw-split] .bw-char { opacity: 1 !important; translate: none !important; rotate: none !important; }
	.bw-statement__text .bw-word { opacity: 1; }
	.bw-intro.is-playing :is(.bw-intro__video, .bw-intro__yt) { opacity: 1; }
}
