/* =========================

   GLOBAL

\========================= */



* {

    margin: 0;

    padding: 0;

    box-sizing: border-box;

}



html {

    scroll-behavior: smooth;

}



body {

    font-family: "Inter", sans-serif;

    color: #111;

    background: #fff;

    line-height: 1.6;

}



img {

    max-width: 100%;

    display: block;

}



a {

    text-decoration: none;

    color: inherit;

}



button,

input,

select {

    font: inherit;

}



.container {

    width: min(1180px, 92%);

    margin: auto;

}



.section {

    padding: 78px 0;

}



.eyebrow {

    display: block;

    text-transform: uppercase;

    letter-spacing: 2px;

    font-size: 14px;

    font-weight: 800;

    color: #49614f;

    margin-bottom: 8px;

}



h1,

h2,

h3,

h4 {

    line-height: 1.1;

}



h2 {

    font-size: clamp(30px, 4vw, 44px);

}



p {

    color: #606760;

}





/* =========================

   BUTTONS

\========================= */



.btn {

    min-height: 48px;

    padding: 0 22px;

    border-radius: 8px;



    display: inline-flex;

    align-items: center;

    justify-content: center;



    gap: 10px;



    font-weight: 700;

    font-size: 14px;



    transition: 0.25s ease;



    border: 0;



    cursor: pointer;

}



.btn:hover {

    transform: translateY(-2px);

}



.btn-green {

    background: #55bf22;

    color: #fff;

}



.btn-green:hover {

    background: #419d1b;

}



.btn-whatsapp,

.btn-outline {

    border: 1px solid #55bf22;



    color: #1e6f29;



    background: #fff;

}





/* =========================

   HEADER

\========================= */



.header {

    position: sticky;



    top: 0;



    z-index: 1000;



    background: rgba(255, 255, 255, 0.96);



    border-bottom: 1px solid #ececec;



    backdrop-filter: blur(12px);

}



.navbar {

    height: 82px;



    display: flex;



    align-items: center;



    justify-content: space-between;



    gap: 30px;

}



.logo img {

    width: 180px;



    max-height: 68px;



    object-fit: contain;

}



.nav-links {

    display: flex;



    align-items: center;



    gap: 32px;

}



.nav-links a {

    font-size: 14px;



    font-weight: 600;



    position: relative;

}



.nav-links a::after {

    content: "";



    position: absolute;



    width: 0;



    height: 2px;



    left: 0;



    bottom: -8px;



    background: #55bf22;



    transition: 0.25s;

}



.nav-links a:hover::after,

.nav-links .active::after {

    width: 100%;

}



.menu-toggle {

    border: 0;



    background: transparent;



    font-size: 24px;



    display: none;

}





/* =========================

   HERO

\========================= */



.hero {

    background: #f6f8f5;



    overflow: hidden;
    display: flex;
    flex-direction: column;

}



.hero-grid {

    min-height: 570px;
    display: flex;



    display: grid;



    grid-template-columns:

        minmax(0, 0.92fr)

        minmax(0, 1.08fr);



    align-items: stretch;

}



.hero-content {

    padding: 82px 36px 72px 0;



    position: relative;



    z-index: 2;



    display: flex;



    flex-direction: column;



    justify-content: center;

}



.hero h1 {

    font-size: clamp(44px, 5.4vw, 70px);



    letter-spacing: -3.5px;



    max-width: 650px;



    margin-bottom: 20px;

}



.hero h1 span {

    display: block;



    color: #46b31d;

}



.hero-description {

    max-width: 620px;



    font-size: 16px;



    margin-bottom: 30px;

}



.hero-buttons {

    display: flex;



    gap: 14px;



    flex-wrap: wrap;



    margin-bottom: 30px;

}



.hero-points {

    display: flex;



    gap: 22px;



    flex-wrap: wrap;



    font-size: 14px;



    font-weight: 700;

}



.hero-points i {

    color: #55bf22;



    margin-right: 6px;

}



.hero-image {

    min-height: 570px;
    display: flex;



    position: relative;

}



.hero-image::before {

    content: "";



    position: absolute;



    inset: 0;



    z-index: 1;



    background:

        linear-gradient(

            90deg,

            #f6f8f5 0%,

            rgba(246, 248, 245, 0.15) 28%,

            transparent 55%

        );

}



.hero-image > img {

    width: 100%;
    object-fit: cover;

}





























