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

html{
    scroll-behavior:smooth;
}

body{

    font-family:"Plus Jakarta Sans",sans-serif;

    background:var(--background);

    color:var(--text);

    transition:.3s;

}

a{
    text-decoration:none;
}

img{
    max-width:100%;
    display:block;
}
/* ===========================
   NAVBAR
=========================== */

.pvn-navbar{

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

    backdrop-filter:blur(14px);

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

    transition:.35s;

    padding:18px 0;

}

html[data-theme="dark"] .pvn-navbar{

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

}

.logo-pvn{

    width:46px;

    height:46px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:50%;

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

    color:white;

    font-weight:800;

}

.navbar-brand{

    display:flex;

    align-items:center;

    color:var(--text);

}

.nav-link{

    color:var(--text);

    font-weight:600;

    margin-left:1rem;

}

.nav-link:hover{

    color:var(--secondary);

}

.btn-theme{

    width:46px;

    height:46px;

    border-radius:50%;

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

    background:var(--surface);

    color:var(--text);

}

.btn-primary{

    border:none;

    background:linear-gradient(
    135deg,
    #0E3A5A,
    #2563EB);

    box-shadow:

    0 15px 30px rgba(37,99,235,.25);

}
/*=========================================
=               HERO                      =
=========================================*/

.hero{

    position:relative;

    overflow:hidden;

    min-height:100vh;

    display:flex;

    align-items:center;

    padding:140px 0 80px;

    background:
        radial-gradient(circle at top right,
        rgba(37,99,235,.10),
        transparent 35%),

        radial-gradient(circle at bottom left,
        rgba(34,197,94,.10),
        transparent 35%),

        var(--background);

}

.hero-badge{

    display:inline-flex;

    align-items:center;

    gap:.75rem;

    padding:.8rem 1.4rem;

    border-radius:999px;

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

    backdrop-filter:blur(12px);

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

    box-shadow:var(--shadow);

    font-size:.9rem;

    font-weight:700;

}
html[data-theme="dark"] .hero-badge{

    background:rgba(16,27,45,.65);

}

.hero-title{

    margin-top:2rem;

    font-size:clamp(3rem,6vw,5.8rem);

    line-height:1.05;

    font-weight:800;

    letter-spacing:-2px;

}

.hero-text{

    margin-top:2rem;

    font-size:1.25rem;

    line-height:1.8;

    color:var(--text-soft);

    max-width:620px;

}

.hero-graphic{

    position:relative;

    width:100%;

    height:600px;

}

.btn{

    transition:.35s;

}

.btn:hover{

    transform:translateY(-3px);

}
.nav-link{

    position:relative;

}
.nav-link::after{

    content:"";

    position:absolute;

    left:0;

    bottom:-6px;

    width:0;

    height:2px;

    background:var(--secondary);

    transition:.3s;

}

.nav-link:hover::after{

    width:100%;

}
.hero-graphic{

    height:650px;

    border-radius:40px;

    background:

    linear-gradient(
    180deg,

    rgba(37,99,235,.08),

    rgba(34,197,94,.08)

    );

}