*{
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
    scroll-padding-top:90px;
}

body{
    margin:0;
    padding:0;
    font-family:
        Arial,
        Helvetica,
        sans-serif;
    background:#f5f8fc;
    color:#26384d;
    line-height:1.7;
}

body.menu-open{
    overflow:hidden;
}

img{
    max-width:100%;
    height:auto;
}

a{
    text-decoration:none;
    color:inherit;
}

button,
a{
    -webkit-tap-highlight-color:transparent;
}

button{
    font-family:inherit;
}

.site-wrapper{
    width:100%;
    min-height:100vh;
    overflow:hidden;
}


/* =====================================================
   COLOR VARIABLES
===================================================== */

:root{

    --primary:#063866;
    --primary-dark:#031d38;
    --primary-light:#eaf3fb;

    --navy:#062b52;
    --navy-dark:#031b35;
    --navy-soft:#0b467d;

    --orange:#f58200;
    --orange-dark:#d96600;
    --orange-light:#fff2e4;

    --gold:#ffb000;
    --gold-light:#fff8df;

    --blue:#0877b5;
    --blue-light:#eef7fc;

    --green:#2f9e55;
    --green-light:#edf9f1;

    --red:#d9534f;
    --red-light:#fff0ef;

    --dark:#1c2d40;
    --text:#526274;
    --muted:#7b8794;

    --white:#ffffff;
    --light:#f5f8fc;

    --border:#e2e9f0;
    --border-light:#edf1f5;

    --gradient-primary:
        linear-gradient(
            135deg,
            #031b35,
            #063866
        );

    --gradient-orange:
        linear-gradient(
            135deg,
            #f58200,
            #ffb000
        );

    --gradient-brand:
        linear-gradient(
            90deg,
            #063866,
            #0877b5,
            #f58200,
            #ffb000
        );

    --gradient-soft:
        linear-gradient(
            135deg,
            #eef5fb,
            #fff7ec
        );

    --shadow-soft:
        0 8px 30px rgba(3,29,56,.07);

    --shadow-card:
        0 10px 35px rgba(3,29,56,.08);

    --shadow-primary:
        0 10px 25px rgba(6,56,102,.22);

    --shadow-orange:
        0 10px 25px rgba(245,130,0,.22);

    --radius-card:22px;
    --radius-button:13px;
    --radius-small:10px;
}


/* =====================================================
   HEADER
===================================================== */

.header{
    position:sticky;
    top:0;
    left:0;
    width:100%;
    z-index:9999;

    background:
        rgba(255,255,255,.97);

    border-bottom:
        1px solid var(--border);

    box-shadow:
        0 4px 18px rgba(3,29,56,.06);

    backdrop-filter:blur(12px);
}

.header-inner{
    width:100%;
    max-width:1240px;
    min-height:76px;
    margin:0 auto;

    padding:
        10px 22px;

    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:25px;
}


/* =====================================================
   LOGO
===================================================== */

.logo{
    display:flex;
    align-items:center;
    gap:11px;

    flex-shrink:0;

    font-size:24px;
    font-weight:800;

    color:var(--navy);

    letter-spacing:-.5px;
}

.logo img{
    width:50px;
    height:50px;

    object-fit:contain;

    border-radius:10px;
}

.logo span{
    background:
        linear-gradient(
            90deg,
            #063866,
            #f58200
        );

    -webkit-background-clip:text;
    background-clip:text;

    -webkit-text-fill-color:transparent;
}


/* =====================================================
   NAVIGATION
===================================================== */

.nav{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:4px;
}

.nav a{
    position:relative;

    padding:
        10px 12px;

    font-size:14px;
    font-weight:600;

    color:#34485c;

    border-radius:9px;

    transition:
        color .25s ease,
        background .25s ease,
        transform .25s ease;
}

.nav a:hover{
    color:var(--orange-dark);

    background:
        var(--orange-light);

    transform:translateY(-1px);
}

.nav a.active{
    color:var(--orange-dark);

    background:
        var(--orange-light);
}

.nav a.active::after{
    content:"";

    position:absolute;

    left:14px;
    right:14px;
    bottom:3px;

    height:2px;

    background:
        var(--gradient-orange);

    border-radius:20px;
}


