/* =========================
   CARMAN WEST GLOBAL STYLES
========================= */


/* Google Font */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800&display=swap');



:root {

    --dark-green: #0b2e1b;
    --green: #164a2b;
    --light-green: #2e6b42;

    --gold: #c8a951;
    --gold-light: #e4c86a;

    --white: #ffffff;
    --light: #f5f5f2;

    --dark: #101510;

    --shadow: 0 15px 40px rgba(0,0,0,.25);

}





/* =========================
   RESET
========================= */


* {

    margin: 0;
    padding: 0;
    box-sizing: border-box;

}



html {

    scroll-behavior: smooth;

}



body {

    font-family: 'Montserrat', sans-serif;

    background: var(--light);

    color: #222;

    line-height: 1.6;

}



img {

    max-width: 100%;

    display: block;

}



a {

    text-decoration: none;

    color: inherit;

}








/* =========================
   NAVIGATION
========================= */


.navbar {

    position: fixed;

    top: 15px;

    left: 50%;

    transform: translateX(-50%);

    width: calc(100% - 40px);

    max-width: 1200px;

    height: 58px;

    z-index: 1000;


    background:

    rgba(95, 95, 95, 0.82);


    backdrop-filter: blur(12px);


    border:

    1px solid rgba(255,255,255,.08);


    border-radius: 16px;


    box-shadow:

    0 10px 30px rgba(0,0,0,.25);

    height: 64px;


}



.nav-container {

    height: 100%;

    display: flex;

    align-items: center;

    justify-content: space-between;

    padding: 0 22px;

}





.logo img {

    height: 52px;

    width: auto;

    object-fit: contain;

}






.nav-links {

    display: flex;

    align-items: center;

    gap: 28px;

}



.nav-links a {


    color: var(--white);

    font-size: .9rem;

    font-weight: 500;


    transition: .3s ease;


}



.nav-links a:hover {


    color: var(--gold-light);


}






.menu-toggle {

    display: none;

    background: none;

    border: none;

    cursor: pointer;

}





.menu-toggle span {

    display: block;

    width: 25px;

    height: 2px;

    background: white;

    margin: 5px;

    transition: .3s;

}










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


.hero {


    height: 100vh;

    min-height: 650px;


    position: relative;


    display: flex;

    align-items: center;

    justify-content: center;


    text-align: center;


    background:


    linear-gradient(

        rgba(5,20,10,.65),

        rgba(5,20,10,.8)

    ),

    url("../images/gallery/landing.png");


    background-size: cover;


    background-position: center;


    background-attachment: fixed;


}




.hero-content {


    position: relative;

    z-index: 2;


    max-width: 900px;


    padding: 20px;


}



.hero h1 {


    color: white;


    font-size: clamp(2.8rem,5vw,4.5rem);


    font-weight: 800;


    line-height: 1.1;


    text-transform: uppercase;


}



.hero h1 span {


    color: var(--gold-light);


}




.hero p {


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


    max-width: 650px;


    margin: 25px auto;


    font-size: 1.1rem;


}





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


.btn {


    display: inline-flex;


    align-items: center;


    justify-content: center;


    padding: 13px 30px;


    border-radius: 50px;


    font-weight: 600;


    transition: .3s ease;


    margin: 8px;


}




.btn.primary {


    background:

    linear-gradient(

    135deg,

    var(--gold),

    var(--gold-light)

    );


    color: var(--dark-green);


}




.btn.secondary {


    border:

    2px solid white;


    color:white;


}




.btn:hover {


    transform: translateY(-3px);


    box-shadow: var(--shadow);


}

/* =========================
   STATS SECTION
========================= */


.stats {

    display: grid;

    grid-template-columns: repeat(4, 1fr);

    gap: 20px;

    max-width: 1200px;

    margin: -70px auto 80px;

    position: relative;

    z-index: 5;

    padding: 0 20px;

}



.stat-card {


    background: white;


    border-radius: 18px;


    padding: 30px 20px;


    text-align: center;


    box-shadow: var(--shadow);


    border-bottom: 4px solid var(--gold);


}





.stat-card h2 {


    color: var(--dark-green);


    font-size: 2.5rem;


    font-weight: 800;


}





.stat-card p {


    margin-top: 10px;


    color: #555;


    font-size: .9rem;


}










/* =========================
   SECTION HEADERS
========================= */


.section-header {


    max-width: 750px;


    margin: 0 auto 55px;


    text-align: center;


    padding: 0 20px;


}



.section-header h2 {


    font-size: clamp(2rem,4vw,3rem);


    color: var(--dark-green);


    font-weight: 800;


    text-transform: uppercase;


    margin-bottom: 15px;


}




.section-header h2::after {


    content: "";


    display: block;


    width: 70px;


    height: 4px;


    background: var(--gold);


    margin: 15px auto;


    border-radius: 20px;


}




