/* =====================================================
   HighTek Bikes
   style.css
===================================================== */

:root{

    --primary:#0d47a1;
    --secondary:#1976d2;
    --accent:#00bcd4;

    --dark:#1d2733;
    --light:#ffffff;
    --gray:#f4f7fa;
    --border:#d9e2ec;

    --shadow:
        0 10px 30px rgba(0,0,0,.08);

    --transition:
        all .35s ease;
}

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{

    font-family:
        "Segoe UI",
        Arial,
        Helvetica,
        sans-serif;

    color:var(--dark);
    background:white;
    line-height:1.65;

}

/* -------------------------------------------------- */

.container{

    width:min(1150px,92%);
    margin:auto;

}

.narrow{

    max-width:850px;

}

/* -------------------------------------------------- */

header{

    position:sticky;
    top:0;

    background:white;

    z-index:999;

    box-shadow:
        0 2px 12px rgba(0,0,0,.06);

}

/* -------------------------------------------------- */

.navbar{

    display:flex;

    justify-content:space-between;

    align-items:center;

    min-height:72px;

}

/* -------------------------------------------------- */

.logo{

    font-size:1.7rem;
    font-weight:700;

    color:var(--dark);

}

.logo span{

    color:var(--primary);

}

/* -------------------------------------------------- */

.nav-links{

    display:flex;

    list-style:none;

    gap:34px;

}

.nav-links a{

    color:var(--dark);

    text-decoration:none;

    transition:var(--transition);

    font-weight:600;

}

.nav-links a:hover{

    color:var(--primary);

}

.nav-links a.current {
    color: var(--primary);
    border-bottom: 2px solid var(--primary);
    padding-bottom: 4px;
}

/* -------------------------------------------------- */

.hero{

    min-height:90vh;

    display:flex;

    align-items:center;

    justify-content:center;

    text-align:center;

    color:white;

    background:
        linear-gradient(
            135deg,
            rgba(8,35,77,.95),
            rgba(13,71,161,.92)
        );

    position:relative;

    overflow:hidden;

}

/* Decorative PCB-like background */

.hero::before{

    content:"";

    position:absolute;

    inset:0;

    background-image:

        linear-gradient(
            rgba(255,255,255,.06) 1px,
            transparent 1px
        ),

        linear-gradient(
            90deg,
            rgba(255,255,255,.06) 1px,
            transparent 1px
        );

    background-size:55px 55px;

    opacity:.5;

}

.hero-content{

    position:relative;
    z-index:2;

    max-width:820px;

    padding:40px;

}

.hero h1{

    font-size:3.3rem;

    margin-bottom:20px;

    line-height:1.15;

}

.hero p{

    font-size:1.2rem;

    opacity:.95;

    margin-bottom:35px;

}

/* -------------------------------------------------- */

.button{

    display:inline-block;

    background:white;

    color:var(--primary);

    padding:15px 36px;

    border-radius:50px;

    text-decoration:none;

    font-weight:bold;

    transition:var(--transition);

}

.button:hover{

    transform:translateY(-3px);

    box-shadow:0 8px 20px rgba(0,0,0,.20);

}

/* -------------------------------------------------- */

.section{

    padding:90px 0;

}

.alt{

    background:var(--gray);

}

.section h2{

    text-align:center;

    font-size:2.4rem;

    margin-bottom:55px;

    color:var(--primary);

}

/* -------------------------------------------------- */

.cards{

    display:grid;

    grid-template-columns:
        repeat(auto-fit,minmax(270px,1fr));

    gap:35px;

}

/* -------------------------------------------------- */

.card{

    background:white;

    border-radius:14px;

    padding:40px;

    box-shadow:var(--shadow);

    transition:var(--transition);

}

.card:hover{

    transform:translateY(-8px);

}

.icon{

    font-size:2.4rem;

    margin-bottom:18px;

}

.card h3{

    margin-bottom:20px;

    color:var(--primary);

}

.card ul{

    padding-left:18px;

}

.card li{

    margin-bottom:10px;

}

/* -------------------------------------------------- */

.features{

    margin-top:55px;

    display:grid;

    grid-template-columns:
        repeat(auto-fit,minmax(230px,1fr));

    gap:28px;

}

.features div{

    background:white;

    border-left:5px solid var(--accent);

    padding:25px;

    box-shadow:var(--shadow);

    border-radius:10px;

}

.features h4{

    margin-bottom:12px;

    color:var(--primary);

}

/* -------------------------------------------------- */

.contact-box{

    display:flex;

    justify-content:center;

    gap:60px;

    margin-bottom:45px;

    flex-wrap:wrap;

}

.contact-item{

    text-align:center;

}

.contact-item strong{

    display:block;

    margin-bottom:8px;

    color:var(--primary);

}

.contact-item a{

    text-decoration:none;

    color:var(--dark);

}

/* -------------------------------------------------- */

.contact-form{

    display:flex;

    flex-direction:column;

    gap:20px;

}

.contact-form input,
.contact-form textarea{

    padding:16px;

    border:1px solid var(--border);

    border-radius:8px;

    font-size:1rem;

    transition:var(--transition);

}

.contact-form input:focus,
.contact-form textarea:focus{

    outline:none;

    border-color:var(--primary);

    box-shadow:
        0 0 0 3px rgba(25,118,210,.15);

}

.contact-form button{

    cursor:pointer;

    border:none;

    background:var(--primary);

    color:white;

    font-size:1rem;

    padding:16px;

    border-radius:8px;

    transition:var(--transition);

}

.contact-form button:hover{

    background:var(--secondary);

}

/* -------------------------------------------------- */

footer{

    background:#15202b;

    color:white;

    text-align:center;

    padding:45px 20px;

}

footer p:first-child{

    margin-bottom:10px;

}

/* -------------------------------------------------- */
/* Reveal animation */

.reveal{

    opacity:0;

    transform:translateY(35px);

    transition:

        opacity .8s ease,

        transform .8s ease;

}

.reveal.active{

    opacity:1;

    transform:translateY(0);

}

/* -------------------------------------------------- */
/* Responsive */

@media(max-width:900px){

    .navbar{

        flex-direction:column;

        padding:18px;

    }

    .nav-links{

        margin-top:18px;

        gap:18px;

        flex-wrap:wrap;

        justify-content:center;

    }

    .hero h1{

        font-size:2.4rem;

    }

    .hero p{

        font-size:1.05rem;

    }

    .section{

        padding:70px 0;

    }

}

@media(max-width:600px){

    .hero h1{

        font-size:2rem;

    }

    .button{

        width:100%;

        max-width:260px;

    }

}

.contact-cta {

    text-align:center;

    background:white;

    padding:40px;

    border-radius:14px;

    box-shadow:var(--shadow);

}

.contact-cta h3 {

    color:var(--primary);

    margin-bottom:15px;

}

.contact-cta p {

    margin-bottom:25px;

}

.contact-cta {

    text-align:center;

    background:white;

    padding:45px;

    border-radius:14px;

    box-shadow:var(--shadow);

}


.contact-cta h3 {

    color:var(--primary);

    margin-bottom:15px;

    font-size:1.6rem;

}


.contact-cta p {

    margin-bottom:25px;

}


.contact-details {

    display:flex;

    justify-content:center;

    gap:60px;

    flex-wrap:wrap;

    margin-top:30px;

}


.contact-details strong {

    color:var(--primary);

}

