
        body {
            font-family: 'Poppins', sans-serif;
            color: #2d2d2d;
            background: #f7faf7;
        }
        
        a {
            text-decoration: none !important;
        }
        
        .navbar {
            background: rgba(9, 52, 22, 0.50);
            backdrop-filter: blur(6px);
            box-shadow: 0 4px 18px rgba(0,0,0,0.08);
        }
        
        .navbar-brand {
            font-weight: 700;
            letter-spacing: 1px;
            color: #fff !important;
            font-size: 1.5rem;
        }

        .navbar-nav .nav-link {
				    color: #fff !important;
				    font-weight: 500;
				    margin-left: 12px;
				    position: relative;
				    padding-bottom: 8px;
				}

				.navbar-nav .nav-link::after {
				    content: "";
				    position: absolute;
				    left: 50%;
				    bottom: 2px;
				    width: 0;
				    height: 3px;
				    background: #8fd694;
				    border-radius: 10px;
				    transform: translateX(-50%);
				    transition: width 0.2s ease;
				}

				.navbar-nav .nav-link:hover::after,
				.navbar-nav .nav-link.active::after {
				    width: 70%;
				}

				.navbar-nav .nav-link:hover {
				    color: #ffffff !important;
				    text-decoration: none;
				}
				
				.navbar-nav .nav-link::after {
				    background: linear-gradient(90deg, #66bb6a, #d4f8d4);
				}

        .btn-simethis {
            background: linear-gradient(135deg, #2e7d32, #66bb6a);
            border: none;
            color: #fff;
            border-radius: 30px;
            padding: 12px 26px;
            font-weight: 600;
            transition: 0.3s;
            box-shadow: 0 8px 22px rgba(46,125,50,0.25);
        }

        .btn-simethis:hover {
            transform: translateY(-2px);
            box-shadow: 0 12px 28px rgba(46,125,50,0.35);
            color: #fff;
        }

        /* HERO */
        .hero {
            position: relative;
            min-height: 100vh;
            overflow: hidden;
            display: flex;
            align-items: center;
            color: #fff;
        }

        .hero-slider {
            position: absolute;
            inset: 0;
            z-index: 1;
        }

        .hero-slide {
            position: absolute;
            inset: 0;
            background-size: cover;
            background-position: center;
            opacity: 0;
            transform: scale(1);
            transition: opacity 1.2s ease-in-out;
            animation: zoomHero 12s linear infinite;
        }

        .hero-slide.active {
            opacity: 1;
        }

        @keyframes zoomHero {
            0% { transform: scale(1); }
            100% { transform: scale(1.12); }
        }

        .hero-overlay {
            position: absolute;
            inset: 0;
            background: linear-gradient(135deg, rgba(8, 39, 21, 0.78), rgba(27, 94, 32, 0.45));
            z-index: 2;
        }

        .hero-content {
            position: relative;
            z-index: 3;
        }

        .hero-badge {
            display: inline-block;
            background: rgba(255,255,255,0.15);
            border: 1px solid rgba(255,255,255,0.25);
            padding: 8px 14px;
            border-radius: 999px;
            margin-bottom: 18px;
            margin-top: 35px;
            font-size: 0.92rem;
        }

        .hero h1 {
            font-size: 3rem;
            font-weight: 700;
            line-height: 1.2;
            margin-bottom: 20px;
        }

        .hero p {
            font-size: 1.1rem;
            max-width: 700px;
            color: #eef7ef;
            margin-bottom: 30px;
        }

        .hero-floating-card {
            background: rgba(255,255,255,0.12);
            border: 1px solid rgba(255,255,255,0.18);
            backdrop-filter: blur(8px);
            border-radius: 18px;
            padding: 18px;
            margin-top: 25px;
            max-width: 380px;
            animation: floatCard 4s ease-in-out infinite;
        }

        @keyframes floatCard {
            0%,100% { transform: translateY(0px); }
            50% { transform: translateY(-8px); }
        }

        /* Sections */
        .section-title {
            font-weight: 700;
            color: #1b5e20;
            margin-bottom: 12px;
        }

        .section-subtitle {
            color: #607060;
            max-width: 720px;
            margin: 0 auto 45px auto;
        }

        .section-padding {
            padding: 150px 0;
            position:relative;
        }

        /* Cards */
        .service-card {
            background: #fff;
            border: none;
            border-radius: 18px;
            padding: 30px 24px;
            box-shadow: 0 10px 30px rgba(0,0,0,0.06);
            transition: 0.35s;
            height: 100%;
            overflow: hidden;
            position: relative;
        }

        .service-card:before {
            content: "";
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 5px;
            background: linear-gradient(90deg, #2e7d32, #81c784);
        }

        .service-card:hover {
            transform: translateY(-8px);
            box-shadow: 0 18px 40px rgba(0,0,0,0.12);
        }

        .service-icon {
            width: 68px;
            height: 68px;
            border-radius: 50%;
            background: linear-gradient(135deg, #e8f5e9, #c8e6c9);
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 28px;
            color: #2e7d32;
            margin-bottom: 20px;
        }

        /* About image block */
        .image-stack {
            position: relative;
            min-height: 460px;
        }

        .img-main, .img-second, .img-badge {
            position: absolute;
            border-radius: 20px;
            overflow: hidden;
            box-shadow: 0 18px 40px rgba(0,0,0,0.14);
        }

        .img-main {
            width: 75%;
            height: 360px;
            top: 0;
            left: 0;
        }

        .img-second {
            width: 50%;
            height: 220px;
            bottom: 0;
            right: 0;
            border: 6px solid #fff;
        }

        .img-badge {
            background: #fff;
            padding: 18px 20px;
            top: 25px;
            right: 10px;
            z-index: 5;
            min-width: 180px;
        }

        .image-stack img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform 1.2s ease;
        }

        .image-stack:hover img {
            transform: scale(1.08);
        }

        /* Numbers */
        .stats-section {
            background: linear-gradient(135deg, #1b5e20, #2e7d32);
            color: #fff;
            position: relative;
            overflow: hidden;
        }

        .stats-box {
            text-align: center;
            padding: 25px 15px;
        }

        .stats-number {
            font-size: 2.5rem;
            font-weight: 700;
            display: block;
            margin-bottom: 6px;
        }

        /* Gallery */
        .gallery-card {
            border-radius: 18px;
            overflow: hidden;
            position: relative;
            box-shadow: 0 10px 25px rgba(0,0,0,0.10);
        }

        .gallery-card img {
            width: 100%;
            height: 280px;
            object-fit: cover;
            transition: transform 0.8s ease;
        }

        .gallery-card:hover img {
            transform: scale(1.12);
        }

        .gallery-overlay {
            position: absolute;
            inset: 0;
            background: linear-gradient(to top, rgba(0,0,0,0.62), rgba(0,0,0,0.08));
            display: flex;
            align-items: flex-end;
            padding: 20px;
            color: #fff;
        }

        /* CTA */
        .cta-box {
            background: linear-gradient(135deg, #f1f8f2, #ffffff);
            border-radius: 24px;
            padding: 50px 35px;
            box-shadow: 0 16px 40px rgba(0,0,0,0.08);
        }

        /* Footer */
        footer {
            background: #0b3f24;
            color: rgba(255,255,255,0.88);
            padding: 40px 0 20px;
        }

        footer a {
            color: rgba(255,255,255,0.88);
        }

        /* Scroll animation */
        .reveal {
            opacity: 0;
            transform: translateY(40px);
            transition: 0.8s ease;
        }

        .reveal.active {
            opacity: 1;
            transform: translateY(0);
        }
				
				#logo_simethis {
					max-width:200px;
					border-radius:8px;
				}
				
        /* Responsive */
        @media (max-width: 991px) {
        	
        		#logo_simethis {
							max-width:150px;
							border-radius:8px;
						}
        	
            .hero h1 {
                font-size: 2.2rem;
            }

            .image-stack {
                min-height: 380px;
                margin-top: 30px;
            }

            .img-main {
                width: 78%;
                height: 280px;
            }

            .img-second {
                width: 52%;
                height: 170px;
            }

            .img-badge {
                right: 0;
                top: 10px;
                min-width: 150px;
            }
        }

        @media (max-width: 767px) {
            .hero {
                min-height: 90vh;
            }

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

            .hero p {
                font-size: 1rem;
            }

            .img-main,
            .img-second,
            .img-badge {
                position: relative;
                width: 100%;
                height: auto;
                top: auto;
                left: auto;
                right: auto;
                bottom: auto;
                margin-bottom: 15px;
            }

            .img-main,
            .img-second {
                height: 230px;
            }

            .image-stack {
                min-height: auto;
            }
        }
    
    
    

/* ========================= */
/* SECTION GENERALE */
/* ========================= */

.section-subtitle {
    display:inline-block;
    padding:8px 18px;
    background:#e8f5e9;
    color:#2e7d32;
    border-radius:30px;
    font-size:0.85rem;
    font-weight:600;
    margin-bottom:15px;
}

/* ========================= */
/* TIMELINE */
/* ========================= */

.method-section {
    background:#ffffff;
}

.timeline {
    position:relative;
    max-width:900px;
    margin:auto;
}

.timeline::before {
    content:"";
    position:absolute;
    left:40px;
    top:0;
    width:4px;
    height:100%;
    background:#d8ead8;
}

.timeline-item {
    position:relative;
    padding-left:110px;
    margin-bottom:50px;
}

.timeline-number {
    position:absolute;
    left:0;
    top:0;
    width:80px;
    height:80px;
    border-radius:50%;
    background:linear-gradient(135deg,#2e7d32,#66bb6a);
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:2rem;
    font-weight:700;
    box-shadow:0 10px 25px rgba(46,125,50,0.25);
}

.timeline-content {
    background:#fff;
    padding:30px;
    border-radius:20px;
    box-shadow:0 10px 25px rgba(0,0,0,0.06);
}

.timeline-content h5 {
    font-weight:700;
    margin-bottom:15px;
}

/* ========================= */
/* MOBILE */
/* ========================= */

@media(max-width:768px){

    .timeline::before {
        left:25px;
    }

    .timeline-item {
        padding-left:80px;
    }

    .timeline-number {
        width:50px;
        height:50px;
        font-size:1.2rem;
    }

    .image-grid {
        grid-template-columns:1fr;
    }

    .image-big img {
        min-height:auto;
    }
}

 /* PARALLAX SECTION */
    .parallax{
      position:relative;
      background-size:cover;
      background-position:center;
      background-attachment:fixed;
      color:#fff;
      overflow:hidden;
    }

    .parallax:before{
      content:"";
      position:absolute;
      inset:0;
      background:linear-gradient(120deg, rgba(12,32,18,.78), rgba(30,90,45,.55));
    }

    .parallax .container{
      position:relative;
      z-index:2;
    }

    .stats-grid{
      display:grid;
      grid-template-columns:repeat(4,1fr);
      gap:24px;
      margin-top:40px;
    }

    .stat-card{
      background:rgba(255,255,255,.10);
      border:1px solid rgba(255,255,255,.18);
      backdrop-filter:blur(8px);
      border-radius:18px;
      text-align:center;
      padding:30px 20px;
      transition:.35s;
    }

    .stat-card:hover{
      transform:translateY(-6px);
      background:rgba(255,255,255,.14);
    }

    .stat-card .counter{
      font-size:2.8rem;
      font-weight:800;
      line-height:1;
      margin-bottom:8px;
      font-family:'Montserrat',sans-serif;
    }

    .stat-card p{
      margin:0;
      opacity:.92;
      font-weight:600;
    }
    
    /* ANIMATIONS */
    .reveal{
      opacity:0;
      transform:translateY(35px);
      transition:all .85s cubic-bezier(.2,.6,.2,1);
    }

    .reveal.show{
      opacity:1;
      transform:translateY(0);
    }

    /* MODAL GALLERY */
    .modal-content{
      background:#111;
      border:none;
      border-radius:20px;
      overflow:hidden;
    }

    .modal-body{
      padding:0;
    }

    .modal-body img{
      width:100%;
      height:auto;
      display:block;
    }

    @media (max-width: 991px){
      .hero h1{font-size:2.7rem;}
      .stats-grid{grid-template-columns:repeat(2,1fr);}
      .floating-mini-card{
        position:relative;
        right:auto;
        bottom:auto;
        margin-top:20px;
      }
      .parallax{
        background-attachment:scroll;
      }
      .navbar{
        background:rgba(20,50,27,.88);
      }
    }

    @media (max-width: 767px){
      section{padding:75px 0;}
      .hero h1{font-size:2.15rem;}
      .hero p{font-size:1rem;}
      .stats-grid{grid-template-columns:1fr;}
      .gallery-card img{height:260px;}
      .cta-box,.contact-box,.contact-info-card{padding:28px;}
    }





.gallery-filter-section {
    background: #f3faf3;
}

.gallery-subtitle {
    display: inline-block;
    color: #2e7d32;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;
    margin-bottom: 12px;
}

.gallery-filter-section .section-title {
    color: #123d20;
    font-size: 2.4rem;
    font-weight: 700;
}

.gallery-filters {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 12px;
}

.filter-btn {
    border:solid 1px #004d27;
    outline: none;
    background: #d8efdd;
    color: #173d24;
    padding: 13px 22px;
    border-radius: 40px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
}

.filter-btn:hover {
    background: #dff0e2;
    transform: translateY(-2px);
}

.filter-btn.active {
    background: linear-gradient(135deg, #4caf50, #66bb6a);
    color: #fff;
    box-shadow: 0 12px 24px rgba(76, 175, 80, 0.28);
}

.gallery-card {
    position: relative;
    height: 255px;
    overflow: hidden;
    border-radius: 18px;
    box-shadow: 0 14px 35px rgba(0,0,0,0.08);
    background: #fff;
    cursor: pointer;
}

.gallery-card::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2;
    background: linear-gradient(
        180deg,
        rgba(0,0,0,0.05) 0%,
        rgba(0,0,0,0.25) 45%,
        rgba(8,45,22,0.88) 100%
    );
    transition: all 0.4s ease;
}

.gallery-card:hover::before {
    background: linear-gradient(
        180deg,
        rgba(0,0,0,0.02) 0%,
        rgba(0,0,0,0.18) 35%,
        rgba(8,45,22,0.94) 100%
    );
}

.gallery-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.75s ease;
}

.gallery-card:hover img {
    transform: scale(1.10);
}

.gallery-content {
    position: absolute;
    z-index: 3;
    left: 24px;
    right: 24px;
    bottom: 22px;
    color: #fff;
    transform: translateY(8px);
    transition: all 0.35s ease;
}

.gallery-card:hover .gallery-content {
    transform: translateY(0);
}

.gallery-content span {
    display: inline-block;
    margin-bottom: 10px;
    padding: 5px 10px;
    border-radius: 20px;
    background: rgba(255,255,255,0.16);
    backdrop-filter: blur(4px);
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    text-shadow: 0 2px 6px rgba(0,0,0,0.35);
}

.gallery-content h5 {
    color: #fff;
    font-size: 1.15rem;
    font-weight: 800;
    line-height: 1.25;
    margin-bottom: 8px;
    text-shadow: 0 3px 12px rgba(0,0,0,0.45);
    transition: all 0.35s ease;
}

.gallery-content p {
    color: rgba(255,255,255,0.92);
    margin: 0;
    font-size: 0.92rem;
    line-height: 1.45;
    text-shadow: 0 2px 8px rgba(0,0,0,0.42);
    transition: all 0.35s ease;
}

.gallery-card:hover .gallery-content h5 {
    transform: translateX(4px);
}

.gallery-card:hover .gallery-content p {
    transform: translateX(4px);
}

.gallery-item {
    transition: all 0.35s ease;
}

.gallery-item.hide {
    display: none;
}

@media(max-width: 768px) {
    .gallery-filter-section .section-title {
        font-size: 1.8rem;
    }

    .gallery-card {
        height: 250px;
    }

    .filter-btn {
        padding: 10px 16px;
        font-size: 0.9rem;
    }

    .gallery-content {
        left: 20px;
        right: 20px;
        bottom: 20px;
    }
}




.btn-eco{
    background:linear-gradient(135deg,var(--green-3),var(--green));
    color:#1b5e20;
    border:solid 1px #1b5e20;;
    border-radius:40px;
    padding:14px 30px;
    font-weight:700;
    transition:.35s;
  }

  .btn-eco:hover{
    transform:translateY(-3px);
    color:#1b5e20;
  }

.lien_blanc {
	color:#FFF;
}

.lien_blanc:hover {
	color:#FFF !important;
	text-decoration:underline !important;
}

 /* CONTACT */
  .contact-box{
    background:#fff;
    border-radius:24px;
    box-shadow:var(--shadow);
    padding:40px;
  }

  .form-control{
    border-radius:14px;
    min-height:50px;
    border:1px solid #d7e3d7;
    box-shadow:none !important;
  }

  textarea.form-control{min-height:140px;}

  .contact-info-card{
    background:linear-gradient(135deg, var(--green), var(--dark));
    color:#fff;
    border-radius:24px;
    padding:35px;
    height:100%;
    box-shadow:var(--shadow);
  }

  .contact-info-card .info-item{
    display:flex;
    align-items:flex-start;
    gap:14px;
    margin-bottom:22px;
  }

  .contact-info-card .info-icon{
    width:42px;
    height:42px;
    border-radius:50%;
    background:rgba(255,255,255,.14);
    display:flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
  }

.reference-search-box {
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;

    padding: 20px 24px;

    background: #fff;

    border-radius: 15px;

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

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


.reference-search-group .form-control {
    height: 52px;
    border-left: 0;

    font-size: 16px;
}


.reference-search-group .input-group-text {
    background: #fff;
    border-right: 0;

    color: #2f7d5c;

    font-size: 18px;
}


.reference-search-group .form-control:focus {
    box-shadow: none;
    border-color: #ced4da;
}


.reference-search-group .form-control:focus +
.input-group-append .btn {
    border-color: #ced4da;
}


.reference-search-count {
    color: #68747f;
    font-size: 14px;
}


.reference-search-count strong {
    color: #2f7d5c;
    font-size: 16px;
}    


/* =========================================
   EXPERTISES - FOND + OVERLAY
========================================= */

.expertises-section{
    position:relative;
    background-image:url('images/photo_milieu_04.JPG');
    background-size:cover;
    background-position:center;
    background-attachment:fixed;
    overflow:hidden;
}

.expertises-section::before{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(
        135deg,
        rgba(8,39,21,.78),
        rgba(27,94,32,.45)
    );
    z-index:0;
}

.expertises-section > .container{
    position:relative;
    z-index:1;
}
.expertises-section .section-title{
    color:#fff;
}

.expertises-section .section-subtitle{
    display:inline-block;
    padding:10px 22px;
    background:rgba(255,255,255,.88);
    color:#1d5132 !important;
    border-radius:30px;
    max-width:900px;
    margin:0 auto;
    line-height:1.5;
}

.expertises-section .section-subtitle{
    display:inline-block;
    padding:10px 22px;
    background:rgba(255,255,255,.75);
    color:#123d20 !important;
    border-radius:30px;
    max-width:900px;
    margin:0 auto;
    line-height:1.5;
    backdrop-filter:blur(4px);
}

.scroll-indicator{
    position:absolute;
    left:50%;
    bottom:25px;
    transform:translateX(-50%);
    z-index:10;

    display:flex;
    flex-direction:column;
    align-items:center;

    color:#fff !important;
    font-size:13px;
    font-weight:600;
    text-decoration:none !important;

    text-shadow:0 2px 8px rgba(0,0,0,.45);
}

.scroll-indicator i{
    margin-top:7px;
    font-size:22px;
    animation:scrollBounce 1.7s infinite;
}

@keyframes scrollBounce{
    0%, 100%{
        transform:translateY(0);
    }

    50%{
        transform:translateY(8px);
    }
}

/* La section qui contient la flèche */
section {
    position: relative;
}

.scroll-arrow {
    position: fixed;
    right: 25px;
    top: 50%;
    transform: translateY(-50%);

    width: 46px;
    height: 46px;

    display: none;
    align-items: center;
    justify-content: center;

    background: rgba(0, 0, 0, 0.75);
    border: 2px solid #ffffff;
    border-radius: 50%;

    color: #fff;
    font-size: 20px;
    text-decoration: none;

    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.25);
    z-index: 1000;

    transition: background .2s ease, transform .2s ease, box-shadow .2s ease;
}

.scroll-arrow.active {
    display: flex;
}

.scroll-arrow:hover {
    color: #fff;
    background: rgba(0, 0, 0, 0.9);
    transform: translateY(-50%) scale(1.08);
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.3);
}

.scroll-arrow i {
    animation: arrowMove 1.5s infinite;
}

@keyframes arrowMove {
    0%, 100% {
        transform: translateY(-3px);
    }
    50% {
        transform: translateY(4px);
    }
}

/* Mobile */
@media (max-width: 768px) {
    .scroll-arrow {
        right: 12px;
        width: 40px;
        height: 40px;
        font-size: 17px;
    }
}

.hero .scroll-arrow,
.expertises-section .scroll-arrow,
.partners-section .scroll-arrow,
.innovation-section .scroll-arrow, 
.parallax .scroll-arrow {
    background:rgba(255,255,255,.18);
    border:1px solid rgba(255,255,255,.40);
    color:#fff !important;
    backdrop-filter:blur(6px);
}