 :root {
     --primary-blue: #3b71ca;
     --accent-yellow: #ffcc00;
     --accent-red: #dc3545;
     --dark-text: #1a1a1a;
     --light-bg: #f8f9fa;
 }

 body {
     font-family: "Poppins", sans-serif;
     color: var(--dark-text);
     overflow-x: hidden;
 }

 /* Navigation */
 .navbar {
     background: white;
     box-shadow: 0 2px 15px rgba(0, 0, 0, 0.05);
     padding: 1rem 0;
 }

 .nav-link.active {
     color: var(--primary-blue) !important;
     font-weight: 600;
 }

 .btn-custom {
     background: linear-gradient(45deg, var(--primary-blue), #254785);
     color: white;
     border-radius: 50px;
     padding: 10px 25px;
     border: none;
     transition: transform 0.3s;
 }

 .btn-custom:hover {
     transform: translateY(-2px);
     color: white;
     box-shadow: 0 5px 15px rgba(59, 113, 202, 0.4);
 }

 /* Hero Section */
 .hero-section {
     background-color: #f4f7ff;
     padding: 120px 0 100px;
     position: relative;
     overflow: hidden;
 }

 .hero-bg-shape {
     position: absolute;
     right: -10%;
     top: -10%;
     width: 50%;
     height: 100%;
     background: linear-gradient(135deg,
             rgba(59, 113, 202, 0.1) 0%,
             rgba(255, 255, 255, 0) 100%);
     border-radius: 0 0 0 50%;
     z-index: 0;
 }

 /* Cards */
 .feature-card {
     background: white;
     border-radius: 20px;
     padding: 30px;
     border: none;
     box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
     transition: all 0.3s ease;
     height: 100%;
     position: relative;
     overflow: hidden;
 }

 .feature-card:hover {
     transform: translateY(-10px);
     box-shadow: 0 15px 35px rgba(0, 0, 0, 0.1);
 }

 .feature-card.highlight {
     border-bottom: 4px solid var(--accent-yellow);
 }

 .icon-box {
     width: 60px;
     height: 60px;
     background: rgba(59, 113, 202, 0.1);
     color: var(--primary-blue);
     display: flex;
     align-items: center;
     justify-content: center;
     border-radius: 15px;
     font-size: 1.5rem;
     margin-bottom: 20px;
 }

 /* Section Partenaires Défilante (Marquee) */
 .partners-section {
     background: white;
     padding: 40px 0;
     overflow: hidden;
     white-space: nowrap;
     position: relative;
 }

 .partners-track {
     display: inline-block;
     animation: scroll 30s linear infinite;
 }

 .partner-logo {
     display: inline-block;
     height: 60px;
     margin: 0 50px;
     opacity: 0.6;
     filter: grayscale(100%);
     transition: filter 0.3s;
 }

 .partner-logo:hover {
     filter: grayscale(0%);
     opacity: 1;
 }

 @keyframes scroll {
     0% {
         transform: translateX(0);
     }

     100% {
         transform: translateX(-50%);
     }
 }

 /* Badge Module */
 .module-badge {
     background: var(--accent-red);
     color: white;
     padding: 5px 15px;
     border-radius: 20px;
     font-size: 0.8rem;
     font-weight: bold;
     display: inline-block;
     margin-bottom: 10px;
     text-transform: uppercase;
 }

 /* Contact & Footer */
 .contact-box {
     background: white;
     border-radius: 20px;
     box-shadow: 0 15px 40px rgba(0, 0, 0, 0.1);
     overflow: hidden;
 }

 .contact-header {
     background: var(--primary-blue);
     padding: 30px;
     color: white;
 }

 footer {
     background: #0f172a;
     color: white;
     padding: 50px 0 20px;
 }