/* =========================

   INFO STRIP

\========================= */



.info-section {

    background: #fff;

}



.info-grid {

    display: grid;



    grid-template-columns:

        repeat(4, 1fr);



    background: transparent;



    gap: 18px;
    padding-top: 24px;



    box-shadow:

        0 8px 26px rgba(0, 0, 0, 0.04);

}



.info-box {

    display: flex;



    gap: 16px;



    padding: 28px 22px;



    background: #fff;
    border: 1px solid #e5e9e5;
    border-radius: 12px;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.03);
    transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;

}



.info-box:hover {
    transform: translateY(-5px);
    box-shadow: 0 14px 32px rgba(0, 0, 0, 0.08);
    border-color: #b8dcb0;
}

.info-box .icon {
    transition: transform 0.3s ease, background 0.3s ease;
}

.info-box:hover .icon {
    transform: scale(1.08) translateY(-2px);
    background: #dcf3d5;
}



.icon {

    min-width: 42px;



    height: 42px;



    border-radius: 50%;



    background: #e8f8e4;



    color: #289116;



    display: grid;



    place-items: center;



    font-size: 19px;

}



.info-box h4 {

    font-size: 16px;
    line-height: 1.35;



    margin-bottom: 5px;

}



.info-box p {

    font-size: 14px;
    line-height: 1.65;

}





/* =========================

   SECTION HEADING

\========================= */



.section-heading {

    display: flex;



    justify-content: space-between;



    align-items: end;



    gap: 30px;



    margin-bottom: 30px;

}



.section-link {

    font-size: 14px;



    color: #309b18;



    font-weight: 800;

}





/* =========================

   SERVICES

\========================= */



.services-grid {

    display: grid;



    grid-template-columns:

        repeat(4, 1fr);



    gap: 14px;

    grid-auto-rows: 1fr;
}



.service-card {

    background: #fff;



    border: 1px solid #e7e9e6;



    border-radius: 10px;



    overflow: hidden;
    display: flex;
    flex-direction: column;



    transition: 0.25s ease;

}



.service-card:hover {

    transform: translateY(-6px);



    box-shadow:

        0 15px 40px rgba(0, 0, 0, 0.09);

}



.service-image {

    aspect-ratio: 16 / 10;



    position: relative;

}



.service-image img {

    width: 100%;



    height: 100%;



    object-fit: cover;

}



.service-icon {

    position: absolute;



    left: 12px;



    bottom: -18px;



    height: 42px;



    width: 42px;



    border-radius: 50%;



    background: #60cf28;



    color: #fff;



    display: grid;



    place-items: center;



    border: 4px solid #fff;

}



.service-body {

    padding: 30px 15px 18px;
    display: flex;
    flex-direction: column;
    flex: 1;

}



.service-body h3 {

    font-size: 18px;
    line-height: 1.35;



    margin-bottom: 10px;

}



.service-body p {

    font-size: 14px;
    line-height: 1.65;



    flex: 1;

}



.service-body a {

    display: inline-flex;



    margin-top: 12px;



    gap: 7px;



    align-items: center;



    font-size: 14px;



    font-weight: 800;



    color: #329c17;

}





/* =========================

   WHY US

\========================= */



.why-us {

    background:

        radial-gradient(

            circle at 20% 50%,

            rgba(82, 197, 36, 0.14),

            transparent 34%

        ),

        #f8fbf7;

}



.why-grid {

    display: grid;



    grid-template-columns:

        1.05fr

        1.25fr

        0.8fr;



    align-items: center;



    gap: 42px;

}



.why-content h2 {

    margin-bottom: 18px;

}



.why-content p {

    font-size: 15px;



    margin-bottom: 25px;

}



.benefits-grid {

    display: grid;



    grid-template-columns:

        repeat(2, 1fr);



    gap: 28px 24px;

}



.benefit {

    display: flex;



    align-items: flex-start;



    gap: 12px;

}



.benefit h4 {
    line-height: 1.35;

    font-size: 16px;



    margin-bottom: 5px;

}



.benefit p {
    line-height: 1.65;

    font-size: 14px;

}



.why-image img {

    height: 300px;



    width: 100%;



    object-fit: cover;



    border-radius:

        32px 4px 32px 4px;

}





/* =========================

   TESTIMONIALS

\========================= */



.testimonials {

    background: #ffffff;

}



.testimonial-heading {

    align-items: center;

}



