/* =========================================================
   CyberHub Bangladesh V4
   style.css
   Part 1
   ========================================================= */


/* =========================================================
   Google Font
   ========================================================= */

@import url('https://fonts.googleapis.com/css2?family=Hind+Siliguri:wght@300;400;500;600;700&display=swap');


/* =========================================================
   CSS Variables
   ========================================================= */

:root{

    --primary:#00E5FF;
    --secondary:#4F7CFF;
    --success:#00D27A;

    --bg:#050816;
    --bg-2:#091122;
    --bg-3:#111B30;

    --glass:rgba(255,255,255,.08);
    --glass-border:rgba(255,255,255,.14);

    --text:#ffffff;
    --text-light:#d5deea;
    --text-muted:#95a6bf;

    --shadow:
        0 15px 45px rgba(0,0,0,.35);

    --radius-xs:10px;
    --radius-sm:16px;
    --radius:22px;
    --radius-lg:30px;
    --radius-xl:40px;

    --container:1280px;

    --transition:.35s ease;

}


/* =========================================================
   Dark Theme
   ========================================================= */

body.dark{

    --bg:#04060d;
    --bg-2:#0b1325;
    --bg-3:#111d35;

}


/* =========================================================
   Reset
   ========================================================= */

*{

    margin:0;
    padding:0;
    box-sizing:border-box;

}

html{

    scroll-behavior:smooth;

}

body{

    font-family:'Hind Siliguri',sans-serif;

    background:var(--bg);

    color:var(--text);

    overflow-x:hidden;

    line-height:1.7;

    position:relative;

}

img{

    max-width:100%;
    display:block;

}

a{

    text-decoration:none;
    color:inherit;

}

button,
input,
textarea,
select{

    font-family:inherit;
    outline:none;
    border:none;

}

ul{

    list-style:none;

}


/* =========================================================
   Selection
   ========================================================= */

::selection{

    background:var(--primary);
    color:#000;

}


/* =========================================================
   Scrollbar
   ========================================================= */

::-webkit-scrollbar{

    width:10px;

}

::-webkit-scrollbar-track{

    background:#050816;

}

::-webkit-scrollbar-thumb{

    background:linear-gradient(
        180deg,
        var(--primary),
        var(--secondary)
    );

    border-radius:50px;

}


/* =========================================================
   Container
   ========================================================= */

.container{

    width:min(
        calc(100% - 40px),
        var(--container)
    );

    margin:auto;

}


/* =========================================================
   Aurora Background
   ========================================================= */

.aurora-wrapper{

    position:fixed;

    inset:0;

    z-index:-10;

    overflow:hidden;

    background:
    radial-gradient(circle at top left,
    #10264e 0%,
    #07111d 40%,
    #03060f 100%);

}

.aurora{

    position:absolute;

    border-radius:50%;

    filter:blur(110px);

    opacity:.55;

    animation:
    floatAurora 16s linear infinite;

}

.aurora-one{

    width:520px;
    height:520px;

    background:#00e5ff;

    top:-180px;
    left:-150px;

}

.aurora-two{

    width:430px;
    height:430px;

    background:#445cff;

    right:-120px;
    top:120px;

    animation-delay:5s;

}

.aurora-three{

    width:480px;
    height:480px;

    background:#00d27a;

    bottom:-180px;
    left:35%;

    animation-delay:9s;

}

.grid-overlay{

    position:absolute;

    inset:0;

    background-image:

    linear-gradient(
    rgba(255,255,255,.04) 1px,
    transparent 1px),

    linear-gradient(
    90deg,
    rgba(255,255,255,.04) 1px,
    transparent 1px);

    background-size:60px 60px;

    opacity:.35;

}

.noise-overlay{

    position:absolute;

    inset:0;

    background-image:
    radial-gradient(
    rgba(255,255,255,.04) 1px,
    transparent 1px);

    background-size:8px 8px;

    opacity:.10;

}


/* =========================================================
   Floating Blur
   ========================================================= */

.floating-blur{

    position:fixed;

    width:260px;

    height:260px;

    border-radius:50%;

    filter:blur(90px);

    z-index:-2;

}

.blur-left{

    left:-90px;

    bottom:10%;

    background:#00e5ff55;

}

.blur-right{

    right:-90px;

    top:18%;

    background:#4f7cff55;

}


/* =========================================================
   Glass Effect
   ========================================================= */

.glass{

    background:var(--glass);

    backdrop-filter:blur(18px);

    -webkit-backdrop-filter:blur(18px);

    border:1px solid
    var(--glass-border);

    box-shadow:var(--shadow);

}


/* =========================================================
   Scroll Progress
   ========================================================= */

.scroll-progress{

    position:fixed;

    top:0;

    left:0;

    width:100%;

    height:4px;

    z-index:9999;

    background:transparent;

}

#progressBar{

    display:block;

    width:0;

    height:100%;

    background:
    linear-gradient(
    90deg,
    var(--primary),
    var(--secondary));

}


