/* ═══════════════════════════════════════════════════════════
   PORTABILIDADE NA PRÁTICA 2.0 — PREMIUM REDESIGN v3
   Paleta: Ouro refinado + âmbar + preto profundo
   Tipografia: Cormorant Garamond + Outfit + Space Grotesk
═══════════════════════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,400;1,600&family=Outfit:wght@300;400;500;600;700;800&family=Space+Grotesk:wght@300;400;500;600;700&family=DM+Mono:wght@400;500&display=swap');

/* ── TOKENS ─────────────────────────────────────────────── */
:root {
  --black:       #030202;
  --bg:          #060504;
  --bg-1:        #0A0806;
  --bg-2:        #0F0C08;
  --bg-3:        #14100A;
  --bg-card:     rgba(14,11,7,.95);
  --bg-glass:    rgba(10,8,5,.80);

  --gold-50:     #FFFBF0;
  --gold-100:    #FEF3C7;
  --gold-200:    #FDE68A;
  --gold-300:    #FCD34D;
  --gold-400:    #FBBF24;
  --gold-500:    #F59E0B;
  --gold-600:    #D97706;
  --gold-700:    #B45309;
  --gold-800:    #92400E;
  --gold-900:    #78350F;

  --text-bright: #FAF5E8;
  --text-base:   #D4B896;
  --text-muted:  #7A6040;
  --text-dim:    #4A3820;

  --border-subtle: rgba(245,158,11,.06);
  --border-dim:    rgba(245,158,11,.12);
  --border-base:   rgba(245,158,11,.20);
  --border-hi:     rgba(245,158,11,.40);

  --glow-xs:  0 0 12px rgba(245,158,11,.15);
  --glow-sm:  0 0 24px rgba(245,158,11,.18);
  --glow-md:  0 0 48px rgba(245,158,11,.22), 0 0 96px rgba(245,158,11,.06);
  --glow-lg:  0 0 80px rgba(245,158,11,.28), 0 0 160px rgba(245,158,11,.08);

  --g-gold:        linear-gradient(135deg, #92400E 0%, #D97706 40%, #F59E0B 70%, #FCD34D 100%);
  --g-gold-subtle: linear-gradient(135deg, #B45309 0%, #D97706 50%, #F59E0B 100%);
  --g-warm:        linear-gradient(135deg, #D97706, #FCD34D);
  --g-dark:        linear-gradient(180deg, #0A0806 0%, #060504 100%);
  --g-glass:       linear-gradient(135deg, rgba(20,16,10,.9), rgba(10,8,5,.95));

  --r-xs:  4px;
  --r-sm:  8px;
  --r-md:  14px;
  --r-lg:  22px;
  --r-xl:  32px;
  --r-2xl: 48px;

  --ease:    cubic-bezier(.22,1,.36,1);
  --ease-in: cubic-bezier(.55,0,.1,1);

  --container: 1120px;
  --container-sm: 780px;
}

/* ── RESET ───────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; font-size: 16px; }

body {
  background: var(--bg);
  color: var(--text-base);
  font-family: 'Outfit', sans-serif;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  line-height: 1.65;
}

::-webkit-scrollbar { width: 3px; }
::-webkit-scrollbar-track { background: var(--bg); }
::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, var(--gold-800), var(--gold-500));
  border-radius: 2px;
}

::selection { background: rgba(245,158,11,.2); color: var(--gold-100); }

/* ── UTILITÁRIOS ─────────────────────────────────────────── */
.container    { max-width: var(--container); margin: 0 auto; }
.container-sm { max-width: var(--container-sm); margin: 0 auto; }
.text-center  { text-align: center; }

.gold-text {
  background: linear-gradient(135deg, #D97706 0%, #F59E0B 45%, #FCD34D 75%, #D97706 100%);
  background-size: 200% 200%;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  animation: grad-pan 8s ease infinite;
}
.gold-text-soft {
  background: linear-gradient(135deg, #B45309 0%, #D97706 50%, #F59E0B 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.gold-text-light {
  background: linear-gradient(135deg, #F59E0B 0%, #FCD34D 60%, #F59E0B 100%);
  background-size: 200% 200%;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  animation: grad-pan 6s ease infinite;
}

.divider {
  height: 1px;
  background: linear-gradient(90deg,
    transparent 0%,
    var(--border-dim) 15%,
    var(--border-base) 50%,
    var(--border-dim) 85%,
    transparent 100%
  );
}

/* ── KEYFRAMES ───────────────────────────────────────────── */
@keyframes grad-pan {
  0%,100% { background-position: 0% 50%; }
  50%     { background-position: 100% 50%; }
}

@keyframes pulse-dot {
  0%,100% { opacity: 1; transform: scale(1); box-shadow: 0 0 0 0 rgba(245,158,11,.4); }
  50%     { opacity: .7; transform: scale(1.15); box-shadow: 0 0 0 6px rgba(245,158,11,0); }
}

@keyframes float-gentle {
  0%,100% { transform: translateY(0); }
  50%     { transform: translateY(-18px); }
}

@keyframes shimmer {
  0%   { background-position: -200% 0; }
  100% { background-position:  200% 0; }
}

@keyframes glow-breathe {
  0%,100% { box-shadow: 0 0 24px rgba(245,158,11,.12); }
  50%     { box-shadow: 0 0 48px rgba(245,158,11,.28), 0 0 96px rgba(245,158,11,.08); }
}

@keyframes spin-slow  { to { transform: translate(-50%,-50%) rotate(360deg); } }
@keyframes spin-rev   { to { transform: translate(-50%,-50%) rotate(-360deg); } }

@keyframes rise {
  0%   { opacity: 0; transform: translateY(28px); }
  100% { opacity: 1; transform: translateY(0); }
}

@keyframes ticker-move {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

@keyframes zap {
  0%,100% { filter: drop-shadow(0 0 3px var(--gold-500)); }
  50%     { filter: drop-shadow(0 0 10px var(--gold-300)) drop-shadow(0 0 20px var(--gold-500)); }
}

@keyframes count-flip {
  0%   { transform: rotateX(0deg); }
  50%  { transform: rotateX(-90deg); }
  100% { transform: rotateX(0deg); }
}

/* ── REVEAL ON SCROLL ────────────────────────────────────── */
.reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity .8s var(--ease), transform .8s var(--ease);
}
.reveal.visible { opacity: 1; transform: translateY(0); }

.reveal-delay-1 { transition-delay: .1s; }
.reveal-delay-2 { transition-delay: .2s; }
.reveal-delay-3 { transition-delay: .3s; }

/* ═══════════════════════════════════════════════════════════
   NAV
═══════════════════════════════════════════════════════════ */
nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 200;
  height: 64px;
  display: flex; align-items: center; justify-content: space-between;
  padding: 0 clamp(16px, 4vw, 48px);
  background: rgba(4,3,2,.88);
  backdrop-filter: blur(24px) saturate(160%);
  border-bottom: 1px solid var(--border-subtle);
  transition: background .4s, border-color .4s;
}
nav.scrolled {
  background: rgba(4,3,2,.97);
  border-color: var(--border-dim);
}

.nav-brand {
  display: flex; align-items: center; gap: 12px;
}
.nav-logo-img {
  height: 36px; /* Altura ajustada para imagens */
  width: auto; /* Mantém a proporção original da imagem */
  max-width: 120px; /* Evita que a logo fique muito esticada horizontalmente */
  object-fit: contain;
  flex-shrink: 0;
}
.nav-logo-text {
  font-family: 'Space Grotesk', sans-serif;
  font-weight: 600;
  font-size: .8rem;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--text-bright);
  line-height: 1.1;
}
.nav-logo-sub {
  display: block;
  font-size: .58rem;
  letter-spacing: 1.5px;
  color: var(--text-dim);
  font-weight: 400;
}

.nav-right {
  display: flex; align-items: center; gap: 20px;
}
.nav-date {
  font-family: 'DM Mono', monospace;
  font-size: .65rem;
  letter-spacing: 1.5px;
  color: var(--text-dim);
  text-transform: uppercase;
}

.nav-cta {
  background: var(--g-gold-subtle);
  border: none;
  border-radius: var(--r-sm);
  padding: 10px 22px;
  color: #150800;
  font-family: 'Outfit', sans-serif;
  font-weight: 700;
  font-size: .75rem;
  letter-spacing: .8px;
  text-transform: uppercase;
  cursor: pointer;
  position: relative;
  overflow: hidden;
  transition: all .3s var(--ease);
  white-space: nowrap;
}
.nav-cta::after {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,.18) 50%, transparent 100%);
  background-size: 200% 100%;
  animation: shimmer 3s infinite;
}
.nav-cta:hover { box-shadow: var(--glow-sm); transform: translateY(-1px); }

/* ═══════════════════════════════════════════════════════════
   TICKER
═══════════════════════════════════════════════════════════ */
.ticker-wrap {
  margin-top: 64px;
  background: rgba(10,8,5,1);
  border-bottom: 1px solid var(--border-dim);
  overflow: hidden;
  white-space: nowrap;
  padding: 11px 0;
}
.ticker-track {
  display: inline-flex;
  animation: ticker-move 32s linear infinite;
}
.ticker-item {
  display: inline-flex;
  align-items: center; gap: 8px;
  padding: 0 32px;
  font-family: 'DM Mono', monospace;
  font-size: .62rem;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--text-muted);
}
.ticker-item strong { color: var(--gold-600); }
.ticker-dot {
  width: 3px; height: 3px;
  background: var(--gold-800);
  border-radius: 50%;
}

/* ═══════════════════════════════════════════════════════════
   HERO
═══════════════════════════════════════════════════════════ */
.hero {
  min-height: calc(100svh - 64px - 38px);
  display: grid;
  place-items: center;
  padding: clamp(60px, 10vh, 120px) clamp(16px, 5vw, 48px);
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(ellipse 70% 50% at 15% 70%, rgba(120,53,15,.10) 0%, transparent 60%),
    radial-gradient(ellipse 50% 40% at 85% 20%, rgba(180,83,9,.08) 0%, transparent 55%),
    var(--bg);
}

/* Subtle grid */
.hero::before {
  content: '';
  position: absolute; inset: 0;
  background-image:
    linear-gradient(rgba(245,158,11,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(245,158,11,.025) 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: radial-gradient(ellipse 80% 60% at 50% 40%, black 10%, transparent 75%);
  pointer-events: none;
}

/* Ambient rings */
.hero-ring {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
  top: 50%; left: 50%;
}
.hero-ring-1 {
  width: 640px; height: 640px;
  border: 1px solid rgba(245,158,11,.04);
  animation: spin-slow 100s linear infinite;
}
.hero-ring-2 {
  width: 960px; height: 960px;
  border: 1px solid rgba(245,158,11,.025);
  animation: spin-rev 140s linear infinite;
}
.hero-ring-3 {
  width: 1280px; height: 1280px;
  border: 1px solid rgba(245,158,11,.015);
  animation: spin-slow 180s linear infinite;
}

/* Orbs */
.hero-orb {
  position: absolute; border-radius: 50%;
  filter: blur(120px); pointer-events: none;
}
.orb-a {
  width: 500px; height: 500px;
  background: radial-gradient(circle, rgba(146,64,14,.09), transparent 70%);
  top: -80px; right: -100px;
  animation: float-gentle 24s ease-in-out infinite;
}
.orb-b {
  width: 380px; height: 380px;
  background: radial-gradient(circle, rgba(120,53,15,.07), transparent 70%);
  bottom: -40px; left: -80px;
  animation: float-gentle 30s ease-in-out infinite reverse;
}

.hero-inner {
  max-width: 860px;
  width: 100%;
  text-align: center;
  position: relative; z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(18px, 3vh, 28px);
}

/* Eyebrow badge */
.hero-eyebrow {
  display: inline-flex;
  align-items: center; gap: 10px;
  background: rgba(14,11,7,.95);
  border: 1px solid var(--border-base);
  border-radius: 100px;
  padding: 9px 24px;
  animation: rise .7s var(--ease) both;
}
.eyebrow-dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--gold-400);
  animation: pulse-dot 2s ease-in-out infinite;
  flex-shrink: 0;
}
.eyebrow-label {
  font-family: 'DM Mono', monospace;
  font-size: .62rem;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: var(--gold-600);
}
.eyebrow-pill {
  background: var(--g-gold-subtle);
  border-radius: 100px;
  padding: 3px 10px;
  font-size: .58rem;
  font-weight: 700;
  letter-spacing: 1px;
  color: #1a0800;
  text-transform: uppercase;
}

/* Main title — COMPACT AND PREMIUM */
.hero-title {
  font-family: 'Cormorant Garamond', serif;
  font-weight: 700;
  font-size: clamp(2.4rem, 6.5vw, 5rem);
  line-height: 1.02;
  letter-spacing: -1px;
  color: var(--text-bright);
  animation: rise .7s .12s var(--ease) both;
}
.hero-title .event-super {
  display: block;
  font-family: 'Space Grotesk', sans-serif;
  font-weight: 500;
  font-size: clamp(.65rem, 1.4vw, .85rem);
  letter-spacing: 5px;
  color: var(--text-dim);
  text-transform: uppercase;
  margin-bottom: 10px;
  font-style: normal;
}
.hero-title .plus-connector {
  display: inline-block;
  font-family: 'Space Grotesk', sans-serif;
  font-size: clamp(1rem, 2vw, 1.4rem);
  font-weight: 300;
  color: var(--text-dim);
  margin: 4px 0;
  letter-spacing: 2px;
}

/* Subtitle */
.hero-subtitle {
  font-size: clamp(.88rem, 1.8vw, 1rem);
  font-weight: 300;
  color: var(--text-muted);
  max-width: 520px;
  line-height: 1.9;
  animation: rise .7s .24s var(--ease) both;
}
.hero-subtitle strong {
  color: var(--text-base);
  font-weight: 600;
}

/* Info strip */
.hero-info-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center;
  animation: rise .7s .36s var(--ease) both;
}
.info-chip {
  display: inline-flex;
  align-items: center; gap: 7px;
  background: rgba(14,11,7,.9);
  border: 1px solid var(--border-dim);
  border-radius: var(--r-sm);
  padding: 8px 16px;
  font-size: .78rem;
  color: var(--text-muted);
  backdrop-filter: blur(8px);
  transition: all .3s var(--ease);
}
.info-chip:hover {
  border-color: var(--border-base);
  color: var(--text-base);
}
.info-chip-icon {
  width: 18px; height: 18px;
  background: rgba(180,83,9,.15);
  border-radius: 4px;
  display: flex; align-items: center; justify-content: center;
  font-size: .7rem;
}

/* CTA group */
.hero-cta-group {
  display: flex;
  flex-wrap: wrap; gap: 12px;
  justify-content: center;
  animation: rise .7s .48s var(--ease) both;
}

/* Scarcity note */
.hero-scarcity {
  display: flex;
  align-items: center; gap: 8px;
  font-family: 'DM Mono', monospace;
  font-size: .65rem;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--text-dim);
  animation: rise .7s .6s var(--ease) both;
}
.scarcity-line {
  width: 28px; height: 1px;
  background: var(--border-dim);
}

