/* Reset e Base */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

:root {
    --primary-green: #76ff03;
    --dark-bg: #0a0a0a;
    --darker-bg: #050505;
    --card-bg: #141414;
    --card-border: #252525;
    --text-primary: #ffffff;
    --text-secondary: #b0b0b0;
    --text-muted: #808080;
}

body {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    background-color: var(--dark-bg);
    color: var(--text-primary);
    line-height: 1.6;
    overflow-x: hidden;
}

.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
}

/* Hero Section */
.hero {
    position: relative;
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    overflow: hidden;
    padding: 100px 0;
}

.hero-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: 
        radial-gradient(ellipse at top, rgba(118, 255, 3, 0.08) 0%, transparent 50%),
        radial-gradient(ellipse at bottom, rgba(118, 255, 3, 0.05) 0%, transparent 50%),
        linear-gradient(180deg, var(--darker-bg) 0%, var(--dark-bg) 100%);
    z-index: 0;
    overflow: hidden;
}

.hero-bg::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080" preserveAspectRatio="xMidYMid slice"><defs><linearGradient id="grad1" x1="0%" y1="0%" x2="0%" y2="100%"><stop offset="0%" style="stop-color:rgba(118,255,3,0.15);stop-opacity:1" /><stop offset="100%" style="stop-color:rgba(118,255,3,0);stop-opacity:1" /></linearGradient></defs><g opacity="0.5"><rect x="0" y="700" width="1920" height="1" fill="rgba(118,255,3,0.1)"/><rect x="0" y="600" width="1920" height="1" fill="rgba(118,255,3,0.1)"/><rect x="0" y="500" width="1920" height="1" fill="rgba(118,255,3,0.1)"/><rect x="0" y="400" width="1920" height="1" fill="rgba(118,255,3,0.1)"/><rect x="0" y="300" width="1920" height="1" fill="rgba(118,255,3,0.1)"/><rect x="0" y="200" width="1920" height="1" fill="rgba(118,255,3,0.1)"/><rect x="50" y="450" width="20" height="180" fill="rgba(118,255,3,0.25)"/><line x1="60" y1="430" x2="60" y2="650" stroke="rgba(118,255,3,0.4)" stroke-width="3"/><rect x="110" y="380" width="20" height="220" fill="rgba(118,255,3,0.25)"/><line x1="120" y1="350" x2="120" y2="620" stroke="rgba(118,255,3,0.4)" stroke-width="3"/><rect x="170" y="410" width="20" height="180" fill="rgba(118,255,3,0.25)"/><line x1="180" y1="400" x2="180" y2="600" stroke="rgba(118,255,3,0.4)" stroke-width="3"/><rect x="230" y="350" width="20" height="230" fill="rgba(118,255,3,0.25)"/><line x1="240" y1="320" x2="240" y2="600" stroke="rgba(118,255,3,0.4)" stroke-width="3"/><rect x="290" y="400" width="20" height="180" fill="rgba(118,255,3,0.25)"/><line x1="300" y1="380" x2="300" y2="600" stroke="rgba(118,255,3,0.4)" stroke-width="3"/><rect x="350" y="300" width="20" height="270" fill="rgba(118,255,3,0.25)"/><line x1="360" y1="270" x2="360" y2="590" stroke="rgba(118,255,3,0.4)" stroke-width="3"/><rect x="410" y="340" width="20" height="230" fill="rgba(118,255,3,0.25)"/><line x1="420" y1="310" x2="420" y2="580" stroke="rgba(118,255,3,0.4)" stroke-width="3"/><rect x="470" y="280" width="20" height="260" fill="rgba(118,255,3,0.25)"/><line x1="480" y1="250" x2="480" y2="560" stroke="rgba(118,255,3,0.4)" stroke-width="3"/><rect x="530" y="320" width="20" height="220" fill="rgba(118,255,3,0.25)"/><line x1="540" y1="290" x2="540" y2="560" stroke="rgba(118,255,3,0.4)" stroke-width="3"/><rect x="590" y="300" width="20" height="230" fill="rgba(118,255,3,0.25)"/><line x1="600" y1="270" x2="600" y2="550" stroke="rgba(118,255,3,0.4)" stroke-width="3"/><rect x="650" y="260" width="20" height="260" fill="rgba(118,255,3,0.25)"/><line x1="660" y1="230" x2="660" y2="540" stroke="rgba(118,255,3,0.4)" stroke-width="3"/><rect x="710" y="240" width="20" height="270" fill="rgba(118,255,3,0.25)"/><line x1="720" y1="210" x2="720" y2="530" stroke="rgba(118,255,3,0.4)" stroke-width="3"/><rect x="770" y="280" width="20" height="220" fill="rgba(118,255,3,0.25)"/><line x1="780" y1="250" x2="780" y2="520" stroke="rgba(118,255,3,0.4)" stroke-width="3"/><rect x="830" y="320" width="20" height="180" fill="rgba(118,255,3,0.25)"/><line x1="840" y1="290" x2="840" y2="520" stroke="rgba(118,255,3,0.4)" stroke-width="3"/><rect x="890" y="300" width="20" height="200" fill="rgba(118,255,3,0.25)"/><line x1="900" y1="270" x2="900" y2="520" stroke="rgba(118,255,3,0.4)" stroke-width="3"/><rect x="950" y="260" width="20" height="230" fill="rgba(118,255,3,0.25)"/><line x1="960" y1="230" x2="960" y2="510" stroke="rgba(118,255,3,0.4)" stroke-width="3"/><rect x="1010" y="240" width="20" height="240" fill="rgba(118,255,3,0.25)"/><line x1="1020" y1="210" x2="1020" y2="500" stroke="rgba(118,255,3,0.4)" stroke-width="3"/><rect x="1070" y="280" width="20" height="200" fill="rgba(118,255,3,0.25)"/><line x1="1080" y1="250" x2="1080" y2="500" stroke="rgba(118,255,3,0.4)" stroke-width="3"/><rect x="1130" y="310" width="20" height="170" fill="rgba(118,255,3,0.25)"/><line x1="1140" y1="280" x2="1140" y2="500" stroke="rgba(118,255,3,0.4)" stroke-width="3"/><rect x="1190" y="290" width="20" height="190" fill="rgba(118,255,3,0.25)"/><line x1="1200" y1="260" x2="1200" y2="500" stroke="rgba(118,255,3,0.4)" stroke-width="3"/><rect x="1250" y="270" width="20" height="210" fill="rgba(118,255,3,0.25)"/><line x1="1260" y1="240" x2="1260" y2="500" stroke="rgba(118,255,3,0.4)" stroke-width="3"/><rect x="1310" y="250" width="20" height="220" fill="rgba(118,255,3,0.25)"/><line x1="1320" y1="220" x2="1320" y2="490" stroke="rgba(118,255,3,0.4)" stroke-width="3"/><rect x="1370" y="230" width="20" height="240" fill="rgba(118,255,3,0.25)"/><line x1="1380" y1="200" x2="1380" y2="490" stroke="rgba(118,255,3,0.4)" stroke-width="3"/><rect x="1430" y="260" width="20" height="210" fill="rgba(118,255,3,0.25)"/><line x1="1440" y1="230" x2="1440" y2="490" stroke="rgba(118,255,3,0.4)" stroke-width="3"/><rect x="1490" y="290" width="20" height="180" fill="rgba(118,255,3,0.25)"/><line x1="1500" y1="260" x2="1500" y2="490" stroke="rgba(118,255,3,0.4)" stroke-width="3"/><rect x="1550" y="310" width="20" height="160" fill="rgba(118,255,3,0.25)"/><line x1="1560" y1="280" x2="1560" y2="490" stroke="rgba(118,255,3,0.4)" stroke-width="3"/><rect x="1610" y="330" width="20" height="140" fill="rgba(118,255,3,0.25)"/><line x1="1620" y1="300" x2="1620" y2="490" stroke="rgba(118,255,3,0.4)" stroke-width="3"/><rect x="1670" y="350" width="20" height="120" fill="rgba(118,255,3,0.25)"/><line x1="1680" y1="320" x2="1680" y2="490" stroke="rgba(118,255,3,0.4)" stroke-width="3"/><rect x="1730" y="370" width="20" height="100" fill="rgba(118,255,3,0.25)"/><line x1="1740" y1="340" x2="1740" y2="490" stroke="rgba(118,255,3,0.4)" stroke-width="3"/><rect x="1790" y="390" width="20" height="80" fill="rgba(118,255,3,0.25)"/><line x1="1800" y1="360" x2="1800" y2="490" stroke="rgba(118,255,3,0.4)" stroke-width="3"/><polyline points="60,550 120,480 180,510 240,450 300,490 360,420 420,460 480,390 540,430 600,410 660,370 720,350 780,390 840,410 900,390 960,360 1020,340 1080,380 1140,400 1200,380 1260,370 1320,360 1380,340 1440,370 1500,390 1560,400 1620,420 1680,440 1740,460 1800,430" fill="none" stroke="rgba(118,255,3,0.7)" stroke-width="4"/></g></svg>');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    opacity: 0.5;
}