/* =========================================================
   Section
   ========================================================= */

section{

    padding:110px 0;

    position:relative;

}

.section-title{

    margin-bottom:65px;

}

.section-title.center{

    text-align:center;

}

.section-badge{

    display:inline-flex;

    align-items:center;

    gap:10px;

    padding:10px 22px;

    border-radius:50px;

    margin-bottom:18px;

    font-size:.92rem;

    color:var(--primary);

}

.section-title h2{

    font-size:clamp(
    2rem,
    4vw,
    3.3rem);

    line-height:1.2;

    margin-bottom:18px;

    font-weight:700;

}

.section-title p{

    color:var(--text-muted);

    max-width:720px;

    font-size:1.05rem;

}

.section-title.center p{

    margin:auto;

}
/* =========================================================
   Header
   ========================================================= */

.main-header{

    position:fixed;

    top:0;
    left:0;

    width:100%;

    z-index:1000;

    padding:18px 0;

    transition:var(--transition);

}

.main-header.scrolled{

    padding:12px 0;

    background:rgba(5,8,22,.65);

    backdrop-filter:blur(20px);

    -webkit-backdrop-filter:blur(20px);

    border-bottom:1px solid rgba(255,255,255,.08);

}

.navbar{

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:40px;

}


/* =========================================================
   Logo
   ========================================================= */

.logo{

    display:flex;

    align-items:center;

    gap:14px;

}

.logo-icon{

    width:58px;

    height:58px;

    border-radius:18px;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:1.5rem;

    font-weight:700;

    color:#fff;

    background:linear-gradient(
        135deg,
        var(--primary),
        var(--secondary)
    );

    box-shadow:
        0 12px 30px rgba(0,229,255,.35);

}

.logo-text h2{

    font-size:1.45rem;

    line-height:1;

    font-weight:700;

}

.logo-text small{

    display:block;

    margin-top:5px;

    color:var(--text-muted);

    font-size:.82rem;

    letter-spacing:.5px;

}


/* =========================================================
   Navigation
   ========================================================= */

.nav-menu{

    display:flex;

    align-items:center;

    gap:34px;

}

.nav-menu a{

    position:relative;

    color:var(--text-light);

    font-size:1rem;

    transition:var(--transition);

}

.nav-menu a:hover{

    color:var(--primary);

}

.nav-menu a::after{

    content:"";

    position:absolute;

    left:0;

    bottom:-8px;

    width:0;

    height:2px;

    border-radius:20px;

    background:var(--primary);

    transition:var(--transition);

}

.nav-menu a:hover::after{

    width:100%;

}


/* =========================================================
   Right Navigation
   ========================================================= */

.nav-right{

    display:flex;

    align-items:center;

    gap:16px;

}

.theme-toggle{

    width:48px;

    height:48px;

    border-radius:50%;

    cursor:pointer;

    background:var(--glass);

    border:1px solid var(--glass-border);

    display:flex;

    align-items:center;

    justify-content:center;

    transition:var(--transition);

}

.theme-toggle:hover{

    transform:translateY(-3px);

    border-color:var(--primary);

}

.theme-toggle svg{

    width:22px;

    height:22px;

    fill:none;

    stroke:var(--primary);

    stroke-width:2;

}


/* =========================================================
   Mobile Toggle
   ========================================================= */

.menu-toggle{

    display:none;

    width:50px;

    height:50px;

    cursor:pointer;

    border-radius:15px;

    background:var(--glass);

    border:1px solid var(--glass-border);

    flex-direction:column;

    justify-content:center;

    gap:6px;

    padding:0 12px;

}

