@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Barlow+Condensed:ital,wght@0,300;0,400;0,700;0,900;1,300&family=Barlow:wght@300;400;500&display=swap');

:root {
  --gold: #f5c230;
  --gold2: #e8903a;
  --teal-dark: #051a14;
  --teal-mid: #185040;
  --teal-light: #2e8070;
  --white: #ffffff;
  --white60: rgba(255,255,255,0.6);
  --white30: rgba(255,255,255,0.3);
  --white10: rgba(255,255,255,0.07);
}

* { margin:0; padding:0; box-sizing:border-box; }

html { scroll-behavior: smooth; }

body {
  background: #040e0a;
  color: #fff;
  font-family: 'Barlow', sans-serif;
  overflow-x: hidden;
  cursor: default;
}

/* ── GRAIN OVERLAY ── */
body::before {
  content:'';
  position:fixed; inset:0;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");
  pointer-events:none; z-index:1000;
}

/* ══════════════════════════════════════
   HERO
══════════════════════════════════════ */
.hero {
  min-height: 100vh;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 60px 24px 80px;
  overflow: hidden;
}

.hero-bg {
  position:absolute; inset:0; z-index:0;
  background: linear-gradient(170deg,
    #040e0a 0%,
    #071a10 15%,
    #0c3525 35%,
    #185040 55%,
    #246858 75%,
    #2e8070 100%);
}

/* Círculos decorativos */
.hero-bg::before {
  content:'';
  position:absolute;
  width:700px; height:700px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,0.03);
  top:-200px; right:-200px;
}
.hero-bg::after {
  content:'';
  position:absolute;
  width:500px; height:500px;
  border-radius:50%;
  border:1px solid rgba(245,194,48,0.05);
  bottom:-150px; left:-150px;
}

.hero-glow {
  position:absolute; inset:0; z-index:1;
  background: radial-gradient(ellipse 80% 60% at 50% 40%,
    rgba(18,80,64,0.5) 0%,
    transparent 70%);
}

/* Linha diagonal decorativa */
.hero-line {
  position:absolute;
  top:0; bottom:0;
  left:60%;
  width:1px;
  background: linear-gradient(to bottom,
    transparent, rgba(245,194,48,0.08) 30%,
    rgba(245,194,48,0.08) 70%, transparent);
  transform: rotate(8deg);
  transform-origin: top;
  z-index:1;
}

.hero-content {
  position:relative; z-index:2;
  display:flex; flex-direction:column;
  align-items:center; text-align:center;
  max-width:780px; width:100%;
}

/* VZ badge topo */
.vz-badge {
  display:inline-flex; align-items:center; gap:10px;
  background:rgba(245,194,48,0.08);
  border:1px solid rgba(245,194,48,0.2);
  padding:7px 20px;
  margin-bottom:36px;
  animation: fadeUp 0.8s ease both;
}
.vz-badge .vz-name {
  font-family:'Bebas Neue',sans-serif;
  font-size:15px; letter-spacing:5px; color:var(--gold);
}
.vz-badge .vz-sep { color:rgba(245,194,48,0.3); font-size:10px; }
.vz-badge .vz-sub {
  font-family:'Barlow Condensed',sans-serif;
  font-weight:300; font-size:11px;
  letter-spacing:4px; text-transform:uppercase;
  color:rgba(255,255,255,0.4);
}

/* Logo Destino sem fundo */
.destino-logo {
  width: min(680px, 90vw);
  margin-bottom: 28px;
  filter: drop-shadow(0 4px 30px rgba(0,0,0,0.5));
  animation: fadeUp 0.9s 0.1s ease both;
}

.hero-desc {
  font-family:'Barlow Condensed',sans-serif;
  font-weight:300; font-size:18px;
  letter-spacing:4px; text-transform:uppercase;
  color:var(--white60);
  margin-bottom:48px;
  animation: fadeUp 0.9s 0.2s ease both;
}
.hero-desc strong { color:var(--gold); font-weight:400; }

