:root {
    --primary: #00ff88;
    --primary-dark: #00cc6a;
    --bg-main: #050505;
    --bg-card: #111111;
    --text-white: #ffffff;
    --text-gray: #b3b3b3;
}

* { margin: 0; padding: 0; box-sizing: border-box; }

body {
    font-family: 'Inter', sans-serif;
    background-color: var(--bg-main);
    color: var(--text-white);
    line-height: 1.6;
    overflow-x: hidden;
}

h1, h2, h3 { font-family: 'Oswald', sans-serif; text-transform: uppercase; }

.container { max-width: 1100px; margin: 0 auto; padding: 0 20px; }
.highlight { color: var(--primary); }

/* --- HERO SECTION --- */
.hero {
    height: 90vh;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    position: relative;
    /* Imagem de fundo sutil (pode ser um print dos arquivos ou abstrato) */
    background: url('https://images.unsplash.com/photo-1550751827-4bd374c3f58b?q=80&w=2070') no-repeat center center/cover;
}

.overlay {
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    background: linear-gradient(180deg, rgba(5,5,5,0.7) 0%, rgba(5,5,5,1) 100%);
}

.hero-content { position: relative; z-index: 2; }

.badge {
    background: rgba(0, 255, 136, 0.1);
    color: var(--primary);
    padding: 8px 16px;
    border-radius: 50px;
    font-size: 14px;
    border: 1px solid var(--primary);
    display: inline-block;
    margin-bottom: 20px;
}

.hero h1 {
    font-size: clamp(40px, 8vw, 72px);
    line-height: 1.1;
    margin-bottom: 20px;
}

.hero p { font-size: 20px; color: var(--text-gray); max-width: 600px; margin: 0 auto 40px auto; }

/* Botões */
.buttons-hero { display: flex; gap: 20px; justify-content: center; flex-wrap: wrap; }

.btn-cta {
    background: var(--primary);
    color: #000;
    padding: 18px 40px;
    font-weight: 700;
    font-size: 18px;
    text-decoration: none;
    border-radius: 5px;
    transition: 0.3s;
    text-transform: uppercase;
    font-family: 'Oswald', sans-serif;
}

.btn-cta:hover { transform: scale(1.05); box-shadow: 0 0 30px rgba(0, 255, 136, 0.4); }

.btn-outline {
    border: 2px solid #333;
    color: #fff;
    padding: 18px 40px;
    font-weight: 700;
    font-size: 18px;
    text-decoration: none;
    border-radius: 5px;
    transition: 0.3s;
    font-family: 'Oswald', sans-serif;
}