.section-header p {


    color: #666;


    font-size: 1rem;


}









/* =========================
   SERVICES SECTION
========================= */


.services {


    padding: 90px 20px;


}





.services-grid {


    max-width: 1200px;


    margin: auto;


    display: grid;


    grid-template-columns: repeat(3, 1fr);


    gap: 30px;


}





.service-card {


    background: white;


    padding: 35px 30px;


    border-radius: 22px;


    box-shadow: 0 10px 30px rgba(0,0,0,.08);


    transition: .35s ease;


    position: relative;


    overflow: hidden;


}





.service-card::before {


    content: "";


    position: absolute;


    top: 0;


    left: 0;


    width: 100%;


    height: 5px;


    background:

    linear-gradient(

    90deg,

    var(--dark-green),

    var(--gold)

    );


}





.service-card:hover {


    transform: translateY(-10px);


    box-shadow: var(--shadow);


}





.service-icon {


    font-size: 2.8rem;


    margin-bottom: 20px;


}





.service-card h3 {


    color: var(--dark-green);


    font-size: 1.35rem;


    margin-bottom: 15px;


}





.service-card p {


    color: #666;


    margin-bottom: 20px;


    font-size: .95rem;


}




.service-card a {


    color: var(--green);


    font-weight: 700;


    font-size: .9rem;


    transition: .3s;


}



.service-card a:hover {


    color: var(--gold);


}

/* =========================
   PRICING SECTION
========================= */


.pricing {


    padding: 90px 20px;


    background:


    linear-gradient(

        180deg,

        #f5f5f2,

        #ffffff

    );


}




.pricing-grid {


    max-width: 1200px;


    margin: auto;


    display: grid;


    grid-template-columns: repeat(4, 1fr);


    gap: 25px;


}





.pricing-card {


    background: white;


    border-radius: 24px;


    padding: 35px 28px;


    box-shadow: 0 12px 35px rgba(0,0,0,.08);


    position: relative;


    transition: .35s ease;


    border: 1px solid rgba(0,0,0,.05);


}





.pricing-card:hover {


    transform: translateY(-8px);


    box-shadow: var(--shadow);


}






/* Featured Pricing Card */


.pricing-card.featured {


    background:


    linear-gradient(

        160deg,

        var(--dark-green),

        var(--green)

    );


    color:white;


    transform: scale(1.04);


}





.pricing-card.featured:hover {


    transform: scale(1.04) translateY(-8px);


}





.badge {


    position: absolute;


    top: -15px;


    left: 50%;


    transform: translateX(-50%);


    background: var(--gold);


    color: var(--dark-green);


    padding: 7px 18px;


    border-radius: 50px;


    font-size: .75rem;


    font-weight: 800;


    letter-spacing: .5px;


}





.pricing-header h3 {


    color: var(--dark-green);


    font-size: 1.4rem;


    margin-bottom: 10px;


}





.pricing-card.featured .pricing-header h3 {


    color:white;


}





.pricing-header p {


    color:#777;


    font-size:.9rem;


}




.pricing-card.featured .pricing-header p {


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


}







/* Price */


.price {


    margin: 30px 0;


}



.price span {


    font-size:.85rem;


    color:#777;


}





.pricing-card.featured .price span {


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


}





.price h4 {


    font-size:2.3rem;


    color:var(--dark-green);


    font-weight:800;


}





.pricing-card.featured .price h4 {


    color:var(--gold-light);


}






/* Feature List */


.pricing-card ul {


    list-style:none;


    margin-bottom:30px;


}



.pricing-card li {


    margin:12px 0;


    color:#555;


    font-size:.9rem;


}





.pricing-card.featured li {


    color:white;


}







/* Pricing Button */


.price-btn {


    display:flex;


    justify-content:center;


    align-items:center;


    width:100%;


    padding:13px;


    border-radius:50px;


    background:var(--dark-green);


    color:white;


    font-weight:700;


    transition:.3s;


}




.price-btn:hover {


    background:var(--gold);


    color:var(--dark-green);


}





.pricing-card.featured .price-btn {


    background:var(--gold);


    color:var(--dark-green);


}








/* =========================
   ACREAGE PRICING
========================= */



.acreage-pricing {


    max-width:1100px;


    margin:70px auto 0;


    background:white;


    padding:40px;


    border-radius:25px;


    box-shadow:0 15px 40px rgba(0,0,0,.08);


    text-align:center;


}





.acreage-pricing h3 {


    color:var(--dark-green);


    font-size:1.6rem;


    margin-bottom:30px;


}





.acreage-grid {


    display:grid;


    grid-template-columns:repeat(3,1fr);


    gap:20px;


}





.acreage-grid div {


    background:


    linear-gradient(

        135deg,

        #f7f7f3,

        white

    );


    padding:25px;


    border-radius:18px;


    border-left:4px solid var(--gold);


}