.menu-toggle span{

    width:100%;

    height:2px;

    border-radius:10px;

    background:#fff;

    transition:var(--transition);

}


/* =========================================================
   Mobile Menu
   ========================================================= */

.mobile-menu{

    position:fixed;

    top:88px;

    right:-100%;

    width:290px;

    background:rgba(8,17,31,.95);

    backdrop-filter:blur(22px);

    border-left:1px solid rgba(255,255,255,.08);

    border-bottom-left-radius:22px;

    padding:25px;

    display:flex;

    flex-direction:column;

    gap:18px;

    transition:.4s ease;

    z-index:999;

}

.mobile-menu.active{

    right:0;

}

.mobile-menu a{

    padding:14px 16px;

    border-radius:14px;

    transition:var(--transition);

}

.mobile-menu a:hover{

    background:rgba(255,255,255,.08);

    color:var(--primary);

}


/* =========================================================
   Hero Section
   ========================================================= */

.hero{

    min-height:100vh;

    display:flex;

    align-items:center;

    padding-top:150px;

}

.hero-grid{

    display:grid;

    grid-template-columns:1.1fr .9fr;

    align-items:center;

    gap:70px;

}

.hero-badge{

    display:inline-flex;

    align-items:center;

    gap:10px;

    padding:10px 22px;

    border-radius:50px;

    margin-bottom:26px;

}

.badge-dot{

    width:10px;

    height:10px;

    border-radius:50%;

    background:var(--success);

    box-shadow:0 0 18px var(--success);

}

.hero-content h1{

    font-size:clamp(
        2.8rem,
        5vw,
        4.8rem
    );

    line-height:1.15;

    margin-bottom:25px;

    font-weight:700;

}

.hero-content h1 span{

    color:var(--primary);

}

.hero-content p{

    color:var(--text-muted);

    max-width:650px;

    font-size:1.08rem;

    margin-bottom:38px;

}


/* =========================================================
   Buttons
   ========================================================= */

.hero-buttons{

    display:flex;

    align-items:center;

    flex-wrap:wrap;

    gap:18px;

    margin-bottom:50px;

}

.btn{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:15px 34px;

    border-radius:50px;

    font-weight:600;

    transition:var(--transition);

    cursor:pointer;

}

.btn-primary{

    background:linear-gradient(
        135deg,
        var(--primary),
        var(--secondary)
    );

    color:#00101d;

}

.btn-primary:hover{

    transform:translateY(-5px);

    box-shadow:0 18px 40px rgba(0,229,255,.35);

}

.btn-secondary{

    border:1px solid var(--glass-border);

    background:var(--glass);

    color:#fff;

}

.btn-secondary:hover{

    border-color:var(--primary);

    transform:translateY(-5px);

}

.full-width{

    width:100%;

}


/* =========================================================
   Hero Highlights
   ========================================================= */

.hero-highlights{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:20px;

}

.highlight{

    border-radius:22px;

    padding:28px 18px;

    text-align:center;

}

.highlight h3{

    font-size:2rem;

    color:var(--primary);

    margin-bottom:8px;

}

.highlight p{

    margin:0;

    color:var(--text-light);

    font-size:.95rem;

}
/* =========================================================
   Hero Visual
   ========================================================= */

.hero-visual{

    display:flex;

    justify-content:center;

    align-items:center;

}

.hero-card{

    width:100%;

    max-width:470px;

    border-radius:32px;

    padding:35px;

    position:relative;

    overflow:hidden;

}

.hero-card::before{

    content:"";

    position:absolute;

    inset:0;

    background:
    linear-gradient(
        135deg,
        rgba(255,255,255,.06),
        transparent 60%
    );

    pointer-events:none;

}

.card-header{

    display:flex;

    align-items:center;

    gap:12px;

    margin-bottom:35px;

}

.status-dot{

    width:12px;

    height:12px;

    border-radius:50%;

    background:var(--success);

    box-shadow:0 0 18px var(--success);

}

.card-header p{

    color:var(--text-light);

    font-weight:500;

}

.security-ring{

    display:flex;

    justify-content:center;

    align-items:center;

    margin:35px 0 45px;

}

