:root{
    --pt-bg:#050b14;
    --pt-bg-soft:#08121f;
    --pt-panel:rgba(11,21,34,.82);
    --pt-panel-strong:#0b1522;
    --pt-border:rgba(92,156,255,.22);
    --pt-border-soft:rgba(255,255,255,.08);
    --pt-text:#f5f8ff;
    --pt-muted:#9ca9bc;
    --pt-blue:#2956ff;
    --pt-cyan:#18f1df;
    --pt-green:#18e6a6;
    --pt-yellow:#f7c846;
}

html{
    font-size:100%;
}

@media(min-width:1280px){
    html{font-size:17px;}
}

@media(min-width:1600px){
    html{font-size:18px;}
}

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

.bg{
    background:
        radial-gradient(circle at 82% 12%,rgba(41,86,255,.12),transparent 30%),
        radial-gradient(circle at 18% 28%,rgba(24,241,223,.06),transparent 26%),
        var(--pt-bg);
}

.grid{
    background-image:
        linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),
        linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
    background-size:64px 64px;
    background-repeat:repeat;
    opacity:.16;
}

.navbar{
    position:sticky;
    top:0;
    background:rgba(5,11,20,.86);
    border-bottom:1px solid rgba(92,156,255,.13);
}

.nav-inner{
    max-width:1540px;
    min-height:86px;
    padding:16px 34px;
}

.logo{
    display:block;
    width:245px;
    flex:0 0 auto;
    line-height:0;
}

.logo img{
    display:block;
    width:100%;
    height:auto;
}

.nav-text-link{
    color:#c7d2e4;
    font-size:14px;
    font-weight:700;
    transition:color .2s ease;
}

.nav-text-link:hover{
    color:var(--pt-cyan);
}

.btn{
    min-height:2.9rem;
    padding:.75rem 1.25rem;
    border-radius:.75rem;
    letter-spacing:0;
}

.btn-primary{
    background:linear-gradient(110deg,var(--pt-blue),#235fff 52%,var(--pt-cyan));
    box-shadow:0 14px 38px rgba(41,86,255,.25);
}

.btn-secondary{
    background:rgba(8,18,31,.72);
    border:1px solid rgba(159,178,207,.28);
}

.glass{
    background:var(--pt-panel);
    border:1px solid var(--pt-border-soft);
    border-radius:16px;
    box-shadow:0 18px 60px rgba(0,0,0,.2);
}

.footer{
    border-top:1px solid rgba(92,156,255,.12);
    background:rgba(5,11,20,.72);
}

.legal-card h2,
.offer-card h2{
    color:var(--pt-cyan);
}

@media(max-width:980px){
    .nav-text-link{
        display:none;
    }
}

@media(max-width:1100px){
    .logo{
        width:220px;
    }
}

@media(max-width:768px){
    .nav-inner{
        min-height:auto;
        padding:14px 18px;
    }

    .logo{
        width:220px;
    }
}