.acreage-grid h4 {


    color:var(--dark-green);


    margin-bottom:10px;


}





.acreage-grid p {


    font-size:1.5rem;


    font-weight:800;


    color:var(--gold);


}





.pricing-note {


    margin-top:30px;


    font-size:.85rem;


    color:#666;


}

/* =========================
   EQUIPMENT SECTION
========================= */


.equipment {


    padding:90px 20px;


    background:white;


}




.equipment-grid {


    max-width:1200px;


    margin:auto;


    display:grid;


    grid-template-columns:repeat(2,1fr);


    gap:35px;


}





.equipment-card {


    display:grid;


    grid-template-columns: .9fr 1.1fr;


    background:#f8f8f5;


    border-radius:25px;


    overflow:hidden;


    box-shadow:0 12px 35px rgba(0,0,0,.08);


    transition:.35s ease;


}




.equipment-card:hover {


    transform:translateY(-8px);


    box-shadow:var(--shadow);


}





.equipment-image {


    min-height:280px;


    overflow:hidden;


}





.equipment-image img {


    width:100%;


    height:100%;


    object-fit:cover;


    transition:.5s ease;


}





.equipment-card:hover img {


    transform:scale(1.08);


}





.equipment-content {


    padding:35px;


}





.equipment-content h3 {


    color:var(--dark-green);


    font-size:1.4rem;


    margin-bottom:15px;


}





.equipment-content p {


    color:#666;


    margin-bottom:20px;


}




.equipment-content ul {


    list-style:none;


}





.equipment-content li {


    margin:10px 0;


    font-size:.9rem;


    color:#444;


}









/* Equipment CTA Banner */


.equipment-banner {


    max-width:1200px;


    margin:70px auto 0;


    padding:50px 30px;


    border-radius:30px;


    text-align:center;


    background:


    linear-gradient(

        135deg,

        var(--dark-green),

        var(--green)

    );


    color:white;


}





.equipment-banner h3 {


    font-size:2rem;


    margin-bottom:15px;


}





.equipment-banner p {


    max-width:700px;


    margin:auto;


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


}









/* =========================
   GALLERY SECTION
========================= */


.gallery {


    padding:90px 20px;


    background:#f5f5f2;


}




.gallery-grid {


    max-width:1200px;


    margin:auto;


    display:grid;


    grid-template-columns:repeat(3,1fr);


    gap:25px;


}





.gallery-item {


    overflow:hidden;


    border-radius:22px;


    cursor:pointer;


    height:280px;


    box-shadow:0 10px 25px rgba(0,0,0,.12);


}





.gallery-item img {


    width:100%;


    height:100%;


    object-fit:cover;


    transition:.5s ease;


}





.gallery-item:hover img {


    transform:scale(1.1);


}

/* =========================
   CONTACT SECTION
========================= */


.contact {


    padding:90px 20px;


    background:white;


}





.contact-container {


    max-width:1200px;


    margin:auto;


    display:grid;


    grid-template-columns:1fr 450px;


    gap:50px;


    align-items:center;


}





.contact-content h2 {


    font-size:clamp(2rem,4vw,3rem);


    color:var(--dark-green);


    font-weight:800;


    margin-bottom:20px;


}





.contact-content > p {


    color:#666;


    max-width:600px;


    margin-bottom:35px;


}






.contact-info {


    display:grid;


    grid-template-columns:repeat(3,1fr);


    gap:20px;


}





.contact-info div {


    background:#f5f5f2;


    padding:20px;


    border-radius:18px;


    border-left:4px solid var(--gold);


}





.contact-info h4 {


    color:var(--dark-green);


    margin-bottom:8px;


}





.contact-info p {


    font-size:.9rem;


    color:#666;


}









/* =========================
   QUOTE FORM
========================= */


.quote-form {


    background:


    linear-gradient(

        160deg,

        var(--dark-green),

        var(--green)

    );


    padding:35px;


    border-radius:25px;


    box-shadow:var(--shadow);


}





.quote-form h3 {


    color:white;


    font-size:1.5rem;


    margin-bottom:25px;


}





.quote-form input,
.quote-form select,
.quote-form textarea {


    width:100%;


    padding:14px 16px;


    margin-bottom:15px;


    border-radius:12px;


    border:none;


    outline:none;


    font-family:inherit;


    font-size:.9rem;


}





.quote-form textarea {


    resize:none;


}





.quote-form input:focus,
.quote-form select:focus,
.quote-form textarea:focus {


    box-shadow:0 0 0 3px rgba(228,200,106,.35);


}








.quote-form .btn {


    width:100%;


    border:none;


    cursor:pointer;


}









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


.footer {


    background:


    linear-gradient(

        160deg,

        #071d11,

        #102f1c

    );


    color:white;


    padding:60px 20px 20px;


}