/* ═══════════════════════════════════════════════════════════
   BOTÕES
═══════════════════════════════════════════════════════════ */
.btn-primary {
  display: inline-flex;
  align-items: center; gap: 9px;
  background: var(--gold-500); /* Cor sólida aplicada */
  border: none;
  border-radius: var(--r-sm);
  padding: clamp(14px, 2.5vw, 17px) clamp(24px, 4vw, 38px);
  color: #150800;
  font-family: 'Outfit', sans-serif;
  font-weight: 700;
  font-size: clamp(.78rem, 1.5vw, .88rem);
  letter-spacing: .5px;
  text-transform: uppercase;
  cursor: pointer;
  text-decoration: none;
  position: relative; overflow: hidden;
  box-shadow: 0 4px 24px rgba(180,83,9,.25), 0 1px 0 rgba(255,255,255,.08) inset;
  transition: all .35s var(--ease);
  /* Animação removida */
}
.btn-submit {
  width: 100%;
  border: none;
  border-radius: var(--r-sm);
  padding: 18px;
  background: var(--gold-500); /* Cor sólida aplicada */
  color: #150800;
  font-family: 'Outfit', sans-serif;
  font-weight: 700;
  font-size: .88rem;
  text-transform: uppercase;
  letter-spacing: .5px;
  cursor: pointer;
  margin-top: 24px;
  position: relative; overflow: hidden;
  box-shadow: 0 2px 24px rgba(180,83,9,.2);
  transition: all .3s var(--ease);
  /* Animação removida */
}
.btn-primary:hover {
  background: var(--gold-400); /* Muda sutilmente a cor em vez de explodir brilho */
  box-shadow: 0 8px 24px rgba(0,0,0,.3); /* Sombra preta clássica, sem gradiente */
  transform: translateY(-2px);
}
.btn-primary:active { transform: translateY(0); }

