/* =====================================
   Mountain Mechanic
   Main Stylesheet
===================================== */


/* ---------- RESET ---------- */

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


html {
    scroll-behavior: smooth;
}


body {

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

    background: #ffffff;

    color: #111111;

    line-height: 1.6;

}



/* ---------- GLOBAL ---------- */


.container {

    width: 90%;

    max-width: 1200px;

    margin: auto;

}



.section {

    padding: 70px 0;

}



.section h2 {

    text-align: center;

    font-size: 36px;

    margin-bottom: 30px;

}



p {

    margin-bottom: 20px;

}



a {

    text-decoration: none;

    color: inherit;

}



ul {

    list-style: none;

}



/* ---------- BUTTONS ---------- */


.btn {

    display: inline-block;

    background: #000;

    color: #fff;

    padding: 14px 28px;

    border-radius: 4px;

    font-weight: bold;

    transition: 0.3s ease;

}



.btn:hover {

    background: #333;

}



.btn-outline {

    background: transparent;

    border: 2px solid #fff;

}



/* ---------- HEADER ---------- */


.header {

    background: #ffffff;

    border-bottom: 1px solid #ddd;

    position: sticky;

    top: 0;

    z-index: 1000;

}



.nav-container {

    display: flex;

    align-items: center;

    justify-content: space-between;

    padding: 15px 0;

}



.logo img {

    width: 160px;

    display:block;

}



.nav-links {

    display: flex;

    gap: 25px;

}



.nav-links a {

    font-weight: bold;

}



.nav-links a:hover {

    color: #555;

}




/* ---------- HERO ---------- */


.hero {

    position: relative;

    height: 85vh;

    display: flex;

    align-items: center;

    overflow: hidden;

}



.hero-image {

    position: absolute;

    width: 100%;

    height: 100%;

    object-fit: cover;

}



.hero-overlay {

    position: absolute;

    inset: 0;

    background:

    rgba(0,0,0,0.55);

}



.hero-content {

    position: relative;

    color: white;

    z-index: 1;

}



.hero h1 {

    font-size: 55px;

    max-width: 750px;

    line-height: 1.1;

    margin-bottom: 25px;

}



.hero h1 span {

    display: block;

}



.hero p {

    font-size: 22px;

    max-width: 650px;

}



.hero-buttons {

    display: flex;

    gap: 20px;

}




/* ---------- PAGE HEADER ---------- */


.page-header {

    background: #000;

    color: white;

    padding: 80px 0;

    text-align: center;

}



.page-header h1 {

    font-size: 50px;

}





/* ---------- CARDS ---------- */


.cards {

    display: grid;

    grid-template-columns: repeat(auto-fit,minmax(280px,1fr));

    gap: 30px;

    margin-top: 40px;

}



.card {

    background: white;

    padding: 30px;

    border-radius: 6px;

    box-shadow:

    0 5px 20px rgba(0,0,0,0.08);

}



.card h3 {

    margin-bottom: 15px;

    font-size: 24px;

}



.card li {

    margin-bottom: 10px;

}



/* ---------- DARK SECTIONS ---------- */


.dark {

    background: #111;

    color:white;

}



.dark .card {

    background:#1d1d1d;

    color:white;

}



/* ---------- FEATURE LIST ---------- */


.feature-list {

    max-width:700px;

    margin:auto;

}



.feature-list li {

    padding:12px;

    font-size:18px;

}





/* ---------- PRICING ---------- */


.pricing-grid {

    display:grid;

    grid-template-columns:

    repeat(auto-fit,minmax(260px,1fr));

    gap:30px;

}



.price-card {

    text-align:center;

    padding:35px;

    background:white;

    box-shadow:

    0 5px 20px rgba(0,0,0,.1);

}



.price-card h4 {

    font-size:40px;

    margin:20px 0;

}





/* ---------- CONTACT FORM ---------- */


.contact-container {

    display:grid;

    grid-template-columns:

    repeat(auto-fit,minmax(300px,1fr));

    gap:40px;

}



.contact-form form {

    display:flex;

    flex-direction:column;

}



.contact-form label {

    margin-top:15px;

    font-weight:bold;

}



.contact-form input,

.contact-form textarea,

.contact-form select {

    padding:14px;

    margin-top:6px;

    border:1px solid #ccc;

    border-radius:4px;

    font-size:16px;

}



.contact-form button {

    margin-top:25px;

    border:none;

    cursor:pointer;

}



/* spam protection */

.hidden-field {

    display:none;

}





/* ---------- CTA ---------- */


.cta {

    text-align:center;

    background:#eee;

}



/* ---------- FOOTER ---------- */


.footer {

    background:#000;

    color:white;

    text-align:center;

    padding:50px 0;

}



.footer h3 {

    font-size:28px;

    margin-bottom:15px;

}



.copyright {

    margin-top:25px;

    color:#aaa;

}



/* ---------- MOBILE ---------- */


@media(max-width:900px){

.hero h1 {

    font-size:38px;

}


.hero p {

    font-size:18px;

}


.hero-buttons {

    flex-direction:column;

    width:220px;

}


}


@media(max-width:600px){


.section {

    padding:50px 0;

}


.section h2 {

    font-size:30px;

}


.page-header h1 {

    font-size:36px;

}


}

.center-button {

    text-align:center;

    margin-top:30px;

}


.mobile-estimate {
    display:none;
}


/* =====================================
   MOBILE HAMBURGER MENU
===================================== */


.menu-toggle {

    display:none;

    background:none;

    border:none;

    font-size:32px;

    color:#111;

    cursor:pointer;

    padding:0;

}




@media(max-width:900px){


    .mobile-estimate {

        display:block;
    
        margin-top:5px;
    
       /* text-align:center; */
    
    }
    
    
    .mobile-estimate .btn {
    
        display:inline-block;
    
        background:#000;
    
        color:#fff;
    
        padding:14px 28px;
    
        border-radius:4px;
    
    }
    
    
    .mobile-estimate .btn:hover {
    
        background:#333;
    
        color:#fff;
    
    }

    

    .nav-container {

        flex-direction:row;

        align-items:center;

        justify-content:space-between;

        position:relative;

        height:75px;

    }



    .logo {

        display:flex;

        align-items:center;

    }



    .logo img {

        width:130px;

        display:block;

    }



    .menu-toggle {

        display:block;

    }



    nav {

        position:absolute;

        top:75px;

        left:0;

        width:100%;

        background:#fff;

        display:none;

        box-shadow:0 5px 15px rgba(0,0,0,.1);

        z-index:999;

    }



    nav.active {

        display:block;

    }



    .nav-links {

        display:flex;

        flex-direction:column;

        gap:0;

        padding:20px;

    }



    .nav-links li {

        padding:12px 0;

        border-bottom:1px solid #eee;

    }



    .nav-links a {

        color:#111;

        display:block;

    }

    .nav-links .btn {

        color:#fff;
    
    }

    .nav-links .btn:hover {

        color:#fff;
    
        background:#333;
    
    }

    .desktop-estimate {

        display:none;
    
    }


}