:root {
        --bg: #09090b;
        --surface: #111118;
        --surface2: #1a1a2e;
        --border: #2a2a40;
        --text: #f0f0f5;
        --dim: #8888aa;
        --accent: #22d3ee;
        --accent2: #06b6d4;
        --gradient: linear-gradient(135deg, #06b6d4, #8b5cf6);
        --gradient2: linear-gradient(135deg, #8b5cf6, #ec4899);
        --success: #34d399;
        --radius: 16px
}

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

body {
        font-family: 'Inter', system-ui, sans-serif;
        background: var(--bg);
        color: var(--text);
        overflow-x: hidden
}

a {
        color: var(--accent);
        text-decoration: none
}

/* Nav */
.nav {
        position: fixed;
        top: 0;
        width: 100%;
        z-index: 100;
        padding: 16px 40px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        background: rgba(9, 9, 11, .8);
        backdrop-filter: blur(20px);
        border-bottom: 1px solid rgba(42, 42, 64, .5);
        transition: all .3s
}

.nav-logo {
        font-size: 20px;
        font-weight: 700;
        background: var(--gradient);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent
}

.nav-links {
        display: flex;
        gap: 28px;
        align-items: center
}

.nav-links a {
        color: var(--dim);
        font-size: 14px;
        font-weight: 500;
        transition: color .3s
}

.nav-links a:hover {
        color: var(--text)
}

.btn {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        padding: 12px 28px;
        border-radius: 10px;
        font-size: 14px;
        font-weight: 600;
        border: none;
        cursor: pointer;
        transition: all .3s
}

.btn-primary {
        background: var(--gradient);
        color: white;
        box-shadow: 0 4px 20px rgba(6, 182, 212, .3)
}

.btn-primary:hover {
        transform: translateY(-2px);
        box-shadow: 0 8px 30px rgba(6, 182, 212, .4)
}

.btn-outline {
        border: 1px solid var(--border);
        background: transparent;
        color: var(--text)
}

.btn-outline:hover {
        border-color: var(--accent);
        background: rgba(34, 211, 238, .05)
}

.btn-sm {
        padding: 8px 20px;
        font-size: 13px
}

/* Hero */
.hero {
        min-height: 100vh;
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;
        padding: 120px 40px 80px;
        position: relative;
        overflow: hidden
}

.hero::before {
        content: '';
        position: absolute;
        top: -200px;
        left: 50%;
        transform: translateX(-50%);
        width: 800px;
        height: 800px;
        background: radial-gradient(circle, rgba(6, 182, 212, .12) 0%, transparent 70%);
        pointer-events: none
}

.hero-badge {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        padding: 8px 20px;
        border-radius: 50px;
        background: rgba(139, 92, 250, .1);
        border: 1px solid rgba(139, 92, 250, .3);
        font-size: 13px;
        color: #a78bfa;
        margin-bottom: 24px;
        font-weight: 500
}

.hero h1 {
        font-size: clamp(36px, 5vw, 64px);
        font-weight: 800;
        line-height: 1.1;
        margin-bottom: 20px;
        max-width: 900px
}

.hero h1 .gradient {
        background: var(--gradient);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent
}

.hero p {
        font-size: 18px;
        color: var(--dim);
        max-width: 640px;
        margin: 0 auto 36px;
        line-height: 1.6
}

.hero-cta {
        display: flex;
        gap: 16px;
        justify-content: center;
        flex-wrap: wrap
}

.hero-stats {
        display: flex;
        gap: 48px;
        justify-content: center;
        margin-top: 60px;
        flex-wrap: wrap
}

.hero-stat {
        text-align: center
}

.hero-stat .num {
        font-size: 36px;
        font-weight: 700;
        background: var(--gradient);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent
}

.hero-stat .label {
        font-size: 13px;
        color: var(--dim);
        margin-top: 4px
}

/* Section */
section {
        padding: 100px 40px
}

.section-center {
        max-width: 1100px;
        margin: 0 auto
}

.section-badge {
        display: inline-flex;
        padding: 6px 16px;
        border-radius: 50px;
        font-size: 12px;
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: 1px;
        margin-bottom: 16px
}

.section-title {
        font-size: clamp(28px, 3.5vw, 44px);
        font-weight: 700;
        line-height: 1.2;
        margin-bottom: 16px
}

.section-sub {
        font-size: 16px;
        color: var(--dim);
        max-width: 600px;
        line-height: 1.6
}

/* Feature Grid */
.features-grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 24px;
        margin-top: 60px
}

.feature-card {
        background: var(--surface);
        border: 1px solid var(--border);
        border-radius: var(--radius);
        padding: 32px;
        transition: all .4s
}

.feature-card:hover {
        border-color: var(--accent);
        transform: translateY(-4px);
        box-shadow: 0 12px 40px rgba(6, 182, 212, .08)
}

.feature-icon {
        width: 48px;
        height: 48px;
        border-radius: 12px;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 22px;
        margin-bottom: 16px
}

.feature-card h3 {
        font-size: 17px;
        font-weight: 600;
        margin-bottom: 8px
}

.feature-card p {
        font-size: 14px;
        color: var(--dim);
        line-height: 1.5
}

.ic-blue {
        background: rgba(6, 182, 212, .12)
}

.ic-purple {
        background: rgba(139, 92, 250, .12)
}

.ic-pink {
        background: rgba(236, 72, 153, .12)
}

.ic-green {
        background: rgba(52, 211, 153, .12)
}

.ic-amber {
        background: rgba(251, 191, 36, .12)
}

.ic-red {
        background: rgba(244, 63, 94, .12)
}

/* Comparison */
.compare-section {
        background: var(--surface)
}

.compare-table {
        width: 100%;
        border-collapse: separate;
        border-spacing: 0;
        margin-top: 40px;
        border-radius: var(--radius);
        overflow: hidden;
        border: 1px solid var(--border)
}

.compare-table th,
.compare-table td {
        padding: 16px 24px;
        text-align: left;
        font-size: 14px;
        border-bottom: 1px solid var(--border)
}

.compare-table thead th {
        background: var(--surface2);
        font-weight: 600;
        font-size: 13px;
        text-transform: uppercase;
        letter-spacing: .5px;
        color: var(--dim)
}

.compare-table thead th:first-child {
        color: var(--text)
}

.compare-table .col-trc {
        color: var(--accent);
        font-weight: 600
}

.compare-table .col-sell {
        color: var(--dim)
}

.compare-table .col-sf {
        color: var(--dim)
}

.compare-table .check {
        color: var(--success)
}

.compare-table .cross {
        color: #f43f5e;
        opacity: .5
}

.compare-table tbody tr:hover {
        background: rgba(34, 211, 238, .03)
}

/* Pricing */
.pricing-grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 24px;
        margin-top: 48px
}