.btn-secondary {
  display: inline-flex;
  align-items: center; gap: 8px;
  background: transparent;
  border: 1px solid var(--border-base);
  border-radius: var(--r-sm);
  padding: clamp(13px, 2.5vw, 16px) clamp(22px, 3.5vw, 32px);
  color: var(--text-muted);
  font-family: 'Outfit', sans-serif;
  font-weight: 500;
  font-size: clamp(.78rem, 1.5vw, .88rem);
  cursor: pointer;
  text-decoration: none;
  transition: all .3s var(--ease);
}
.btn-secondary:hover {
  border-color: var(--gold-700);
  color: var(--text-bright);
  background: rgba(180,83,9,.05);
  transform: translateY(-1px);
}

/* ═══════════════════════════════════════════════════════════
   COUNTDOWN
═══════════════════════════════════════════════════════════ */
.countdown-section {
  padding: clamp(40px, 6vh, 64px) clamp(16px, 4vw, 48px);
  background: var(--bg-1);
  border-top: 1px solid var(--border-subtle);
  border-bottom: 1px solid var(--border-subtle);
  position: relative;
  overflow: hidden;
}
.countdown-section::before {
  content: '';
  position: absolute; top: 0; left: 0; right: 0; height: 1px;
  background: linear-gradient(90deg, transparent, var(--gold-800), var(--gold-600), var(--gold-800), transparent);
  opacity: .7;
}