/* =====================================================
   MOBILE MENU BUTTON
===================================================== */

.menu-toggle{
    display:none;

    width:45px;
    height:45px;

    border:1px solid var(--border);

    border-radius:11px;

    background:#ffffff;

    color:var(--navy);

    font-size:23px;

    cursor:pointer;

    align-items:center;
    justify-content:center;

    transition:
        background .25s ease,
        color .25s ease,
        transform .25s ease;
}

.menu-toggle:hover{
    background:var(--orange-light);
    color:var(--orange-dark);
}

.menu-close{
    display:none;
}


/* =====================================================
   HERO
===================================================== */

.hero{
    position:relative;

    width:100%;

    padding:
        75px 20px 85px;

    background:
        radial-gradient(
            circle at 15% 20%,
            rgba(245,130,0,.18),
            transparent 30%
        ),
        radial-gradient(
            circle at 85% 75%,
            rgba(8,119,181,.16),
            transparent 32%
        ),
        linear-gradient(
            135deg,
            #031b35 0%,
            #063866 55%,
            #0a4b82 100%
        );

    overflow:hidden;
}

.hero::before{
    content:"";

    position:absolute;

    width:420px;
    height:420px;

    right:-170px;
    top:-180px;

    border-radius:50%;

    border:
        1px solid rgba(255,255,255,.10);

    box-shadow:
        0 0 0 35px rgba(255,255,255,.025),
        0 0 0 70px rgba(255,255,255,.018);
}

.hero::after{
    content:"";

    position:absolute;

    width:300px;
    height:300px;

    left:-170px;
    bottom:-170px;

    border-radius:50%;

    background:
        rgba(245,130,0,.08);
}

.hero-content{
    position:relative;
    z-index:2;

    max-width:1050px;

    margin:0 auto;

    text-align:center;
}


/* =====================================================
   HERO LOGO
===================================================== */

.hero-logo{
    display:block;

    width:
        min(260px,70vw);

    max-height:230px;

    object-fit:contain;

    margin:
        0 auto 24px;

    filter:
        drop-shadow(
            0 12px 25px rgba(0,0,0,.25)
        );

    background:#ffffff;

    border-radius:22px;

    padding:10px;
}


/* =====================================================
   HERO TEXT
===================================================== */

.hero h1{
    max-width:950px;

    margin:
        0 auto 18px;

    color:#ffffff;

    font-size:
        clamp(30px,5vw,54px);

    line-height:1.15;

    font-weight:800;

    letter-spacing:-1px;
}

.hero p{
    max-width:850px;

    margin:
        0 auto 25px;

    color:
        rgba(255,255,255,.88);

    font-size:
        clamp(16px,2vw,19px);

    line-height:1.75;
}


/* =====================================================
   TAGS
===================================================== */

.tags{
    display:flex;

    flex-wrap:wrap;

    align-items:center;
    justify-content:center;

    gap:9px;

    margin:
        22px auto 28px;
}

.tags span{
    display:inline-flex;

    align-items:center;
    justify-content:center;

    min-height:34px;

    padding:
        6px 13px;

    border:
        1px solid rgba(255,255,255,.20);

    border-radius:50px;

    background:
        rgba(255,255,255,.09);

    color:#ffffff;

    font-size:13px;
    font-weight:600;

    backdrop-filter:blur(8px);
}


/* =====================================================
   HERO BUTTONS
===================================================== */

.hero-buttons{
    display:flex;

    flex-wrap:wrap;

    align-items:center;
    justify-content:center;

    gap:12px;

    margin-top:25px;
}


/* =====================================================
   BUTTONS
===================================================== */

.btn{
    display:inline-flex;

    align-items:center;
    justify-content:center;

    min-height:48px;

    padding:
        11px 19px;

    border-radius:
        var(--radius-button);

    font-size:14px;
    font-weight:700;

    cursor:pointer;

    border:1px solid transparent;

    transition:
        transform .25s ease,
        box-shadow .25s ease,
        background .25s ease,
        border-color .25s ease;

    white-space:nowrap;
}

.btn:hover{
    transform:translateY(-2px);
}

.btn-primary{
    color:#ffffff;

    background:
        var(--gradient-orange);

    box-shadow:
        var(--shadow-orange);
}

