:root{
    --bg:#050a14;
    --card:#0b111c;
    --card-border:rgba(255,255,255,.07);
    --red:#e31818;
    --red-glow:rgba(227,24,24,.45);
    --blue:#1a8cff;
    --blue-glow:rgba(26,140,255,.35);
    --green:#22c55e;
    --orange:#f59e0b;
    --text:#f0f4fa;
    --muted:#8b97a8;
    --nav-h:76px;
    --font-primary:'Poppins',system-ui,sans-serif;
    --section-y:32px;
    --page-x:32px;
}

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

body{
    background:var(--bg);
    color:var(--text);
    font-family:var(--font-primary);
    overflow-x:hidden;
}

button,
input,
textarea,
select{
    font-family:inherit;
}

a{color:inherit}

.container{
    max-width:1320px;
    margin:0 auto;
    padding-left:var(--page-x);
    padding-right:var(--page-x);
}

.icon{
    width:18px;
    height:18px;
    flex-shrink:0;
    fill:none;
    stroke:currentColor;
}

.icon--fill{fill:currentColor;stroke:none}


.btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    height:42px;
    padding:0 20px;
    border-radius:10px;
    font-family:var(--font-primary);
    font-size:12px;
    font-weight:700;
    letter-spacing:.06em;
    text-decoration:none;
    border:1px solid transparent;
    cursor:pointer;
    white-space:nowrap;
}

.btn-red{
    background:var(--red);
    color:#fff;
    border-color:transparent;
    box-shadow:0 4px 24px var(--red-glow);
    transition:transform .35s cubic-bezier(.34,1.4,.64,1),box-shadow .35s ease;
}

.btn.btn-neon,
a.btn.btn-neon{
    background:rgba(2,10,28,.92);
    color:#fff;
    border:1px solid #4da8ff;
    overflow:hidden;
    box-shadow:
        inset 0 0 18px rgba(41,151,255,.55),
        inset 0 0 36px rgba(41,151,255,.32),
        inset 0 0 56px rgba(26,120,220,.18),
        inset 0 1px 0 rgba(140,200,255,.2);
    transition:
        transform .4s cubic-bezier(.34,1.45,.64,1),
        box-shadow .4s ease,
        border-color .4s ease,
        background .4s ease;
}

.btn.btn-neon:hover,
a.btn.btn-neon:hover{
    border-color:#8ec8ff;
    background:rgba(4,14,38,.96);
    transform:translateY(-4px);
    animation:neon-glow-pulse 1.25s ease-in-out infinite;
}

.hero-buttons .btn-red:hover{
    transform:translateY(-4px);
    animation:hero-red-pulse 1.5s ease-in-out infinite;
}

@keyframes neon-glow-pulse{
    0%,100%{
        box-shadow:
            inset 0 0 22px rgba(80,185,255,.65),
            inset 0 0 42px rgba(41,151,255,.4),
            inset 0 0 64px rgba(26,120,220,.22),
            inset 0 1px 0 rgba(160,215,255,.25);
    }
    50%{
        box-shadow:
            inset 0 0 30px rgba(120,205,255,.9),
            inset 0 0 54px rgba(41,151,255,.58),
            inset 0 0 78px rgba(26,120,220,.32),
            inset 0 1px 0 rgba(200,230,255,.35);
    }
}

@keyframes hero-red-pulse{
    0%,100%{box-shadow:0 6px 28px rgba(227,24,24,.55)}
    50%{box-shadow:0 10px 40px rgba(255,70,70,.85),0 0 56px rgba(227,24,24,.45)}
}