.testimonial-intro {

    max-width: 460px;



    font-size: 15px;

}



.testimonials-grid {

    display: grid;



    grid-template-columns:

        repeat(3, 1fr);



    gap: 22px;

}



.testimonial-card {

    background: #f8fbf7;



    border:

        1px solid #e5ebe3;



    border-radius: 14px;



    padding: 28px;



    transition: 0.25s ease;



    position: relative;

}



.testimonial-card::before {

    content: "“";



    position: absolute;



    right: 22px;



    top: 6px;



    font-size: 80px;



    line-height: 1;



    color: rgba(85, 191, 34, 0.10);



    font-weight: 800;

}



.testimonial-card:hover {

    transform: translateY(-5px);



    box-shadow:

        0 18px 40px rgba(0, 0, 0, 0.08);

}



.stars {

    color: #55bf22;



    display: flex;



    gap: 4px;



    margin-bottom: 18px;



    font-size: 14px;

}



.testimonial-text {

    font-size: 14px;



    line-height: 1.8;



    margin-bottom: 24px;



    position: relative;



    z-index: 2;

}



.testimonial-client {

    display: flex;



    align-items: center;



    gap: 12px;

}



.client-avatar {

    width: 44px;



    height: 44px;



    border-radius: 50%;



    background: #55bf22;



    color: white;



    display: grid;



    place-items: center;



    flex-shrink: 0;

}



.testimonial-client h4 {

    font-size: 15px;



    margin-bottom: 3px;

}



.testimonial-client span {

    font-size: 14px;



    color: #7a817a;

}



.testimonial-note {

    margin-top: 20px;



    font-size: 14px;



    color: #8a908a;



    text-align: center;

}





/* =========================

   QUOTE

\========================= */



.quote-section {

    padding: 52px 0;



    background: #f8fbf7;

}



.quote-grid {

    display: grid;



    grid-template-columns:

        0.8fr 2fr;



    gap: 50px;



    align-items: center;

}



.quote-intro h2 {

    margin-bottom: 12px;

}



.quote-intro p {

    font-size: 15px;

}



.contact-mini {

    margin-top: 18px;



    display: grid;



    gap: 8px;

}



.contact-mini a {

    font-size: 14px;



    color: #1c5f25;



    font-weight: 700;

}



.contact-mini i {

    margin-right: 8px;

}



.quote-form {

    display: grid;



    grid-template-columns:

        repeat(2, 1fr);



    gap: 12px;

}



.form-group {

    display: flex;



    flex-direction: column;

}



.form-group label {

    font-size: 14px;



    font-weight: 700;



    margin-bottom: 5px;

}



.form-group input,

.form-group select {

    height: 46px;



    border:

        1px solid #e3e7e2;



    border-radius: 7px;



    padding: 0 12px;



    outline: none;



    background: #fff;

}



.form-group input:focus,

.form-group select:focus {

    border-color: #50b820;



    box-shadow:

        0 0 0 3px rgba(80, 184, 32, 0.08);

}



.quote-submit {

    width: 100%;

}



.or {

    display: flex;



    align-items: center;



    justify-content: center;



    color: #777;



    font-size: 14px;

}





/* =========================

   FOOTER

\========================= */



.footer {

    background: #062e20;



    color: #fff;



    padding: 48px 0 16px;

}



.footer-grid {

    display: grid;



    grid-template-columns:

        1.3fr 1fr 0.9fr 1.4fr;



    gap: 35px;

}



.footer img {

    max-width: 170px;



    margin-bottom: 15px;



    background: #fff;



    border-radius: 8px;



    padding: 6px;

}



.footer h4 {

    font-size: 16px;



    margin-bottom: 15px;

}



.footer a,

.footer p {

    color: #c7d2cb;



    font-size: 14px;



    display: block;



    margin: 6px 0;

}



.footer strong {

    display: block;



    margin-top: 12px;



    font-size: 14px;



    color: #fff;

}



.footer a:hover {

    color: #64d732;

}



.footer i {

    width: 16px;

}



.footer-bottom {

    margin-top: 35px;



    padding-top: 18px;



    border-top:

        1px solid rgba(255, 255, 255, 0.1);



    display: flex;



    justify-content: space-between;



    align-items: center;

}



.footer-bottom div {

    display: flex;



    gap: 20px;

}





/* =========================

   RESPONSIVE

\========================= */