.btn-primary:hover{
    box-shadow:
        0 14px 30px rgba(245,130,0,.30);
}

.btn-outline{
    color:var(--navy);

    background:#ffffff;

    border-color:
        rgba(255,255,255,.85);

    box-shadow:
        0 7px 20px rgba(0,0,0,.10);
}

.btn-outline:hover{
    color:var(--orange-dark);

    border-color:
        var(--orange);
}

.hero .btn-outline{
    color:#ffffff;

    background:
        rgba(255,255,255,.08);

    border-color:
        rgba(255,255,255,.35);

    box-shadow:none;
}

.hero .btn-outline:hover{
    background:#ffffff;
    color:var(--navy);
}

.btn-download{
    color:#ffffff;

    background:
        linear-gradient(
            135deg,
            #07518b,
            #0877b5
        );

    box-shadow:
        var(--shadow-primary);
}

.btn-download:hover{
    box-shadow:
        0 14px 30px rgba(6,56,102,.30);
}

.btn-telegram{
    color:#ffffff;

    background:
        linear-gradient(
            135deg,
            #1687c9,
            #0877b5
        );

    box-shadow:
        var(--shadow-blue);
}


/* =====================================================
   MAIN CONTENT
===================================================== */

.content{
    width:100%;
    max-width:1120px;

    margin:0 auto;

    padding:
        55px 20px 70px;
}


/* =====================================================
   CARD
===================================================== */

.card{
    position:relative;

    width:100%;

    margin-bottom:25px;

    padding:
        30px;

    background:#ffffff;

    border:
        1px solid var(--border);

    border-radius:
        var(--radius-card);

    box-shadow:
        var(--shadow-card);

    overflow:hidden;
}

.card::before{
    content:"";

    position:absolute;

    top:0;
    left:0;

    width:100%;
    height:3px;

    background:
        var(--gradient-brand);
}

.card h2{
    position:relative;

    margin:
        0 0 17px;

    color:var(--navy);

    font-size:
        clamp(24px,3vw,32px);

    line-height:1.3;

    font-weight:800;
}

.card h2::after{
    content:"";

    display:block;

    width:55px;
    height:3px;

    margin-top:10px;

    background:
        var(--gradient-orange);

    border-radius:20px;
}

.card h3{
    margin:
        25px 0 10px;

    color:var(--navy);

    font-size:19px;

    line-height:1.4;
}

.card p{
    margin:
        0 0 16px;

    color:var(--text);

    font-size:15.5px;
}

.card p:last-child{
    margin-bottom:0;
}

.card strong{
    color:var(--navy);
}

.card a:not(.btn){
    color:var(--orange-dark);

    font-weight:600;
}

.card a:not(.btn):hover{
    text-decoration:underline;
}


/* =====================================================
   LISTS
===================================================== */

.card ul,
.card ol{
    margin:
        15px 0 20px;

    padding-left:25px;

    color:var(--text);
}

.card li{
    margin-bottom:9px;

    padding-left:4px;
}

.card li::marker{
    color:var(--orange);
}


/* =====================================================
   INFO BOX
===================================================== */

.info-box{
    margin:
        23px 0;

    padding:
        19px 20px;

    background:
        linear-gradient(
            135deg,
            #fff8ec,
            #fffdf8
        );

    border:
        1px solid #f4dfbf;

    border-left:
        4px solid var(--orange);

    border-radius:
        var(--radius-small);
}

.info-box strong{
    display:block;

    margin-bottom:6px;

    color:
        var(--orange-dark);

    font-size:16px;
}

.info-box p{
    margin:0;

    color:#5e5b55;
}


/* =====================================================
   PROS / CONS
===================================================== */

.pros,
.cons{
    margin:
        20px 0;

    padding:
        21px;

    border-radius:
        15px;
}

.pros{
    background:
        var(--green-light);

    border:
        1px solid #d8efdf;

    border-left:
        4px solid var(--green);
}

.cons{
    background:
        var(--red-light);

    border:
        1px solid #f2d8d6;

    border-left:
        4px solid var(--red);
}

.pros h3,
.cons h3{
    margin:
        0 0 10px;

    font-size:18px;
}

