:root{

    --dark:#111827;
    --dark-light:#1f2937;

    --accent:#4B4BA8;
    --accent-hover:#5E5EC8;

    --white:#ffffff;

}

*{
    box-sizing:border-box;
}

html,
body{
    margin:0;
    padding:0;
}

body{

    font-family:
        Inter,
        Arial,
        Helvetica,
        sans-serif;

    background:#000;
}

/* ==========================
   CONTAINER
========================== */

.container{

    width:min(1200px, calc(100% - 48px));

    margin:0 auto;
}

/* ==========================
   HEADER
========================== */

.site-header{

    position:fixed;

    top:0;
    left:0;
    right:0;

    z-index:999;

    background:rgba(10,10,20,.75);

    backdrop-filter:blur(12px);

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

.header-inner{

    min-height:72px;

    display:flex;

    align-items:center;
}

.logo{

    color:#ffffff;

    font-size:26px;

    font-weight:800;

    letter-spacing:-0.03em;

    text-decoration:none;
}

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

.hero{

    position:relative;

    min-height:100vh;

    display:flex;

    align-items:center;

    padding-top:72px;

    background:
        linear-gradient(
            rgba(15,15,35,.84),
            rgba(15,15,35,.88)
        ),
        url('../img/hero-bg.jpg');

    background-position:center;
    background-repeat:no-repeat;
    background-size:cover;
}

.hero-overlay{

    position:absolute;

    inset:0;

    background:
        radial-gradient(
            circle at center,
            rgba(75,75,168,.18),
            transparent 70%
        );

    pointer-events:none;
}

.hero-content{

    position:relative;

    z-index:2;

    max-width:720px;

    color:#ffffff;
}

.badge{

    display:inline-block;

    padding:10px 18px;

    border-radius:999px;

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

    color:#ffffff;

    font-size:12px;

    font-weight:700;

    letter-spacing:.08em;

    margin-bottom:28px;
}

.hero h1{

    font-size:clamp(58px, 7vw, 88px);

    line-height:.95;

    letter-spacing:-0.05em;

    margin:0 0 28px;
}

.hero p{

    font-size:22px;

    line-height:1.7;

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

    margin:0 0 36px;
}

/* ==========================
   BUTTONS
========================== */

.hero-actions{

    display:flex;

    gap:16px;

    flex-wrap:wrap;
}

.btn{

    display:inline-flex;

    align-items:center;
    justify-content:center;

    min-height:52px;

    padding:0 24px;

    border-radius:8px;

    text-decoration:none;

    font-weight:700;

    transition:.25s;
}

.btn-primary{

    background:var(--accent);

    color:white;
}

.btn-primary:hover{

    background:var(--accent-hover);

    transform:translateY(-2px);
}

.btn-secondary{

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

    color:white;
}

.btn-secondary:hover{

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

    transform:translateY(-2px);
}

/* ==========================
   FOOTER
========================== */

.site-footer{

    background:#111827;

    color:#ffffff;
}

.footer-grid{

    display:grid;

    grid-template-columns:
        1.5fr
        1fr
        1fr;

    gap:48px;

    padding:60px 0;
}

.site-footer h3,
.site-footer h4{

    margin-top:0;

    color:white;
}

.site-footer p,
.site-footer a{

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

    text-decoration:none;

    line-height:1.8;
}

.footer-bottom{

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

    padding:20px 0;
}

.footer-bottom p{

    margin:0;

    color:rgba(255,255,255,.45);
}

/* ==========================
   MOBILE
========================== */

@media(max-width:768px){

    .hero h1{

        font-size:48px;
    }

    .hero p{

        font-size:18px;
    }

    .hero-actions{

        flex-direction:column;
    }

    .footer-grid{

        grid-template-columns:1fr;
    }

}