.footer-container {


    max-width:1200px;


    margin:auto;


    display:grid;


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


    gap:40px;


}





.footer-brand img {


    height:60px;


    margin-bottom:20px;


}





.footer-brand p {


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


    max-width:350px;


}





.footer h4 {


    color:var(--gold-light);


    margin-bottom:20px;


}





.footer-links,
.footer-social {


    display:flex;


    flex-direction:column;


    gap:12px;


}





.footer-links a,
.footer-social a {


    color:white;


    opacity:.8;


    transition:.3s;


}





.footer-links a:hover,
.footer-social a:hover {


    color:var(--gold-light);


    opacity:1;


}





.footer-bottom {


    max-width:1200px;


    margin:40px auto 0;


    padding-top:20px;


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


    text-align:center;


}





.footer-bottom p {


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


    font-size:.85rem;


}









/* =========================
   SMOOTH ANIMATIONS
========================= */


.service-card,
.pricing-card,
.equipment-card,
.gallery-item {


    animation:fadeUp .6s ease both;


}




@keyframes fadeUp {


    from {

        opacity:0;

        transform:translateY(30px);

    }


    to {

        opacity:1;

        transform:translateY(0);

    }


}

.nav-links a.active {

    color: var(--gold-light);

}

/* =========================
   SCROLL REVEAL EFFECT
========================= */


.reveal {


    opacity:0;


    transform:translateY(40px);


    transition:


    opacity .7s ease,


    transform .7s ease;


}





.reveal.visible {


    opacity:1;


    transform:translateY(0);


}

.services-grid .service-card:nth-child(2),
.pricing-grid .pricing-card:nth-child(2),
.equipment-grid .equipment-card:nth-child(2),
.gallery-grid .gallery-item:nth-child(2){

    transition-delay:.15s;

}



.services-grid .service-card:nth-child(3),
.pricing-grid .pricing-card:nth-child(3),
.gallery-grid .gallery-item:nth-child(3){

    transition-delay:.3s;

}



.services-grid .service-card:nth-child(4),
.pricing-grid .pricing-card:nth-child(4){

    transition-delay:.45s;

}

/* =========================
   TRUST SECTION
========================= */


.trust {


    padding:90px 20px;


    background:#f5f5f2;


}





.trust-grid {


    max-width:1200px;


    margin:auto;


    display:grid;


    grid-template-columns:repeat(3,1fr);


    gap:30px;


}





.trust-card {


    background:white;


    padding:35px;


    text-align:center;


    border-radius:22px;


    box-shadow:0 10px 30px rgba(0,0,0,.08);


    transition:.3s;


}





.trust-card:hover {


    transform:translateY(-8px);


}





.trust-icon {


    font-size:3rem;


    margin-bottom:20px;


}





.trust-card h3 {


    color:var(--dark-green);


    margin-bottom:15px;


}





.trust-card p {


    color:#666;


    font-size:.95rem;


}









/* Testimonials */


.testimonial-grid {


    max-width:1200px;


    margin:60px auto 0;


    display:grid;


    grid-template-columns:repeat(3,1fr);


    gap:25px;


}





.testimonial-card {


    background:white;


    padding:30px;


    border-radius:20px;


    border-top:4px solid var(--gold);


    box-shadow:0 10px 25px rgba(0,0,0,.07);


}





.testimonial-card p {


    color:#555;


    font-style:italic;


    margin-bottom:20px;


}





.testimonial-card h4 {


    color:var(--dark-green);


}

/* =========================
   SERVICE AREA SECTION
========================= */


.service-area {


    padding:90px 20px;


    background:white;


}





.service-area-container {


    max-width:1200px;


    margin:auto;


    display:grid;


    grid-template-columns:1fr 450px;


    gap:60px;


    align-items:center;


}





.service-area-content h2 {


    color:var(--dark-green);


    font-size:clamp(2rem,4vw,3rem);


    font-weight:800;


    margin-bottom:20px;


}





.service-area-content p {


    color:#666;


    max-width:600px;


}





.area-list {


    display:grid;


    grid-template-columns:repeat(2,1fr);


    gap:15px;


    margin:30px 0;


}





.area-list span {


    background:#f5f5f2;


    padding:14px;


    border-radius:12px;


    color:var(--dark-green);


    font-weight:600;


}





.service-note {


    font-size:.85rem;


    margin-bottom:25px;


}









/* =========================
   GOOGLE MAP
========================= */


.map-container {


    height:380px;


    border-radius:30px;


    overflow:hidden;


    box-shadow:var(--shadow);


}





.map-container iframe {


    width:100%;


    height:100%;


    border:0;


}





.map-content span {


    font-size:4rem;


}





.map-content h3 {


    font-size:2rem;


    margin:15px 0;


}





.map-content p {


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


}