        :root {
            --bg: #030304;
            --bg-smoke: #08080f;
            --surface: #0c0c14;
            --surface-2: #12121c;
            --surface-3: #1a1a28;
            --line: rgba(192, 197, 206, .10);
            --line-strong: rgba(192, 197, 206, .18);
            --text: #f8f9fb;
            --muted: #9ca3b4;
            --soft: #6b7288;
            --silver: #c0c5ce;
            --silver-dim: #8b93a3;
            --neon-purple: #b026ff;
            --neon-purple-soft: rgba(176, 38, 255, .16);
            --neon-purple-glow: rgba(176, 38, 255, .45);
            --electric-blue: #00d4ff;
            --electric-blue-soft: rgba(0, 212, 255, .14);
            --electric-blue-glow: rgba(0, 212, 255, .40);
            --white: #ffffff;
            --gradient-neon: linear-gradient(135deg, var(--neon-purple) 0%, var(--electric-blue) 100%);
            --gradient-text: linear-gradient(135deg, #e8d4ff 0%, var(--neon-purple) 35%, var(--electric-blue) 100%);
            --shadow: 0 24px 80px rgba(0, 0, 0, .55);
            --shadow-neon: 0 0 40px rgba(176, 38, 255, .18), 0 0 80px rgba(0, 212, 255, .08);
            --radius-xl: 24px;
            --radius-lg: 18px;
            --radius-md: 14px;
            --safe-bottom: env(safe-area-inset-bottom, 0px);
            --nav-h: 72px;
            --mobile-cta-h: 68px;
        }

        * { margin: 0; padding: 0; box-sizing: border-box; }
        html { scroll-behavior: smooth; background: var(--bg); }

        body {
            font-family: 'Inter', sans-serif;
            background: transparent;
            color: var(--text);
            line-height: 1.6;
            overflow-x: hidden;
            letter-spacing: -0.01em;
            padding-bottom: calc(var(--mobile-cta-h) + var(--safe-bottom));
        }

        .site-shell {
            position: relative;
            z-index: 2;
        }

        /* FX backdrop — fixed behind all content */
        .fx-backdrop {
            position: fixed;
            inset: 0;
            z-index: 0;
            pointer-events: none;
            overflow: hidden;
        }

        .fx-base {
            position: absolute;
            inset: 0;
            background:
                radial-gradient(ellipse 90% 55% at 50% -5%, rgba(176, 38, 255, .32), transparent 58%),
                radial-gradient(ellipse 65% 45% at 95% 55%, rgba(0, 212, 255, .22), transparent 52%),
                radial-gradient(ellipse 55% 40% at 5% 75%, rgba(176, 38, 255, .18), transparent 48%),
                linear-gradient(180deg, #030304 0%, #07070f 50%, #030304 100%);
            animation: bgSmoke 20s ease-in-out infinite alternate;
        }

        @keyframes bgSmoke {
            0% { filter: brightness(1); }
            100% { filter: brightness(1.12); }
        }

        @media (min-width: 768px) {
            body { padding-bottom: 0; }
        }

        /* Atmospheric layers (inside .fx-backdrop) */
        body::before { display: none; }

        .fog-layer {
            position: absolute;
            inset: 0;
            overflow: hidden;
        }

        .fog {
            position: absolute;
            border-radius: 50%;
            filter: blur(70px);
            opacity: .75;
            animation: fogDrift 22s ease-in-out infinite;
        }

        .fog-1 {
            width: 65vw;
            height: 45vh;
            top: 8%;
            left: -12%;
            background: radial-gradient(circle, rgba(176, 38, 255, .45), transparent 68%);
        }

        .fog-2 {
            width: 55vw;
            height: 38vh;
            top: 38%;
            right: -18%;
            background: radial-gradient(circle, rgba(0, 212, 255, .35), transparent 68%);
            animation-delay: -8s;
            animation-duration: 28s;
        }

        .fog-3 {
            width: 75vw;
            height: 32vh;
            bottom: 3%;
            left: 15%;
            background: radial-gradient(circle, rgba(176, 38, 255, .28), transparent 68%);
            animation-delay: -14s;
            animation-duration: 32s;
        }

        @keyframes fogDrift {
            0%, 100% { transform: translate(0, 0) scale(1); }
            33% { transform: translate(4%, -3%) scale(1.05); }
            66% { transform: translate(-3%, 2%) scale(.97); }
        }

        .grid-overlay {
            position: absolute;
            inset: 0;
            background-image:
                linear-gradient(rgba(192, 197, 206, .08) 1px, transparent 1px),
                linear-gradient(90deg, rgba(192, 197, 206, .08) 1px, transparent 1px);
            background-size: 50px 50px;
            mask-image: radial-gradient(ellipse 95% 75% at 50% 40%, black 10%, transparent 80%);
            animation: gridPulse 10s ease-in-out infinite;
        }

        @keyframes gridPulse {
            0%, 100% { opacity: 1; }
            50% { opacity: .65; }
        }

        a { color: inherit; }

        /* Navigation */
        .navbar {
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            z-index: 1000;
            height: var(--nav-h);
            padding: 0 1rem;
            padding-top: env(safe-area-inset-top, 0px);
            background: rgba(3, 3, 4, .78);
            backdrop-filter: blur(20px) saturate(1.4);
            -webkit-backdrop-filter: blur(20px) saturate(1.4);
            border-bottom: 1px solid var(--line);
        }

        .navbar.scrolled {
            background: rgba(3, 3, 4, .94);
            border-bottom-color: rgba(176, 38, 255, .15);
            box-shadow: 0 8px 32px rgba(0, 0, 0, .4);
        }

        .nav-container {
            max-width: 1240px;
            height: 100%;
            margin: 0 auto;
            display: flex;
            justify-content: space-between;
            align-items: center;
            gap: .75rem;
        }

        .logo, .footer-logo, .hero-logo {
            font-family: 'Orbitron', sans-serif;
            color: var(--white);
            -webkit-text-fill-color: initial;
            background: none;
        }

        .logo {
            display: flex;
            align-items: center;
            flex-shrink: 0;
            font-size: .72rem;
            font-weight: 800;
            letter-spacing: .14em;
            text-decoration: none;
            white-space: nowrap;
        }

        .logo-image {
            display: none;
        }

        .logo-gradient {
            display: block;
            aspect-ratio: 1024 / 724;
            background: var(--gradient-text);
            background-size: 200% auto;
            -webkit-mask-image: url('/images/bihi-logo.png');
            mask-image: url('/images/bihi-logo.png');
            -webkit-mask-size: contain;
            mask-size: contain;
            -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
            -webkit-mask-position: center;
            mask-position: center;
        }

        .logo-gradient--nav {
            height: 64px;
            width: auto;
            max-width: min(220px, 48vw);
        }

        @media (min-width: 768px) {
            .logo-gradient--nav { height: 72px; max-width: 250px; }
        }

        .logo-gradient--hero {
            width: min(364px, 64vw);
            animation: heroTitleGlow 5s ease-in-out infinite;
        }

        @media (min-width: 768px) {
            .logo-gradient--hero { width: min(434px, 52vw); }
        }

        .logo-gradient--page {
            width: min(480px, 92vw);
            margin: 0 auto 1.25rem;
            animation: heroTitleGlow 5s ease-in-out infinite;
        }

        @media (min-width: 768px) {
            .logo-gradient--page { width: min(580px, 65vw); margin-bottom: 1.5rem; }
        }

        .logo-gradient--footer {
            width: min(220px, 70vw);
            margin: 0 auto .5rem;
        }

        .logo:has(.logo-gradient)::after { display: none; }

        @media (min-width: 400px) {
            .logo { font-size: .85rem; }
        }

        .logo::after {
            content: '';
            display: inline-block;
            width: 6px;
            height: 6px;
            margin-left: 8px;
            border-radius: 999px;
            background: var(--gradient-neon);
            vertical-align: middle;
            box-shadow: 0 0 12px var(--neon-purple-glow), 0 0 20px var(--electric-blue-glow);
            animation: pulseDot 2.5s ease-in-out infinite;
        }

        @keyframes pulseDot {
            0%, 100% { opacity: 1; transform: scale(1); }
            50% { opacity: .7; transform: scale(.85); }
        }

        .nav-actions {
            display: flex;
            align-items: center;
            gap: .5rem;
        }

        .nav-tickets-btn {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            min-height: 38px;
            padding: 0 1rem;
            font-family: 'Rajdhani', sans-serif;
            font-weight: 700;
            font-size: .78rem;
            letter-spacing: .1em;
            text-transform: uppercase;
            text-decoration: none;
            color: var(--bg);
            background: var(--gradient-neon);
            border-radius: 999px;
            box-shadow: 0 4px 20px rgba(176, 38, 255, .3);
            transition: transform .2s ease, box-shadow .2s ease;
        }

        .nav-tickets-btn:hover {
            transform: translateY(-1px);
            box-shadow: 0 6px 28px rgba(176, 38, 255, .4), 0 0 16px rgba(0, 212, 255, .2);
        }

        @media (min-width: 1100px) {
            .nav-tickets-btn { display: none; }
        }

        .nav-menu {
            display: none;
            list-style: none;
            gap: 1.1rem;
            align-items: center;
        }

        .nav-menu a {
            text-decoration: none;
            color: var(--silver-dim);
            font-family: 'Rajdhani', sans-serif;
            font-weight: 600;
            font-size: .88rem;
            letter-spacing: .05em;
            transition: color .2s ease, text-shadow .2s ease;
            position: relative;
        }

        .nav-menu a:hover,
        .nav-menu a.active {
            color: var(--white);
            text-shadow: 0 0 20px rgba(176, 38, 255, .4);
        }

        .mobile-nav a.active:not(.nav-highlight) {
            background: var(--neon-purple-soft);
            color: var(--white);
        }

        .mobile-menu-btn {
            display: flex;
            flex-direction: column;
            justify-content: center;
            gap: 5px;
            cursor: pointer;
            width: 44px;
            height: 44px;
            border: 1px solid var(--line);
            border-radius: 12px;
            background: rgba(255, 255, 255, .03);
            transition: border-color .2s ease, background .2s ease;
        }

        .mobile-menu-btn:hover,
        .mobile-menu-btn.active {
            border-color: rgba(176, 38, 255, .4);
            background: var(--neon-purple-soft);
        }

        .mobile-menu-btn span {
            display: block;
            width: 20px;
            height: 2px;
            margin: 0 auto;
            background: var(--silver);
            transition: all .25s ease;
            box-shadow: 0 0 6px rgba(192, 197, 206, .3);
        }

        .mobile-menu-btn.active span:nth-child(1) {
            transform: translateY(7px) rotate(45deg);
            background: var(--neon-purple);
        }
        .mobile-menu-btn.active span:nth-child(2) { opacity: 0; }
        .mobile-menu-btn.active span:nth-child(3) {
            transform: translateY(-7px) rotate(-45deg);
            background: var(--electric-blue);
        }

        .mobile-nav {
            position: fixed;
            top: calc(var(--nav-h) + env(safe-area-inset-top, 0px) + 8px);
            left: .75rem;
            right: .75rem;
            z-index: 999;
            background: rgba(12, 12, 20, .97);
            padding: .75rem;
            display: none;
            flex-direction: column;
            gap: .15rem;
            border: 1px solid rgba(176, 38, 255, .2);
            border-radius: var(--radius-lg);
            box-shadow: var(--shadow), var(--shadow-neon);
            backdrop-filter: blur(24px);
        }

        .mobile-nav.active { display: flex; }

        .mobile-nav a {
            color: var(--text);
            text-decoration: none;
            font-family: 'Rajdhani', sans-serif;
            font-size: 1.05rem;
            font-weight: 600;
            letter-spacing: .04em;
            padding: .85rem 1rem;
            border-radius: 12px;
            min-height: 48px;
            display: flex;
            align-items: center;
            transition: background .2s ease, color .2s ease;
        }

        .mobile-nav a:hover,
        .mobile-nav a:active {
            background: var(--neon-purple-soft);
            color: var(--white);
        }

        .mobile-nav .nav-highlight {
            background: var(--gradient-neon);
            color: var(--bg);
            font-weight: 700;
            justify-content: center;
            margin-top: .25rem;
        }

        .mobile-nav .nav-highlight:hover {
            background: var(--gradient-neon);
            color: var(--bg);
            opacity: .92;
        }

        @media (min-width: 1100px) {
            .nav-menu { display: flex; }
            .mobile-menu-btn { display: none; }
        }

        /* Mobile sticky CTA */
        .mobile-sticky-cta {
            position: fixed;
            bottom: 0;
            left: 0;
            right: 0;
            z-index: 998;
            display: flex;
            gap: .6rem;
            padding: .65rem 1rem;
            padding-bottom: calc(.65rem + var(--safe-bottom));
            background: rgba(3, 3, 4, .92);
            backdrop-filter: blur(20px);
            border-top: 1px solid rgba(176, 38, 255, .2);
            box-shadow: 0 -8px 40px rgba(0, 0, 0, .5);
        }

        .mobile-sticky-cta a {
            flex: 1;
            display: flex;
            align-items: center;
            justify-content: center;
            min-height: 48px;
            font-family: 'Rajdhani', sans-serif;
            font-weight: 700;
            font-size: .82rem;
            letter-spacing: .1em;
            text-transform: uppercase;
            text-decoration: none;
            border-radius: 999px;
            transition: transform .2s ease;
        }

        .mobile-sticky-cta a:active { transform: scale(.97); }

        .sticky-cta-primary {
            background: var(--gradient-neon);
            color: var(--bg);
            box-shadow: 0 4px 24px rgba(176, 38, 255, .35);
        }

        .sticky-cta-secondary {
            background: rgba(255, 255, 255, .05);
            color: var(--white);
            border: 1px solid var(--line-strong);
            flex: 0 0 auto;
            padding: 0 1.1rem;
        }

        @media (min-width: 768px) {
            .mobile-sticky-cta { display: none; }
        }

        /* Hero Section */
        .hero {
            min-height: 100svh;
            position: relative;
            display: flex;
            align-items: center;
            justify-content: center;
            text-align: center;
            overflow: hidden;
            padding: calc(var(--nav-h) + 2rem) 1rem 5rem;
        }

        .hero-video-bg {
            position: absolute;
            inset: 0;
            z-index: 0;
            background:
                linear-gradient(rgba(3, 3, 4, .72), rgba(3, 3, 4, .88)),
                url('https://images.unsplash.com/photo-1514525253161-7a46d19cd819?auto=format&fit=crop&w=1800&q=85') center/cover no-repeat;
        }

        .hero-video-bg::before {
            content: '';
            position: absolute;
            inset: 0;
            background:
                radial-gradient(ellipse 70% 50% at 50% 30%, rgba(176, 38, 255, .22), transparent 50%),
                radial-gradient(ellipse 50% 40% at 80% 70%, rgba(0, 212, 255, .12), transparent 45%),
                linear-gradient(180deg, transparent 0%, #030304 95%);
        }

        .hero-video-bg::after {
            content: '';
            position: absolute;
            inset: 0;
            background: repeating-linear-gradient(
                0deg,
                transparent,
                transparent 2px,
                rgba(0, 0, 0, .03) 2px,
                rgba(0, 0, 0, .03) 4px
            );
            pointer-events: none;
        }

        .light-beams {
            position: absolute;
            inset: 0;
            overflow: hidden;
            opacity: .65;
            z-index: 1;
        }

        .beam {
            position: absolute;
            bottom: -10%;
            width: 4px;
            height: 120%;
            background: linear-gradient(180deg, transparent, var(--neon-purple), transparent);
            transform-origin: bottom center;
            animation: beamSweep 8s ease-in-out infinite;
            filter: blur(1px);
            box-shadow: 0 0 20px var(--neon-purple-glow);
        }

        .beam:nth-child(1) { left: 20%; animation-delay: 0s; }
        .beam:nth-child(2) { left: 45%; background: linear-gradient(180deg, transparent, var(--electric-blue), transparent); animation-delay: -2.5s; }
        .beam:nth-child(3) { left: 70%; animation-delay: -5s; }
        .beam:nth-child(4) { left: 85%; background: linear-gradient(180deg, transparent, var(--silver), transparent); animation-delay: -1s; width: 2px; opacity: .5; }

        @keyframes beamSweep {
            0%, 100% { transform: rotate(-22deg); opacity: .45; }
            50% { transform: rotate(22deg); opacity: 1; }
        }

        .particles { position: absolute; inset: 0; overflow: hidden; opacity: .65; z-index: 1; }

        .particle {
            position: absolute;
            width: 5px;
            height: 5px;
            background: var(--neon-purple);
            border-radius: 50%;
            box-shadow: 0 0 14px var(--neon-purple-glow), 0 0 28px rgba(176, 38, 255, .25);
            animation: float 18s infinite;
        }

        .particle:nth-child(odd) {
            background: var(--electric-blue);
            box-shadow: 0 0 14px var(--electric-blue-glow), 0 0 28px rgba(0, 212, 255, .25);
            animation-duration: 23s;
            opacity: .8;
        }

        @keyframes float {
            0% { transform: translateY(100vh); opacity: 0; }
            12%, 82% { opacity: .8; }
            100% { transform: translateY(-100vh); opacity: 0; }
        }

        .hero-content {
            position: relative;
            z-index: 2;
            max-width: 980px;
            padding: 0 .5rem;
        }

        .hero-logo {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            padding: .55rem 1.1rem;
            margin-bottom: 1.25rem;
            border: 1px solid rgba(192, 197, 206, .2);
            border-radius: 999px;
            background: rgba(255, 255, 255, .04);
            color: var(--silver);
            font-size: .68rem;
            font-weight: 700;
            letter-spacing: .28em;
            backdrop-filter: blur(8px);
        }

        .hero-logo:has(.logo-gradient) {
            padding: 0;
            margin-bottom: 1.5rem;
            border: none;
            background: none;
            backdrop-filter: none;
            animation: none;
        }

        .hero-logo-image,
        .page-hero-logo {
            display: none;
        }

        @media (min-width: 400px) {
            .hero-logo { font-size: .74rem; letter-spacing: .24em; }
        }

        .hero-tour-title {
            font-family: 'Orbitron', sans-serif;
            font-size: clamp(2.4rem, 12vw, 7rem);
            font-weight: 900;
            line-height: .9;
            margin-bottom: 1rem;
            text-transform: uppercase;
            letter-spacing: .04em;
            background: var(--gradient-text);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
            filter: drop-shadow(0 0 40px rgba(176, 38, 255, .35)) drop-shadow(0 4px 30px rgba(0, 0, 0, .8));
        }

        .hero-slogan {
            font-family: 'Rajdhani', sans-serif;
            font-size: clamp(.9rem, 3.2vw, 1.4rem);
            font-weight: 500;
            color: var(--silver-dim);
            letter-spacing: .32em;
            text-transform: uppercase;
            margin-bottom: 2rem;
        }

        .hero-buttons {
            display: flex;
            flex-direction: column;
            gap: .75rem;
            align-items: stretch;
            max-width: 320px;
            margin: 0 auto;
        }

        .btn-primary, .tour-card-btn, .product-btn, .newsletter-btn {
            background: var(--gradient-neon);
            color: var(--bg);
            border: none;
            box-shadow: 0 8px 32px rgba(176, 38, 255, .28), 0 0 0 1px rgba(255, 255, 255, .08) inset;
            position: relative;
            overflow: hidden;
            isolation: isolate;
        }

        .btn-primary::after, .tour-card-btn::after, .product-btn::after, .newsletter-btn::after {
            content: '';
            position: absolute;
            inset: 0;
            background: linear-gradient(105deg, transparent 40%, rgba(255, 255, 255, .28) 50%, transparent 60%);
            transform: translateX(-120%);
            transition: transform .65s ease;
            pointer-events: none;
        }

        .btn-primary:hover::after, .tour-card-btn:hover::after, .product-btn:hover::after, .newsletter-btn:hover::after {
            transform: translateX(120%);
        }

        .btn-primary, .btn-secondary, .btn-outline, .tour-card-btn, .artist-btn, .product-btn, .newsletter-btn {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            min-height: 52px;
            padding: .95rem 1.5rem;
            font-family: 'Rajdhani', sans-serif;
            font-weight: 700;
            font-size: .85rem;
            text-transform: uppercase;
            letter-spacing: .12em;
            text-decoration: none;
            border-radius: 999px;
            transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease, background .2s ease;
            text-align: center;
            width: 100%;
            cursor: pointer;
        }

        .btn-primary:hover, .tour-card-btn:hover, .product-btn:hover, .newsletter-btn:hover {
            transform: translateY(-2px);
            box-shadow: 0 12px 40px rgba(176, 38, 255, .38), 0 0 24px rgba(0, 212, 255, .15);
        }

        .btn-primary:active, .tour-card-btn:active {
            transform: scale(.98);
        }

        .btn-secondary, .btn-outline, .artist-btn {
            background: rgba(255, 255, 255, .04);
            color: var(--white);
            border: 1px solid var(--line-strong);
            backdrop-filter: blur(8px);
        }

        .btn-secondary:hover, .btn-outline:hover, .artist-btn:hover {
            border-color: rgba(176, 38, 255, .5);
            background: var(--neon-purple-soft);
            transform: translateY(-2px);
            box-shadow: 0 0 24px rgba(176, 38, 255, .12);
        }

        @media (min-width: 640px) {
            .hero-buttons {
                flex-direction: row;
                justify-content: center;
                align-items: center;
                max-width: none;
            }
            .btn-primary, .btn-secondary {
                width: auto;
                min-width: 200px;
                max-width: 260px;
            }
        }

        /* Section Styles */
        .section {
            padding: 4rem 1rem;
            max-width: 1240px;
            margin: 0 auto;
            position: relative;
        }

        @media (min-width: 768px) {
            .section { padding: 5.5rem 1.25rem; }
        }

        .section::after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 50%;
            transform: translateX(-50%);
            width: min(240px, 50%);
            height: 1px;
            background: linear-gradient(90deg, transparent, var(--silver-dim), var(--neon-purple), var(--electric-blue), var(--silver-dim), transparent);
            opacity: .35;
            box-shadow: 0 0 16px rgba(176, 38, 255, .2);
        }

        .section:last-of-type::after,
        .newsletter-section::after,
        .latest-event::after {
            display: none;
        }

        .section-title {
            font-family: 'Orbitron', sans-serif;
            font-size: clamp(1.5rem, 5.5vw, 3rem);
            line-height: 1.05;
            font-weight: 800;
            text-align: center;
            margin-bottom: .85rem;
            color: var(--white);
            text-transform: uppercase;
            letter-spacing: .06em;
        }

        .section-title span {
            background: var(--gradient-text);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
            background-size: 200% auto;
            animation: neonTextPulse 4s ease-in-out infinite;
        }

        @keyframes neonTextPulse {
            0%, 100% { filter: drop-shadow(0 0 16px rgba(176, 38, 255, .5)); }
            50% { filter: drop-shadow(0 0 28px rgba(0, 212, 255, .6)); }
        }

        .section-subtitle {
            text-align: center;
            color: var(--muted);
            font-family: 'Rajdhani', sans-serif;
            font-size: 1.05rem;
            margin: 0 auto 2.5rem;
            max-width: 560px;
            letter-spacing: .02em;
        }

        @media (min-width: 768px) {
            .section-subtitle { font-size: 1.15rem; margin-bottom: 3rem; }
        }

        .tour-grid, .artists-grid, .store-grid, .gallery-grid { display: grid; gap: .85rem; }

        @media (min-width: 768px) {
            .tour-grid, .artists-grid, .store-grid, .gallery-grid { gap: 1.1rem; }
        }

        .tour-card, .artist-card, .product-card, .event-highlight, .newsletter-box, .gallery-item, .sponsor-logo, .countdown-item {
            background: rgba(12, 12, 20, .72);
            border: 1px solid rgba(192, 197, 206, .14);
            backdrop-filter: blur(14px);
            -webkit-backdrop-filter: blur(14px);
            transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
        }

        .tour-card:hover, .artist-card:hover, .product-card:hover,
        .gallery-item:hover, .ticket-tier:hover, .content-card:hover {
            box-shadow:
                0 16px 48px rgba(0, 0, 0, .45),
                0 0 24px rgba(176, 38, 255, .1),
                0 0 48px rgba(0, 212, 255, .06);
        }

        .tour-card {
            border-radius: var(--radius-lg);
            padding: 1.25rem;
            display: flex;
            flex-direction: column;
            gap: 1rem;
            transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
            position: relative;
            overflow: hidden;
        }

        .tour-card::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            height: 2px;
            background: var(--gradient-neon);
            opacity: 0;
            transition: opacity .22s ease;
        }

        .tour-card:hover, .tour-card:active {
            transform: translateY(-3px);
            border-color: rgba(176, 38, 255, .35);
            box-shadow: 0 16px 48px rgba(0, 0, 0, .4), 0 0 32px rgba(176, 38, 255, .08);
        }

        .tour-card:hover::before { opacity: 1; }

        .tour-card-content { position: relative; z-index: 1; }

        .tour-card--has-poster { padding-top: 0; }

        .tour-card-poster {
            margin: 0 -1.25rem;
            border-radius: var(--radius-lg) var(--radius-lg) 0 0;
            overflow: hidden;
            aspect-ratio: 3 / 4;
            max-height: 260px;
            background: linear-gradient(160deg, #0e0e18 0%, #161624 100%);
        }

        .tour-card-poster img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: center top;
            display: block;
        }

        .tour-city {
            font-family: 'Orbitron', sans-serif;
            font-size: 1.25rem;
            font-weight: 800;
            color: var(--white);
            margin-bottom: .4rem;
            letter-spacing: .04em;
        }

        .tour-date {
            font-family: 'Rajdhani', sans-serif;
            font-size: 1rem;
            color: var(--electric-blue);
            font-weight: 700;
            margin-bottom: .2rem;
            text-shadow: 0 0 20px rgba(0, 212, 255, .3);
        }

        .tour-venue { font-size: .9rem; color: var(--muted); }

        .tour-card-btn { max-width: none; width: 100%; }

        @media (min-width: 768px) { .tour-grid { grid-template-columns: repeat(2, 1fr); } }
        @media (min-width: 1024px) { .tour-grid { grid-template-columns: repeat(3, 1fr); } }

        .artist-card, .product-card {
            border-radius: var(--radius-xl);
            overflow: hidden;
            transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
        }

        .artist-card:hover, .product-card:hover {
            transform: translateY(-5px);
            border-color: rgba(0, 212, 255, .35);
            box-shadow: 0 20px 56px rgba(0, 0, 0, .45), 0 0 40px rgba(0, 212, 255, .06);
        }

        .artist-image, .product-image {
            width: 100%;
            height: 220px;
            background: linear-gradient(160deg, #0e0e18 0%, #161624 100%);
            display: flex;
            align-items: center;
            justify-content: center;
            position: relative;
            overflow: hidden;
            border-bottom: 1px solid var(--line);
        }

        @media (min-width: 768px) {
            .artist-image { height: 280px; }
        }

        .artist-image::after, .product-image::after {
            content: '';
            position: absolute;
            inset: 14px;
            border: 1px solid rgba(192, 197, 206, .08);
            border-radius: 16px;
            pointer-events: none;
        }

        .artist-image::before, .product-image::before {
            content: '';
            position: absolute;
            inset: 0;
            background: radial-gradient(circle at 50% 80%, rgba(176, 38, 255, .12), transparent 60%);
        }

        .artist-image img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: center 15%;
            position: relative;
            z-index: 1;
        }

        .artist-image.has-photo::before {
            background:
                linear-gradient(180deg, rgba(3, 3, 4, .05) 0%, rgba(3, 3, 4, .55) 100%),
                radial-gradient(circle at 50% 80%, rgba(176, 38, 255, .18), transparent 55%);
        }

        .artist-image.has-photo::after {
            border-color: rgba(176, 38, 255, .12);
        }

        .product-image.has-photo::before {
            background:
                linear-gradient(180deg, rgba(3, 3, 4, .05) 0%, rgba(3, 3, 4, .35) 100%),
                radial-gradient(circle at 50% 80%, rgba(176, 38, 255, .12), transparent 55%);
        }

        .product-image.has-photo::after {
            border-color: rgba(176, 38, 255, .12);
        }

        .artist-image-placeholder {
            width: 100px;
            height: 100px;
            border-radius: 999px;
            background: rgba(255, 255, 255, .04);
            border: 1px solid rgba(176, 38, 255, .3);
            display: flex;
            align-items: center;
            justify-content: center;
            font-family: 'Orbitron', sans-serif;
            font-size: 2.2rem;
            font-weight: 800;
            background: var(--gradient-text);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
            box-shadow: 0 0 40px rgba(176, 38, 255, .15);
            position: relative;
            z-index: 1;
        }

        @media (min-width: 768px) {
            .artist-image-placeholder { width: 120px; height: 120px; font-size: 2.5rem; }
        }

        .artist-info, .product-info { padding: 1.25rem; text-align: center; }

        @media (min-width: 768px) {
            .artist-info, .product-info { padding: 1.5rem; }
        }

        .artist-name, .product-name {
            font-family: 'Orbitron', sans-serif;
            font-size: 1rem;
            font-weight: 800;
            color: var(--white);
            margin-bottom: .35rem;
            letter-spacing: .05em;
        }

        .artist-role {
            font-family: 'Rajdhani', sans-serif;
            font-size: .95rem;
            color: var(--muted);
            margin-bottom: 1rem;
        }

        .artist-btn { max-width: 190px; min-height: 44px; padding: .7rem 1.2rem; margin: 0 auto; }

        @media (min-width: 768px) { .artists-grid { grid-template-columns: repeat(3, 1fr); } }

        .event-highlight, .newsletter-box {
            border-radius: var(--radius-xl);
            padding: clamp(1.5rem, 5vw, 3.2rem);
            text-align: center;
            position: relative;
            overflow: hidden;
            border-color: rgba(176, 38, 255, .2);
            box-shadow: var(--shadow-neon);
        }

        .event-highlight::before, .newsletter-box::before {
            content: '';
            position: absolute;
            inset: 0;
            background:
                radial-gradient(ellipse 80% 60% at 50% 0%, rgba(176, 38, 255, .14), transparent 55%),
                radial-gradient(ellipse 60% 40% at 80% 100%, rgba(0, 212, 255, .08), transparent 50%);
            pointer-events: none;
        }

        .event-highlight > *, .newsletter-box > * { position: relative; z-index: 1; }

        .event-highlight-label, .sponsor-tier-title {
            font-family: 'Orbitron', sans-serif;
            font-size: .7rem;
            color: var(--electric-blue);
            text-transform: uppercase;
            letter-spacing: .26em;
            margin-bottom: .85rem;
            text-shadow: 0 0 20px rgba(0, 212, 255, .4);
        }

        .event-highlight-title {
            font-family: 'Orbitron', sans-serif;
            font-size: clamp(1.35rem, 5vw, 2.6rem);
            line-height: 1.1;
            font-weight: 900;
            color: var(--white);
            margin-bottom: .75rem;
        }

        .event-highlight-details {
            font-family: 'Rajdhani', sans-serif;
            font-size: 1.05rem;
            color: var(--silver-dim);
            margin-bottom: 1.75rem;
        }

        .countdown {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: .5rem;
            margin-bottom: 1.75rem;
            max-width: 360px;
            margin-left: auto;
            margin-right: auto;
        }

        @media (min-width: 400px) {
            .countdown { gap: .65rem; max-width: 400px; }
        }

        .countdown-item {
            border-radius: 14px;
            padding: .85rem .5rem;
            border-color: rgba(0, 212, 255, .15);
            background: rgba(0, 0, 0, .35);
        }

        .countdown-number {
            font-family: 'Orbitron', sans-serif;
            font-size: clamp(1.3rem, 5vw, 1.65rem);
            font-weight: 900;
            color: var(--white);
            text-shadow: 0 0 16px rgba(176, 38, 255, .4);
        }

        .countdown-label {
            font-family: 'Rajdhani', sans-serif;
            font-size: .68rem;
            color: var(--silver-dim);
            text-transform: uppercase;
            letter-spacing: .1em;
            margin-top: .15rem;
        }

        .gallery-grid { grid-template-columns: 1fr; }

        .gallery-item {
            aspect-ratio: 16/10;
            border-radius: var(--radius-lg);
            overflow: hidden;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: border-color .22s ease, transform .22s ease, box-shadow .22s ease;
        }

        .gallery-item:hover {
            border-color: rgba(0, 212, 255, .35);
            transform: translateY(-3px);
            box-shadow: 0 12px 40px rgba(0, 0, 0, .35), 0 0 24px rgba(0, 212, 255, .06);
        }

        .gallery-item-placeholder {
            text-align: center;
            color: var(--muted);
            font-family: 'Rajdhani', sans-serif;
            font-weight: 600;
            letter-spacing: .06em;
            font-size: .9rem;
        }

        .gallery-item-placeholder svg {
            width: 40px;
            height: 40px;
            margin-bottom: .4rem;
            opacity: .5;
            color: var(--neon-purple);
            filter: drop-shadow(0 0 8px rgba(176, 38, 255, .4));
        }

        @media (min-width: 640px) { .gallery-grid { grid-template-columns: repeat(2, 1fr); } }
        @media (min-width: 1024px) {
            .gallery-grid { grid-template-columns: repeat(4, 1fr); }
            .gallery-item:first-child { grid-column: span 2; grid-row: span 2; }
        }

        .store-grid { grid-template-columns: 1fr; }
        .product-image { height: 180px; }

        @media (min-width: 640px) { .product-image { height: 200px; } }

        .product-image-icon {
            font-family: 'Orbitron', sans-serif;
            font-size: 3rem;
            font-weight: 900;
            background: var(--gradient-text);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
            position: relative;
            z-index: 1;
        }

        .product-image img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: top center;
            position: relative;
            z-index: 1;
        }

        .product-price {
            font-family: 'Rajdhani', sans-serif;
            font-size: 1.25rem;
            font-weight: 800;
            color: var(--electric-blue);
            margin-bottom: .85rem;
            text-shadow: 0 0 16px rgba(0, 212, 255, .25);
        }

        .product-btn { max-width: 180px; min-height: 44px; margin: 0 auto; }

        @media (min-width: 640px) { .store-grid { grid-template-columns: repeat(2, 1fr); } }
        @media (min-width: 1024px) { .store-grid { grid-template-columns: repeat(3, 1fr); } }

        .sponsors-grid { display: grid; gap: 2rem; }

        .academy-courses-grid {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: .75rem;
        }

        @media (min-width: 640px) {
            .academy-courses-grid { grid-template-columns: repeat(3, 1fr); gap: 1rem; }
        }

        @media (min-width: 1024px) {
            .academy-courses-grid { grid-template-columns: repeat(5, 1fr); }
        }

        .academy-course-card {
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            gap: .5rem;
            padding: 1.25rem .75rem;
            background: rgba(12, 12, 20, .85);
            border: 1px solid var(--line);
            border-radius: var(--radius-xl);
            text-align: center;
            transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
        }

        .academy-course-card:hover {
            transform: translateY(-3px);
            border-color: rgba(176, 38, 255, .35);
            box-shadow: 0 12px 36px rgba(0, 0, 0, .35), 0 0 24px rgba(176, 38, 255, .08);
        }

        .academy-course-icon {
            font-size: 1.75rem;
            line-height: 1;
        }

        .academy-course-name {
            font-family: 'Rajdhani', sans-serif;
            font-size: .95rem;
            font-weight: 600;
            color: var(--white);
            letter-spacing: .02em;
        }

        .sponsor-logos { display: flex; flex-wrap: wrap; justify-content: center; gap: .75rem; }

        .sponsor-logo {
            width: 130px;
            height: 64px;
            border-radius: 12px;
            display: flex;
            align-items: center;
            justify-content: center;
            color: var(--silver-dim);
            font-family: 'Rajdhani', sans-serif;
            font-weight: 700;
            font-size: .8rem;
            transition: border-color .2s ease;
        }

        .sponsor-logo:hover { border-color: rgba(192, 197, 206, .25); }

        .sponsors-cta { text-align: center; margin-top: 2.5rem; }
        .btn-outline { width: auto; max-width: none; padding-inline: 2rem; }

        .section-cta { text-align: center; margin-top: 1.75rem; }

        .newsletter-title {
            font-family: 'Orbitron', sans-serif;
            font-size: clamp(1.25rem, 4vw, 2rem);
            font-weight: 800;
            color: var(--white);
            margin-bottom: .6rem;
        }

        .newsletter-text {
            font-family: 'Rajdhani', sans-serif;
            font-size: 1rem;
            color: var(--muted);
            margin: 0 auto 1.5rem;
            max-width: 520px;
        }

        .newsletter-form {
            display: flex;
            flex-direction: column;
            gap: .7rem;
            max-width: 520px;
            margin: 0 auto;
        }

        .newsletter-input {
            min-height: 52px;
            padding: 0 1.2rem;
            background: rgba(3, 3, 4, .7);
            border: 1px solid var(--line-strong);
            border-radius: 999px;
            color: var(--white);
            font-family: 'Inter', sans-serif;
            font-size: 1rem;
            outline: none;
            transition: border-color .2s ease, box-shadow .2s ease;
        }

        .newsletter-input:focus {
            border-color: rgba(176, 38, 255, .5);
            box-shadow: 0 0 0 3px rgba(176, 38, 255, .1), 0 0 20px rgba(176, 38, 255, .08);
        }

        .newsletter-input::placeholder { color: var(--soft); }
        .newsletter-btn { border: none; max-width: none; }

        @media (min-width: 640px) {
            .newsletter-form { flex-direction: row; }
            .newsletter-input { flex: 1; }
            .newsletter-btn { width: auto; padding-inline: 1.8rem; }
        }

        .footer {
            background: rgba(2, 2, 3, .88);
            padding: 2.5rem 1rem 1.5rem;
            padding-bottom: calc(1.25rem + var(--safe-bottom));
            border-top: 1px solid rgba(176, 38, 255, .12);
            position: relative;
            backdrop-filter: blur(12px);
            -webkit-backdrop-filter: blur(12px);
        }

        @media (min-width: 768px) {
            .footer {
                padding: 3.5rem 1.25rem 2.2rem;
            }
        }

        .footer::before {
            content: '';
            position: absolute;
            top: 0;
            left: 50%;
            transform: translateX(-50%);
            width: 60%;
            height: 1px;
            background: var(--gradient-neon);
            opacity: .4;
        }

        .footer-content { max-width: 1240px; margin: 0 auto; }
        .footer-top { display: grid; gap: 1.75rem; margin-bottom: 1.75rem; }
        .footer-brand { text-align: center; }
        .footer-logo {
            font-size: .82rem;
            font-weight: 800;
            letter-spacing: .1em;
            margin-bottom: .4rem;
            line-height: 1.4;
        }

        @media (min-width: 400px) {
            .footer-logo { font-size: .95rem; letter-spacing: .12em; }
        }

        .footer-tagline {
            font-family: 'Rajdhani', sans-serif;
            color: var(--silver-dim);
            font-size: .9rem;
            letter-spacing: .08em;
        }

        .footer-links {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 1.25rem 1rem;
            text-align: center;
        }

        .footer-column h4 {
            font-family: 'Orbitron', sans-serif;
            font-size: .68rem;
            font-weight: 700;
            color: var(--neon-purple);
            text-transform: uppercase;
            letter-spacing: .14em;
            margin-bottom: .65rem;
            text-align: center;
        }

        .footer-column a {
            display: flex;
            align-items: center;
            justify-content: center;
            min-height: 40px;
            color: var(--muted);
            text-decoration: none;
            font-family: 'Rajdhani', sans-serif;
            font-size: .92rem;
            margin-bottom: .15rem;
            padding: .15rem 0;
            transition: color .2s ease;
            word-break: break-word;
            line-height: 1.35;
        }

        .footer-column:last-child {
            grid-column: 1 / -1;
            text-align: center;
            padding-top: .5rem;
            border-top: 1px solid var(--line);
        }

        @media (min-width: 400px) {
            .footer-column a { min-height: 36px; font-size: .95rem; }
        }

        .footer-column a:hover { color: var(--white); }

        .footer-social {
            display: flex;
            justify-content: center;
            flex-wrap: wrap;
            gap: .6rem;
            margin-bottom: 1.5rem;
        }

        .social-link {
            width: 46px;
            height: 46px;
            background: rgba(255, 255, 255, .03);
            border: 1px solid var(--line);
            border-radius: 999px;
            display: flex;
            align-items: center;
            justify-content: center;
            text-decoration: none;
            transition: all .2s ease;
        }

        .social-link:hover {
            background: var(--neon-purple-soft);
            border-color: rgba(176, 38, 255, .4);
            transform: translateY(-2px);
            box-shadow: 0 0 20px rgba(176, 38, 255, .15);
        }

        .social-link svg { width: 18px; height: 18px; fill: var(--silver); }
        .footer-bottom { text-align: center; padding-top: 1.25rem; border-top: 1px solid var(--line); }
        .footer-copyright {
            font-family: 'Rajdhani', sans-serif;
            font-size: .82rem;
            color: var(--soft);
            line-height: 1.5;
            padding: 0 .5rem;
        }

        @media (min-width: 768px) {
            .footer-top { gap: 2rem; margin-bottom: 2rem; }
            .footer-links {
                grid-template-columns: repeat(3, 1fr);
                gap: 1.75rem;
                text-align: left;
            }
            .footer-column h4 { text-align: left; }
            .footer-column a { justify-content: flex-start; }
            .footer-column:last-child {
                grid-column: auto;
                text-align: left;
                padding-top: 0;
                border-top: none;
            }
            .footer-brand { text-align: left; }
            .footer-top { grid-template-columns: .85fr 1.5fr; align-items: start; }
            .footer-copyright { font-size: .88rem; }
        }

        @keyframes fadeInUp {
            from { opacity: 0; transform: translateY(20px); }
            to { opacity: 1; transform: translateY(0); }
        }

        .animate-in { animation: fadeInUp .5s ease forwards; }

        @media (prefers-reduced-motion: reduce) {
            *, *::before, *::after {
                animation-duration: .01ms !important;
                animation-iteration-count: 1 !important;
                scroll-behavior: auto !important;
                transition-duration: .01ms !important;
            }
            .fog { animation: none; }
            .beam { animation: none; }
            .aurora-layer { animation: none; }
            .fx-base { animation: none; }
            .neon-orb { animation: none; }
            .fx-scroll { opacity: 1; transform: none; }
            .cursor-glow { display: none; }
            .tour-poster-wrap { animation: none; }
            .grid-overlay { animation: none; }
        }

        /* Inner page hero */
        .page-hero {
            position: relative;
            padding: calc(var(--nav-h) + 2.5rem) 1rem 3rem;
            text-align: center;
            overflow: hidden;
        }

        .page-hero-bg {
            position: absolute;
            inset: 0;
            z-index: 0;
            background:
                linear-gradient(rgba(3, 3, 4, .82), rgba(3, 3, 4, .92)),
                url('https://images.unsplash.com/photo-1514525253161-7a46d19cd819?auto=format&fit=crop&w=1800&q=85') center/cover no-repeat;
        }

        .page-hero-bg::before {
            content: '';
            position: absolute;
            inset: 0;
            background:
                radial-gradient(ellipse 70% 50% at 50% 20%, rgba(176, 38, 255, .18), transparent 55%),
                radial-gradient(ellipse 50% 40% at 80% 80%, rgba(0, 212, 255, .1), transparent 45%);
        }

        .page-hero-content {
            position: relative;
            z-index: 1;
            max-width: 760px;
            margin: 0 auto;
        }

        .page-hero-label {
            font-family: 'Orbitron', sans-serif;
            font-size: .68rem;
            color: var(--electric-blue);
            text-transform: uppercase;
            letter-spacing: .28em;
            margin-bottom: .85rem;
            text-shadow: 0 0 20px rgba(0, 212, 255, .5);
            animation: labelGlow 3s ease-in-out infinite;
        }

        @keyframes labelGlow {
            0%, 100% { text-shadow: 0 0 16px rgba(0, 212, 255, .4); color: var(--electric-blue); }
            50% { text-shadow: 0 0 28px rgba(176, 38, 255, .55); color: var(--silver); }
        }

        .page-hero-title {
            font-family: 'Orbitron', sans-serif;
            font-size: clamp(1.8rem, 7vw, 3.4rem);
            font-weight: 900;
            line-height: 1.05;
            text-transform: uppercase;
            letter-spacing: .05em;
            color: var(--white);
            margin-bottom: .75rem;
        }

        .page-hero-title span {
            background: var(--gradient-text);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
            filter: drop-shadow(0 0 24px rgba(176, 38, 255, .35));
        }

        .page-hero-text {
            font-family: 'Rajdhani', sans-serif;
            font-size: 1.05rem;
            color: var(--muted);
            max-width: 560px;
            margin: 0 auto;
        }

        .page-content {
            padding: 0 1rem 4rem;
            max-width: 1240px;
            margin: 0 auto;
        }

        @media (min-width: 768px) {
            .page-hero { padding: calc(var(--nav-h) + 3rem) 1.25rem 4rem; }
            .page-content { padding: 0 1.25rem 5rem; }
        }

        .content-card {
            background: rgba(12, 12, 20, .85);
            border: 1px solid var(--line);
            border-radius: var(--radius-xl);
            padding: clamp(1.25rem, 4vw, 2rem);
            backdrop-filter: blur(12px);
        }

        .content-card + .content-card { margin-top: 1rem; }

        .ticket-grid { display: grid; gap: 1rem; }

        @media (min-width: 768px) {
            .ticket-grid { grid-template-columns: repeat(3, 1fr); }
        }

        .ticket-tier {
            background: rgba(12, 12, 20, .85);
            border: 1px solid var(--line);
            border-radius: var(--radius-xl);
            padding: 1.5rem;
            text-align: center;
            transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
        }

        .ticket-tier:hover {
            transform: translateY(-4px);
            border-color: rgba(176, 38, 255, .35);
            box-shadow: 0 16px 48px rgba(0, 0, 0, .4), 0 0 32px rgba(176, 38, 255, .08);
        }

        .ticket-tier.featured {
            border-color: rgba(176, 38, 255, .35);
            box-shadow: var(--shadow-neon);
        }

        .ticket-tier-name {
            font-family: 'Orbitron', sans-serif;
            font-size: 1rem;
            font-weight: 800;
            color: var(--white);
            margin-bottom: .5rem;
            letter-spacing: .06em;
        }

        .ticket-tier-price {
            font-family: 'Rajdhani', sans-serif;
            font-size: 2rem;
            font-weight: 800;
            color: var(--electric-blue);
            margin-bottom: 1rem;
        }

        .ticket-tier-features {
            list-style: none;
            text-align: left;
            margin-bottom: 1.5rem;
        }

        .ticket-tier-features li {
            font-family: 'Rajdhani', sans-serif;
            font-size: .95rem;
            color: var(--muted);
            padding: .45rem 0;
            border-bottom: 1px solid var(--line);
        }

        .ticket-tier-features li:last-child { border-bottom: none; }

        .form-grid { display: grid; gap: 1rem; }

        @media (min-width: 640px) {
            .form-grid.two-col { grid-template-columns: repeat(2, 1fr); }
        }

        .form-group label {
            display: block;
            font-family: 'Rajdhani', sans-serif;
            font-size: .88rem;
            font-weight: 600;
            color: var(--silver);
            letter-spacing: .06em;
            text-transform: uppercase;
            margin-bottom: .4rem;
        }

        .form-input, .form-textarea, .form-select {
            width: 100%;
            min-height: 52px;
            padding: 0 1.1rem;
            background: rgba(3, 3, 4, .7);
            border: 1px solid var(--line-strong);
            border-radius: 14px;
            color: var(--white);
            font-family: 'Inter', sans-serif;
            font-size: 1rem;
            outline: none;
            transition: border-color .2s ease, box-shadow .2s ease;
        }

        .form-textarea {
            min-height: 140px;
            padding: .9rem 1.1rem;
            resize: vertical;
        }

        .form-input:focus, .form-textarea:focus, .form-select:focus {
            border-color: rgba(176, 38, 255, .5);
            box-shadow: 0 0 0 3px rgba(176, 38, 255, .1);
        }

        .form-submit {
            max-width: 280px;
            margin: 0 auto;
            display: flex;
        }

        .artist-profile {
            display: grid;
            gap: 1.5rem;
        }

        @media (min-width: 768px) {
            .artist-profile { grid-template-columns: 320px 1fr; align-items: start; }
        }

        .artist-profile-image {
            border-radius: var(--radius-xl);
            overflow: hidden;
            border: 1px solid var(--line);
            aspect-ratio: 3/4;
        }

        .artist-profile-image img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: center 15%;
        }

        .artist-profile-name {
            font-family: 'Orbitron', sans-serif;
            font-size: clamp(1.5rem, 5vw, 2.2rem);
            font-weight: 900;
            color: var(--white);
            margin-bottom: .35rem;
        }

        .artist-profile-role {
            font-family: 'Rajdhani', sans-serif;
            font-size: 1.1rem;
            color: var(--electric-blue);
            margin-bottom: 1.25rem;
        }

        .artist-profile-bio {
            font-family: 'Rajdhani', sans-serif;
            font-size: 1.05rem;
            color: var(--muted);
            line-height: 1.7;
        }

        .event-detail-meta {
            display: grid;
            gap: .75rem;
            margin-bottom: 1.5rem;
        }

        .event-detail-meta div {
            font-family: 'Rajdhani', sans-serif;
            font-size: 1rem;
            color: var(--muted);
        }

        .event-detail-meta strong {
            color: var(--white);
            font-weight: 700;
        }

        /* Tour poster */
        .tour-poster-section {
            padding: 0 1rem 4rem;
            max-width: 1240px;
            margin: 0 auto;
            text-align: center;
        }

        .tour-poster-section.section {
            padding-top: 4rem;
        }

        @media (min-width: 768px) {
            .tour-poster-section { padding: 0 1.25rem 5rem; }
            .tour-poster-section.section { padding-top: 5.5rem; }
        }

        .tour-poster-wrap {
            position: relative;
            max-width: 420px;
            margin: 0 auto;
            border-radius: var(--radius-xl);
            overflow: hidden;
            border: 1px solid rgba(176, 38, 255, .25);
            box-shadow:
                0 24px 80px rgba(0, 0, 0, .55),
                0 0 48px rgba(176, 38, 255, .12),
                0 0 80px rgba(0, 212, 255, .06);
            background: #000;
        }

        .tour-poster-wrap::before {
            content: '';
            position: absolute;
            inset: 0;
            pointer-events: none;
            border-radius: inherit;
            box-shadow: inset 0 0 60px rgba(176, 38, 255, .08);
            z-index: 1;
        }

        .tour-poster-img {
            display: block;
            width: 100%;
            height: auto;
            vertical-align: middle;
        }

        .tour-poster-cta {
            display: flex;
            flex-direction: column;
            gap: .75rem;
            align-items: center;
            max-width: 320px;
            margin: 1.75rem auto 0;
        }

        .tour-poster-phone {
            max-width: 220px;
        }

        @media (min-width: 640px) {
            .tour-poster-wrap { max-width: 480px; }
            .tour-poster-cta {
                flex-direction: row;
                justify-content: center;
                max-width: none;
            }
            .tour-poster-phone { max-width: none; min-width: 200px; }
        }

        /* ═══════════════════════════════════════
           SITE-WIDE ATMOSPHERIC FX
           ═══════════════════════════════════════ */

        .aurora-layer {
            position: absolute;
            inset: 0;
            overflow: hidden;
            background:
                radial-gradient(ellipse 60% 50% at 10% 20%, rgba(176, 38, 255, .4), transparent 58%),
                radial-gradient(ellipse 55% 45% at 90% 30%, rgba(0, 212, 255, .32), transparent 55%),
                radial-gradient(ellipse 70% 40% at 50% 95%, rgba(192, 197, 206, .1), transparent 55%);
            animation: auroraShift 14s ease-in-out infinite alternate;
        }

        @keyframes auroraShift {
            0% { opacity: .8; transform: scale(1) translate(0, 0); }
            50% { opacity: 1; transform: scale(1.08) translate(2%, -2%); }
            100% { opacity: .85; transform: scale(1.04) translate(-2%, 2%); }
        }

        .neon-orb {
            position: absolute;
            border-radius: 50%;
            filter: blur(60px);
            animation: orbFloat 20s ease-in-out infinite;
        }

        .neon-orb--purple {
            width: 280px;
            height: 280px;
            top: 15%;
            left: 8%;
            background: rgba(176, 38, 255, .35);
            animation-delay: 0s;
        }

        .neon-orb--blue {
            width: 240px;
            height: 240px;
            top: 45%;
            right: 5%;
            background: rgba(0, 212, 255, .28);
            animation-delay: -7s;
            animation-duration: 24s;
        }

        .neon-orb--silver {
            width: 200px;
            height: 200px;
            bottom: 20%;
            left: 40%;
            background: rgba(192, 197, 206, .12);
            animation-delay: -12s;
            animation-duration: 28s;
        }

        @keyframes orbFloat {
            0%, 100% { transform: translate(0, 0) scale(1); }
            33% { transform: translate(30px, -20px) scale(1.1); }
            66% { transform: translate(-20px, 15px) scale(.95); }
        }

        .fog-4 {
            width: 50vw;
            height: 32vh;
            top: 52%;
            right: 0;
            background: radial-gradient(circle, rgba(192, 197, 206, .15), transparent 68%);
            animation-delay: -10s;
            animation-duration: 26s;
        }

        .ambient-particles {
            position: absolute;
            inset: 0;
            overflow: hidden;
            opacity: .85;
        }

        .ambient-particles .particle {
            width: 5px;
            height: 5px;
        }

        .scanline-overlay {
            position: absolute;
            inset: 0;
            background: repeating-linear-gradient(
                0deg,
                transparent,
                transparent 2px,
                rgba(0, 212, 255, .02) 2px,
                rgba(0, 212, 255, .02) 3px
            );
            opacity: .5;
        }

        .vignette-overlay {
            position: absolute;
            inset: 0;
            background: radial-gradient(ellipse 80% 75% at 50% 50%, transparent 40%, rgba(3, 3, 4, .55) 100%);
        }

        .noise-overlay {
            position: absolute;
            inset: 0;
            opacity: .04;
            background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
        }

        .cursor-glow {
            position: fixed;
            top: 0;
            left: 0;
            width: 400px;
            height: 400px;
            margin: -200px 0 0 -200px;
            pointer-events: none;
            z-index: 1;
            border-radius: 50%;
            background: radial-gradient(circle, rgba(176, 38, 255, .22) 0%, rgba(0, 212, 255, .12) 30%, transparent 65%);
            opacity: 0;
            mix-blend-mode: screen;
        }

        @media (pointer: fine) {
            .cursor-glow { opacity: 1; }
        }

        .light-beams--subtle {
            opacity: .5;
        }

        .light-beams--subtle .beam {
            animation-duration: 10s;
            width: 3px;
        }

        .nav-menu a::after {
            content: '';
            position: absolute;
            left: 0;
            right: 0;
            bottom: -6px;
            height: 2px;
            background: var(--gradient-neon);
            border-radius: 999px;
            transform: scaleX(0);
            transition: transform .25s ease, box-shadow .25s ease;
            box-shadow: 0 0 10px transparent;
        }

        .nav-menu a:hover::after,
        .nav-menu a.active::after {
            transform: scaleX(1);
            box-shadow: 0 0 14px var(--neon-purple-glow), 0 0 24px var(--electric-blue-glow);
        }

        .hero-tour-title {
            animation: heroTitleGlow 5s ease-in-out infinite;
        }

        @keyframes heroTitleGlow {
            0%, 100% { filter: drop-shadow(0 0 50px rgba(176, 38, 255, .5)) drop-shadow(0 0 80px rgba(176, 38, 255, .2)) drop-shadow(0 4px 30px rgba(0, 0, 0, .8)); }
            50% { filter: drop-shadow(0 0 60px rgba(0, 212, 255, .55)) drop-shadow(0 0 90px rgba(0, 212, 255, .2)) drop-shadow(0 4px 30px rgba(0, 0, 0, .8)); }
        }

        .hero-logo {
            animation: silverPulse 3.5s ease-in-out infinite;
        }

        @keyframes silverPulse {
            0%, 100% { border-color: rgba(192, 197, 206, .25); box-shadow: 0 0 0 transparent; }
            50% { border-color: rgba(176, 38, 255, .55); box-shadow: 0 0 32px rgba(176, 38, 255, .25); }
        }

        .countdown-number {
            animation: countdownPulse 2s ease-in-out infinite;
        }

        @keyframes countdownPulse {
            0%, 100% { text-shadow: 0 0 20px rgba(176, 38, 255, .5); }
            50% { text-shadow: 0 0 32px rgba(0, 212, 255, .7), 0 0 12px rgba(255, 255, 255, .3); }
        }

        .tour-date {
            animation: blueFlicker 3s ease-in-out infinite;
        }

        @keyframes blueFlicker {
            0%, 100% { text-shadow: 0 0 24px rgba(0, 212, 255, .45); color: var(--electric-blue); }
            50% { text-shadow: 0 0 36px rgba(0, 212, 255, .75); color: #66e8ff; }
        }

        .event-highlight, .newsletter-box, .content-card, .ticket-tier {
            position: relative;
        }

        .event-highlight::after, .newsletter-box::after {
            content: '';
            position: absolute;
            inset: -1px;
            border-radius: inherit;
            padding: 1px;
            background: linear-gradient(135deg, rgba(176, 38, 255, .55), rgba(0, 212, 255, .35), rgba(192, 197, 206, .25));
            -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
            -webkit-mask-composite: xor;
            mask-composite: exclude;
            pointer-events: none;
            opacity: .85;
        }

        .footer::before {
            animation: footerLineGlow 3s ease-in-out infinite;
        }

        @keyframes footerLineGlow {
            0%, 100% { opacity: .5; width: 55%; }
            50% { opacity: 1; width: 80%; box-shadow: 0 0 20px rgba(176, 38, 255, .4); }
        }

        .social-link:hover svg {
            fill: var(--white);
            filter: drop-shadow(0 0 8px rgba(176, 38, 255, .6));
        }

        .tour-poster-wrap {
            animation: posterFloat 5s ease-in-out infinite;
        }

        @keyframes posterFloat {
            0%, 100% { transform: translateY(0); box-shadow: 0 24px 80px rgba(0, 0, 0, .55), 0 0 60px rgba(176, 38, 255, .2), 0 0 100px rgba(0, 212, 255, .12); }
            50% { transform: translateY(-8px); box-shadow: 0 32px 90px rgba(0, 0, 0, .6), 0 0 80px rgba(176, 38, 255, .3), 0 0 120px rgba(0, 212, 255, .18); }
        }

        .fx-scroll {
            opacity: 0;
            transform: translateY(28px);
            transition: opacity .65s ease, transform .65s ease;
        }

        .fx-scroll.fx-visible {
            opacity: 1;
            transform: translateY(0);
        }

        .page-hero-bg::before {
            animation: heroBgPulse 6s ease-in-out infinite alternate;
        }

        @keyframes heroBgPulse {
            0% { opacity: 1; }
            100% { opacity: .6; }
        }

        /* Event ticket selection (TicketsCandy-style) */
        .event-tickets-section {
            margin-top: 2rem;
        }

        .section-heading {
            font-family: 'Orbitron', sans-serif;
            font-size: 1.25rem;
            font-weight: 700;
            color: var(--white);
            margin-bottom: 1.25rem;
            letter-spacing: .04em;
        }

        .event-ticket-list {
            display: flex;
            flex-direction: column;
            gap: .75rem;
        }

        .event-ticket-card {
            background: rgba(8, 8, 12, .85);
            border: 1px solid var(--line);
            border-radius: 16px;
            transition: border-color .2s ease, box-shadow .2s ease;
        }

        .event-ticket-card:hover {
            border-color: var(--line-strong);
        }

        .event-ticket-card.featured {
            border-color: rgba(176, 38, 255, .4);
            box-shadow: 0 0 24px rgba(176, 38, 255, .08);
        }

        .event-ticket-card.vip .event-ticket-icon {
            color: #c084fc;
        }

        .event-ticket-card-inner {
            display: flex;
            align-items: center;
            gap: 1rem;
            padding: 1.25rem 1.5rem;
            flex-wrap: wrap;
        }

        .event-ticket-icon {
            flex-shrink: 0;
            width: 48px;
            height: 48px;
            display: flex;
            align-items: center;
            justify-content: center;
            color: var(--silver);
        }

        .event-ticket-icon svg {
            width: 36px;
            height: 36px;
        }

        .event-ticket-info {
            flex: 1;
            min-width: 200px;
        }

        .event-ticket-name {
            font-family: 'Rajdhani', sans-serif;
            font-size: 1.1rem;
            font-weight: 700;
            color: var(--white);
            margin: 0 0 .25rem;
        }

        .show-details-btn {
            background: none;
            border: none;
            color: var(--purple);
            font-family: 'Inter', sans-serif;
            font-size: .85rem;
            cursor: pointer;
            padding: 0;
            text-decoration: underline;
        }

        .show-details-btn:hover {
            color: var(--white);
        }

        .event-ticket-description {
            font-size: .9rem;
            color: var(--muted);
            margin: .5rem 0 0;
            line-height: 1.5;
        }

        .event-ticket-description.hidden {
            display: none;
        }

        .event-ticket-pricing {
            display: flex;
            align-items: center;
            gap: 1.25rem;
            margin-left: auto;
        }

        .event-ticket-price {
            text-align: right;
            min-width: 90px;
        }

        .price-current {
            font-family: 'Orbitron', sans-serif;
            font-size: 1.15rem;
            font-weight: 700;
            color: var(--white);
            display: block;
        }

        .price-original {
            font-size: .85rem;
            color: var(--muted);
            text-decoration: line-through;
        }

        .quantity-selector {
            display: flex;
            align-items: center;
            gap: 0;
            background: rgba(3, 3, 4, .6);
            border: 1px solid var(--line);
            border-radius: 10px;
            overflow: hidden;
        }

        .qty-button {
            width: 36px;
            height: 36px;
            display: flex;
            align-items: center;
            justify-content: center;
            background: transparent;
            border: none;
            color: var(--muted);
            cursor: pointer;
            transition: background .15s ease, color .15s ease;
        }

        .qty-button:disabled {
            opacity: .35;
            cursor: not-allowed;
        }

        .qty-button.active {
            background: var(--purple);
            color: var(--white);
        }

        .qty-button:not(:disabled):hover {
            background: rgba(176, 38, 255, .15);
            color: var(--white);
        }

        .qty-input {
            width: 48px;
            height: 36px;
            text-align: center;
            background: transparent;
            border: none;
            border-left: 1px solid var(--line);
            border-right: 1px solid var(--line);
            color: var(--white);
            font-family: 'Inter', sans-serif;
            font-size: .95rem;
            -moz-appearance: textfield;
        }

        .qty-input::-webkit-outer-spin-button,
        .qty-input::-webkit-inner-spin-button {
            -webkit-appearance: none;
            margin: 0;
        }

        .event-ticket-footer {
            display: flex;
            align-items: center;
            justify-content: space-between;
            flex-wrap: wrap;
            gap: 1rem;
            margin-top: 1.5rem;
            padding-top: 1.5rem;
            border-top: 1px solid var(--line);
        }

        .order-summary-mini {
            font-family: 'Rajdhani', sans-serif;
            font-size: 1.1rem;
            color: var(--silver);
        }

        .order-summary-total {
            font-family: 'Orbitron', sans-serif;
            font-size: 1.5rem;
            font-weight: 700;
            color: var(--white);
            margin-left: .5rem;
        }

        .btn-checkout {
            min-width: 180px;
            text-align: center;
        }

        @media (max-width: 640px) {
            .event-ticket-pricing {
                width: 100%;
                justify-content: space-between;
                margin-left: 0;
                padding-left: 64px;
            }
        }