.price-card {
        background: var(--surface);
        border: 1px solid var(--border);
        border-radius: var(--radius);
        padding: 36px;
        text-align: center;
        transition: all .3s
}

.price-card.featured {
        border-color: var(--accent);
        box-shadow: 0 0 40px rgba(6, 182, 212, .12);
        position: relative
}

.price-card.featured::before {
        content: 'MOST POPULAR';
        position: absolute;
        top: -12px;
        left: 50%;
        transform: translateX(-50%);
        padding: 4px 16px;
        border-radius: 50px;
        background: var(--gradient);
        font-size: 11px;
        font-weight: 700;
        letter-spacing: 1px;
        color: white
}

.price-card h3 {
        font-size: 18px;
        font-weight: 600;
        margin-bottom: 4px
}

.price-card .price {
        font-size: 36px;
        font-weight: 700;
        margin: 16px 0 4px
}

.price-card .price span {
        font-size: 14px;
        font-weight: 400;
        color: var(--dim)
}

.price-card .note {
        font-size: 12px;
        color: var(--dim);
        margin-bottom: 20px
}

.price-card ul {
        list-style: none;
        text-align: left;
        margin-bottom: 28px
}

.price-card li {
        padding: 8px 0;
        font-size: 13px;
        color: var(--dim);
        border-bottom: 1px solid rgba(42, 42, 64, .5);
        display: flex;
        align-items: center;
        gap: 8px
}

.price-card li::before {
        content: '✓';
        color: var(--success);
        font-weight: 700
}

/* Testimonial */
.testimonial-strip {
        display: flex;
        gap: 24px;
        margin-top: 48px;
        overflow-x: auto;
        padding-bottom: 16px;
        scroll-snap-type: x mandatory
}

.testimonial-card {
        min-width: 340px;
        background: var(--surface);
        border: 1px solid var(--border);
        border-radius: var(--radius);
        padding: 28px;
        scroll-snap-align: start
}

.testimonial-card .quote {
        font-size: 14px;
        color: var(--dim);
        line-height: 1.6;
        font-style: italic;
        margin-bottom: 16px
}

.testimonial-card .author {
        font-size: 13px;
        font-weight: 600
}

.testimonial-card .role {
        font-size: 12px;
        color: var(--dim)
}

/* CTA */
.cta-section {
        text-align: center;
        position: relative
}

.cta-section::before {
        content: '';
        position: absolute;
        top: 0;
        left: 50%;
        transform: translateX(-50%);
        width: 100%;
        height: 100%;
        background: radial-gradient(ellipse at center, rgba(139, 92, 250, .08) 0%, transparent 60%);
        pointer-events: none
}

.cta-box {
        background: var(--surface);
        border: 1px solid var(--border);
        border-radius: 24px;
        padding: 64px 40px;
        max-width: 800px;
        margin: 0 auto
}

/* Footer */
.footer {
        background: var(--surface);
        border-top: 1px solid var(--border);
        padding: 60px 40px 30px
}

.footer-grid {
        max-width: 1100px;
        margin: 0 auto;
        display: grid;
        grid-template-columns: 2fr 1fr 1fr 1fr;
        gap: 40px
}

.footer h4 {
        font-size: 14px;
        font-weight: 600;
        margin-bottom: 16px;
        color: var(--text)
}

.footer a {
        display: block;
        color: var(--dim);
        font-size: 13px;
        margin-bottom: 10px;
        transition: color .3s
}

.footer a:hover {
        color: var(--accent)
}

.footer-bottom {
        max-width: 1100px;
        margin: 30px auto 0;
        padding-top: 20px;
        border-top: 1px solid var(--border);
        display: flex;
        justify-content: space-between;
        font-size: 12px;
        color: var(--dim)
}

@media(max-width:900px) {

        .features-grid,
        .pricing-grid {
                grid-template-columns: 1fr
        }

        .footer-grid {
                grid-template-columns: 1fr 1fr
        }

        .nav-links {
                display: none
        }
}

@media(max-width:600px) {
        .hero-stats {
                gap: 24px
        }

        .compare-table {
                font-size: 12px
        }

        .compare-table th,
        .compare-table td {
                padding: 10px 12px
        }
}