.pros h3{
    color:#267942;
}

.cons h3{
    color:#b74440;
}

.pros ul,
.cons ul{
    margin-bottom:0;
}


/* =====================================================
   FAQ
===================================================== */

#faq{
    scroll-margin-top:90px;
}

.faq-item{
    position:relative;

    margin-bottom:13px;

    padding:
        19px 20px;

    background:
        #f8fafc;

    border:
        1px solid var(--border);

    border-radius:
        13px;

    transition:
        border-color .25s ease,
        background .25s ease,
        transform .25s ease;
}

.faq-item:hover{
    background:#ffffff;

    border-color:
        #f3c27c;

    transform:
        translateY(-1px);
}

.faq-item:last-child{
    margin-bottom:0;
}

.faq-item h3{
    margin:0 0 8px;

    color:var(--navy);

    font-size:17px;

    line-height:1.5;
}

.faq-item h3::before{
    content:"Q";

    display:inline-flex;

    align-items:center;
    justify-content:center;

    width:27px;
    height:27px;

    margin-right:9px;

    border-radius:50%;

    background:
        var(--gradient-orange);

    color:#ffffff;

    font-size:13px;
    font-weight:800;

    vertical-align:middle;
}

.faq-item p{
    margin:0 0 0 37px;

    font-size:14.5px;
}


/* =====================================================
   TABLE SUPPORT
===================================================== */

.card table{
    width:100%;

    border-collapse:collapse;

    margin:
        20px 0;

    overflow:hidden;

    border-radius:12px;
}

.card th,
.card td{
    padding:
        13px 15px;

    border:
        1px solid var(--border);

    text-align:left;

    font-size:14px;
}

.card th{
    background:
        var(--navy);

    color:#ffffff;

    font-weight:700;
}

.card td{
    color:var(--text);

    background:#ffffff;
}


/* =====================================================
   TELEGRAM CARD
===================================================== */

.telegram-card{
    text-align:center;

    background:
        linear-gradient(
            135deg,
            #f0f8fd,
            #ffffff
        );
}

.telegram-card h2{
    color:#075b8e;
}

.telegram-card .btn{
    margin:
        5px auto 15px;
}

.small-text{
    font-size:12.5px !important;

    color:var(--muted) !important;
}


/* =====================================================
   FOOTER
===================================================== */

.footer{
    position:relative;

    background:
        linear-gradient(
            135deg,
            #031b35,
            #062b52
        );

    color:#ffffff;

    margin-top:10px;

    overflow:hidden;
}

.footer::before{
    content:"";

    position:absolute;

    top:0;
    left:0;

    width:100%;
    height:3px;

    background:
        var(--gradient-brand);
}

.footer-inner{
    position:relative;
    z-index:2;

    width:100%;
    max-width:1240px;

    margin:0 auto;

    padding:
        55px 22px 40px;

    display:grid;

    grid-template-columns:
        1.5fr
        1fr
        1fr
        1fr;

    gap:35px;
}

.footer-brand img{
    width:72px;
    height:72px;

    object-fit:contain;

    background:#ffffff;

    border-radius:14px;

    padding:5px;

    margin-bottom:12px;
}

.footer-brand h3{
    margin:
        0 0 9px;

    font-size:23px;

    color:#ffffff;
}

.footer-brand p{
    max-width:350px;

    margin:0;

    color:
        rgba(255,255,255,.70);

    font-size:14px;
}

.footer-links{
    display:flex;

    flex-direction:column;

    align-items:flex-start;
}

.footer-links h4{
    margin:
        0 0 14px;

    color:#ffffff;

    font-size:16px;
}

.footer-links a{
    display:block;

    margin-bottom:8px;

    color:
        rgba(255,255,255,.68);

    font-size:14px;

    transition:
        color .25s ease,
        transform .25s ease;
}

.footer-links a:hover{
    color:
        #ffb000;

    transform:
        translateX(3px);
}

.footer-bottom{
    position:relative;
    z-index:2;

    width:100%;

    padding:
        18px 22px;

    border-top:
        1px solid rgba(255,255,255,.10);

    display:flex;

    align-items:center;
    justify-content:center;

    gap:20px;

    flex-wrap:wrap;

    text-align:center;
}