.countdown-wrap {
  max-width: 600px;
  margin: 0 auto;
  text-align: center;
}

.countdown-eyebrow {
  font-family: 'DM Mono', monospace;
  font-size: .6rem;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--text-dim);
  margin-bottom: 28px;
}

.countdown-timer {
  display: flex;
  gap: clamp(8px, 2vw, 16px);
  justify-content: center;
  flex-wrap: nowrap;
}

.countdown-unit {
  flex: 1;
  max-width: 130px;
  background: var(--bg-card);
  border: 1px solid var(--border-dim);
  border-radius: var(--r-md);
  padding: clamp(16px, 3vh, 26px) clamp(10px, 2vw, 20px);
  text-align: center;
  position: relative;
  overflow: hidden;
  transition: border-color .3s;
}
.countdown-unit::before {
  content: '';
  position: absolute; top: 0; left: 0; right: 0; height: 1px;
  background: var(--g-warm);
  opacity: .5;
}
.countdown-unit:hover { border-color: var(--border-base); }

.countdown-num {
  font-family: 'Space Grotesk', sans-serif; /* Fonte atualizada */
  font-weight: 700;
  font-size: clamp(2rem, 5vw, 3.2rem);
  line-height: 1;
  background: var(--g-warm);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  display: block;
}
.countdown-lbl {
  font-family: 'DM Mono', monospace;
  font-size: .55rem;
  color: var(--text-dim);
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-top: 6px;
}

.countdown-colon {
  font-family: 'Cormorant Garamond', serif;
  font-weight: 700;
  font-size: 2rem;
  color: var(--gold-900);
  align-self: center;
  padding-bottom: 12px;
  opacity: .6;
}

/* ═══════════════════════════════════════════════════════════
   SECTION BASE
═══════════════════════════════════════════════════════════ */
section { padding: clamp(72px, 10vh, 112px) clamp(16px, 5vw, 48px); }

.section-eyebrow {
  display: inline-flex;
  align-items: center; gap: 10px;
  margin-bottom: 18px;
}
.eyebrow-line {
  width: 24px; height: 1px;
  background: var(--gold-800);
}
.eyebrow-text {
  font-family: 'DM Mono', monospace;
  font-size: .6rem;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--gold-700);
  font-weight: 500;
}

.section-title {
  font-family: 'Cormorant Garamond', serif;
  font-weight: 700;
  font-size: clamp(1.7rem, 4vw, 2.8rem);
  line-height: 1.1;
  letter-spacing: -.5px;
  color: var(--text-bright);
  margin-bottom: 14px;
}

.section-sub {
  font-size: clamp(.85rem, 1.8vw, .95rem);
  font-weight: 300;
  color: var(--text-muted);
  line-height: 1.85;
  max-width: 520px;
}

/* ═══════════════════════════════════════════════════════════
   BENEFÍCIOS — Layout assimétrico premium
═══════════════════════════════════════════════════════════ */
.benefits-section { background: var(--bg); }

.benefits-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: start;
  margin-top: 56px;
}

.benefits-intro { position: sticky; top: 88px; }
.benefits-intro .section-sub { max-width: 400px; }

.benefits-list {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.benefit-item {
  background: var(--bg-1);
  border: 1px solid var(--border-subtle);
  border-radius: var(--r-md);
  padding: 28px 28px;
  display: grid;
  grid-template-columns: 44px 1fr;
  gap: 18px;
  align-items: start;
  position: relative;
  overflow: hidden;
  transition: all .35s var(--ease);
  cursor: default;
}
.benefit-item::before {
  content: '';
  position: absolute; left: 0; top: 0; bottom: 0; width: 2px;
  background: var(--g-gold-subtle);
  transform: scaleY(0);
  transform-origin: bottom;
  transition: transform .4s var(--ease);
  border-radius: 0 1px 1px 0;
}
.benefit-item:hover {
  background: var(--bg-2);
  border-color: var(--border-dim);
  transform: translateX(4px);
}
.benefit-item:hover::before { transform: scaleY(1); }

.benefit-icon-wrap {
  width: 44px; height: 44px;
  border-radius: var(--r-sm);
  background: rgba(180,83,9,.08);
  border: 1px solid rgba(245,158,11,.12);
  display: flex; align-items: center; justify-content: center;
  font-size: 1.2rem;
  flex-shrink: 0;
  transition: all .3s;
}
.benefit-item:hover .benefit-icon-wrap {
  background: rgba(180,83,9,.16);
  border-color: rgba(245,158,11,.25);
}

.benefit-content {}
.benefit-title {
  font-family: 'Space Grotesk', sans-serif;
  font-weight: 600;
  font-size: .95rem;
  color: var(--text-bright);
  margin-bottom: 7px;
}
.benefit-desc {
  font-size: .84rem;
  font-weight: 300;
  color: var(--text-muted);
  line-height: 1.75;
}

/* ═══════════════════════════════════════════════════════════
   PALESTRANTES — cards horizontais modernos
═══════════════════════════════════════════════════════════ */
.speakers-section {
  background: var(--bg-1);
  border-top: 1px solid var(--border-subtle);
  border-bottom: 1px solid var(--border-subtle);
}

.speakers-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  margin-top: 52px;
}

@media (max-width: 1100px) {
  .speakers-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
  .speakers-grid { grid-template-columns: 1fr; }
}

.speaker-card {
  background: var(--bg-2);
  border: 1px solid var(--border-subtle);
  border-radius: var(--r-lg);
  padding: 28px 22px 24px;
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  transition: all .4s var(--ease);
}
.speaker-card::after {
  content: '';
  position: absolute; inset: 0;
  background: radial-gradient(circle at 50% 0%, rgba(180,83,9,.07), transparent 60%);
  opacity: 0;
  transition: opacity .4s;
  pointer-events: none;
}
.speaker-card:hover {
  border-color: var(--border-dim);
  transform: translateY(-6px);
  box-shadow: 0 24px 48px rgba(0,0,0,.4), var(--glow-xs);
}
.speaker-card:hover::after { opacity: 1; }

