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

:root{
    --bg:#040816;
    --card:#0b1224;
    --border:#1d4ed8;
    --blue:#2563eb;
    --light:#38bdf8;
    --text:#ffffff;
    --muted:#a1a1aa;
}

html{
    scroll-behavior:smooth;
}

body{
    font-family:Inter,Arial,sans-serif;
    background:var(--bg);
    color:var(--text);
}

/* HEADER */

.site-header{
    height:90px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:0 5%;
    border-bottom:1px solid rgba(255,255,255,.08);
    background:#040816;
    position:sticky;
    top:0;
    z-index:100;
}

.brand img{
    height:65px;
    width:auto;
    display:block;
}

.nav-links{
    display:flex;
    gap:35px;
}

.nav-links a{
    text-decoration:none;
    color:white;
    font-weight:600;
}

.header-btn{
    background:linear-gradient(135deg,#2563eb,#38bdf8);
    color:white;
    text-decoration:none;
    padding:14px 24px;
    border-radius:12px;
    font-weight:700;
}

/* HERO */

.hero{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:50px;
    align-items:center;
    padding:80px 5%;
}

.launch-pill{
    display:inline-block;
    padding:12px 24px;
    border-radius:999px;
    border:1px solid var(--light);
    color:var(--light);
    margin-bottom:25px;
    font-weight:700;
}

.hero h1{
    font-size:clamp(3rem,6vw,6rem);
    line-height:1;
    margin-bottom:25px;
}

.hero h1 span{
    color:var(--blue);
}

.hero p{
    font-size:1.3rem;
    color:#cbd5e1;
    margin-bottom:30px;
    max-width:650px;
}

.device-row{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-bottom:30px;
}

.device-row span{
    padding:12px 18px;
    border:1px solid rgba(255,255,255,.1);
    border-radius:12px;
    background:#0b1224;
    font-weight:700;
}

.strava{
    color:#fc4c02;
}

.hero-actions{
    display:flex;
    gap:15px;
    flex-wrap:wrap;
}

.primary-btn{
    background:linear-gradient(135deg,#2563eb,#38bdf8);
    color:white;
    text-decoration:none;
    padding:16px 28px;
    border-radius:12px;
    font-weight:700;
}

.secondary-btn{
    border:1px solid var(--light);
    color:white;
    text-decoration:none;
    padding:16px 28px;
    border-radius:12px;
}

.hero-right{
    position:relative;
}

.hero-right img{
    width:100%;
    border-radius:24px;
    border:1px solid rgba(37,99,235,.4);
    box-shadow:0 0 50px rgba(37,99,235,.25);
}

/* FEATURES */

.features{
    padding:100px 5%;
    text-align:center;
}

.section-label{
    color:var(--light);
    text-transform:uppercase;
    letter-spacing:3px;
    font-weight:800;
}

.features h2{
    margin-top:15px;
    margin-bottom:50px;
    font-size:3rem;
}

.feature-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:25px;
}

.feature-card{
    background:var(--card);
    border:1px solid rgba(37,99,235,.25);
    border-radius:20px;
    padding:35px;
    text-align:left;
}

.icon{
    font-size:2rem;
    margin-bottom:15px;
}

.feature-card h3{
    margin-bottom:15px;
}

.feature-card p{
    color:#cbd5e1;
    line-height:1.6;
}

/* BETA BANNER */

.beta-banner{
    width:90%;
    margin:0 auto 80px;
    background:var(--card);
    border:1px solid rgba(37,99,235,.25);
    border-radius:20px;
    padding:35px;
    display:flex;
    justify-content:space-between;
    align-items:center;
}

/* BETA FORM */

.beta-section{
    padding:80px 5%;
    text-align:center;
}

.beta-section h2{
    font-size:3rem;
    margin-bottom:15px;
}

.beta-section p{
    color:#cbd5e1;
}

.beta-form{
    max-width:1000px;
    margin:40px auto;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:15px;
}

.beta-form input{
    padding:16px;
    background:#0b1224;
    border:1px solid rgba(255,255,255,.1);
    border-radius:12px;
    color:white;
}

.beta-form button{
    border:none;
    border-radius:12px;
    background:linear-gradient(135deg,#2563eb,#38bdf8);
    color:white;
    font-weight:700;
    cursor:pointer;
}

/* FOOTER */

.footer{
    padding:80px 5%;
    border-top:1px solid rgba(255,255,255,.08);
    display:grid;
    grid-template-columns:1.5fr 1fr 1fr 1fr 1.5fr;
    gap:30px;
}

.footer-brand img{
    height:80px;
    margin-bottom:15px;
}

.footer h4{
    margin-bottom:15px;
}

.footer a{
    display:block;
    text-decoration:none;
    color:#cbd5e1;
    margin-bottom:10px;
}

.footer-signup{
    display:flex;
    margin-top:15px;
}

.footer-signup input{
    flex:1;
    padding:12px;
    background:#0b1224;
    border:1px solid rgba(255,255,255,.1);
    color:white;
}

.footer-signup button{
    width:60px;
    border:none;
    background:var(--blue);
    color:white;
}

.copyright{
    text-align:center;
    padding:25px;
    color:#94a3b8;
}

/* RESPONSIVE */

@media(max-width:1100px){

    .hero{
        grid-template-columns:1fr;
    }

    .feature-grid{
        grid-template-columns:1fr 1fr;
    }

    .beta-form{
        grid-template-columns:1fr 1fr;
    }

    .footer{
        grid-template-columns:1fr 1fr;
    }
}

@media(max-width:768px){

    .nav-links{
        display:none;
    }

    .feature-grid,
    .beta-form,
    .footer{
        grid-template-columns:1fr;
    }

    .beta-banner{
        flex-direction:column;
        gap:20px;
        text-align:center;
    }

    .hero h1{
        font-size:3rem;
    }
    .logo-text{
        display:flex;
        flex-direction:column;
        align-items:flex-start;
        line-height:1;
    }
    
    .logo-psf{
        font-size:48px;
        font-weight:900;
        letter-spacing:2px;
        background:linear-gradient(90deg,#ffffff,#2f7cff);
        -webkit-background-clip:text;
        -webkit-text-fill-color:transparent;
    }
    
    .logo-subtitle{
        font-size:10px;
        letter-spacing:3px;
        color:#ffffff;
        margin-top:4px;
    }