.footer-bottom p{
    margin:0;

    color:
        rgba(255,255,255,.55);

    font-size:12.5px;
}


/* =====================================================
   ACCESSIBILITY
===================================================== */

a:focus-visible,
button:focus-visible{
    outline:
        3px solid rgba(245,130,0,.45);

    outline-offset:3px;
}

::selection{
    background:
        #f58200;

    color:#ffffff;
}


/* =====================================================
   SCROLLBAR
===================================================== */

::-webkit-scrollbar{
    width:9px;
}

::-webkit-scrollbar-track{
    background:#edf2f6;
}

::-webkit-scrollbar-thumb{
    background:
        linear-gradient(
            #063866,
            #f58200
        );

    border-radius:20px;
}

::-webkit-scrollbar-thumb:hover{
    background:
        linear-gradient(
            #f58200,
            #ffb000
        );
}


/* =====================================================
   TABLET
===================================================== */

@media (max-width:1050px){

    .header-inner{
        padding:
            10px 18px;
    }

    .nav{
        gap:1px;
    }

    .nav a{
        padding:
            9px 9px;

        font-size:13px;
    }

    .footer-inner{
        grid-template-columns:
            1.4fr 1fr 1fr;
    }

    .footer-brand{
        grid-column:
            span 3;
    }

}


/* =====================================================
   MOBILE
===================================================== */

@media (max-width:768px){

    .header-inner{
        min-height:68px;

        padding:
            8px 15px;
    }

    .logo{
        font-size:21px;
    }

    .logo img{
        width:45px;
        height:45px;
    }

    .menu-toggle{
        display:flex;
    }


    /* MOBILE SLIDE MENU */

    .nav{
        position:fixed;

        top:0;
        right:-100%;

        width:
            min(330px,88vw);

        height:100vh;

        padding:
            75px 20px 25px;

        background:
            linear-gradient(
                180deg,
                #ffffff 0%,
                #f8fbfd 100%
            );

        display:flex;

        flex-direction:column;

        align-items:stretch;

        justify-content:flex-start;

        gap:5px;

        box-shadow:
            -12px 0 35px rgba(0,0,0,.18);

        overflow-y:auto;

        transition:
            right .30s ease;

        z-index:10001;
    }

    .nav.active{
        right:0;
    }

    .nav::before{
        content:"";

        position:absolute;

        top:0;
        left:0;

        width:100%;
        height:4px;

        background:
            var(--gradient-brand);
    }

    .menu-close{
        display:flex;

        position:absolute;

        top:16px;
        right:16px;

        width:42px;
        height:42px;

        align-items:center;
        justify-content:center;

        border:
            1px solid var(--border);

        border-radius:10px;

        background:#ffffff;

        color:var(--navy);

        font-size:21px;

        cursor:pointer;
    }

    .nav a{
        width:100%;

        padding:
            13px 14px;

        border-radius:10px;

        font-size:15px;
    }

    .nav a.active::after{
        left:10px;
        right:auto;

        bottom:auto;

        top:50%;

        width:3px;
        height:23px;

        transform:
            translateY(-50%);

        border-radius:10px;
    }

    .nav a.active{
        padding-left:20px;
    }


    /* HERO */

    .hero{
        padding:
            52px 16px 60px;
    }

    .hero-logo{
        width:
            min(220px,72vw);

        max-height:205px;

        border-radius:18px;
    }

    .hero h1{
        font-size:
            clamp(27px,8vw,38px);

        letter-spacing:-.5px;
    }

    .hero p{
        font-size:15px;

        line-height:1.7;
    }

    .tags{
        gap:7px;
    }

    .tags span{
        font-size:12px;

        padding:
            5px 10px;
    }


    /* BUTTONS */

    .hero-buttons{
        gap:9px;
    }

    .btn{
        min-height:46px;

        padding:
            10px 15px;

        font-size:13px;
    }


    /* CONTENT */

    .content{
        padding:
            35px 14px 50px;
    }

    .card{
        padding:
            23px 18px;

        border-radius:18px;

        margin-bottom:18px;
    }

    .card h2{
        font-size:24px;
    }

    .card h3{
        font-size:18px;
    }

    .card p{
        font-size:15px;
    }

    .card ul,
    .card ol{
        padding-left:21px;
    }


    /* FAQ */

    .faq-item{
        padding:
            16px 14px;
    }

    .faq-item h3{
        font-size:16px;
    }

    .faq-item h3::before{
        width:25px;
        height:25px;

        margin-right:7px;
    }

    .faq-item p{
        margin-left:0;

        margin-top:9px;

        font-size:14px;
    }


    /* TABLE */

    .card table{
        display:block;

        overflow-x:auto;

        white-space:nowrap;
    }


    /* FOOTER */

    .footer-inner{
        padding:
            45px 20px 30px;

        grid-template-columns:
            1fr 1fr;

        gap:30px 20px;
    }

    .footer-brand{
        grid-column:
            span 2;
    }

    .footer-links h4{
        font-size:15px;
    }

    .footer-links a{
        font-size:13.5px;
    }

    .footer-bottom{
        padding:
            17px 15px;
    }

}