.speaker-avatar {
  width: 100%;
  height: 200px;
  background: linear-gradient(135deg, var(--primary), #fbbf24);
  border-radius: var(--r-lg);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2.5rem;
  font-weight: 700;
  color: var(--bg-dark);
  margin: 0 0 18px;
  border: 2px solid var(--border-dim);
  box-shadow: 0 0 20px rgba(245,158,11,0.15);
  transition: box-shadow 0.3s ease;
  flex-shrink: 0;
  object-fit: cover;
}
img.speaker-avatar {
  background: none;
  object-fit: cover;
  object-position: center top;
}
.speaker-card:hover .speaker-avatar { box-shadow: 0 0 36px rgba(245,158,11,.35); }

.speaker-name {
  font-family: 'Cormorant Garamond', serif;
  font-weight: 600;
  font-size: 1.2rem;
  color: var(--text-bright);
  margin-bottom: 4px;
}
.speaker-title {
  font-size: .75rem;
  font-weight: 600;
  color: var(--gold-600);
  letter-spacing: .5px;
  margin-bottom: 4px;
}
.speaker-location {
  font-size: .7rem;
  color: var(--text-dim);
  font-family: 'DM Mono', monospace;
  letter-spacing: .5px;
  margin-bottom: 14px;
}
.speaker-bio {
  font-size: .82rem;
  font-weight: 300;
  color: var(--text-muted);
  line-height: 1.7;
  border-top: 1px solid var(--border-subtle);
  padding-top: 14px;
  text-align: left;
  width: 100%;
}

/* ═══════════════════════════════════════════════════════════
   PÚBLICO-ALVO
═══════════════════════════════════════════════════════════ */
.audience-section { background: var(--bg); }

.audience-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 10px;
  margin-top: 52px;
}

.audience-item {
  display: flex;
  align-items: center; gap: 14px;
  background: var(--bg-1);
  border: 1px solid var(--border-subtle);
  border-radius: var(--r-sm);
  padding: 18px 20px;
  transition: all .3s var(--ease);
  cursor: default;
}
.audience-item:hover {
  border-color: var(--border-dim);
  background: var(--bg-2);
  transform: translateX(4px);
}

.audience-icon {
  width: 36px; height: 36px;
  border-radius: var(--r-xs);
  background: rgba(180,83,9,.08);
  display: flex; align-items: center; justify-content: center;
  font-size: .9rem;
  flex-shrink: 0;
  border: 1px solid rgba(245,158,11,.1);
  transition: all .3s;
}
.audience-item:hover .audience-icon {
  background: rgba(180,83,9,.15);
  border-color: rgba(245,158,11,.2);
}
.audience-label {
  font-size: .88rem;
  font-weight: 500;
  color: var(--text-base);
}

/* ═══════════════════════════════════════════════════════════
   INGRESSOS — redesign premium
═══════════════════════════════════════════════════════════ */
.tickets-section {
  background: var(--bg-1);
  border-top: 1px solid var(--border-subtle);
  border-bottom: 1px solid var(--border-subtle);
}

.tickets-container {
  max-width: 860px;
  margin: 0 auto;
}

.spots-bar {
  margin: 40px 0 48px;
  padding: 20px 24px;
  background: var(--bg-2);
  border: 1px solid var(--border-subtle);
  border-radius: var(--r-md);
  display: flex;
  align-items: center;
  gap: 20px;
}
.spots-text {
  font-family: 'DM Mono', monospace;
  font-size: .65rem;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  white-space: nowrap;
}
.spots-count { color: var(--gold-500); }
.spots-total { color: var(--text-dim); }
.spots-track {
  flex: 1;
  background: rgba(255,255,255,.04);
  border-radius: 100px;
  height: 4px;
  overflow: hidden;
}
.spots-fill {
  height: 100%;
  border-radius: 100px;
  background: var(--g-gold-subtle);
  width: 0;
  transition: width 2s cubic-bezier(.22,1,.36,1);
  position: relative;
}
.spots-fill::after {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.4), transparent);
  background-size: 200% 100%;
  animation: shimmer 2s infinite;
}

.tickets-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
  gap: 24px;
}

.ticket-card {
  background: var(--bg-2);
  border: 1px solid var(--border-subtle);
  border-radius: var(--r-xl);
  padding: clamp(28px, 4vw, 44px) clamp(24px, 3.5vw, 38px);
  position: relative;
  overflow: hidden;
  transition: all .4s var(--ease);
}
.ticket-card::before {
  content: '';
  position: absolute; top: 0; left: 0; right: 0; height: 1px;
  background: linear-gradient(90deg, transparent, var(--border-dim), transparent);
}
.ticket-card:hover {
  transform: translateY(-6px);
  border-color: var(--border-dim);
  box-shadow: 0 32px 64px rgba(0,0,0,.4);
}

.ticket-card.featured {
  border-color: var(--gold-700); /* Borda destaca mais que o brilho */
  background: linear-gradient(160deg, var(--bg-3) 0%, var(--bg-2) 100%);
  box-shadow: 0 0 15px rgba(245,158,11,.1); /* Brilho leve e estático */
  /* Animação removida */
}
.ticket-card.featured::before {
  background: var(--gold-500);
  height: 1.5px;
  opacity: .7;
}
.ticket-card.featured:hover {
  box-shadow: 0 0 25px rgba(245,158,11,.15), 0 16px 32px rgba(0,0,0,.5);
  transform: translateY(-4px);
}
.ticket-card.featured::after {
  content: '';
  position: absolute; inset: 0;
  background:
    radial-gradient(circle at 85% 15%, rgba(180,83,9,.04), transparent 50%),
    radial-gradient(circle at 15% 85%, rgba(120,53,15,.03), transparent 50%);
  pointer-events: none;
}

.ticket-badge-wrap {
  position: absolute;
  top: 0; right: 28px;
}
.ticket-badge {
  background: var(--g-gold-subtle);
  color: #1a0800;
  font-family: 'Space Grotesk', sans-serif;
  font-size: .55rem;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  padding: 7px 16px;
  border-radius: 0 0 var(--r-sm) var(--r-sm);
}