/* ── COUNTDOWN ── */
.countdown-wrap {
  margin-bottom:48px;
  animation: fadeUp 0.9s 0.3s ease both;
}
.countdown-label {
  font-family:'Barlow Condensed',sans-serif;
  font-weight:300; font-size:11px;
  letter-spacing:5px; text-transform:uppercase;
  color:rgba(255,255,255,0.3);
  margin-bottom:16px;
  text-align:center;
}
.countdown {
  display:flex; gap:0; align-items:stretch;
}
.cd-item {
  display:flex; flex-direction:column;
  align-items:center;
  padding:20px 28px;
  background:rgba(255,255,255,0.04);
  border:1px solid rgba(255,255,255,0.07);
  min-width:90px;
}
.cd-item:first-child { border-left:2px solid var(--gold); }
.cd-num {
  font-family:'Bebas Neue',sans-serif;
  font-size:56px; line-height:1;
  color:#fff; letter-spacing:2px;
}
.cd-unit {
  font-family:'Barlow Condensed',sans-serif;
  font-weight:300; font-size:10px;
  letter-spacing:3px; text-transform:uppercase;
  color:rgba(255,255,255,0.35);
  margin-top:4px;
}
.cd-sep {
  display:flex; align-items:center;
  padding:0 6px;
  font-family:'Bebas Neue',sans-serif;
  font-size:36px; color:rgba(245,194,48,0.3);
  border-top:1px solid rgba(255,255,255,0.07);
  border-bottom:1px solid rgba(255,255,255,0.07);
  background:rgba(255,255,255,0.02);
}

/* ── CTA HERO ── */
.cta-hero {
  display:flex; flex-direction:column;
  align-items:center; gap:14px;
  animation: fadeUp 0.9s 0.4s ease both;
  width:100%; max-width:480px;
}

.btn-main {
  width:100%; padding:20px 40px;
  background: linear-gradient(90deg, var(--gold), var(--gold2));
  border:none; cursor:pointer;
  font-family:'Bebas Neue',sans-serif;
  font-size:22px; letter-spacing:4px;
  color:#040e0a;
  position:relative; overflow:hidden;
  transition: transform 0.2s, box-shadow 0.2s;
  text-decoration:none; display:block; text-align:center;
}
.btn-main::after {
  content:'';
  position:absolute; inset:0;
  background:linear-gradient(to right,transparent,rgba(255,255,255,0.15),transparent);
  transform:translateX(-100%);
  transition:transform 0.5s;
}
.btn-main:hover { transform:translateY(-2px); box-shadow:0 8px 32px rgba(245,194,48,0.25); }
.btn-main:hover::after { transform:translateX(100%); }

.btn-sub {
  font-family:'Barlow Condensed',sans-serif;
  font-weight:300; font-size:12px;
  letter-spacing:3px; text-transform:uppercase;
  color:rgba(255,255,255,0.3);
}

/* ══════════════════════════════════════
   DIVIDER
══════════════════════════════════════ */
.section-divider {
  width:100%; height:1px;
  background:linear-gradient(to right,transparent,rgba(245,194,48,0.2),transparent);
}

/* ══════════════════════════════════════
   BENEFÍCIOS
══════════════════════════════════════ */
.benefits {
  padding:80px 24px;
  position:relative;
  background: linear-gradient(180deg, #040e0a 0%, #071510 50%, #040e0a 100%);
}

.section-header {
  text-align:center; margin-bottom:56px;
}
.section-tag {
  display:inline-flex; align-items:center; gap:8px;
  background:rgba(245,194,48,0.08);
  border:1px solid rgba(245,194,48,0.2);
  padding:5px 16px; margin-bottom:18px;
}
.section-tag span {
  font-family:'Barlow Condensed',sans-serif;
  font-weight:700; font-size:11px;
  letter-spacing:4px; text-transform:uppercase; color:var(--gold);
}
.tagdot { width:4px; height:4px; border-radius:50%; background:var(--gold); }

.section-title {
  font-family:'Bebas Neue',sans-serif;
  font-size:clamp(52px, 8vw, 80px);
  line-height:0.9; letter-spacing:2px; color:#fff;
}
.section-title .gold { color:var(--gold); }
.section-title .outline { color:transparent; -webkit-text-stroke:2px var(--gold); }

.benefits-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(260px,1fr));
  gap:16px;
  max-width:1000px; margin:0 auto;
}