.ring{

    width:240px;

    height:240px;

    border-radius:50%;

    position:relative;

    display:flex;

    justify-content:center;

    align-items:center;

    border:2px solid rgba(255,255,255,.12);

    animation:ringRotate 18s linear infinite;

}

.ring::before{

    content:"";

    position:absolute;

    inset:-12px;

    border-radius:50%;

    border:2px dashed rgba(0,229,255,.35);

}

.ring-center{

    width:145px;

    height:145px;

    border-radius:50%;

    background:rgba(255,255,255,.07);

    display:flex;

    align-items:center;

    justify-content:center;

    text-align:center;

    backdrop-filter:blur(18px);

}

.ring-center h2{

    color:var(--primary);

    font-size:1.65rem;

    font-weight:700;

}

.card-footer{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:16px;

}

.security-item{

    text-align:center;

    padding:18px 10px;

    border-radius:18px;

    background:rgba(255,255,255,.05);

    border:1px solid rgba(255,255,255,.08);

}

.security-item strong{

    display:block;

    color:#fff;

    margin-bottom:8px;

    font-size:1rem;

}

.security-item span{

    color:var(--success);

    font-size:.88rem;

}


/* =========================================================
   Trusted Section
   ========================================================= */

.trusted-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:25px;

}

.trusted-card{

    padding:35px 28px;

    border-radius:26px;

    text-align:center;

    transition:var(--transition);

}

.trusted-card:hover{

    transform:translateY(-10px);

    border-color:rgba(0,229,255,.35);

}

.trusted-icon{

    width:72px;

    height:72px;

    margin:0 auto 22px;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:2rem;

    border-radius:20px;

    background:rgba(255,255,255,.06);

}

.trusted-card h3{

    margin-bottom:15px;

    font-size:1.3rem;

}

.trusted-card p{

    color:var(--text-muted);

}


/* =========================================================
   Services
   ========================================================= */

.services-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:28px;

}

.service-card{

    position:relative;

    overflow:hidden;

    padding:38px 32px;

    border-radius:28px;

    transition:var(--transition);

}

.service-card::before{

    content:"";

    position:absolute;

    top:0;

    left:0;

    width:5px;

    height:100%;

    background:linear-gradient(
        to bottom,
        var(--primary),
        var(--secondary)
    );

}

.service-card:hover{

    transform:translateY(-12px);

    border-color:rgba(0,229,255,.35);

}

.service-number{

    font-size:2.2rem;

    color:rgba(255,255,255,.12);

    font-weight:700;

    margin-bottom:18px;

}

.service-card h3{

    margin-bottom:15px;

    font-size:1.45rem;

}

.service-card p{

    color:var(--text-muted);

}


/* =========================================================
   Features
   ========================================================= */

.features-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:24px;

}

.feature-box{

    padding:35px 26px;

    border-radius:26px;

    transition:var(--transition);

}

.feature-box:hover{

    transform:translateY(-10px);

}

.feature-count{

    display:inline-flex;

    width:56px;

    height:56px;

    border-radius:16px;

    align-items:center;

    justify-content:center;

    background:linear-gradient(
        135deg,
        var(--primary),
        var(--secondary)
    );

    color:#00121d;

    font-weight:700;

    margin-bottom:22px;

}

.feature-box h3{

    margin-bottom:14px;

    font-size:1.3rem;

}

.feature-box p{

    color:var(--text-muted);

}


/* =========================================================
   About
   ========================================================= */

.about-grid{

    display:grid;

    grid-template-columns:1fr 1fr;

    align-items:center;

    gap:70px;

}

.about-content h2{

    font-size:clamp(2rem,4vw,3.2rem);

    margin:18px 0 25px;

    line-height:1.2;

}

.about-content p{

    color:var(--text-muted);

    margin-bottom:20px;

}

.about-list{

    margin-top:35px;

    display:grid;

    gap:18px;

}

.about-item{

    display:flex;

    align-items:center;

    gap:18px;

    padding:18px 22px;

    border-radius:20px;

}

.check-icon{

    width:40px;

    height:40px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:50%;

    background:var(--success);

    color:#00120a;

    font-weight:700;

}

.about-item p{

    margin:0;

    color:var(--text-light);

}