.hero-bg::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: 
        linear-gradient(180deg, transparent 0%, rgba(10, 10, 10, 0.7) 70%, var(--dark-bg) 100%),
        repeating-linear-gradient(0deg, rgba(255,255,255,0.02) 0px, transparent 1px, transparent 2px, rgba(255,255,255,0.02) 3px),
        repeating-linear-gradient(90deg, rgba(255,255,255,0.02) 0px, transparent 1px, transparent 2px, rgba(255,255,255,0.02) 3px);
}

.hero-content {
    position: relative;
    z-index: 1;
}

.hero-title {
    font-size: 72px;
    font-weight: 800;
    margin-bottom: 24px;
    letter-spacing: 2px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
}

.title-main {
    display: block;
}

.title-sub {
    display: block;
    color: var(--text-secondary);
}

.hero-subtitle {
    font-size: 20px;
    color: var(--text-secondary);
    margin-bottom: 48px;
    line-height: 1.8;
}

.hero-buttons {
    display: flex;
    gap: 16px;
    justify-content: center;
    margin-bottom: 32px;
    flex-wrap: wrap;
}

.btn {
    padding: 16px 40px;
    font-size: 16px;
    font-weight: 700;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.3s ease;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    text-decoration: none;
    display: inline-block;
    text-align: center;
}