.b-card {
  padding:28px 28px;
  background:rgba(255,255,255,0.03);
  border:1px solid rgba(255,255,255,0.06);
  border-top:2px solid var(--gold);
  transition:background 0.3s, transform 0.3s;
  position:relative; overflow:hidden;
}
.b-card::before {
  content:'';
  position:absolute;
  top:0; left:0; right:0; height:60px;
  background:linear-gradient(to bottom,rgba(245,194,48,0.04),transparent);
}
.b-card:hover { background:rgba(255,255,255,0.055); transform:translateY(-3px); }

.b-icon { font-size:30px; margin-bottom:14px; }
.b-title {
  font-family:'Barlow Condensed',sans-serif;
  font-weight:700; font-size:19px;
  letter-spacing:1px; text-transform:uppercase;
  color:#fff; margin-bottom:8px;
}
.b-desc {
  font-family:'Barlow',sans-serif;
  font-size:14px; font-weight:300;
  color:rgba(255,255,255,0.55); line-height:1.6;
}

/* ══════════════════════════════════════
   SOBRE O EVENTO
══════════════════════════════════════ */
.about {
  padding:80px 24px;
  background:#040e0a;
  position:relative;
}

.about-inner {
  max-width:900px; margin:0 auto;
  display:grid; grid-template-columns:1fr 1fr;
  gap:60px; align-items:center;
}

@media(max-width:700px){
  .about-inner { grid-template-columns:1fr; gap:40px; }
}

