*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#050509;color:#fff;font-family:Inter,sans-serif}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}header{position:fixed;top:0;left:0;right:0;z-index:20;display:flex;align-items:center;padding:12px 5vw;background:rgba(0,0,0,.88);border-bottom:1px solid rgba(255,255,255,.12);backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:12px;margin-right:auto}.brand img{width:58px}.brand span{font-family:Anton,sans-serif;color:#ffd12f;font-size:32px;letter-spacing:.06em}nav{display:flex;gap:20px;font-size:12px;text-transform:uppercase;font-weight:900}nav a:hover{color:#ffd12f}.hero{min-height:100vh;background:url('assets/festival-bg.png') center/cover no-repeat;position:relative;display:flex;align-items:center;padding:120px 5vw 70px}.shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.95),rgba(0,0,0,.58),rgba(0,0,0,.28))}.hero-inner{position:relative;max-width:940px}.hero-logo{width:270px}.eyebrow{color:#ffd12f;text-transform:uppercase;font-size:13px;font-weight:1000;letter-spacing:.18em}h1,h2{font-family:Anton,sans-serif;text-transform:uppercase;line-height:.92}h1{font-size:clamp(58px,10vw,135px);margin:10px 0}h2{font-size:clamp(44px,7vw,92px);margin:10px 0 25px}.btn{display:inline-block;padding:14px 24px;border-radius:999px;font-weight:1000;text-transform:uppercase;margin:6px}.gold{background:#ffd12f;color:#050505}.red{background:#df1230;color:#fff}.section{padding:82px 5vw;max-width:1450px;margin:auto}.center{text-align:center;max-width:850px;margin:0 auto 24px;color:rgba(255,255,255,.75);font-size:18px;line-height:1.6}.center-buttons{text-align:center}.event-grid,.vendor-grid,.ticket-grid{display:grid;gap:24px}.event-grid{grid-template-columns:repeat(2,1fr)}.event-card,.vendor-card,.ticket-grid a{background:linear-gradient(160deg,rgba(255,255,255,.1),rgba(255,255,255,.025));border:1px solid rgba(255,255,255,.14);border-radius:28px;overflow:hidden}.event-card img{width:100%;height:520px;object-fit:cover}.event-card div{padding:22px}.event-card h3,.vendor-card h3,.vendor-submit h3,.ticket-grid strong{font-family:Anton,sans-serif;text-transform:uppercase;font-size:34px;margin:0 0 10px}.vendor-showcase{background:radial-gradient(circle at 10% 15%,rgba(255,209,47,.14),transparent 28%),radial-gradient(circle at 90% 30%,rgba(255,0,70,.16),transparent 30%)}.vendor-grid{grid-template-columns:repeat(3,1fr);margin-top:35px}.vendor-card{padding:25px}.logo-box{height:220px;border-radius:22px;margin-bottom:18px;display:flex;align-items:center;justify-content:center;overflow:hidden}.logo-box img{width:100%;height:100%;object-fit:contain}.logo-box.white{background:#fff;padding:14px}.logo-box.dark{background:#050505;padding:14px}.logo-box.gradient{background:linear-gradient(135deg,#ffd12f,#ff3b00);color:#050505;font-family:Anton,sans-serif;font-size:42px;letter-spacing:.08em}.vendor-type{color:#ffd12f;font-size:12px;text-transform:uppercase;font-weight:1000;letter-spacing:.16em}.vendor-card p{color:rgba(255,255,255,.76);line-height:1.55}.socials{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.socials a{color:#050505;background:#ffd12f;border-radius:999px;padding:9px 14px;font-weight:1000;text-transform:uppercase;font-size:12px}.vendor-submit{margin-top:36px;text-align:center;padding:34px;border-radius:30px;background:linear-gradient(135deg,rgba(255,209,47,.16),rgba(255,0,70,.12));border:1px solid rgba(255,255,255,.15)}.vendor-submit p{color:rgba(255,255,255,.75)}.ticket-grid{grid-template-columns:repeat(3,1fr)}.ticket-grid a{padding:28px}.ticket-grid span{display:block;color:#ffd12f;font-weight:900;margin-top:8px}.contact{text-align:center}.contact img{width:220px;margin:0 auto}.contact a{color:#ffd12f;font-weight:900}footer{text-align:center;padding:30px;color:#888;border-top:1px solid rgba(255,255,255,.1)}@media(max-width:900px){nav{display:none}.event-grid,.vendor-grid,.ticket-grid{grid-template-columns:1fr}.event-card img{height:auto}.logo-box{height:190px}.hero-logo{width:210px}}

.countdown-section{
  padding:48px 5vw;
  background:linear-gradient(90deg,#050505,#171008,#050505);
  border-top:1px solid rgba(255,255,255,.12);
  border-bottom:1px solid rgba(255,255,255,.12);
  text-align:center;
}
.countdown-section h2{
  font-family:Anton,sans-serif;
  text-transform:uppercase;
  font-size:clamp(36px,5vw,72px);
  line-height:.95;
  margin:8px 0 24px;
}
.countdown-timer{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
  max-width:920px;
  margin:0 auto;
}
.countdown-timer div{
  padding:22px;
  border-radius:24px;
  background:linear-gradient(160deg,rgba(255,255,255,.1),rgba(255,255,255,.025));
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 18px 55px rgba(0,0,0,.3);
}
.countdown-timer strong{
  display:block;
  font-family:Anton,sans-serif;
  font-size:48px;
  color:#ffd12f;
}
.countdown-timer span{
  display:block;
  margin-top:6px;
  color:rgba(255,255,255,.7);
  text-transform:uppercase;
  font-size:12px;
  font-weight:1000;
  letter-spacing:.14em;
}
@media(max-width:900px){
  .countdown-timer{grid-template-columns:repeat(2,1fr)}
}


.hero{overflow:hidden}
.hero-bg-video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  z-index:0;
  filter:brightness(.55) contrast(1.08) saturate(1.15);
}
.hero .shade{z-index:1}
.hero .hero-inner{z-index:2}
.recap-videos{
  background:radial-gradient(circle at 15% 15%,rgba(255,209,47,.14),transparent 30%),radial-gradient(circle at 85% 40%,rgba(255,0,70,.15),transparent 32%);
}
.video-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:24px;
  margin-top:34px;
}
.video-card{
  background:linear-gradient(160deg,rgba(255,255,255,.1),rgba(255,255,255,.025));
  border:1px solid rgba(255,255,255,.14);
  border-radius:28px;
  overflow:hidden;
  box-shadow:0 24px 75px rgba(0,0,0,.35);
}
.video-card video{
  width:100%;
  height:420px;
  object-fit:cover;
  background:#000;
}
.video-card div{
  padding:22px;
}
.video-card h3{
  font-family:Anton,sans-serif;
  text-transform:uppercase;
  font-size:34px;
  margin:0 0 8px;
}
.video-card p{
  color:rgba(255,255,255,.75);
  line-height:1.55;
}
@media(max-width:900px){
  .video-grid{grid-template-columns:1fr}
  .video-card video{height:auto}
}
