/* Brand theme: stage red + spotlight blue, taken from the Party Pro logo. Loaded last; overrides style.css and advanced.css.
   --lime keeps its old name so every accent in the base styles follows the brand red. */
:root{--bg:#0a0a10;--ink:#f5f6fa;--lime:#ff3a4c;--red:#ff3a4c;--red-deep:#c8101e;--blue:#3d63ff;--blue-soft:#7b97ff;--gold:#ffc65a;--muted:#a3a6b4;--purple:#3d63ff;--card:#13131c;--line:#ffffff1c;--grad:linear-gradient(100deg,var(--red) 0%,#ff2d7a 50%,var(--blue) 100%)}
body{background:var(--bg)}
::selection{color:#fff}
a:focus-visible,button:focus-visible{outline-color:var(--blue-soft)}

/* Header */
header{height:96px;background:#0a0a10d9;border-bottom:1px solid var(--line)}
header:after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:1px;background:var(--grad);opacity:.7}
.brand img{width:auto;height:72px;border-radius:0;filter:drop-shadow(0 0 14px #ff3a4c55);transition:transform .4s}
.brand:hover img{transform:scale(1.06) rotate(-2deg)}
nav{gap:36px;font-size:13px;font-weight:500}
nav a{position:relative;padding:6px 0}
nav a:after{content:'';position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--grad);transform:scaleX(0);transform-origin:left;transition:transform .3s}
nav a:hover{color:#fff}nav a:hover:after{transform:none}
.nav-cta{border:0;background:var(--grad);color:#fff;box-shadow:0 6px 26px #ff3a4c45;transition:box-shadow .3s,transform .3s}
.nav-cta:hover{transform:translateY(-2px);box-shadow:0 10px 34px #3d63ff60}

/* Buttons */
.pill{background:linear-gradient(100deg,var(--red),var(--red-deep));color:#fff;box-shadow:0 10px 30px #ff3a4c45,inset 0 1px 0 #ffffff40}
.pill:hover{background:linear-gradient(100deg,#ff5465,var(--red));box-shadow:0 14px 40px #ff3a4c70}
.hero-title .pill:hover{box-shadow:0 0 45px #ff3a4c80}

/* Hero */
.hero-image{background:linear-gradient(90deg,#0a0a10f0 0%,#0a0a10b0 45%,#0a0a1040),linear-gradient(0deg,#0a0a10 0%,transparent 55%),url('assets/concert.jpg') center 48%/cover}
.hero:before{content:'';position:absolute;inset:0;z-index:-2;background:radial-gradient(ellipse 50% 60% at 78% 45%,#3d63ff38,transparent 70%),radial-gradient(ellipse 40% 50% at 15% 100%,#ff3a4c30,transparent 70%)}
.hero:after{background:linear-gradient(0deg,#0a0a1066,transparent 55%,#0a0a1066)}
.beam{background:linear-gradient(#ff3a4c70,transparent)}
.b2{background:linear-gradient(#3d63ff80,transparent)}
.hero-top i{background:var(--red);box-shadow:0 0 14px var(--red);animation:blink 1.6s ease-in-out infinite}
@keyframes blink{50%{opacity:.25}}
.hero-title{position:relative;z-index:2;max-width:56%}
.hero-title h1{font-size:clamp(80px,8.6vw,150px)}
.hero-title>p{color:var(--gold);font-weight:600}
h1 em{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 30px #ff3a4c55)}
.hero-logo{position:absolute;right:6%;top:50%;width:min(36vw,560px);translate:0 -46%;z-index:1;animation-delay:.25s}
.hero-logo img{position:relative;display:block;width:100%;height:auto;filter:drop-shadow(0 25px 50px #000c) drop-shadow(0 0 40px #ff3a4c40);animation:float 6s ease-in-out infinite}
.hero-logo .halo{position:absolute;inset:-12%;border-radius:50%;background:radial-gradient(circle,#3d63ff55,#ff3a4c22 45%,transparent 70%);filter:blur(10px);animation:pulse 3.2s ease-in-out infinite}
.hero-logo .ring{position:absolute;left:50%;top:50%;width:92%;aspect-ratio:1;translate:-50% -50%;border-radius:50%;border:1px dashed #ffffff30;animation:rotate 40s linear infinite}
.hero-logo .ring:before,.hero-logo .ring:after{content:'';position:absolute;width:10px;height:10px;border-radius:50%;top:-5px;left:calc(50% - 5px);background:var(--red);box-shadow:0 0 16px var(--red)}
.hero-logo .ring:after{top:auto;bottom:-5px;background:var(--blue);box-shadow:0 0 16px var(--blue)}
@keyframes float{50%{transform:translateY(-14px)}}
@keyframes pulse{50%{opacity:.55;transform:scale(1.06)}}

/* Tickers */
.ticker{background:var(--grad);color:#fff;transform:rotate(-1.6deg);box-shadow:0 10px 40px #ff3a4c40;position:relative;z-index:2;font-size:24px;letter-spacing:2px}
.ticker-alt{background:#13131c;color:#d6d9e6;transform:rotate(1.2deg);margin-top:-14px;z-index:1;border-block:1px solid var(--line);box-shadow:none;font-size:18px}
.ticker-alt>div{animation-direction:reverse;animation-duration:45s}

/* Stats */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;padding:80px 7% 10px}
.stats>div{position:relative;padding:28px 26px;border-radius:18px;background:linear-gradient(160deg,#1a1a26,#101018);border:1px solid var(--line);overflow:hidden;transition:transform .35s,border-color .35s}
.stats>div:before{content:'';position:absolute;inset:auto -30% -60% auto;width:160px;height:160px;border-radius:50%;background:radial-gradient(circle,#ff3a4c33,transparent 70%)}
.stats>div:nth-child(even):before{background:radial-gradient(circle,#3d63ff40,transparent 70%)}
.stats>div:hover{transform:translateY(-6px);border-color:#ff3a4c70}
.stats b{display:block;font-family:'Barlow Condensed',Impact,sans-serif;font-size:60px;line-height:1;background:linear-gradient(180deg,#fff,#b9bdcc);-webkit-background-clip:text;background-clip:text;color:transparent}
.stats span{display:block;margin-top:10px;font-size:12px;letter-spacing:1px;text-transform:uppercase;color:var(--muted)}

/* Section headings */
.eyebrow{color:var(--gold);font-weight:600;display:flex;align-items:center;gap:12px}
.eyebrow:before{content:'';width:34px;height:2px;background:var(--grad)}
h2>span{color:transparent;background:linear-gradient(90deg,#9aa0b5,#5d6275);-webkit-background-clip:text;background-clip:text}
.legacy{border-top-color:var(--line)}
.legacy strong{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.star{color:var(--red);text-shadow:0 0 30px #ff3a4c80}
.text-link{border-bottom:2px solid var(--red)}

/* Production stage */
.production{background:radial-gradient(ellipse at 50% 70%,#1a1d3a,#0d0d16 70%)}
.stage{--stage-color:#3d63ff}
.stage-grid{background:repeating-linear-gradient(90deg,transparent 0 49px,#3d63ff22 50px),repeating-linear-gradient(0deg,transparent 0 49px,#3d63ff22 50px)}
.screen{background:repeating-linear-gradient(115deg,#1d2350 0 12px,#141834 14px 25px);border-color:#3d63ff80;box-shadow:0 0 90px #3d63ff40}
.screen b{color:var(--red)}
.speaker{border-color:#3a3d52;box-shadow:0 0 30px #3d63ff25}
.stage-floor{background:#22243a}
.stage[data-mode="1"]{--stage-color:#ff3a4c}
.stage[data-mode="2"] .screen{background:repeating-linear-gradient(125deg,#ff3a4c 0 20px,#3d63ff 25px 45px);box-shadow:0 0 110px #ff3a4c70}
.stage[data-mode="3"]{--stage-color:#ffc65a}
.stage[data-mode="3"] .screen{background:#3a1d5c;box-shadow:0 0 90px #ffc65a50}
.production-controls{border-bottom-color:var(--line)}
.production-controls button{color:#8b8fa3}

/* Mood scenes */
.moment-section{background:#0d0d15}
.mood-controls button{border-color:var(--line)}
.mood-controls button.active{background:var(--grad);border-color:transparent;color:#fff;box-shadow:0 8px 26px #ff3a4c40}
.mood-scene{border-radius:26px;border-color:var(--line);background:radial-gradient(ellipse at 70% 100%,#a01628,#14101a 70%)}
.mood-copy>span{color:var(--gold)}
.mood-orbit{border-color:#ff6b7a80;box-shadow:0 0 65px #ff3a4c30,inset 0 0 65px #ff3a4c30}
.equalizer i{background:linear-gradient(var(--red),var(--blue))}

/* Event cards */
.event-list{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.event-list a{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:14px;min-height:300px;padding:30px 26px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(170deg,#191925,#0f0f17);overflow:hidden;isolation:isolate;transition:transform .4s,border-color .4s,box-shadow .4s}
.event-list a:before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 80% 0%,var(--glow,#ff3a4c) 0%,transparent 60%);opacity:.18;transition:opacity .4s}
.event-list a:nth-child(2){--glow:#ff5fa2}.event-list a:nth-child(3){--glow:#3d63ff}.event-list a:nth-child(4){--glow:#ffc65a}
.event-list a:hover{padding-left:26px;color:var(--ink);transform:translateY(-8px);border-color:color-mix(in srgb,var(--glow,#ff3a4c) 60%,transparent);box-shadow:0 24px 50px #0008,0 0 40px color-mix(in srgb,var(--glow,#ff3a4c) 25%,transparent)}
.event-list a:hover:before{opacity:.45}
.ev-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:16px;background:color-mix(in srgb,var(--glow,#ff3a4c) 18%,transparent);color:var(--glow,#ff3a4c);border:1px solid color-mix(in srgb,var(--glow,#ff3a4c) 40%,transparent)}
.ev-icon svg{width:28px;height:28px}
.event-list a>span{font-size:11px;letter-spacing:2px}
.event-list h3{flex:0;font-family:'Barlow Condensed',Impact,sans-serif;font-size:32px;font-weight:700;line-height:1.05}
.event-list p{display:block;margin:0}
.event-list b{margin:auto 0 0;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--line);font-size:20px;transition:background .3s,transform .3s}
.event-list a:hover b{background:var(--glow,#ff3a4c);color:#fff;border-color:transparent;transform:rotate(45deg)}

/* Process (light band) */
.process{background:linear-gradient(135deg,#f3f1ec,#e3e3ea);color:#14141c}
.process .eyebrow{color:var(--red-deep)}
.process h2>span{background:linear-gradient(90deg,var(--red-deep),#3047c8);-webkit-background-clip:text;background-clip:text}
.steps article{border-top:0;padding:26px 22px;background:#fff;border-radius:18px;box-shadow:0 12px 30px #1a1a3014;transition:transform .35s,box-shadow .35s}
.steps article:hover{transform:translateY(-6px);box-shadow:0 20px 40px #1a1a3026}
.steps article>span{display:inline-block;padding:6px 11px;border-radius:20px;background:#ff3a4c14;color:var(--red-deep);font-weight:700}
.steps article:nth-child(even)>span{background:#3d63ff14;color:#2a44c4}
.steps h3{margin:24px 0 12px}

/* Toolkit */
.accordions details{border-top-color:var(--line);padding:22px 18px;margin-bottom:10px;border-radius:14px;transition:background .3s}
.accordions details[open]{background:#14141e;border-top-color:transparent}
.accordions summary span{color:var(--red)}

/* Contact */
.contact{background:radial-gradient(ellipse at 0% 110%,#ff3a4c30,transparent 55%),radial-gradient(ellipse at 100% 0%,#3d63ff30,transparent 55%)}
.contact .arrow{color:var(--red)}
form#enquiry{padding:38px;border-radius:24px;background:#12121bcc;border:1px solid var(--line);box-shadow:0 30px 70px #0007;backdrop-filter:blur(10px)}
input:focus,select:focus,textarea:focus{border-color:var(--red)}
select option{background:#14141e}
.services-picker label:has(input:checked){background:#ff3a4c14}
#brief-summary{color:#ffb3ba}
.phone{font-family:'Barlow Condensed',Impact,sans-serif;font-size:40px;font-weight:700}

/* Footer & floating */
footer{border-top:0;position:relative;background:#07070b}
footer:before{content:'';position:absolute;left:0;right:0;top:0;height:2px;background:var(--grad)}
.footer-brand img{height:90px;width:auto;filter:drop-shadow(0 0 18px #ff3a4c40)}
.floating-contact{background:var(--grad);color:#fff;border:0;box-shadow:0 10px 30px #ff3a4c50}
.cursor-glow{background:radial-gradient(circle,#ff3a4c12,transparent 65%)}

@media(max-width:1100px){.event-list{grid-template-columns:1fr 1fr}.hero-logo{width:38vw;right:3%}}
@media(max-width:900px){nav.open{top:95px;background:#0e0e16}.stats{grid-template-columns:1fr 1fr}.hero-title{max-width:none}.hero-title h1{font-size:clamp(80px,13vw,130px)}.hero{display:flex;flex-direction:column;height:auto;min-height:100svh;padding-bottom:110px}.hero-top{order:-2}.hero-logo{order:-1;position:relative;right:auto;top:auto;translate:none;width:min(320px,60vw);margin:30px auto 0}}
@media(max-width:600px){header{height:78px}.hero-title h1{font-size:22vw}.brand img{height:56px}nav.open{top:77px}.hero-title{margin-top:20px}.hero-logo{margin:22px auto 0;width:min(240px,66vw)}.stats{padding:55px 6% 0;gap:12px}.stats>div{padding:20px 18px}.stats b{font-size:44px}.stats span{font-size:10px}.event-list{grid-template-columns:1fr}.event-list a{min-height:0}.event-list h3{font-size:28px}.event-list b{margin-top:6px}.steps{grid-template-columns:1fr}form#enquiry{padding:24px 18px}.phone{font-size:34px}.ticker{font-size:19px}.ticker-alt{font-size:15px}.footer-brand img{height:70px}}

/* Music toggle */
.music-toggle{position:fixed;left:22px;bottom:22px;z-index:28;display:flex;align-items:center;gap:10px;padding:11px 16px 11px 13px;border-radius:40px;border:1px solid var(--line);background:#12121bdd;backdrop-filter:blur(10px);color:var(--muted);font-size:10px;font-weight:700;letter-spacing:1.4px;cursor:pointer;box-shadow:0 8px 30px #0006;transition:color .3s,border-color .3s,box-shadow .3s}
.music-toggle:hover{color:#fff;border-color:#ff3a4c80}
.music-toggle.playing{color:#fff;border-color:#ff3a4c90;box-shadow:0 8px 30px #ff3a4c40}
.music-toggle .bars{display:flex;align-items:flex-end;gap:3px;height:16px}
.music-toggle .bars i{width:3px;height:100%;border-radius:2px;background:var(--grad);transform:scaleY(.25);transform-origin:bottom}
.music-toggle.playing .bars i{animation:musicBar .9s ease-in-out infinite alternate}
.music-toggle.playing .bars i:nth-child(2){animation-delay:-.3s}.music-toggle.playing .bars i:nth-child(3){animation-delay:-.6s}.music-toggle.playing .bars i:nth-child(4){animation-delay:-.15s}
@keyframes musicBar{to{transform:scaleY(1)}}
.hero-foot>a{padding-left:140px}
.music-toggle.nudge{color:#fff;border-color:var(--red);animation:nudge 1.4s ease-in-out infinite}
@keyframes nudge{50%{box-shadow:0 0 0 8px #ff3a4c30,0 0 30px #ff3a4c80}}
@media(max-width:600px){.music-toggle{left:15px;bottom:15px;padding:10px 13px}.music-toggle:not(.nudge) .music-label{display:none}.hero-foot>a{padding-left:50px}}