@media (max-width: 1100px) {



    .services-grid {

        grid-template-columns:

            repeat(2, minmax(0, 1fr));

    }



    .why-grid {

        grid-template-columns:

            1fr 1.2fr;

    }



    .why-image {

        display: none;

    }



    .footer-grid {

        grid-template-columns:

            repeat(2, minmax(0, 1fr));

    }



}







@media (max-width: 800px) {



    .desktop-quote {

        display: none;

    }



    .menu-toggle {

        display: block;

    }



    .nav-links {

        position: absolute;



        top: 82px;



        left: 0;



        width: 100%;



        background: #fff;



        flex-direction: column;



        padding: 25px;



        border-bottom:

            1px solid #ddd;



        display: none;

    }



    .nav-links.open {

        display: flex;

    }



    .hero-grid {

        grid-template-columns: 1fr;

    }



    .hero-content {

        padding: 58px 0;

    }



    .hero h1 {

        letter-spacing: -2px;

    }



    .hero-image {

        min-height: 420px;

    }



    .hero-image::before {

        background:

            linear-gradient(

                180deg,

                #f6f8f5 0%,

                transparent 25%

            );

    }



    



    .info-grid {

        grid-template-columns:

            repeat(2, 1fr);

    }



    .services-grid {

        grid-template-columns:

            repeat(2, 1fr);

    }



    .why-grid {

        grid-template-columns: 1fr;

    }



    .testimonials-grid {

        grid-template-columns: 1fr;

    }



    .quote-grid {

        grid-template-columns: 1fr;

    }



    .footer-grid {

        grid-template-columns:

            repeat(2, 1fr);

    }



}







@media (max-width: 520px) {



    .logo img {

        width: 145px;

    }



    .hero h1 {

        font-size: 42px;

    }



    .hero-buttons {

        flex-direction: column;

    }



    .btn {

        width: 100%;

    }



    .hero-points {

        flex-direction: column;



        gap: 10px;

    }



    .info-grid {

        grid-template-columns: 1fr;

    }







    .section-heading {

        align-items: flex-start;



        flex-direction: column;

    }



    .services-grid {

        grid-template-columns: 1fr;

        grid-auto-rows: auto;
}







    .service-body p {

        min-height: auto;

    }



    .benefits-grid {

        grid-template-columns: 1fr;

    }



    .quote-form {

        grid-template-columns: 1fr;

    }



    .footer-grid {

        grid-template-columns: 1fr;

    }



    .footer-bottom {

        align-items: flex-start;



        flex-direction: column;

    }



}

/* =========================
   FLOATING WHATSAPP
========================= */

.floating-whatsapp {
    position: fixed;
    right: 24px;
    bottom: 24px;
    z-index: 9999;

    min-height: 56px;
    padding: 0 20px;

    border-radius: 50px;

    background: #25d366;
    color: #ffffff;

    display: flex;
    align-items: center;
    justify-content: center;

    gap: 10px;

    font-size: 14px;
    font-weight: 700;

    box-shadow:
        0 12px 30px rgba(0, 0, 0, 0.22);

    transition:
        transform 0.25s ease,
        background 0.25s ease,
        box-shadow 0.25s ease;
}

.floating-whatsapp i {
    font-size: 24px;
}

.floating-whatsapp:hover {
    background: #1fbd5a;
    transform: translateY(-4px);

    box-shadow:
        0 16px 36px rgba(0, 0, 0, 0.28);
}



@media (max-width: 520px) {

    .floating-whatsapp {
        width: 56px;
        height: 56px;
        min-height: 56px;

        padding: 0;

        right: 16px;
        bottom: 16px;

        border-radius: 50%;
    }

    .floating-whatsapp span {
        display: none;
    }
}

.footer-grid > *, .quote-grid > *, .info-box > * { min-width: 0; }
.footer a, .contact-mini a { overflow-wrap: anywhere; }
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { transition: none !important; }
    .info-box:hover, .info-box:hover .icon, .service-card:hover, .btn:hover, .testimonial-card:hover, .floating-whatsapp:hover { transform: none; }
}

.demo-review-label { font-size: 14px; font-weight: 600; color: #316c29; margin-bottom: 16px; }
.stars span { color: #526052; font-size: 14px; margin-left: 8px; }
.service-body .photo-credit { flex: none; font-size: 14px; margin-bottom: 10px; }
.service-body .photo-credit a { display: inline; margin: 0; font-size: inherit; font-weight: 500; text-decoration: underline; }