.btn-primary {
    background: var(--primary-green);
    color: var(--dark-bg);
}

.btn-primary:hover {
    background: #8fff33;
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(118, 255, 3, 0.3);
}

.btn-secondary {
    background: transparent;
    color: var(--text-primary);
    border: 2px solid var(--card-border);
}

.btn-secondary:hover {
    background: rgba(255, 255, 255, 0.05);
    border-color: var(--text-secondary);
}

.btn-outline {
    background: transparent;
    color: var(--text-primary);
    border: 2px solid var(--card-border);
    padding: 14px 32px;
}

.btn-outline:hover {
    background: rgba(255, 255, 255, 0.05);
    border-color: var(--text-secondary);
}

.hero-features {
    display: flex;
    gap: 16px;
    justify-content: center;
    color: var(--text-muted);
    font-size: 14px;
    flex-wrap: wrap;
}

/* Features Section */
.features {
    padding: 120px 0;
    background: var(--darker-bg);
}

.section-title {
    text-align: center;
    font-size: 42px;
    font-weight: 700;
    margin-bottom: 64px;
}

.features-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 32px;
}

.feature-card {
    background: var(--card-bg);
    border: 1px solid var(--card-border);
    border-radius: 16px;
    overflow: hidden;
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
}

.feature-card:hover {
    transform: translateY(-8px);
    border-color: rgba(118, 255, 3, 0.3);
    box-shadow: 0 16px 48px rgba(0, 0, 0, 0.4);
}

.feature-image {
    width: 100%;
    height: auto;
    background: var(--card-bg);
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
    flex: 1;
}

.feature-image::before {
    display: none;
}

.feature-image img {
    width: 100%;
    height: auto;
    display: block;
    position: relative;
    z-index: 1;
}

.feature-title {
    padding: 20px 24px;
    font-size: 18px;
    font-weight: 600;
    text-align: center;
    background: var(--card-bg);
    border-top: 1px solid var(--card-border);
}

/* Plans Section */
.plans {
    padding: 120px 0;
    background: var(--dark-bg);
}

.plans-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(380px, 1fr));
    gap: 32px;
    max-width: 900px;
    margin: 0 auto;
}

.plan-card {
    background: var(--card-bg);
    border: 1px solid var(--card-border);
    border-radius: 16px;
    padding: 40px;
    transition: all 0.3s ease;
}

.plan-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 16px 48px rgba(0, 0, 0, 0.4);
}

.plan-vip {
    border: 2px solid var(--primary-green);
    position: relative;
    background: linear-gradient(135deg, rgba(118, 255, 3, 0.05) 0%, var(--card-bg) 100%);
}

