
        /* HERO */
        .hero {
            position: relative;
            min-height: 720px;
            display: flex;
            align-items: center;
            overflow: hidden;
            background:
                linear-gradient(90deg, rgba(16,31,23,.93) 0%, rgba(16,31,23,.82) 42%, rgba(16,31,23,.30) 100%),
                url("../img/principal_2400.webp")
                center/cover;
        }

        .hero-content {
            color: #fff;
            max-width: 760px;
            padding: 100px 0;
        }

        .hero h1 {
            color: #fff;
            font-size: clamp(2.7rem, 5vw, 4.7rem);
            line-height: 1.04;
            letter-spacing: -2px;
            font-weight: 800;
        }

        .hero h1 span {
            color: var(--secondary-color);;
        }

        .hero p {
            font-size: 1.2rem;
            line-height: 1.7;
            color: rgba(255,255,255,.87);
            max-width: 650px;
        }

        .hero-badge {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            background: rgba(255,255,255,.12);
            border: 1px solid rgba(255,255,255,.2);
            color: #fff;
            padding: 8px 14px;
            border-radius: 50px;
            font-size: .9rem;
            font-weight: 600;
            margin-bottom: 22px;
            backdrop-filter: blur(5px);
        }

        .hero-actions {
            display: flex;
            flex-wrap: wrap;
            gap: 12px;
            margin-top: 30px;
        }

        .hero-trust {
            display: flex;
            flex-wrap: wrap;
            gap: 25px;
            margin-top: 45px;
            color: rgba(255,255,255,.85);
            font-size: .92rem;
        }

        .hero-trust i {
            color: var(--secondary-color);
            margin-right: 6px;
        }

        /* SECTION */
        .section {
            padding: 50px 0;
        }

        .section-blue {
            background: var(--primary-color-light);
        }

        .eyebrow {
            display: inline-block;
            color: var(--secondary-color);
            background: var(--secondary-color-light);
            border-radius: 50px;
            padding: 7px 13px;
            font-size: .82rem;
            font-weight: 800;
            text-transform: uppercase;
            letter-spacing: .7px;
            margin-bottom: 15px;
        }

        .section-title {
            font-size: clamp(2rem, 4vw, 3.15rem);
            font-weight: 800;
            letter-spacing: -1.5px;
            line-height: 1.12;
        }

        .section-subtitle {
            color: var(--nouvidon-muted);
            font-size: 1.05rem;
            line-height: 1.7;
            max-width: 680px;
        }


        /* CONTACT BAR */

        .contact-bar {
    background: #fff;
    border-bottom: 1px solid #e8ece9;
    box-shadow: 0 4px 15px rgba(20, 40, 28, .04);
}

.contact-bar-link {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    text-decoration: none;
    color: var(--nouvidon-dark);
}

.contact-bar-link > i {
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--secondary-color-light);
    color: var(--secondary-color);
    border-radius: 10px;
}

.contact-bar-link small {
    display: block;
    color: var(--nouvidon-muted);
    font-size: .75rem;
}

.contact-bar-link strong {
    display: block;
    font-size: .95rem;
}

.contact-bar-link:hover strong {
    color: var(--secondary-color);
}

        /* AUDIENCE CARDS */
        .audience-card {
            position: relative;
            min-height: 360px;
            border-radius: 22px;
            overflow: hidden;
            color: #fff;
            display: flex;
            align-items: flex-end;
            background-size: cover;
            background-position: center;
            box-shadow: 0 15px 40px rgba(22,34,28,.10);
            transition: .3s ease;
        }

        .audience-card:hover {
            transform: translateY(-6px);
            box-shadow: 0 22px 50px rgba(22,34,28,.17);
        }

        .audience-card::after {
            content: "";
            position: absolute;
            inset: 0;
            background: linear-gradient(0deg, rgba(13,25,19,.9), rgba(13,25,19,.05));
        }

        .audience-card-content {
            position: relative;
            z-index: 2;
            padding: 30px;
        }

        .audience-card h3 {
            color: white;
            font-size: 1.8rem;
        }

        .audience-card p {
            color: rgba(255,255,255,.82);
            margin-bottom: 20px;
        }

        .audience-private {
            background-image: url("../img/house.webp");
        }

        .audience-pro {
            background-image: url("../img/pro.webp");
        }

        .audience-special {
    max-width: 850px;
    margin-left: auto;
    margin-right: auto;
    padding: 18px 24px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 12px;
}

.audience-special p {
    font-size: 0.95rem;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.85);
}