.ticket-tier {
  font-family: 'DM Mono', monospace;
  font-size: .58rem;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--text-dim);
  margin-bottom: 8px;
}
.ticket-name {
  font-family: 'Cormorant Garamond', serif;
  font-weight: 700;
  font-size: 1.5rem;
  color: var(--text-bright);
  margin-bottom: 24px;
}

.ticket-price-wrap { margin-bottom: 28px; }
.ticket-price {
  display: flex;
  align-items: baseline;
  gap: 4px;
  line-height: 1;
}
.ticket-price-cur {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 1rem;
  font-weight: 500;
  color: var(--gold-700);
  margin-bottom: 4px;
}
.ticket-price-main {
  font-family: 'Space Grotesk', sans-serif; /* Fonte alterada */
  font-weight: 700;
  font-size: 3.6rem;
  background: var(--g-warm);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.ticket-price-cents {
  font-family: 'Space Grotesk', sans-serif; /* Fonte alterada */
  font-size: 1.5rem;
  font-weight: 600;
  background: var(--g-warm);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.ticket-price-from {
  font-family: 'DM Mono', monospace;
  font-size: .7rem;
  color: var(--text-dim);
  text-decoration: line-through;
  margin-top: 4px;
  display: block;
}

.ticket-divider {
  height: 1px;
  background: var(--border-subtle);
  margin: 24px 0;
}

.ticket-features {
  list-style: none;
  display: flex; flex-direction: column; gap: 1px;
}
.ticket-feature {
  display: flex;
  align-items: center; gap: 12px;
  padding: 10px 0;
  border-bottom: 1px solid rgba(255,255,255,.03);
  font-size: .86rem;
  font-weight: 300;
  color: var(--text-muted);
}
.ticket-feature:last-child { border-bottom: none; }
.ticket-feature strong { color: var(--text-base); font-weight: 600; }
.feature-check { color: var(--gold-700); font-size: .7rem; flex-shrink: 0; }
.feature-star  { color: var(--gold-400); font-size: .7rem; flex-shrink: 0; }

.ticket-notice {
  background: rgba(120,53,15,.06);
  border: 1px solid rgba(180,83,9,.15);
  border-radius: var(--r-sm);
  padding: 14px 18px;
  font-size: .78rem;
  font-weight: 300;
  color: var(--gold-500);
  line-height: 1.65;
  margin: 24px 0;
}
.ticket-notice strong { font-weight: 600; }

.btn-ticket {
  width: 100%;
  border: none;
  border-radius: var(--r-sm);
  padding: 16px;
  font-family: 'Outfit', sans-serif;
  font-weight: 700;
  font-size: .82rem;
  letter-spacing: .5px;
  text-transform: uppercase;
  cursor: pointer;
  position: relative; overflow: hidden;
  transition: all .3s var(--ease);
}
.btn-ticket-gold {
  background: var(--gold-500); /* Cor sólida */
  color: #150800;
  box-shadow: 0 4px 14px rgba(0,0,0,.15);
  transition: all 0.3s ease;
}
.btn-ticket-gold:hover {
  background: var(--gold-400);
  box-shadow: 0 8px 24px rgba(0,0,0,.3);
  transform: translateY(-2px);
}
.btn-ticket-outline {
  background: transparent;
  color: var(--text-muted);
  border: 1px solid var(--border-base);
}
.btn-ticket-outline:hover {
  border-color: var(--gold-700);
  color: var(--text-bright);
  background: rgba(180,83,9,.05);
  transform: translateY(-1px);
}

/* ═══════════════════════════════════════════════════════════
   URGÊNCIA
═══════════════════════════════════════════════════════════ */
.urgency-section {
  background: var(--bg);
  border-top: 1px solid var(--border-subtle);
  border-bottom: 1px solid var(--border-subtle);
  position: relative;
  overflow: hidden;
}
.urgency-section::before {
  content: '';
  position: absolute; inset: 0;
  background: radial-gradient(ellipse 60% 40% at 50% 50%, rgba(120,53,15,.05), transparent);
}

.urgency-inner {
  max-width: 680px;
  margin: 0 auto;
  text-align: center;
  position: relative; z-index: 1;
}

.urgency-icon-wrap {
  width: 64px; height: 64px;
  border-radius: 50%;
  background: rgba(180,83,9,.08);
  border: 1px solid var(--border-dim);
  display: flex; align-items: center; justify-content: center;
  font-size: 1.5rem;
  margin: 0 auto 28px;
  /* Linha da animação removida */
}

.urgency-tags {
  display: flex;
  flex-wrap: wrap; gap: 8px;
  justify-content: center;
  margin-top: 36px;
}
.urgency-tag {
  background: var(--bg-1);
  border: 1px solid var(--border-subtle);
  border-radius: var(--r-sm);
  padding: 8px 18px;
  font-family: 'DM Mono', monospace;
  font-size: .62rem;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--text-muted);
  transition: all .3s var(--ease);
}
.urgency-tag:hover {
  border-color: var(--border-dim);
  color: var(--text-base);
}

/* ═══════════════════════════════════════════════════════════
   LOCAL
═══════════════════════════════════════════════════════════ */
.location-section { background: var(--bg-1); }

.location-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 56px;
  align-items: stretch; /* Faz as duas colunas terem exatamente a mesma altura! */
  margin-top: 52px;
  max-width: 960px;
  margin-left: auto;
  margin-right: auto;
}

.location-hotel {
  font-family: 'Cormorant Garamond', serif;
  font-weight: 700;
  font-size: 1.7rem;
  color: var(--text-bright);
  margin-bottom: 8px;
}
.location-address {
  font-size: .88rem;
  font-weight: 300;
  color: var(--text-muted);
  line-height: 1.8;
  margin-bottom: 28px;
}

.location-info-list {
  display: flex; flex-direction: column; gap: 8px;
}
.location-info-item {
  display: flex;
  align-items: center; gap: 14px;
  background: var(--bg-2);
  border: 1px solid var(--border-subtle);
  border-radius: var(--r-sm);
  padding: 13px 18px;
  font-size: .86rem;
  font-weight: 300;
  color: var(--text-muted);
  transition: all .3s var(--ease);
}
.location-info-item:hover {
  border-color: var(--border-dim);
  background: var(--bg-3);
}
.location-info-icon {
  width: 28px; height: 28px;
  border-radius: var(--r-xs);
  background: rgba(180,83,9,.08);
  display: flex; align-items: center; justify-content: center;
  font-size: .85rem;
  flex-shrink: 0;
}