.about-text .gold-line {
  width:52px; height:2px; background:var(--gold); margin-bottom:24px;
}
.about-text p {
  font-size:17px; font-weight:300; line-height:1.8;
  color:rgba(255,255,255,0.7); margin-bottom:16px;
}
.about-text p strong { color:#fff; font-weight:500; }

.about-stats {
  display:flex; flex-direction:column; gap:2px;
}
.stat-item {
  padding:22px 28px;
  border:1px solid rgba(255,255,255,0.06);
  border-left:2px solid var(--gold);
  background:rgba(255,255,255,0.03);
  transition:background 0.3s;
}
.stat-item:hover { background:rgba(255,255,255,0.055); }
.stat-num {
  font-family:'Bebas Neue',sans-serif;
  font-size:52px; line-height:1; letter-spacing:2px; color:var(--gold);
}
.stat-label {
  font-family:'Barlow Condensed',sans-serif;
  font-weight:300; font-size:12px;
  letter-spacing:4px; text-transform:uppercase;
  color:rgba(255,255,255,0.4);
}

/* ══════════════════════════════════════
   FORMULÁRIO
══════════════════════════════════════ */
.form-section {
  padding:80px 24px;
  background:linear-gradient(180deg,#040e0a 0%,#071a10 40%,#0c3525 100%);
  position:relative; overflow:hidden;
}
.form-section::before {
  content:'';
  position:absolute;
  width:600px; height:600px; border-radius:50%;
  border:1px solid rgba(245,194,48,0.04);
  top:-200px; right:-200px;
}

.form-inner {
  max-width:520px; margin:0 auto;
  position:relative; z-index:1;
}

.form-box {
  background:rgba(255,255,255,0.03);
  border:1px solid rgba(255,255,255,0.08);
  padding:44px 40px;
  position:relative;
}
.form-box::before {
  content:'';
  position:absolute;
  top:0; left:0; right:0; height:2px;
  background:linear-gradient(to right,var(--gold),var(--gold2));
}

.form-title {
  font-family:'Bebas Neue',sans-serif;
  font-size:48px; letter-spacing:2px;
  color:#fff; margin-bottom:6px;
  line-height:1;
}
.form-title .gold { color:var(--gold); }
.form-sub {
  font-family:'Barlow Condensed',sans-serif;
  font-weight:300; font-size:14px;
  letter-spacing:3px; text-transform:uppercase;
  color:rgba(255,255,255,0.4);
  margin-bottom:32px;
}

.form-group { margin-bottom:16px; }
.form-group label {
  display:block;
  font-family:'Barlow Condensed',sans-serif;
  font-weight:700; font-size:11px;
  letter-spacing:3px; text-transform:uppercase;
  color:rgba(255,255,255,0.4);
  margin-bottom:8px;
}
.form-group input {
  width:100%; padding:14px 18px;
  background:rgba(255,255,255,0.05);
  border:1px solid rgba(255,255,255,0.1);
  color:#fff; outline:none;
  font-family:'Barlow',sans-serif;
  font-size:15px; font-weight:300;
  transition:border-color 0.3s, background 0.3s;
}
.form-group input::placeholder { color:rgba(255,255,255,0.25); }
.form-group input:focus {
  border-color:rgba(245,194,48,0.5);
  background:rgba(255,255,255,0.07);
}

.btn-form {
  width:100%; padding:18px;
  margin-top:8px;
  background:linear-gradient(90deg,var(--gold),var(--gold2));
  border:none; cursor:pointer;
  font-family:'Bebas Neue',sans-serif;
  font-size:20px; letter-spacing:4px; color:#040e0a;
  transition:transform 0.2s, box-shadow 0.2s;
  position:relative; overflow:hidden;
}
.btn-form::after {
  content:'';
  position:absolute; inset:0;
  background:linear-gradient(to right,transparent,rgba(255,255,255,0.15),transparent);
  transform:translateX(-100%);
  transition:transform 0.5s;
}
.btn-form:hover { transform:translateY(-2px); box-shadow:0 8px 32px rgba(245,194,48,0.25); }
.btn-form:hover::after { transform:translateX(100%); }

.form-privacy {
  text-align:center; margin-top:14px;
  font-family:'Barlow',sans-serif;
  font-size:11px; font-weight:300;
  color:rgba(255,255,255,0.2);
  letter-spacing:1px;
}

/* ══════════════════════════════════════
   FOOTER
══════════════════════════════════════ */
.footer {
  padding:40px 24px;
  background:#040e0a;
  border-top:1px solid rgba(255,255,255,0.05);
  text-align:center;
}
.footer-logo {
  font-family:'Bebas Neue',sans-serif;
  font-size:28px; letter-spacing:5px;
  color:#fff; margin-bottom:4px;
}
.footer-logo .gold { color:var(--gold); }
.footer-logo .outline { color:transparent; -webkit-text-stroke:1px #fff; }
.footer-sub {
  font-family:'Barlow Condensed',sans-serif;
  font-weight:300; font-size:11px;
  letter-spacing:4px; text-transform:uppercase;
  color:rgba(255,255,255,0.2);
  margin-bottom:20px;
}
.footer-info {
  font-family:'Barlow',sans-serif;
  font-size:12px; font-weight:300;
  color:rgba(255,255,255,0.18);
  line-height:1.8;
}

/* ── STARS deco ── */
.star-deco {
  position:absolute; color:var(--gold); pointer-events:none;
  animation: twinkle 4s ease-in-out infinite;
}
@keyframes twinkle {
  0%,100% { opacity:0.4; transform:scale(1); }
  50% { opacity:0.9; transform:scale(1.2); }
}

/* ── ANIMATIONS ── */
@keyframes fadeUp {
  from { opacity:0; transform:translateY(24px); }
  to { opacity:1; transform:translateY(0); }
}

/* ── RESPONSIVE ── */
@media(max-width:600px){
  .cd-item { min-width:70px; padding:16px 18px; }
  .cd-num { font-size:42px; }
  .form-box { padding:32px 24px; }
  .about-inner { grid-template-columns:1fr; }
}