/* =========================================================
   SMARTWALLET PREMIUM STYLE
   Logo Theme: Blue + White + Dark Navy
   ========================================================= */

*{
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
    scroll-padding-top:85px;
}

body{
    margin:0;
    font-family:Arial,Helvetica,sans-serif;
    background:#f4f8fc;
    color:#243b53;
    line-height:1.7;
}

a{
    text-decoration:none;
}

img{
    max-width:100%;
    display:block;
}


/* =========================================================
   HEADER
   ========================================================= */

.header{
    position:sticky;
    top:0;
    z-index:9999;
    background:rgba(255,255,255,.97);
    border-bottom:1px solid #dce7f1;
    box-shadow:0 3px 15px rgba(9,50,90,.07);
}

.header-inner{
    max-width:1250px;
    margin:auto;
    min-height:76px;
    padding:0 20px;
    display:flex;
    align-items:center;
    justify-content:space-between;
}


/* LOGO */

.logo{
    display:flex;
    align-items:center;
    gap:12px;
    color:#0b2340;
    font-size:25px;
    font-weight:800;
    white-space:nowrap;
}

.logo img{
    width:50px;
    height:50px;
    object-fit:cover;
    border-radius:13px;
    box-shadow:0 4px 12px rgba(20,115,220,.20);
}


/* NAVIGATION */

nav{
    display:flex;
    align-items:center;
    gap:26px;
}

nav a{
    position:relative;
    color:#334e68;
    font-size:15px;
    font-weight:700;
    padding:28px 0;
    transition:.25s ease;
}

nav a::after{
    content:"";
    position:absolute;
    left:0;
    bottom:18px;
    width:0;
    height:2px;
    background:#087ce8;
    transition:.25s ease;
}

nav a:hover{
    color:#087ce8;
}

nav a:hover::after{
    width:100%;
}


/* MOBILE MENU BUTTON */

.menu-btn{
    display:none;
    width:44px;
    height:44px;
    border:1px solid #d8e5f0;
    border-radius:10px;
    background:#ffffff;
    color:#0b2340;
    font-size:25px;
    line-height:1;
    cursor:pointer;
}


/* =========================================================
   HERO
   ========================================================= */

.hero{
    position:relative;
    overflow:hidden;
    padding:70px 20px 82px;
    text-align:center;
    color:white;

    background:
        radial-gradient(
            circle at 50% 20%,
            #126fca 0%,
            #0b3867 25%,
            #06182c 58%,
            #020914 100%
        );

    border-bottom:4px solid #087fe9;
}


/* subtle glow */

.hero::before{
    content:"";
    position:absolute;
    width:500px;
    height:500px;
    top:-280px;
    left:50%;
    transform:translateX(-50%);
    background:rgba(22,142,255,.15);
    border-radius:50%;
    filter:blur(30px);
}

.hero-content{
    position:relative;
    z-index:2;
    max-width:950px;
    margin:auto;
}


/* HERO LOGO */

.hero-logo{
    width:125px;
    height:125px;
    object-fit:cover;
    border-radius:30px;
    margin:0 auto 22px;
    background:#fff;
    padding:0;
    box-shadow:
        0 15px 40px rgba(0,0,0,.35),
        0 0 0 5px rgba(255,255,255,.08);
}


/* HERO TITLE */

.hero h1{
    margin:10px 0 20px;
    font-size:48px;
    line-height:1.2;
    font-weight:800;

    background:
        linear-gradient(
            90deg,
            #ffffff 10%,
            #bde9ff 50%,
            #31aaff 100%
        );

    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
}

.hero p{
    max-width:800px;
    margin:0 auto 32px;
    color:#d7e9f8;
    font-size:18px;
}


/* =========================================================
   HERO BUTTONS
   ========================================================= */

.hero-buttons{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:15px;
    flex-wrap:wrap;
}

.primary-btn,
.secondary-btn{
    display:inline-block;
    padding:15px 28px;
    border-radius:11px;
    font-weight:800;
    transition:.25s ease;
}

.primary-btn{
    color:#fff;
    background:linear-gradient(
        135deg,
        #0878df,
        #16a2ff
    );
    box-shadow:0 8px 25px rgba(0,130,240,.30);
}

.primary-btn:hover{
    transform:translateY(-2px);
    box-shadow:0 12px 30px rgba(0,130,240,.40);
}

.secondary-btn{
    color:#fff;
    background:rgba(255,255,255,.07);
    border:1px solid rgba(111,201,255,.55);
}

.secondary-btn:hover{
    background:#087fe9;
    border-color:#087fe9;
}


/* =========================================================
   MAIN CONTAINER
   ========================================================= */