.audience-special strong {
    color: #fff;
}

        /* VALUE */
        .value-section {
            background: var(--secondary-color);
            color: white;
        }

        .value-section h2 {
            color: white;
        }

        .value-section .section-subtitle {
            color: rgba(255,255,255,.75);
        }

        .value-box {
            background: rgba(255,255,255,.08);
            border: 1px solid rgba(255,255,255,.13);
            border-radius: 18px;
            padding: 25px;
            height: 100%;
        }

        .value-icon {
            width: 52px;
            height: 52px;
            border-radius: 14px;
            display: flex;
            align-items: center;
            justify-content: center;
            background: var(--accent-color);
            color: white;
            font-size: 1.35rem;
            margin-bottom: 20px;
        }

        .value-box h4 {
            color: white;
            font-size: 1.15rem;
        }

        .value-box p {
            color: rgba(255,255,255,.7);
            font-size: .95rem;
            line-height: 1.65;
            margin: 0;
        }

        /* STEPS */
        .step {
            position: relative;
            text-align: center;
            padding: 20px;
        }

        .step-number {
            width: 66px;
            height: 66px;
            background: var(--accent-color);
            color: white;
            border-radius: 50%;
            display: flex;
            justify-content: center;
            align-items: center;
            font-family: "Manrope";
            font-size: 1.25rem;
            font-weight: 800;
            margin: 0 auto 20px;
            position: relative;
            z-index: 2;
        }

        .step-icon {
            color: var(--primary-color);
            font-size: 1.4rem;
            margin-bottom: 10px;
        }

        .step h3 {
            font-size: 1.15rem;
        }

        .step p {
            color: var(--nouvidon-muted);
            font-size: .93rem;
            line-height: 1.6;
        }

        .step-line {
            position: absolute;
            height: 2px;
            background: #dbe4dd;
            top: 52px;
            left: 75%;
            width: 50%;
        }

        /* SERVICES */
        .service-card {
            background: white;
            border: 1px solid #e9edea;
            border-radius: 18px;
            padding: 30px;
            height: 100%;
            transition: .25s ease;
        }

        .service-card:hover {
            transform: translateY(-5px);
            border-color: #cbd9ce;
            box-shadow: 0 18px 40px rgba(20,40,28,.08);
        }

        .service-icon {
            width: 58px;
            height: 58px;
            border-radius: 15px;
            display: flex;
            align-items: center;
            justify-content: center;
            background: var(--secondary-color-light);
            color: var(--secondary-color);
            font-size: 1.4rem;
            margin-bottom: 22px;
        }

        .service-card h3 {
            font-size: 1.25rem;
        }

        .service-card p {
            color: var(--nouvidon-muted);
            line-height: 1.65;
            font-size: .95rem;
        }

        /* CATALOGUE */
        .product-card {
            background: #fff;
            border: 1px solid #e9ece9;
            border-radius: 18px;
            overflow: hidden;
            height: 100%;
            transition: .3s ease;
        }

        .product-card:hover {
            transform: translateY(-6px);
            box-shadow: 0 18px 40px rgba(20,40,28,.11);
        }

        .product-image {
            height: 240px;
            width: 100%;
            object-fit: cover;
        }

        .product-body {
            padding: 22px;
        }

        .product-category {
            color: var(--secondary-color);
            text-transform: uppercase;
            letter-spacing: .6px;
            font-size: .72rem;
            font-weight: 800;
        }

        .product-title {
            font-size: 1.12rem;
            margin: 7px 0 10px;
        }

        .product-price {
            color: var(--secondary-color);
            font-family: "Manrope";
            font-size: 1.2rem;
            font-weight: 800;
        }

        .catalogue-link {
            color: var(--secondary-color);
            font-weight: 700;
            text-decoration: none;
        }

        .catalogue-link:hover {
            color: var(--accent-color-dark);
        }

        /* STATS */
        .stats {
            background: var(--nouvidon-dark);
            color: white;
        }

        .stat-number {
            color: white;
            font-family: "Manrope";
            font-weight: 800;
            font-size: 2.5rem;
        }

        .stat-label {
            color: rgba(255,255,255,.65);
            font-size: .9rem;
        }

        /* TESTIMONIALS */
        .testimonial {
            background: white;
            border-radius: 18px;
            padding: 30px;
            border: 1px solid #e8ece9;
            height: 100%;
        }

        .stars {
            color: var(--accent-color);
            letter-spacing: 2px;
            margin-bottom: 18px;
        }

        .testimonial p {
            color: #4c5750;
            line-height: 1.75;
            font-size: .96rem;
        }

        .testimonial-author {
            display: flex;
            align-items: center;
            gap: 12px;
            margin-top: 20px;
        }

        .avatar {
            width: 44px;
            height: 44px;
            background: var(--secondary-color-light);
            color: var(--secondary-color);
            display: flex;
            align-items: center;
            justify-content: center;
            border-radius: 50%;
            font-weight: 800;
        }

        .testimonial-author strong {
            display: block;
            font-size: .9rem;
        }

        .testimonial-author small {
            color: var(--nouvidon-muted);
        }

        /* CTA */
        .cta {
            background:
                linear-gradient(110deg, rgba(49,92,69,.97), rgba(23,34,29,.94)),
                url("https://images.unsplash.com/photo-1586023492125-27b2c045efd7?auto=format&fit=crop&w=1800&q=80")
                center/cover;
            border-radius: 28px;
            padding: 70px;
            color: white;
        }

        .cta h2 {
            color: white;
            font-size: clamp(2rem, 4vw, 3rem);
        }

        .cta p {
            color: rgba(255,255,255,.78);
            max-width: 650px;
        }

        /* CONTACT */
        .contact-card {
            background: white;
            border-radius: 20px;
            padding: 35px;
            border: 1px solid #e6ebe7;
            box-shadow: 0 15px 35px rgba(20,40,28,.05);
        }

        .form-control,
        .form-select {
            border-radius: 10px;
            padding: 12px 14px;
            border-color: #dce3de;
        }

        .form-control:focus,
        .form-select:focus {
            border-color: var(--secondary-color);
            box-shadow: 0 0 0 .2rem rgba(49,92,69,.12);
        }



        @media (max-width: 991px) {
            .hero {
                min-height: 650px;
            }

            .step-line {
                display: none;
            }

            .cta {
                padding: 45px 30px;
            }
        }

        @media (max-width: 767px) {
            .section {
                padding: 70px 0;
            }

            .hero {
                min-height: 650px;
                background-position: 60% center;
            }

            .hero-content {
                padding: 70px 0;
            }

            .hero h1 {
                font-size: 2.7rem;
            }

            .hero-trust {
                gap: 12px;
                flex-direction: column;
            }

            .audience-card {
                min-height: 300px;
            }
        }
