:root {
  --premium-gold: #d8b65d;
  --premium-gold-light: #f0d990;
  --premium-ivory: #f5f0e5;
  --premium-ink: #030404;
  --premium-panel: #0d1013;
  --premium-line: rgba(216, 182, 93, .30);
  --premium-muted: #aaa69d;
}

body {
  background:
    radial-gradient(circle at 50% -10%, rgba(216, 182, 93, .10), transparent 28%),
    linear-gradient(180deg, #020303, #080a0c 52%, #020303) !important;
  color: var(--premium-ivory);
}

.premium-header {
  min-height: 78px !important;
  padding: 14px 4.5% !important;
  border-color: var(--premium-line) !important;
  background: rgba(3, 4, 4, .96) !important;
}

.brand-diamond {
  width: 45px !important;
  height: 38px !important;
  border: 0 !important;
  color: var(--premium-gold-light) !important;
  font-size: 31px;
  filter: drop-shadow(0 7px 14px rgba(216, 182, 93, .22));
}

.premium-header .brand strong {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 22px;
  font-weight: 500;
  letter-spacing: 1px;
}

.premium-header .brand span {
  color: var(--premium-gold);
  font-size: 9px;
  letter-spacing: 4px;
}

.premium-header nav { gap: 23px; }
.premium-header nav a { color: #d9d5cc; font-size: 11px; letter-spacing: .7px; }
.premium-header nav a:hover { color: var(--premium-gold-light); }

.premium-hero {
  min-height: 570px !important;
  padding: 0 !important;
  display: grid !important;
  align-items: stretch;
  position: relative;
  isolation: isolate;
  background:
    radial-gradient(circle at 74% 42%, rgba(216, 182, 93, .26), transparent 23%),
    linear-gradient(100deg, #050607 0%, #080a0b 48%, #17130d 100%) !important;
  background-size: cover !important;
  background-position: center !important;
}

.premium-hero::before,
.premium-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.premium-hero::before {
  z-index: -2;
  background:
    linear-gradient(103deg, rgba(3, 4, 4, .98) 6%, rgba(3, 4, 4, .88) 43%, rgba(3, 4, 4, .28) 76%),
    linear-gradient(0deg, rgba(3, 4, 4, .75), transparent 42%);
}

.premium-hero::after {
  z-index: -1;
  opacity: .68;
  background:
    radial-gradient(circle at 15% 12%, var(--premium-gold-light) 0 1px, transparent 2px),
    radial-gradient(circle at 36% 18%, var(--premium-gold-light) 0 1px, transparent 2px),
    radial-gradient(circle at 79% 16%, var(--premium-gold-light) 0 1px, transparent 2px);
}

.hero-shade { display: none; }

.hero-content {
  width: min(720px, 86%);
  padding: 75px 0 66px;
  margin-left: 8%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  z-index: 2;
}

.premium-hero .eyebrow {
  margin: 0 0 15px !important;
  color: var(--premium-gold) !important;
  font-size: 11px !important;
  letter-spacing: 3.4px !important;
}

.premium-hero h1 {
  max-width: 720px !important;
  margin: 0 0 17px !important;
  color: var(--premium-ivory);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(50px, 6vw, 88px) !important;
  font-weight: 500;
  letter-spacing: -2.8px !important;
  line-height: .92 !important;
  text-transform: uppercase;
}

.premium-hero h1 em {
  display: block;
  margin-top: 11px;
  color: var(--premium-gold-light) !important;
  font-size: .55em;
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
}

.premium-hero #hero-description {
  max-width: 590px !important;
  margin: 0 0 19px !important;
  color: #cbc6bc;
  font-size: 14px !important;
  line-height: 1.65 !important;
}

.hero-facts {
  display: flex;
  flex-wrap: wrap;
  gap: 9px 18px;
  margin: 0 0 25px;
  color: #e9e4d8;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .4px;
}

.hero-facts span::first-letter { color: var(--premium-gold); }
.premium-hero .btn { border-radius: 6px !important; padding: 15px 28px !important; }

.sponsor-strip,
.advertising-section {
  width: 100%;
  padding: 25px 3.5% 27px;
  border-bottom: 1px solid var(--premium-line);
  background: #060708;
}

.advertising-section {
  padding-top: 48px;
  padding-bottom: 48px;
  border-top: 1px solid var(--premium-line);
}

.carousel-heading {
  display: grid;
  grid-template-columns: minmax(20px, 1fr) auto minmax(20px, 1fr);
  align-items: center;
  gap: 17px;
  width: min(1100px, 94%);
  margin: 0 auto 17px;
}

.carousel-heading span { height: 1px; background: linear-gradient(90deg, transparent, var(--premium-gold)); }
.carousel-heading span:last-child { background: linear-gradient(90deg, var(--premium-gold), transparent); }
.carousel-heading h2 {
  margin: 0;
  color: var(--premium-gold);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 21px;
  font-weight: 500;
  letter-spacing: 2px;
  text-align: center;
}

.carousel-shell { display: grid; grid-template-columns: 32px minmax(0, 1fr) 32px; align-items: center; gap: 10px; }
.carousel-viewport { overflow: hidden; touch-action: pan-y; }
.carousel-track { display: flex; gap: 11px; scroll-behavior: smooth; overflow-x: auto; scrollbar-width: none; scroll-snap-type: x mandatory; }
.carousel-track::-webkit-scrollbar { display: none; }
.carousel-arrow {
  min-height: 44px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--premium-gold-light) !important;
  font-family: Georgia, serif;
  font-size: 40px !important;
  font-weight: 400 !important;
  box-shadow: none !important;
}

.sponsor-logo {
  flex: 0 0 calc((100% - 55px) / 6);
  min-width: 0;
  height: 92px;
  border: 1px solid var(--premium-line);
  border-radius: 8px;
  background: linear-gradient(180deg, rgba(255, 255, 255, .025), transparent), #090b0d;
  display: grid;
  place-items: center;
  padding: 13px;
  scroll-snap-align: start;
}

.sponsor-logo img { width: 100%; height: 100%; object-fit: contain; }
.sponsor-logo .sponsor-fallback { color: var(--premium-ivory); font-family: Georgia, serif; font-size: 15px; text-align: center; }

.sponsor-ad {
  flex: 0 0 calc((100% - 44px) / 5);
  min-width: 0;
  min-height: 285px;
  border: 1px solid var(--premium-line);
  border-radius: 10px;
  overflow: hidden;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  scroll-snap-align: start;
  background: #0c0f12;
}

.sponsor-ad-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.sponsor-ad::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(3, 4, 4, .05), rgba(3, 4, 4, .94) 75%); }
.sponsor-ad-content { position: relative; z-index: 1; padding: 17px; }
.sponsor-ad-kicker { display: block; margin-bottom: 7px; color: var(--premium-gold); font-size: 7px; letter-spacing: 2px; }
.sponsor-ad h3 { margin: 0 0 5px; color: var(--premium-ivory); font-family: Georgia, serif; font-size: 20px; font-weight: 500; }
.sponsor-ad p { margin: 0 0 12px; color: #c4c0b7; font-size: 9px; line-height: 1.5; }
.sponsor-ad a { display: inline-flex; padding: 7px 9px; border: 1px solid var(--premium-line); border-radius: 4px; color: var(--premium-gold-light); font-size: 7px; font-weight: 900; letter-spacing: 1px; }

.attendee-benefits {
  width: min(1380px, 93%);
  margin: 0 auto 48px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border: 1px solid var(--premium-line);
  border-radius: 10px;
  background: var(--premium-panel);
}

.attendee-benefits article { min-height: 120px; padding: 22px; display: flex; align-items: center; justify-content: center; gap: 15px; border-right: 1px solid var(--premium-line); }
.attendee-benefits article:last-child { border-right: 0; }
.attendee-benefits b { color: var(--premium-gold-light); font-family: Georgia, serif; font-size: 31px; }
.attendee-benefits strong { display: block; margin-bottom: 5px; color: var(--premium-ivory); font-size: 11px; letter-spacing: .5px; }
.attendee-benefits span { color: var(--premium-muted); font-size: 9px; }

#eventos.section,
#boletos.section { width: min(1380px, 93%) !important; }
#eventos .card { background: linear-gradient(180deg, rgba(255, 255, 255, .03), transparent), var(--premium-panel) !important; border-color: var(--premium-line) !important; }
#eventos .card::before { background: linear-gradient(90deg, transparent, var(--premium-gold), transparent) !important; }
#boletos { border-color: var(--premium-line) !important; }

.public-footer { border-color: var(--premium-line) !important; background: #030404 !important; }

@media (max-width: 980px) {
  .premium-header nav { display: none; }
  .sponsor-logo { flex-basis: calc((100% - 22px) / 3); }
  .sponsor-ad { flex-basis: calc((100% - 11px) / 2); }
  .attendee-benefits { grid-template-columns: 1fr; }
  .attendee-benefits article { border-right: 0; border-bottom: 1px solid var(--premium-line); }
  .attendee-benefits article:last-child { border-bottom: 0; }
}

@media (max-width: 700px) {
  .premium-hero { min-height: 555px !important; background-position: 62% center !important; }
  .premium-hero::before { background: linear-gradient(90deg, rgba(3, 4, 4, .97), rgba(3, 4, 4, .66)), linear-gradient(0deg, rgba(3, 4, 4, .86), transparent) !important; }
  .hero-content { width: 88%; min-height: 555px; margin: 0 auto; padding: 46px 0; }
  .premium-hero h1 { font-size: 47px !important; letter-spacing: -1.4px !important; }
  .premium-hero #hero-description { font-size: 13px !important; }
  .hero-facts { display: grid; gap: 8px; }
  .carousel-heading { gap: 9px; }
  .carousel-heading h2 { font-size: 16px; letter-spacing: 1px; }
  .carousel-shell { grid-template-columns: 25px minmax(0, 1fr) 25px; gap: 5px; }
  .sponsor-logo { flex-basis: calc((100% - 11px) / 2); height: 82px; }
  .sponsor-ad { flex-basis: 100%; min-height: 325px; }
  .sponsor-strip, .advertising-section { padding-left: 2.5%; padding-right: 2.5%; }
}