.plan-vip::before {
    content: '';
    position: absolute;
    top: -2px;
    left: -2px;
    right: -2px;
    bottom: -2px;
    background: linear-gradient(135deg, var(--primary-green), transparent);
    border-radius: 16px;
    z-index: -1;
    opacity: 0.3;
}

.plan-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 24px;
}

.plan-name {
    font-size: 32px;
    font-weight: 800;
    letter-spacing: 1px;
}

.plan-badge {
    padding: 6px 16px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
}

.plan-badge-premium {
    background: var(--primary-green);
    color: var(--dark-bg);
}

.plan-price {
    margin-bottom: 16px;
    display: flex;
    align-items: flex-start;
    gap: 4px;
}

.price-currency {
    font-size: 24px;
    font-weight: 600;
    margin-top: 8px;
}

.price-value {
    font-size: 72px;
    font-weight: 800;
    line-height: 1;
}

.price-period {
    font-size: 18px;
    color: var(--text-secondary);
    margin-top: 28px;
}

.plan-upgrade {
    color: var(--text-muted);
    font-size: 14px;
    margin-bottom: 32px;
}

.plan-features {
    list-style: none;
    margin-bottom: 32px;
}

.plan-features li {
    padding: 12px 0;
    font-size: 16px;
    color: var(--text-secondary);
    border-bottom: 1px solid var(--card-border);
}

.plan-features li:last-child {
    border-bottom: none;
}

.plan-card .btn {
    width: 100%;
}

/* Benefits Section */
.benefits {
    padding: 120px 0;
    background: var(--darker-bg);
}

.benefits-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 32px;
}

.benefit-card {
    display: flex;
    align-items: center;
    gap: 24px;
    padding: 32px;
    background: var(--card-bg);
    border: 1px solid var(--card-border);
    border-radius: 16px;
    transition: all 0.3s ease;
}

.benefit-card:hover {
    border-color: rgba(118, 255, 3, 0.3);
    transform: translateY(-4px);
}

.benefit-icon {
    width: 64px;
    height: 64px;
    color: var(--primary-green);
    flex-shrink: 0;
}

.benefit-content {
    flex: 1;
}

.benefit-title {
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 8px;
}

.benefit-desc {
    color: var(--text-muted);
    font-size: 14px;
}

/* Final CTA Section */
.final-cta {
    padding: 120px 0;
    background: var(--dark-bg);
    text-align: center;
}

.cta-title {
    font-size: 42px;
    font-weight: 700;
    margin-bottom: 48px;
}

.cta-buttons {
    display: flex;
    gap: 16px;
    justify-content: center;
    flex-wrap: wrap;
}

/* Footer */
.footer {
    padding: 48px 0;
    background: var(--darker-bg);
    border-top: 1px solid var(--card-border);
}

.footer .container {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px;
}

.footer-brand {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
}

.footer-logo {
    font-size: 24px;
    font-weight: 800;
    letter-spacing: 1px;
}

.footer-logo-sub {
    font-size: 18px;
    color: var(--text-secondary);
    font-weight: 600;
}

.footer-links {
    display: flex;
    gap: 16px;
    align-items: center;
}

.footer-links a {
    color: var(--text-secondary);
    text-decoration: none;
    transition: color 0.3s ease;
}

.footer-links a:hover {
    color: var(--primary-green);
}

.footer-links span {
    color: var(--text-muted);
}

/* Responsive */
@media (max-width: 768px) {
    .hero-title {
        font-size: 48px;
    }
    
    .hero-subtitle {
        font-size: 16px;
    }
    
    .section-title {
        font-size: 32px;
    }
    
    .cta-title {
        font-size: 32px;
    }
    
    .features-grid,
    .plans-grid,
    .benefits-grid {
        grid-template-columns: 1fr;
    }
    
    .hero-buttons,
    .cta-buttons {
        flex-direction: column;
        width: 100%;
    }
    
    .btn {
        width: 100%;
    }
    
    .benefit-card {
        flex-direction: column;
        text-align: center;
    }
    
    .price-value {
        font-size: 56px;
    }
}

@media (max-width: 480px) {
    .hero-title {
        font-size: 36px;
    }
    
    .section-title {
        font-size: 28px;
    }
    
    .plan-name {
        font-size: 24px;
    }
    
    .container {
        padding: 0 16px;
    }
}