.container{
    width:min(1250px,94%);
    margin:auto;
    padding:38px 0;
}


/* =========================================================
   CARDS
   ========================================================= */

.card{
    position:relative;
    background:#ffffff;
    border:1px solid #dce7f0;
    border-radius:18px;
    padding:32px;
    margin-bottom:28px;

    box-shadow:
        0 5px 20px rgba(25,65,100,.055);

    transition:
        transform .25s ease,
        box-shadow .25s ease;
}

.card:hover{
    box-shadow:
        0 10px 30px rgba(25,65,100,.09);
}


/* CARD TOP BLUE LINE */

.card::before{
    content:"";
    position:absolute;
    top:0;
    left:28px;
    right:28px;
    height:3px;
    border-radius:0 0 10px 10px;
    background:linear-gradient(
        90deg,
        #0878df,
        #20adff
    );
}


/* CARD HEADING */

.card h2{
    margin:0 0 20px;
    padding-bottom:14px;

    color:#102b48;
    font-size:30px;
    line-height:1.3;

    border-bottom:2px solid #edf3f8;
}

.card h3{
    color:#087be2;
    font-size:21px;
}

.card p,
.card li{
    color:#405a73;
    font-size:17px;
}

.card strong{
    color:#163b5e;
}


/* =========================================================
   TABLE OF CONTENTS
   ========================================================= */

.toc{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px 30px;
}

.toc a{
    display:block;
    padding:9px 13px;

    color:#315876;
    font-size:16px;
    font-weight:600;

    border-radius:8px;
    transition:.2s ease;
}

.toc a:hover{
    color:#087ce8;
    background:#f0f8ff;
    padding-left:18px;
}


/* =========================================================
   INVITE CODE
   ========================================================= */

.invite-box{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;

    padding:21px 25px;

    background:
        linear-gradient(
            135deg,
            #f1f9ff,
            #ffffff
        );

    border:1px dashed #078cff;
    border-radius:15px;
}

.invite-box span{
    display:block;
    margin-bottom:3px;

    color:#6b849b;
    font-size:12px;
    font-weight:800;
    letter-spacing:.5px;
}

.invite-box strong{
    display:block;
    color:#087ce8;
    font-size:28px;
    letter-spacing:3px;
}

.invite-box button{
    border:0;
    padding:12px 22px;

    border-radius:9px;

    color:white;
    background:linear-gradient(
        135deg,
        #0878df,
        #16a3ff
    );

    font-weight:800;
    cursor:pointer;

    transition:.2s ease;
}

.invite-box button:hover{
    transform:translateY(-2px);
}


/* =========================================================
   SMALL NOTE
   ========================================================= */

.small-note{
    font-size:14px!important;
    color:#70859a!important;
}


/* =========================================================
   DOWNLOAD BUTTON
   ========================================================= */

.download-btn{
    display:block;
    width:min(400px,100%);
    margin:25px auto;

    padding:16px 20px;

    text-align:center;

    color:#ffffff;

    font-size:18px;
    font-weight:800;

    border-radius:12px;

    background:
        linear-gradient(
            100deg,
            #0768d9,
            #18a5fa
        );

    box-shadow:
        0 8px 22px rgba(0,130,240,.25);

    transition:.25s ease;
}

.download-btn:hover{
    transform:translateY(-2px);
    box-shadow:
        0 12px 28px rgba(0,130,240,.35);
}


/* =========================================================
   APP INFORMATION
   ========================================================= */

.app-info{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:15px;
    margin-top:28px;
}

.app-info div{
    padding:19px;

    text-align:center;

    background:#f7fafd;
    border:1px solid #e0e8ef;
    border-radius:13px;
}

.app-info span{
    display:block;
    margin-bottom:5px;

    color:#73879b;
    font-size:11px;
    font-weight:700;
}

.app-info strong{
    color:#173452;
    font-size:16px;
}


/* =========================================================
   FEATURES
   ========================================================= */

.features{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:20px;
}

.feature{
    padding:25px;

    background:#ffffff;

    border:1px solid #dce7ef;
    border-radius:15px;

    transition:.25s ease;
}

.feature:hover{
    transform:translateY(-3px);
    border-color:#9bd5fb;
    box-shadow:0 8px 25px rgba(20,100,170,.08);
}

.feature-icon{
    font-size:30px;
}

.feature h3{
    margin:8px 0;
    color:#087ce8;
}


/* =========================================================
   TABLE
   ========================================================= */

table{
    width:100%;
    border-collapse:collapse;
}

th,
td{
    padding:15px;
    text-align:left;
    border:1px solid #dce6ee;
}

th{
    color:#173652;
    background:#f1f6fa;
}

td{
    color:#405a73;
}