.map-container {
  border-radius: var(--r-lg);
  overflow: hidden;
  border: 1px solid var(--border-dim);
  height: 100%; /* Copia a altura do bloco de texto ao lado */
  min-height: 320px; /* Garante que não fique fino demais no celular */
  box-shadow: 0 0 35px rgba(0,0,0,.3);
  transition: box-shadow .4s;
}
.map-container:hover { box-shadow: 0 0 80px rgba(245,158,11,.06), 0 0 40px rgba(0,0,0,.5); }
.map-container iframe {
  width: 100%; height: 100%; border: none;
  filter: grayscale(.5) brightness(.7) sepia(.15);
  transition: filter .4s;
}
.map-container:hover iframe { filter: grayscale(.25) brightness(.78) sepia(.1); }

/* ═══════════════════════════════════════════════════════════
   FAQ
═══════════════════════════════════════════════════════════ */
.faq-section {
  background: var(--bg);
  border-top: 1px solid var(--border-subtle);
}

.faq-list {
  max-width: 760px;
  margin: 52px auto 0;
  display: flex; flex-direction: column; gap: 8px;
}

.faq-item {
  background: var(--bg-1);
  border: 1px solid var(--border-subtle);
  border-radius: var(--r-md);
  overflow: hidden;
  transition: border-color .3s;
}
.faq-item:hover { border-color: var(--border-dim); }
.faq-item.open { border-color: var(--border-dim); }

.faq-q {
  width: 100%; background: none; border: none;
  color: var(--text-base);
  font-family: 'Outfit', sans-serif;
  font-weight: 500;
  font-size: .9rem;
  padding: 20px 24px;
  text-align: left;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  transition: color .3s;
}
.faq-q:hover { color: var(--gold-400); }

.faq-chevron {
  width: 22px; height: 22px;
  border: 1px solid var(--border-base);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  transition: all .35s var(--ease);
  color: var(--text-dim);
  font-size: .75rem;
}
.faq-item.open .faq-chevron {
  transform: rotate(45deg);
  border-color: var(--gold-700);
  color: var(--gold-500);
}

.faq-a {
  max-height: 0;
  overflow: hidden;
  transition: max-height .5s var(--ease);
}
.faq-a.open { max-height: 400px; }
.faq-a-inner {
  padding: 14px 24px 22px;
  font-size: .88rem;
  font-weight: 300;
  color: var(--text-muted);
  line-height: 1.85;
  border-top: 1px solid var(--border-subtle);
}

/* ═══════════════════════════════════════════════════════════
   FORMULÁRIO
═══════════════════════════════════════════════════════════ */
.form-section { background: var(--bg-1); border-top: 1px solid var(--border-subtle); }

.form-container {
  max-width: 680px;
  margin: 0 auto;
}

.form-card {
  background: var(--bg-card);
  border: 1px solid var(--border-base);
  border-radius: var(--r-xl);
  padding: clamp(28px, 5vw, 52px) clamp(22px, 4.5vw, 48px);
  position: relative;
  overflow: hidden;
  box-shadow: 0 0 80px rgba(0,0,0,.4), var(--glow-xs);
}
.form-card::before {
  content: '';
  position: absolute; top: 0; left: 0; right: 0; height: 1.5px;
  background: var(--g-gold-subtle);
  opacity: .6;
}

.form-header {
  margin-bottom: 32px;
}
.form-header-title {
  font-family: 'Cormorant Garamond', serif;
  font-weight: 700;
  font-size: 1.5rem;
  color: var(--text-bright);
  margin-bottom: 8px;
}
.form-header-sub {
  font-size: .84rem;
  font-weight: 300;
  color: var(--text-muted);
  line-height: 1.7;
}

.form-fields {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.form-group { display: flex; flex-direction: column; gap: 7px; }
.form-group.col-span-2 { grid-column: 1 / -1; }

.form-label {
  font-family: 'DM Mono', monospace;
  font-size: .58rem;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--text-base); /* Clareou os títulos para um tom de areia/ouro claro */
  font-weight: 500;
}

.form-input, .form-select {
  background: rgba(255,255,255,.05); /* Fundo um pouco mais claro */
  border: 1px solid rgba(245,158,11,.15); /* Borda levemente mais visível */
  border-radius: var(--r-sm);
  padding: 13px 16px;
  color: var(--text-bright);
  font-family: 'Outfit', sans-serif;
  font-size: .88rem;
  font-weight: 300;
  outline: none;
  width: 100%;
  transition: all .3s var(--ease);
}
.form-input:focus, .form-select:focus {
  border-color: var(--gold-500); /* Brilho mais vivo ao clicar no campo */
  box-shadow: 0 0 0 3px rgba(245,158,11,.15);
  background: rgba(255,255,255,.08);
}
.form-input::placeholder { color: rgba(255,255,255,.4); } /* Clareou bastante o texto de exemplo */
.form-select { appearance: none; cursor: pointer; }

