/* Custom utilities not covered by Tailwind */
body { font-family: 'Inter', sans-serif; background-color: #0a0c14; color: #F0EDE8; overflow-x: hidden; }

.font-display { font-family: 'Bebas Neue', sans-serif; letter-spacing: 0.02em; }

/* VSL iframe container */
.vsl-container { position: relative; aspect-ratio: 16/9; overflow: hidden; }
.vsl-container iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* Scroll reveal */
.reveal { opacity: 0; transform: translateY(24px); transition: opacity 0.6s ease, transform 0.6s ease; }
.reveal.visible { opacity: 1; transform: translateY(0); }
.delay-1 { transition-delay: 0.1s; }
.delay-2 { transition-delay: 0.2s; }
.delay-3 { transition-delay: 0.3s; }

/* FAQ */
.faq-answer { max-height: 0; overflow: hidden; transition: max-height 0.4s ease, padding 0.3s ease; }
.faq-item.open .faq-answer { max-height: 300px; padding-bottom: 20px; }
.faq-item.open .faq-plus { transform: rotate(45deg); background: #C8972A; border-color: #C8972A; color: #0a0c14; }

/* Gold grid bg */
.grid-bg::before {
  content: '';
  position: absolute; inset: 0;
  background-image:
    repeating-linear-gradient(0deg, transparent, transparent 79px, rgba(200,151,42,0.03) 79px, rgba(200,151,42,0.03) 80px),
    repeating-linear-gradient(90deg, transparent, transparent 79px, rgba(200,151,42,0.03) 79px, rgba(200,151,42,0.03) 80px);
  pointer-events: none;
}

/* Stack strikethrough */
.stack-val { text-decoration: line-through; opacity: 0.65; }

/* Price big number */
.price-big { font-family: 'Bebas Neue', sans-serif; font-size: clamp(52px, 8vw, 88px); line-height: 1; }

/* Section tag */
.tag { display: inline-block; font-size: 11px; font-weight: 700; letter-spacing: 0.28em; text-transform: uppercase; background: #C8972A; color: #0a0c14; padding: 4px 14px; }

/* Thought bubble */
.thought { border-radius: 4px 16px 16px 16px; }

/* Gradient radial glow */
.glow-hero::before {
  content: '';
  position: absolute;
  top: -200px; left: 50%; transform: translateX(-50%);
  width: 700px; height: 700px;
  background: radial-gradient(ellipse, rgba(200,151,42,0.08) 0%, transparent 70%);
  pointer-events: none;
  z-index: 0;
}

/* Author photo aspect */
.author-frame { aspect-ratio: 3/4; }

/* Entregavel hover */
.entregavel:hover { border-color: rgba(200,151,42,0.5); transform: translateY(-4px); }

/* Responsive heading */
.h1-hero { font-family: 'Bebas Neue', sans-serif; font-size: clamp(40px, 6vw, 72px); line-height: 1.05; letter-spacing: 0.01em; }
.h2-sec  { font-family: 'Bebas Neue', sans-serif; font-size: clamp(30px, 4.5vw, 52px); line-height: 1.1; letter-spacing: 0.01em; }
.h2-dor  { font-family: 'Bebas Neue', sans-serif; font-size: clamp(28px, 4vw, 44px); line-height: 1.1; }

/* Garantia shield centering */
.shield-svg { flex-shrink: 0; width: 110px; height: 110px; }

@media (max-width: 640px) {
  .proof-grid { grid-template-columns: 1fr; max-width: 480px; margin: 0 auto; }
}