/* =====================================================
   SMALL MOBILE
===================================================== */

@media (max-width:480px){

    .header-inner{
        min-height:64px;
    }

    .logo{
        gap:8px;

        font-size:19px;
    }

    .logo img{
        width:40px;
        height:40px;
    }

    .menu-toggle{
        width:42px;
        height:42px;
    }

    .hero{
        padding:
            40px 13px 48px;
    }

    .hero-logo{
        width:
            min(190px,70vw);

        max-height:180px;

        padding:8px;
    }

    .hero h1{
        font-size:27px;

        line-height:1.2;
    }

    .hero p{
        font-size:14px;
    }

    .hero-buttons{
        flex-direction:column;

        width:100%;
    }

    .hero-buttons .btn{
        width:100%;

        max-width:360px;
    }

    .content{
        padding:
            27px 10px 40px;
    }

    .card{
        padding:
            21px 15px;
    }

    .card h2{
        font-size:22px;
    }

    .card p{
        font-size:14.5px;
    }

    .info-box{
        padding:
            16px;
    }

    .pros,
    .cons{
        padding:
            17px 15px;
    }

    .footer-inner{
        grid-template-columns:
            1fr;
    }

    .footer-brand{
        grid-column:
            span 1;
    }

    .footer-links{
        width:100%;
    }

}


/* =====================================================
   LARGE DESKTOP
===================================================== */

@media (min-width:1400px){

    .header-inner{
        max-width:1320px;
    }

    .content{
        max-width:1180px;
    }

    .hero{
        padding-top:90px;
        padding-bottom:100px;
    }

    .card{
        padding:35px;
    }

}


/* =====================================================
   REDUCED MOTION
===================================================== */

@media (prefers-reduced-motion:reduce){

    html{
        scroll-behavior:auto;
    }

    *,
    *::before,
    *::after{
        animation-duration:.01ms !important;
        animation-iteration-count:1 !important;
        transition-duration:.01ms !important;
        scroll-behavior:auto !important;
    }

}

/* =====================================================
   SHAKTIPAY SCREENSHOTS
===================================================== */

.screenshot-wrapper{
    width:100%;
    margin:25px auto 10px;

    display:flex;
    justify-content:center;
    align-items:center;
}

.screenshot-card{
    width:100%;
    max-width:1000px;

    padding:10px;

    background:#ffffff;

    border:1px solid var(--border);

    border-radius:18px;

    box-shadow:
        0 12px 35px rgba(3,29,56,.10);

    overflow:hidden;

    position:relative;
}

.screenshot-card::before{
    content:"";

    position:absolute;

    top:0;
    left:0;

    width:100%;
    height:4px;

    background:
        var(--gradient-brand);
}

.screenshot-card img{
    display:block;

    width:100%;
    height:auto;

    max-height:650px;

    object-fit:contain;

    border-radius:12px;

    background:#f8fafc;
}


/* Mobile */

@media (max-width:768px){

    .screenshot-wrapper{
        margin-top:20px;
    }

    .screenshot-card{
        padding:7px;

        border-radius:14px;
    }

    .screenshot-card img{
        max-height:none;

        border-radius:9px;
    }

}


/* Small Mobile */

@media (max-width:480px){

    .screenshot-card{
        padding:5px;

        border-radius:12px;
    }

}