.ticket-select-wrap {
  grid-column: 1 / -1;
  margin-top: 8px;
}
.ticket-select-label {
  font-family: 'DM Mono', monospace;
  font-size: .58rem;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--text-dim);
  margin-bottom: 12px;
  display: block;
}
.ticket-options {
  display: flex; flex-direction: column; gap: 10px;
}
.ticket-option {
  display: flex;
  align-items: center; justify-content: space-between;
  background: rgba(255,255,255,.02);
  border: 1px solid var(--border-subtle);
  border-radius: var(--r-md);
  padding: 16px 20px;
  cursor: pointer;
  transition: all .3s var(--ease);
}
.ticket-option:hover { border-color: var(--border-dim); }
.ticket-option.selected {
  border-color: var(--border-base);
  background: rgba(180,83,9,.04);
}
.ticket-option-left { display: flex; align-items: center; gap: 14px; }
.radio-indicator {
  width: 18px; height: 18px;
  border-radius: 50%;
  border: 1.5px solid var(--border-base);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  transition: all .25s;
}
.radio-indicator.on {
  border-color: var(--gold-600);
  background: rgba(180,83,9,.1);
}
.radio-indicator.on::after {
  content: '';
  width: 7px; height: 7px;
  border-radius: 50%;
  background: var(--gold-500);
}
.ticket-option-name {
  font-weight: 600;
  font-size: .88rem;
  color: var(--text-bright);
}
.ticket-option-desc {
  font-size: .72rem;
  color: var(--text-dim);
  font-weight: 300;
}
.ticket-option-price {
  font-family: 'Space Grotesk', sans-serif; /* Fonte alterada para igual à do contador */
  font-weight: 700;
  font-size: 1.35rem;
  background: var(--g-warm);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.form-checkbox-row {
  display: flex; align-items: center; gap: 10px;
  grid-column: 1 / -1;
  margin-top: 4px;
}
.form-checkbox {
  width: 16px; height: 16px;
  accent-color: var(--gold-600);
  cursor: pointer;
  flex-shrink: 0;
}
.form-checkbox-label {
  font-size: .84rem;
  font-weight: 300;
  color: var(--text-muted);
  cursor: pointer;
}

.partner-code-wrap {
  grid-column: 1 / -1;
  display: none;
}

.ticket-notice-form {
  grid-column: 1 / -1;
  background: rgba(120,53,15,.05);
  border: 1px solid rgba(180,83,9,.12);
  border-radius: var(--r-sm);
  padding: 12px 16px;
  font-size: .78rem;
  font-weight: 300;
  color: var(--gold-600);
  line-height: 1.65;
}
.ticket-notice-form strong { font-weight: 600; }

.error-msg {
  grid-column: 1 / -1;
  color: var(--gold-400);
  font-size: .78rem;
  font-family: 'DM Mono', monospace;
  display: none;
}

.btn-submit {
  width: 100%;
  border: none;
  border-radius: var(--r-sm);
  padding: 18px;
  background: var(--g-gold-subtle);
  color: #150800;
  font-family: 'Outfit', sans-serif;
  font-weight: 700;
  font-size: .88rem;
  text-transform: uppercase;
  letter-spacing: .5px;
  cursor: pointer;
  margin-top: 24px;
  position: relative; overflow: hidden;
  box-shadow: 0 2px 24px rgba(180,83,9,.2);
  transition: all .3s var(--ease);
  animation: glow-breathe 5s ease-in-out infinite;
}
.btn-submit:hover {
  background: var(--gold-400);
  box-shadow: 0 8px 24px rgba(0,0,0,.3);
  transform: translateY(-2px);
}
.btn-submit:disabled {
  opacity: .4;
  cursor: not-allowed;
  transform: none;
  animation: none;
}

.success-state {
  text-align: center;
  padding: 60px 24px;
}
.success-icon { font-size: 3.5rem; display: block; margin-bottom: 22px; }
.success-title {
  font-family: 'Cormorant Garamond', serif;
  font-weight: 700;
  font-size: 2rem;
  color: var(--text-bright);
  margin-bottom: 14px;
}
.success-body {
  font-size: .92rem;
  font-weight: 300;
  color: var(--text-muted);
  line-height: 1.85;
}
.success-body strong { color: var(--gold-400); font-weight: 600; }

/* ═══════════════════════════════════════════════════════════
   FOOTER
═══════════════════════════════════════════════════════════ */
footer {
  background: var(--black);
  border-top: 1px solid var(--border-subtle);
  padding: clamp(48px, 6vh, 72px) clamp(16px, 4vw, 48px);
  text-align: center;
  position: relative;
}
footer::before {
  content: '';
  position: absolute; top: 0; left: 10%; right: 10%; height: 1px;
  background: linear-gradient(90deg, transparent, var(--gold-900), var(--gold-800), var(--gold-900), transparent);
}

.footer-logo {
  font-family: 'Space Grotesk', sans-serif;
  font-weight: 700;
  font-size: .9rem;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--text-bright);
  margin-bottom: 16px;
}
.footer-logo span { color: var(--gold-600); }

.footer-info {
  font-size: .78rem;
  font-weight: 300;
  color: var(--text-dim);
  line-height: 1.8;
}

.footer-sep {
  width: 40px; height: 1px;
  background: var(--border-dim);
  margin: 24px auto;
}

.footer-copy {
  font-family: 'DM Mono', monospace;
  font-size: .62rem;
  color: var(--text-dim);
  letter-spacing: 1px;
}

/* ═══════════════════════════════════════════════════════════
   RESPONSIVE — Mobile first refinements
═══════════════════════════════════════════════════════════ */
@media (max-width: 960px) {
  .benefits-layout {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .benefits-intro { position: static; }
  .location-grid { grid-template-columns: 1fr; gap: 32px; }
  .map-container { height: 280px; }
}

@media (max-width: 768px) {
  nav { height: 58px; }
  .ticker-wrap { margin-top: 58px; }
  .hero { min-height: calc(100svh - 58px - 36px); }
  .nav-date { display: none; }
  section { padding: clamp(52px, 8vh, 80px) clamp(16px, 4vw, 32px); }
  .tickets-grid { grid-template-columns: 1fr; }
  .hero-ring-1, .hero-ring-2, .hero-ring-3 { display: none; }
  .form-fields { grid-template-columns: 1fr; }
  .form-group.col-span-2 { grid-column: 1; }
  .ticket-select-wrap { grid-column: 1; }
  .form-checkbox-row { grid-column: 1; }
  .partner-code-wrap { grid-column: 1; }
  .ticket-notice-form { grid-column: 1; }
  .error-msg { grid-column: 1; }
  .spots-bar { flex-direction: column; align-items: flex-start; gap: 10px; }
}

@media (max-width: 480px) {
  .hero-title { font-size: clamp(2rem, 8vw, 2.8rem); }
  .countdown-timer { gap: 6px; }
  .countdown-unit { padding: 14px 10px; }
  .countdown-num { font-size: 1.8rem; }
  .countdown-colon { display: none; }
  .hero-info-strip { flex-direction: column; align-items: center; }
  .nav-cta { padding: 9px 16px; font-size: .7rem; }
}