:root{--deep:#241044;--royal:#6526A8;--vivid:#914BE0;--lav:#C6A4F5;--paper:#F4F0FA;--ink:#241936;--muted:#81758F}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}
a{text-decoration:none;color:inherit}
.site-header{height:82px;padding:0 7%;display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid #eee9f4;position:relative;z-index:5}
.brand{display:flex;align-items:center;gap:11px;font-size:19px;font-weight:850;letter-spacing:-.7px;color:var(--deep)}
.brand b{color:var(--vivid)}
.brand-icon{width:37px;height:37px;border-radius:12px;background:linear-gradient(145deg,var(--royal),var(--vivid));color:#fff;display:grid;place-items:center;font-family:Georgia,serif;font-size:23px;box-shadow:0 6px 16px #6526a833}
.desktop-nav{display:flex;gap:37px;font-size:13px;font-weight:650;color:#62566e}
.desktop-nav a:hover{color:var(--vivid)}
.header-action{padding:12px 18px;border-radius:9px;background:var(--deep);color:white;font-size:12px;font-weight:750}
.header-action span{padding-left:12px;color:var(--lav)}
.hero{min-height:490px;background:radial-gradient(ellipse at 78% 45%,#58248b 0%,transparent 40%),linear-gradient(112deg,#1b0b32,#321052 62%,#48206c);position:relative;overflow:hidden;color:#fff;padding:90px 10% 80px;display:flex;align-items:center}
.hero:after{content:"";position:absolute;inset:0;background-image:linear-gradient(#ffffff08 1px,transparent 1px),linear-gradient(90deg,#ffffff08 1px,transparent 1px);background-size:55px 55px;mask-image:linear-gradient(90deg,transparent,#000)}
.hero-content{position:relative;z-index:2;max-width:620px}
.eyebrow{font-size:10px;letter-spacing:2.2px;font-weight:850;color:#d8baff;display:flex;align-items:center;gap:9px}
.eyebrow>span{width:7px;height:7px;background:#b985f2;border-radius:50%;box-shadow:0 0 12px #c6a4f5}
.hero h1{font-size:clamp(39px,5vw,63px);line-height:1.08;letter-spacing:-2.8px;margin:24px 0 18px;font-weight:850}
.hero h1 span,.experience-section h2 span{color:#cba7fa}
.hero-content>p{font-size:15px;line-height:1.85;color:#d6c9e4;max-width:500px;margin:0 0 27px}
.hero-button{display:inline-flex;gap:28px;align-items:center;padding:15px 21px;border-radius:9px;background:linear-gradient(110deg,#8543ce,#a76bea);font-size:13px;font-weight:800;box-shadow:0 10px 30px #10051f66}
.hero-button span{font-size:19px}
.hero-note{margin-top:29px;color:#c8b9d8;font-size:11px;display:flex;align-items:center;gap:9px}
.live-dot{width:7px;height:7px;background:#8de3bd;border-radius:50%;box-shadow:0 0 10px #8de3bd}
.hero-art{position:absolute;right:12%;top:50%;transform:translateY(-50%);width:330px;height:330px;display:grid;place-items:center}
.orbit{position:absolute;border:1px solid #d7b5ff35;border-radius:50%;transform:rotate(-25deg)}
.orbit-one{width:320px;height:180px}.orbit-two{width:270px;height:270px}
.hero-ticket{width:215px;height:255px;background:linear-gradient(145deg,#fff,#eee6f7);border-radius:17px;color:var(--deep);padding:19px;transform:rotate(8deg);box-shadow:0 28px 70px #10051f99;position:relative}
.ticket-top,.ticket-bottom{display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.7px;font-weight:900}
.ticket-top span:last-child{color:var(--vivid)}
.ticket-symbol{height:135px;display:grid;place-items:center;font-family:Georgia,serif;font-size:94px;color:var(--royal);text-shadow:5px 5px 0 #c6a4f566}
.ticket-lines{display:flex;gap:5px;margin:0 0 14px}.ticket-lines i{height:3px;background:#d9cbe8;border-radius:5px;flex:1}
.ticket-bottom{font-size:7px;color:#8c7b9f;align-items:center}.ticket-bottom b{font-size:18px;color:var(--vivid)}
.floating-star{position:absolute;color:#d9b9ff;font-size:28px}.star-one{top:28px;right:22px}.star-two{bottom:35px;left:15px;font-size:38px}
.search-section{padding:0 10%;position:relative;margin-top:-27px;z-index:3}
.search-box{max-width:900px;margin:auto;background:white;border-radius:13px;box-shadow:0 15px 45px #28123b18;padding:10px;display:flex;align-items:center;border:1px solid #eee8f4}
.search-icon{font-size:26px;color:var(--vivid);padding:0 13px}
.search-box input{border:0;outline:0;flex:1;min-width:0;padding:12px 4px;font-size:13px;color:var(--ink)}
.search-box button{border:0;border-radius:8px;background:var(--royal);color:#fff;padding:14px 27px;font-weight:750;cursor:pointer}
.events-section{padding:85px 10% 90px;max-width:1500px;margin:auto}
.section-heading{display:flex;justify-content:space-between;align-items:end}
.eyebrow.purple{color:var(--vivid)}
.section-heading h2{font-size:34px;letter-spacing:-1.2px;margin:10px 0 7px;color:var(--deep)}
.section-heading p{font-size:13px;color:var(--muted);margin:0}
.event-count{font-size:11px;color:#8c7c9d;background:#f5f0fa;padding:9px 13px;border-radius:20px}
.categories{display:flex;gap:9px;flex-wrap:wrap;margin:29px 0 27px}
.category{border:1px solid #e9e2f0;background:#fff;color:#6d6078;border-radius:30px;padding:10px 17px;font-size:11px;font-weight:700;cursor:pointer}
.category.active,.category:hover{background:var(--deep);border-color:var(--deep);color:#fff}
.events-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.loading-state,.empty-state{grid-column:1/-1;border:1px dashed #d9cce7;background:#fbf9fd;border-radius:14px;padding:55px 20px;text-align:center;color:#857792;font-size:13px}
.empty-state strong{display:block;color:var(--deep);font-size:18px;margin-bottom:9px}
.event-card{border:1px solid #eee8f3;border-radius:14px;overflow:hidden;background:#fff;transition:.2s;box-shadow:0 5px 20px #28123b08}
.event-card:hover{transform:translateY(-4px);box-shadow:0 15px 35px #28123b15}
.event-art{height:175px;background:linear-gradient(135deg,#281044,#7838ad);display:grid;place-items:center;color:#e6d4ff;font-size:48px;font-family:Georgia,serif;position:relative}
.event-art:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 75% 20%,#d5a8ff44,transparent 40%)}
.event-info{padding:18px}
.event-type{font-size:9px;color:var(--vivid);font-weight:850;letter-spacing:1.5px;text-transform:uppercase}
.event-info h3{font-size:17px;color:var(--deep);margin:9px 0}
.event-meta{font-size:11px;color:#81758e;line-height:1.9}
.event-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #f0ebf4;margin-top:15px;padding-top:14px}
.event-price{font-size:12px;font-weight:850;color:var(--royal)}
.event-link{font-size:11px;font-weight:800;color:var(--vivid)}
.experience-section{margin:0 10% 80px;border-radius:18px;background:linear-gradient(110deg,#241044,#54227d);padding:45px 6%;display:flex;justify-content:space-between;align-items:center;color:#fff;gap:30px}
.experience-section h2{font-size:36px;line-height:1.12;letter-spacing:-1.5px;margin:13px 0 0}
.experience-section>p{max-width:410px;font-size:13px;line-height:1.9;color:#d7c9e4}
.site-footer{padding:28px 7%;border-top:1px solid #eee9f4;display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#8a7f93}
.site-footer .brand{font-size:15px}.site-footer .brand-icon{width:30px;height:30px;font-size:18px}
.site-footer>a:last-child{color:var(--vivid);font-weight:800}
@media(max-width:850px){.hero{padding:75px 7%;min-height:470px}.hero-art{right:3%;opacity:.34}.hero-content{max-width:570px}.events-section{padding:70px 7%}.events-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.experience-section{margin:0 7% 60px}}
@media(max-width:580px){.site-header{height:68px;padding:0 5%}.desktop-nav{display:none}.header-action{font-size:10px;padding:11px 12px}.brand{font-size:16px}.brand-icon{width:32px;height:32px}.hero{min-height:490px;padding:68px 7%}.hero h1{font-size:43px;letter-spacing:-2px}.hero-content>p{font-size:13px;max-width:340px}.hero-art{right:-105px;top:58%;opacity:.2}.search-section{padding:0 5%}.search-box{padding:7px}.search-box button{padding:12px 15px}.search-box input{font-size:11px}.events-section{padding:65px 5%}.section-heading{align-items:start;gap:10px;flex-direction:column}.section-heading h2{font-size:29px}.events-grid{grid-template-columns:1fr}.event-art{height:155px}.experience-section{margin:0 5% 45px;padding:30px 25px;display:block}.experience-section h2{font-size:32px}.site-footer{padding:25px 5%;gap:14px;flex-wrap:wrap}.site-footer>span{order:3;width:100%}}
