
    :root{
      --brand:#337E33; /* vert */
      --brand-soft:#C8E6C9 /*FFC40D*/;
      --accent:#C8E6C9; /* amber */
      --dark:#0b1c12;
    }
    body{ scroll-behavior:smooth; }
    .topbar {
background: var(--dark);
color: #fff;
font-size: 0.9rem;
padding: 0.4rem 0;
}
.topbar a {color: #b6ffb3; text-decoration:none;}
.topbar a:hover {text-decoration: underline;}
.social-icon {
width: 32px; height: 32px;
background: var(--brand);
color: #fff;
border-radius: 50%;
display: inline-flex;
align-items: center;
justify-content: center;
margin-left: 0.4rem;
}
    .navbar{ box-shadow:0 6px 24px rgba(0,0,0,.06); }
    .navbar-brand b{ letter-spacing:.5px; }
    .btn-brand{ background:var(--brand); color:#fff; border:none; }
    .btn-brand:hover{ background:#82b03d; color:#fff; }
    .text-brand{ color:var(--accent)!important; }
    .bg-brand-soft{ background:var(--brand-soft); }
    .badge-soft{ background:#fff; border:1px solid rgba(0,0,0,.08); }
    .section-pad{ padding:4.5rem 0; }
    .hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.1),rgba(31, 31, 31, 0.1));}
.carousel-caption{bottom:20%;text-shadow:0 3px 10px rgba(0,0,0,.6);}
.carousel-caption h1{font-size:3rem;font-weight:800;}
.carousel-caption p{font-size:1.2rem;}

    .shadow-soft{ box-shadow:0 20px 45px rgba(0,0,0,.08); }
    /* Simple fade-up animation */
    [data-animate]{ opacity:0; transform:translateY(24px); transition:all .8s ease; }
    [data-animate].in{ opacity:1; transform:none; }
    /* Gallery hover */
    .gal-card{ position:relative; overflow:hidden; border-radius:1rem; }
    .gal-card img{ transition: transform .6s ease; }
    .gal-card:hover img{ transform:scale(1.06); }
    .badge-floating{ position:absolute; top:.75rem; left:.75rem; }
    /* Back to top */
    #backTop{ position:fixed; right:1rem; bottom:1rem; z-index:1030; display:none; }
    /* Timeline (feuille de route) */
    .timeline{ position:relative; }
    .timeline::before{ content:""; position:absolute; left:12px; top:0; bottom:0; width:2px; background:linear-gradient(var(--brand), var(--accent)); }
    .timeline .item{ position:relative; padding-left:2.5rem; margin-bottom:1.25rem; }
    .timeline .item::before{ content:""; position:absolute; left:6px; top:.25rem; width:14px; height:14px; background:var(--brand); border:2px solid #fff; outline:2px solid var(--brand); border-radius:50%; }
    footer a{ text-decoration:none; }
  h3 {
				color: #1a3a5c;
				font-size: 36px;
				margin-bottom: 20px;
				position: relative;
				padding-bottom: 15px;
			}

 h3::after {
				content: '';
				position: absolute;
				bottom: 0;
				left: 0;
				width: 80px;
				height: 4px;
				background: linear-gradient(90deg, #82b03d 0%, #82b03d 100%);
			}
