  /* =====================================================
           ROOT
        ===================================================== */

        :root {

            --primary: #0a9b72;
            --primary-dark: #067457;
            --primary-light: #dff8ee;

            --secondary: #76d7b5;

            --dark: #123b3b;
            --text: #385858;
            --muted: #718787;

            --white: #ffffff;
            --light: #f7fcfa;
            --cream: #fffdf6;

            --border: #e4eee9;

            --shadow:
                0 20px 50px rgba(23, 83, 66, 0.10);

            --radius: 22px;

        }


        /* =====================================================
           RESET
        ===================================================== */

        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }


        html {
            scroll-behavior: smooth;
        }


        body {

            font-family: "DM Sans", sans-serif;

            color: var(--text);

            background:
                linear-gradient(
                    180deg,
                    #ffffff 0%,
                    #f8fcfa 100%
                );

            line-height: 1.7;

            overflow-x: hidden;

        }


        img {
            max-width: 100%;
            display: block;
        }


        a {
            text-decoration: none;
            color: inherit;
        }


        button {
            font-family: inherit;
        }


        .container {

            width: min(1180px, 92%);

            margin: auto;

        }


        /* =====================================================
           HEADER
        ===================================================== */

        header {

            position: fixed;

            top: 0;
            left: 0;

            width: 100%;

            z-index: 1000;

            background:
                rgba(255,255,255,.88);

            backdrop-filter:
                blur(18px);

            border-bottom:
                1px solid rgba(0,0,0,.05);

            transition: .3s;

        }


        .navbar {

            height: 76px;

            display: flex;

            align-items: center;

            justify-content: space-between;

        }


        /* LOGO */

        .logo {

            display: flex;

            align-items: center;

            gap: 10px;

        }


        .logo-icon {

            width: 45px;
            height: 45px;

            display: flex;

            align-items: center;

            justify-content: center;

            border-radius: 15px;

            background:
                linear-gradient(
                    135deg,
                    var(--primary),
                    #38c99b
                );

            color: white;

            font-size: 22px;

            box-shadow:
                0 8px 20px
                rgba(10,155,114,.22);

        }


        .logo-text strong {

            display: block;

            font-size: 17px;

            line-height: 1.1;

            color: var(--dark);

        }


        .logo-text span {

            font-size: 14px;

            letter-spacing: 3px;

            color: var(--primary);

            font-weight: 700;

        }


        /* NAVIGATION */

        .nav-menu {

            display: flex;

            align-items: center;

            gap: 30px;

            list-style: none;

        }


        .nav-menu a {

            font-size: 14px;

            font-weight: 600;

            color: #496767;

            transition: .3s;

            position: relative;

        }


        .nav-menu a:hover,
        .nav-menu a.active {

            color: var(--primary);

        }


        .nav-menu a.active::after {

            content: "";

            position: absolute;

            bottom: -8px;

            left: 50%;

            transform: translateX(-50%);

            width: 20px;

            height: 2px;

            border-radius: 10px;

            background: var(--primary);

        }


        /* HEADER BUTTON */

        .header-btn {

            display: inline-flex;

            align-items: center;

            gap: 8px;

            padding: 11px 18px;

            border-radius: 50px;

            background: var(--primary);

            color: white !important;

            font-size: 13px !important;

            box-shadow:
                0 8px 20px
                rgba(10,155,114,.18);

        }


        .header-btn:hover {

            transform: translateY(-2px);

            background: var(--primary-dark);

        }


        /* MOBILE BUTTON */

        .mobile-toggle {

            display: none;

            width: 43px;
            height: 43px;

            border: 1px solid var(--border);

            background: white;

            border-radius: 12px;

            cursor: pointer;

            font-size: 20px;

        }


        /* =====================================================
           HERO
        ===================================================== */

        .hero {

            min-height: 760px;

            padding-top: 120px;

            position: relative;

            overflow: hidden;

            background:

                radial-gradient(
                    circle at 85% 30%,
                    rgba(117,218,183,.24),
                    transparent 30%
                ),

                radial-gradient(
                    circle at 10% 70%,
                    rgba(238,250,215,.45),
                    transparent 30%
                ),

                linear-gradient(
                    135deg,
                    #ffffff,
                    #f0fbf6
                );

        }


        /* decorative circles */

        .hero::before {

            content: "";

            position: absolute;

            width: 500px;
            height: 500px;

            border-radius: 50%;

            border:
                1px solid
                rgba(10,155,114,.08);

            right: -180px;
            top: 100px;

        }


        .hero::after {

            content: "";

            position: absolute;

            width: 300px;
            height: 300px;

            border-radius: 50%;

            background:
                rgba(118,215,181,.12);

            left: -150px;
            bottom: -100px;

        }


        .hero-grid {

            min-height: 640px;

            display: grid;

            grid-template-columns:
                1fr 1.15fr;

            align-items: center;

            gap: 40px;

            position: relative;

            z-index: 2;

        }


        .hero-content {

            padding-bottom: 30px;

        }


        .eyebrow {

            display: inline-flex;

            align-items: center;

            gap: 8px;

            padding: 7px 14px;

            border-radius: 50px;

            background:
                rgba(10,155,114,.08);

            border:
                1px solid
                rgba(10,155,114,.12);

            color: var(--primary);

            font-size: 12px;

            font-weight: 700;

            letter-spacing: 1.5px;

            text-transform: uppercase;

            margin-bottom: 20px;

        }


        .hero h1 {

            font-family:
                "Playfair Display",
                serif;

            color: var(--dark);

            font-size:
                clamp(46px, 5vw, 72px);

            line-height: 1.08;

            margin-bottom: 22px;

            letter-spacing: -1.5px;

        }


        .hero h1 span {

            color: var(--primary);

        }


        .hero-description {

            max-width: 590px;

            color: #648080;

            font-size: 16px;

            margin-bottom: 28px;

        }


        /* HERO BUTTONS */

        .hero-buttons {

            display: flex;

            align-items: center;

            gap: 12px;

            flex-wrap: wrap;

            margin-bottom: 30px;

        }


        .btn {

            display: inline-flex;

            align-items: center;

            justify-content: center;

            gap: 9px;

            padding: 14px 22px;

            border-radius: 50px;

            font-weight: 700;

            font-size: 14px;

            transition: .3s;

        }


        .btn-primary {

            background:
                linear-gradient(
                    135deg,
                    var(--primary),
                    #23b889
                );

            color: white;

            box-shadow:
                0 12px 28px
                rgba(10,155,114,.20);

        }


        .btn-primary:hover {

            transform:
                translateY(-3px);

            box-shadow:
                0 16px 30px
                rgba(10,155,114,.28);

        }


        .btn-outline {

            border:
                1px solid
                #cbded7;

            background: white;

            color: var(--dark);

        }


        .btn-outline:hover {

            border-color: var(--primary);

            color: var(--primary);

            transform:
                translateY(-2px);

        }


        /* TRUST */

        .trust-list {

            display: flex;

            gap: 22px;

            flex-wrap: wrap;

        }


        .trust-item {

            display: flex;

            align-items: center;

            gap: 9px;

            font-size: 16px;

            color: #587070;

        }


        .trust-icon {

            width: 34px;
            height: 34px;

            border-radius: 50%;

            display: flex;

            align-items: center;

            justify-content: center;

            background:
                var(--primary-light);

            color: var(--primary);

        }


        /* HERO IMAGE */

        .hero-visual {

            position: relative;

            display: flex;

            justify-content: center;

            align-items: center;

        }


        .hero-image-wrapper {

            position: relative;

            width: 100%;

            max-width: 650px;

        }


        .hero-image-wrapper::before {

            content: "";

            position: absolute;

            width: 85%;

            height: 85%;

            right: 0;

            top: 8%;

            background:
                #d9f3e8;

            border-radius:
                50% 50% 45% 55%;

            z-index: -1;

        }


        .hero-image {

            width: 100%;

            border-radius:
                30px;

            filter:
                drop-shadow(
                    0 30px 35px
                    rgba(34,95,75,.15)
                );

        }


        /* FLOATING CARD */

        .floating-card {

            position: absolute;

            left: -25px;

            bottom: 35px;

            display: flex;

            align-items: center;

            gap: 12px;

            padding: 14px 18px;

            border-radius: 18px;

            background:
                rgba(255,255,255,.92);

            backdrop-filter:
                blur(12px);

            box-shadow:
                var(--shadow);

            border:
                1px solid
                rgba(255,255,255,.8);

            animation:
                floating 4s ease-in-out infinite;

        }


        .floating-icon {

            width: 42px;
            height: 42px;

            border-radius: 13px;

            background:
                var(--primary-light);

            display: flex;

            align-items: center;

            justify-content: center;

            color: var(--primary);

            font-size: 20px;

        }


        .floating-card strong {

            display: block;

            font-size: 13px;

            color: var(--dark);

        }


        .floating-card span {

            font-size: 11px;

            color: var(--muted);

        }


        @keyframes floating {

            0%, 100% {
                transform: translateY(0);
            }

            50% {
                transform: translateY(-10px);
            }

        }


        /* =====================================================
           SECTION
        ===================================================== */

        section {

            padding: 100px 0;

        }


        .section-heading {

            text-align: center;

            max-width: 680px;

            margin:
                0 auto 55px;

        }


        .section-label {

            display: inline-block;

            color: var(--primary);

            font-size: 12px;

            font-weight: 800;

            letter-spacing: 2px;

            text-transform: uppercase;

            margin-bottom: 10px;

        }


        .section-heading h2 {

            font-family:
                "Playfair Display",
                serif;

            font-size:
                clamp(32px, 4vw, 45px);

            line-height: 1.2;

            color: var(--dark);

            margin-bottom: 13px;

        }


        .section-heading p {

            color: var(--muted);

            font-size: 15px;

        }


        /* =====================================================
           SERVICES
        ===================================================== */

        .services {

            background:
                #ffffff;

        }


        .services-grid {

            display: grid;

            grid-template-columns:
                repeat(3, 1fr);

            gap: 20px;

        }


        .service-card {

            position: relative;

            overflow: hidden;

            padding: 30px;

            border:
                1px solid
                var(--border);

            border-radius:
                var(--radius);

            background:
                linear-gradient(
                    180deg,
                    #ffffff,
                    #fbfefc
                );

            transition: .35s;

        }


        .service-card:hover {

            transform:
                translateY(-8px);

            border-color:
                rgba(10,155,114,.22);

            box-shadow:
                var(--shadow);

        }


        .service-number {

            position: absolute;

            top: 20px;
            right: 23px;

            font-size: 12px;

            font-weight: 700;

            color:
                #bdd2cb;

        }


        .service-icon {

            width: 65px;
            height: 65px;

            border-radius: 19px;

            background:
                var(--primary-light);

            display: flex;

            align-items: center;

            justify-content: center;

            font-size: 29px;

            margin-bottom: 22px;

        }

         .service-icon2 {

            width: 220px;

            border-radius: 19px;

            background:
                var(--primary-light);

            display: flex;

            align-items: center;

            justify-content: center;

            font-size: 29px;

            margin-bottom: 22px;

        }


        .service-card h3 {

            color: var(--dark);

            font-size: 19px;

            margin-bottom: 8px;

        }


        .service-card p {

            color: var(--muted);

            font-size: 13px;

            line-height: 1.7;

            margin-bottom: 18px;

        }


        .service-link {

            color: var(--primary);

            font-size: 13px;

            font-weight: 700;

        }


        .service-link span {

            transition: .3s;

            display: inline-block;

        }


        .service-card:hover
        .service-link span {

            transform:
                translateX(5px);

        }


        /* =====================================================
           ABOUT
        ===================================================== */

        .about {

            background:
                linear-gradient(
                    135deg,
                    #effaf5,
                    #fffdf6
                );

        }


        .about-grid {

            display: grid;

            grid-template-columns:
                1fr 1fr;

            gap: 70px;

            align-items: center;

        }


        .about-image {

            position: relative;

        }


        .about-image img {

            width: 100%;

            border-radius: 30px;

            box-shadow:
                0 25px 50px
                rgba(24,91,70,.13);

        }


        .experience-card {

            position: absolute;

            right: -25px;

            bottom: 30px;

            background: white;

            border-radius: 18px;

            padding: 18px 22px;

            box-shadow:
                var(--shadow);

            text-align: center;

        }


        .experience-card strong {

            display: block;

            font-size: 25px;

            color: var(--primary);

        }


        .experience-card span {

            font-size: 11px;

            color: var(--muted);

        }


        .about-content .section-label {

            margin-bottom: 8px;

        }


        .about-content h2 {

            font-family:
                "Playfair Display",
                serif;

            color: var(--dark);

            font-size: 43px;

            line-height: 1.2;

            margin-bottom: 18px;

        }


        .about-content > p {

            color: var(--muted);

            font-size: 14px;

            margin-bottom: 20px;

        }


        /* FEATURES */

        .features {

            display: grid;

            grid-template-columns:
                1fr 1fr;

            gap: 15px;

            margin-top: 25px;

            margin-bottom: 28px;

        }


        .feature {

            display: flex;

            gap: 11px;

            align-items: flex-start;

        }


        .feature-icon {

            width: 35px;
            height: 35px;

            flex-shrink: 0;

            display: flex;

            align-items: center;

            justify-content: center;

            border-radius: 11px;

            background:
                white;

            color:
                var(--primary);

            box-shadow:
                0 5px 15px
                rgba(0,0,0,.05);

        }


        .feature strong {

            display: block;

            color: var(--dark);

            font-size: 13px;

        }


        .feature span {

            display: block;

            color: var(--muted);

            font-size: 11px;

        }


        /* =====================================================
           WHY US
        ===================================================== */

        .why-us {

            background: white;

        }


        .why-grid {

            display: grid;

            grid-template-columns:
                repeat(4, 1fr);

            gap: 18px;

        }


        .why-card {

            text-align: center;

            padding: 30px 20px;

            border-radius: 20px;

            background:
                #f9fcfa;

            border:
                1px solid
                var(--border);

            transition: .3s;

        }


        .why-card:hover {

            background: white;

            transform:
                translateY(-5px);

            box-shadow:
                var(--shadow);

        }


        .why-icon {

            width: 58px;
            height: 58px;

            margin:
                0 auto 18px;

            border-radius: 18px;

            background:
                var(--primary-light);

            color: var(--primary);

            display: flex;

            align-items: center;

            justify-content: center;

            font-size: 24px;

        }


        .why-card h3 {

            color: var(--dark);

            font-size: 16px;

            margin-bottom: 8px;

        }


        .why-card p {

            color: var(--muted);

            font-size: 12px;

        }


        /* =====================================================
           TESTIMONIAL
        ===================================================== */

        .testimonials {

            background:
                #f5fbf8;

        }


        .testimonial-grid {

            display: grid;

            grid-template-columns:
                repeat(3, 1fr);

            gap: 20px;

        }


        .testimonial {

            padding: 27px;

            background:
                white;

            border-radius: 20px;

            border:
                1px solid
                var(--border);

            box-shadow:
                0 10px 30px
                rgba(0,0,0,.025);

        }


        .stars {

            color: #f5b82e;

            letter-spacing: 2px;

            font-size: 14px;

            margin-bottom: 15px;

        }


        .testimonial p {

            color: #657b7b;

            font-size: 13px;

            font-style: italic;

            margin-bottom: 22px;

        }


        .customer {

            display: flex;

            align-items: center;

            gap: 11px;

        }


        .customer-avatar {

            width: 42px;
            height: 42px;

            border-radius: 50%;

            background:
                var(--primary-light);

            color: var(--primary);

            display: flex;

            align-items: center;

            justify-content: center;

            font-weight: 700;

        }


        .customer strong {

            display: block;

            font-size: 13px;

            color: var(--dark);

        }


        .customer span {

            font-size: 10px;

            color: var(--muted);

        }


        /* =====================================================
           CTA
        ===================================================== */

        .cta {

            padding-top: 70px;

            padding-bottom: 70px;

        }


        .cta-box {

            position: relative;

            overflow: hidden;

            padding:
                65px 70px;

            border-radius:
                30px;

            background:

                radial-gradient(
                    circle at 85% 20%,
                    rgba(255,255,255,.2),
                    transparent 25%
                ),

                linear-gradient(
                    135deg,
                    #087c5b,
                    #11a879
                );

            color: white;

        }


        .cta-box::after {

            content: "✦";

            position: absolute;

            right: 60px;

            bottom: -50px;

            font-size: 250px;

            color:
                rgba(255,255,255,.06);

        }


        .cta-content {

            max-width: 650px;

            position: relative;

            z-index: 2;

        }


        .cta-content small {

            color:
                rgba(255,255,255,.75);

            font-weight: 700;

            letter-spacing: 2px;

        }


        .cta-content h2 {

            font-family:
                "Playfair Display",
                serif;

            font-size:
                clamp(32px, 4vw, 48px);

            line-height: 1.15;

            margin:
                8px 0 14px;

        }


        .cta-content p {

            color:
                rgba(255,255,255,.8);

            font-size: 14px;

            margin-bottom: 25px;

        }


        .cta .btn-primary {

            background: white;

            color: var(--primary);

            box-shadow: none;

        }


        .cta .btn-primary:hover {

            background:
                #f4fffa;

        }


        /* =====================================================
           CONTACT
        ===================================================== */

        .contact {

            background:
                white;

        }


        .contact-grid {

            display: grid;

            grid-template-columns:
                repeat(3, 1fr);

            gap: 20px;

        }


        .contact-card {

            padding: 30px;

            border:
                1px solid
                var(--border);

            border-radius: 20px;

            text-align: center;

            transition: .3s;

        }


        .contact-card:hover {

            transform:
                translateY(-5px);

            box-shadow:
                var(--shadow);

        }


        .contact-icon {

            width: 55px;
            height: 55px;

            margin:
                0 auto 15px;

            border-radius: 17px;

            display: flex;

            align-items: center;

            justify-content: center;

            background:
                var(--primary-light);

            color:
                var(--primary);

            font-size: 22px;

        }


        .contact-card h3 {

            color: var(--dark);

            font-size: 17px;

            margin-bottom: 5px;

        }


        .contact-card p {

            color: var(--muted);

            font-size: 13px;

        }


        /* =====================================================
           FOOTER
        ===================================================== */

        footer {

            background:
                #073e35;

            color: white;

            padding:
                55px 0 25px;

        }


        .footer-grid {

            display: grid;

            grid-template-columns:
                1.5fr 1fr 1fr 1fr;

            gap: 50px;

            padding-bottom: 40px;

            border-bottom:
                1px solid
                rgba(255,255,255,.1);

        }


        .footer-brand p {

            color:
                rgba(255,255,255,.6);

            font-size: 12px;

            max-width: 300px;

            margin-top: 15px;

        }


        .footer-logo strong {

            display: block;

            font-size: 18px;

        }


        .footer-logo span {

            font-size: 9px;

            letter-spacing: 3px;

            color:
                #65d9b3;

        }


        .footer-column h4 {

            font-size: 14px;

            margin-bottom: 16px;

        }


        .footer-column ul {

            list-style: none;

        }


        .footer-column li {

            margin-bottom: 9px;

        }


        .footer-column a {

            color:
                rgba(255,255,255,.6);

            font-size: 12px;

            transition: .3s;

        }


        .footer-column a:hover {

            color: white;

        }


        .footer-bottom {

            display: flex;

            align-items: center;

            justify-content: space-between;

            padding-top: 20px;

            color:
                rgba(255,255,255,.5);

            font-size: 11px;

        }


        .social {

            display: flex;

            gap: 8px;

        }


        .social a {

            width: 32px;
            height: 32px;

            display: flex;

            align-items: center;

            justify-content: center;

            border-radius: 50%;

            background:
                rgba(255,255,255,.08);

            transition: .3s;

        }


        .social a:hover {

            background:
                var(--primary);

        }


        /* =====================================================
           WHATSAPP FLOATING
        ===================================================== */

        .whatsapp-float {

            position: fixed;

            right: 22px;

            bottom: 22px;

            width: 58px;
            height: 58px;

            border-radius: 50%;

            background:
                #25d366;

            color: white;

            display: flex;

            align-items: center;

            justify-content: center;

            font-size: 26px;

            z-index: 999;

            box-shadow:
                0 10px 30px
                rgba(0,0,0,.18);

            transition: .3s;

        }


        .whatsapp-float:hover {

            transform:
                scale(1.08);

        }


        /* =====================================================
           SCROLL ANIMATION
        ===================================================== */

        .reveal {

            opacity: 0;

            transform:
                translateY(25px);

            transition:
                opacity .7s ease,
                transform .7s ease;

        }


        .reveal.show {

            opacity: 1;

            transform:
                translateY(0);

        }


        /* =====================================================
           RESPONSIVE TABLET
        ===================================================== */

        @media(max-width: 1000px) {

            .nav-menu {

                gap: 18px;

            }


            .header-btn {

                display: none;

            }


            .hero-grid {

                grid-template-columns:
                    1fr 1fr;

            }


            .services-grid {

                grid-template-columns:
                    1fr 1fr;

            }


            .why-grid {

                grid-template-columns:
                    1fr 1fr;

            }


            .footer-grid {

                grid-template-columns:
                    1fr 1fr;

            }

        }


        /* =====================================================
           RESPONSIVE MOBILE
        ===================================================== */

        @media(max-width: 760px) {

            .navbar {

                height: 68px;

            }


            .mobile-toggle {

                display: flex;

                align-items: center;

                justify-content: center;

            }


            .nav-menu {

                position: absolute;

                top: 68px;

                left: 0;

                width: 100%;

                padding: 20px;

                background: white;

                flex-direction: column;

                align-items: flex-start;

                gap: 18px;

                box-shadow:
                    0 20px 30px
                    rgba(0,0,0,.06);

                transform:
                    translateY(-150%);

                opacity: 0;

                pointer-events: none;

                transition: .3s;

            }


            .nav-menu.active {

                transform:
                    translateY(0);

                opacity: 1;

                pointer-events: auto;

            }


            .hero {

                padding-top: 100px;

                min-height: auto;

            }


            .hero-grid {

                grid-template-columns: 1fr;

                min-height: auto;

            }


            .hero-content {

                text-align: center;

            }


            .hero-description {

                margin-left: auto;
                margin-right: auto;

            }


            .hero-buttons {

                justify-content: center;

            }


            .trust-list {

                justify-content: center;

            }


            .hero-visual {

                margin-top: 25px;

            }


            .floating-card {

                left: 5px;

                bottom: 15px;

            }


            section {

                padding: 75px 0;

            }


            .services-grid {

                grid-template-columns:
                    1fr;

            }


            .about-grid {

                grid-template-columns:
                    1fr;

                gap: 45px;

            }


            .about-content h2 {

                font-size: 35px;

            }


            .features {

                grid-template-columns:
                    1fr;

            }


            .why-grid {

                grid-template-columns:
                    1fr 1fr;

            }


            .testimonial-grid {

                grid-template-columns:
                    1fr;

            }


            .cta-box {

                padding:
                    45px 25px;

            }


            .contact-grid {

                grid-template-columns:
                    1fr;

            }


            .footer-grid {

                grid-template-columns:
                    1fr;

                gap: 30px;

            }


            .footer-bottom {

                flex-direction: column;

                gap: 15px;

                text-align: center;

            }

        }


        /* =====================================================
           SMALL MOBILE
        ===================================================== */

        @media(max-width: 420px) {

            .hero h1 {

                font-size: 43px;

            }


            .hero-buttons .btn {

                width: 100%;

            }


            .why-grid {

                grid-template-columns:
                    1fr;

            }


            .floating-card {

                transform:
                    scale(.9);

                transform-origin:
                    bottom left;

            }

        }