/* =========================================================
   SCREENSHOTS
   ========================================================= */

.screenshots{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px;
}

.screenshots div{
    overflow:hidden;

    text-align:center;

    background:#ffffff;

    border:1px solid #dce5ee;
    border-radius:14px;

    box-shadow:0 5px 15px rgba(20,50,80,.05);
}

.screenshots img{
    width:100%;
    height:400px;

    object-fit:contain;

    background:#07101a;

    display:block;
}

.screenshots p{
    padding:0 10px;
    font-weight:700;
    font-size:15px;
}


/* =========================================================
   NOTICE / WARNING
   ========================================================= */

.notice,
.warning{
    padding:20px;

    border-radius:12px;

    background:#f1f8ff;
    border-left:5px solid #087ce8;
}

.warning{
    background:#fff8ed;
    border-left-color:#ef9b2d;
}


/* =========================================================
   FAQ
   ========================================================= */

details{
    margin:12px 0;
    padding:0 18px;

    background:#ffffff;

    border:1px solid #dce5ee;
    border-radius:12px;
}

summary{
    padding:17px 0;

    color:#183a59;
    font-weight:800;
    cursor:pointer;
}

details p{
    padding-bottom:12px;
}


/* =========================================================
   FOOTER
   ========================================================= */

footer{
    margin-top:20px;

    color:#9dbbd2;

    background:
        radial-gradient(
            circle at 50% 0%,
            #0b2d4d,
            #03080d 50%
        );

    padding:55px 20px 25px;
}

.footer-inner{
    max-width:1000px;
    margin:auto;

    display:grid;
    grid-template-columns:1.3fr 1fr 1fr;
    gap:50px;
}

footer h2,
footer h3{
    color:#ffffff;
}

footer a{
    display:block;

    margin:7px 0;

    color:#9dbbd2;

    transition:.2s ease;
}

footer a:hover{
    color:#27aaff;
}

.copyright{
    max-width:1000px;
    margin:35px auto 0;

    padding-top:22px;

    text-align:center;

    border-top:1px solid #263b4c;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media(max-width:760px){

    .header-inner{
        min-height:65px;
        padding:0 15px;
    }

    .logo{
        font-size:21px;
    }

    .logo img{
        width:42px;
        height:42px;
        border-radius:10px;
    }

    .menu-btn{
        display:flex;
        align-items:center;
        justify-content:center;
    }

    nav{
        display:none;

        position:absolute;

        left:0;
        right:0;
        top:65px;

        padding:8px 18px;

        flex-direction:column;
        align-items:stretch;
        gap:0;

        background:#ffffff;

        border-bottom:1px solid #dce5ee;

        box-shadow:
            0 10px 25px rgba(0,30,60,.12);
    }

    nav.active{
        display:flex;
    }

    nav a{
        padding:13px 5px;

        border-bottom:1px solid #edf2f6;
    }

    nav a::after{
        display:none;
    }


    /* HERO */

    .hero{
        padding:48px 16px 58px;
    }

    .hero-logo{
        width:100px;
        height:100px;
        border-radius:23px;
    }

    .hero h1{
        font-size:34px;
    }

    .hero p{
        font-size:16px;
    }


    /* CONTAINER */

    .container{
        width:94%;
        padding:25px 0;
    }


    /* CARD */

    .card{
        padding:24px 17px;
        margin-bottom:20px;
        border-radius:15px;
    }

    .card::before{
        left:20px;
        right:20px;
    }

    .card h2{
        font-size:25px;
    }

    .card p,
    .card li{
        font-size:16px;
    }


    /* TOC */

    .toc{
        grid-template-columns:1fr;
    }


    /* INVITE */

    .invite-box{
        flex-direction:column;
        align-items:stretch;
    }

    .invite-box button{
        width:100%;
    }


    /* APP INFO */

    .app-info{
        grid-template-columns:1fr 1fr;
    }


    /* FEATURES */

    .features{
        grid-template-columns:1fr;
    }


    /* SCREENSHOTS */

    .screenshots{
        grid-template-columns:1fr;
    }

    .screenshots img{
        height:450px;
    }


    /* TABLE */

    table{
        display:block;
        overflow-x:auto;
        white-space:nowrap;
    }


    /* FOOTER */

    .footer-inner{
        grid-template-columns:1fr;
        gap:25px;
    }

}


/* =========================================================
   SMALL PHONES
   ========================================================= */

@media(max-width:420px){

    .hero h1{
        font-size:29px;
    }

    .hero-logo{
        width:88px;
        height:88px;
    }

    .app-info{
        grid-template-columns:1fr;
    }

    .primary-btn,
    .secondary-btn{
        width:100%;
        text-align:center;
    }

}