.btn-outline:hover { border-color: #fff; background: rgba(255,255,255,0.05); }

/* --- PROBLEMA --- */
.problem-solution { padding: 80px 0; background: #0a0a0a; }
.text-center { text-align: center; margin-bottom: 60px; }
.subtitle { font-size: 18px; color: var(--text-gray); max-width: 700px; margin: 20px auto 0; }

.grid-3 { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 30px; }

.feature-box {
    background: var(--bg-card);
    padding: 40px;
    border-radius: 12px;
    border: 1px solid #222;
    transition: 0.3s;
}

.feature-box:hover { border-color: var(--primary); transform: translateY(-5px); }
.feature-box i { font-size: 32px; color: var(--primary); margin-bottom: 20px; }
.feature-box h3 { font-size: 24px; margin-bottom: 10px; }

/* --- VAULT (GRID) --- */
.vault { padding: 80px 0; }
.vault h2 { text-align: center; font-size: 36px; margin-bottom: 50px; }

.grid-gallery { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 25px; }

.vault-card {
    background: #0f0f0f;
    border: 1px solid #333;
    padding: 30px;
    border-radius: 15px;
    position: relative;
    overflow: hidden;
}

.highlight-card { border-color: var(--primary); box-shadow: 0 0 20px rgba(0, 255, 136, 0.1); }

.vault-card h3 { font-size: 24px; margin: 15px 0; }
.vault-card ul { list-style: none; padding-left: 0; }
.vault-card li { margin-bottom: 10px; color: var(--text-gray); border-bottom: 1px solid #222; padding-bottom: 5px; }
.icon-header { font-size: 40px; color: #444; margin-bottom: 10px; }
.highlight-card .icon-header { color: var(--primary); }

/* --- BONUS --- */
.bonus-section { padding: 80px 0; background: linear-gradient(90deg, #050505 0%, #0d1f14 100%); border-top: 1px solid #333; border-bottom: 1px solid #333; }
.bonus-grid { display: flex; align-items: center; gap: 50px; flex-wrap: wrap; }
.bonus-text { flex: 1; min-width: 300px; }
.bonus-img { flex: 1; display: flex; justify-content: center; min-width: 300px; }

.bonus-tag { background: #ff0055; color: #fff; padding: 5px 10px; font-weight: bold; font-size: 12px; border-radius: 4px; }
.bonus-text h2 { font-size: 40px; margin: 20px 0; }

.mockup-screen {
    /* 1. Tamanho Fixo do "Celular" */
    width: 300px;
    height: 550px; /* Altura boa para formato TikTok/Reels */
    
    /* 2. O GIF como Fundo */
    /* TROQUE O NOME ABAIXO PELO SEU ARQUIVO GIF */
    background-image: url('homem_aranha.gif');
    
    /* 3. O Comando Mágico: COVER */
    /* Isso faz o GIF preencher tudo sem esticar. Ele corta as sobras se precisar. */
    background-size: cover; 
    background-position: center; /* Centraliza o GIF */

    /* 4. Estilo da Moldura */
    border: 6px solid #1a1a1a; /* Borda escura do aparelho */
    border-radius: 30px; /* Cantos bem redondos */
    box-shadow: 25px 25px 50px rgba(0,0,0,0.5); /* Sombra 3D */

    /* 5. Posição Inclinada */
    transform: rotate(-3deg);
    transition: all 0.3s ease;
}

/* Efeito opcional: endireita quando passa o mouse */
.mockup-screen:hover {
     transform: rotate(0deg) scale(1.02);
     box-shadow: 15px 15px 30px rgba(0,0,0,0.7);
     border-color: var(--primary); /* Borda brilha verde ao passar o mouse */
}
.mockup-screen i { font-size: 60px; margin-bottom: 20px; color: #fff; }

.bonus-list li { display: flex; align-items: center; gap: 10px; font-size: 18px; margin-bottom: 15px; }
.bonus-list i { color: var(--primary); }

/* --- PRICING --- */
.pricing { padding: 100px 0; text-align: center; }
.pricing-card {
    background: #111;
    max-width: 500px;
    margin: 0 auto;
    padding: 50px;
    border-radius: 20px;
    border: 2px solid var(--primary);
    box-shadow: 0 0 50px rgba(0, 255, 136, 0.15);
}

.price { margin: 30px 0; }
.old { display: block; text-decoration: line-through; color: #666; font-size: 20px; }
.new { font-size: 64px; font-weight: 700; color: #fff; font-family: 'Oswald', sans-serif; }

.benefits-list { text-align: left; margin: 30px 0; display: inline-block; }
.benefits-list li { margin-bottom: 15px; font-size: 18px; }
.benefits-list i { color: var(--primary); margin-right: 10px; }

.btn-large { width: 100%; display: block; font-size: 22px; padding: 25px; }
.guarantee { margin-top: 20px; font-size: 14px; color: #888; }

/* Pulse Animation */
@keyframes pulse {
    0% { box-shadow: 0 0 0 0 rgba(0, 255, 136, 0.7); }
    70% { box-shadow: 0 0 0 15px rgba(0, 255, 136, 0); }
    100% { box-shadow: 0 0 0 0 rgba(0, 255, 136, 0); }
}
.pulse { animation: pulse 2s infinite; }

footer { padding: 40px; text-align: center; color: #666; font-size: 14px; border-top: 1px solid #222; }

@media (max-width: 768px) {
    .hero h1 { font-size: 42px; }
    .bonus-grid { flex-direction: column-reverse; }
}

/* --- MASTERCLASS SECTION (NOVO) --- */
.masterclass {
    padding: 100px 0;
    background: linear-gradient(to right, #050505, #0a0a0a);
    border-top: 1px solid #222;
}

.masterclass-grid {
    display: flex;
    align-items: center;
    gap: 60px;
    flex-wrap: wrap;
}

.masterclass-text { flex: 1; min-width: 300px; }
.course-playlist { flex: 1; min-width: 300px; }

.badge-course {
    background: #FFD700; /* Dourado para diferenciar do verde */
    color: #000;
    font-weight: 800;
    padding: 5px 12px;
    border-radius: 4px;
    font-size: 12px;
    display: inline-block;
    margin-bottom: 20px;
}

.masterclass h2 { font-size: 40px; margin-bottom: 20px; line-height: 1.2; }
.masterclass p { color: var(--text-gray); font-size: 18px; margin-bottom: 30px; }

.stats-course {
    display: flex;
    gap: 40px;
    margin-top: 30px;
    border-top: 1px solid #222;
    padding-top: 30px;
}

.stat-item strong { display: block; font-size: 32px; color: #fff; font-family: 'Oswald', sans-serif; }
.stat-item span { color: var(--primary); font-size: 14px; text-transform: uppercase; }

/* Estilo da Playlist Visual */
.course-playlist {
    background: #111;
    border: 1px solid #333;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 20px 50px rgba(0,0,0,0.5);
}

.playlist-header {
    background: #1a1a1a;
    padding: 20px;
    font-weight: bold;
    border-bottom: 1px solid #333;
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--primary);
}

.playlist-items { padding: 10px; }

.class-item {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 15px;
    border-bottom: 1px solid #222;
    color: #ccc;
    transition: 0.3s;
    cursor: default;
}

.class-item:last-child { border-bottom: none; }
.class-item:hover { background: #1f1f1f; color: #fff; }
.class-item i { color: #555; }
.class-item:hover i { color: var(--primary); }

.class-item.locked {
    background: rgba(0, 255, 136, 0.05);
    color: var(--primary);
    font-weight: bold;
    justify-content: center;
}