		* {
			-webkit-font-smoothing: antialiased;
			margin: 0;
			padding: 0;
			box-sizing: border-box;
		}

		body {
			font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', sans-serif;
			overflow-x: hidden;
			background: #ffffff;
			color: #2c3e50;
			font-weight: 400;
			letter-spacing: -0.01em;
		}

		/* Navigation */
		.nav {
			position: fixed;
			top: 0;
			width: 100%;
			padding: 1rem 2rem;
			display: flex;
			justify-content: space-between;
			align-items: center;
			z-index: 1000;
			background: rgba(255,255,255,0.98);
			backdrop-filter: blur(10px);
			box-shadow: 0 2px 10px rgba(0,0,0,0.1);
		}

		.nav-logo img {
			height: 50px;
			width: auto;
		}

		.nav-links {
			display: flex;
			gap: 2rem;
			list-style: none;
			align-items: center;
		}

		.nav-link {
			color: #2c3e50;
			text-decoration: none;
			font-weight: 500;
			transition: color 0.3s ease;
			font-size: 0.95rem;
			letter-spacing: -0.01em;
		}

		.nav-link:hover {
			color: #ff9d70;
		}

		/* Dropdown Menu */
		.nav-item {
			position: relative;
			display: flex;
			align-items: center;
		}

		.dropdown {
			position: relative;
			display: flex;
			align-items: center;
		}

		.dropdown-toggle {
			cursor: pointer;
			display: inline-flex;
			align-items: center;
			gap: 0.3rem;
			color: #333;
			font-weight: 600;
			font-size: 0.95rem;
			transition: color 0.3s ease;
		}

		.dropdown-toggle:hover {
			color: #ff9d70;
		}

		.dropdown-toggle::after {
			content: '▼';
			font-size: 0.7rem;
			transition: transform 0.3s ease;
		}

		.dropdown-menu {
			position: absolute;
			top: 100%;
			left: 0;
			background: white;
			box-shadow: 0 5px 20px rgba(0,0,0,0.15);
			border-radius: 8px;
			min-width: 220px;
			opacity: 0;
			visibility: hidden;
			transform: translateY(-10px);
			transition: all 0.3s ease;
			z-index: 1000;
			margin-top: 0.5rem;
			padding: 0.5rem 0;
		}

		.dropdown:hover .dropdown-menu,
		.dropdown.active .dropdown-menu {
			opacity: 1;
			visibility: visible;
			transform: translateY(0);
		}

		.dropdown:hover .dropdown-toggle::after,
		.dropdown.active .dropdown-toggle::after {
			transform: rotate(180deg);
		}

		.dropdown-menu li {
			list-style: none;
		}

		.dropdown-menu a {
			display: block;
			padding: 0.7rem 1.5rem;
			color: #333;
			text-decoration: none;
			font-weight: 600;
			font-size: 0.9rem;
			transition: all 0.3s ease;
		}

		.dropdown-menu a:hover {
			background: #f8f9fa;
			color: #ff9d70;
			padding-left: 2rem;
		}

		.gradient-text {
			background: linear-gradient(108deg, #b16cea 8%, #ff5e69 40%, #ff9d70 77%, #ffc08a 91%);
			-webkit-background-clip: text;
			-webkit-text-fill-color: transparent;
			background-clip: text;
		}

		.article-card:hover {
			transform: translateX(10px) translateY(-5px);
			box-shadow: 0 10px 30px rgba(255,157,112,0.25) !important;
			border-left-width: 8px !important;
		}

		/* Bouton retour en haut */
		.back-to-top {
			position: fixed;
			right: 1.75rem;
			bottom: 1.75rem;
			width: 48px;
			height: 48px;
			border-radius: 999px;
			border: none;
			cursor: pointer;
			display: flex;
			align-items: center;
			justify-content: center;
			background: linear-gradient(108deg, #b16cea 8%, #ff5e69 40%, #ff9d70 77%, #ffc08a 91%);
			box-shadow: 0 10px 25px rgba(255,157,112,0.45);
			color: #ffffff;
			font-size: 1.3rem;
			z-index: 1100;
			opacity: 0;
			pointer-events: none;
			transform: translateY(15px);
			transition: opacity 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease;
		}

		.back-to-top.visible {
			opacity: 1;
			pointer-events: auto;
			transform: translateY(0);
		}

		.back-to-top:hover {
			box-shadow: 0 14px 30px rgba(255,157,112,0.6);
			transform: translateY(-3px);
		}

		/* Language Toggle Button */
		.language-toggle {
			background: linear-gradient(108deg, #b16cea 8%, #ff5e69 40%, #ff9d70 77%, #ffc08a 91%);
			color: white;
			border: none;
			padding: 0.6rem 1.2rem;
			border-radius: 25px;
			font-weight: 600;
			font-size: 0.9rem;
			cursor: pointer;
			transition: all 0.3s ease;
			box-shadow: 0 2px 10px rgba(255,157,112,0.3);
			display: flex;
			align-items: center;
			gap: 0.4rem;
		}

		.language-toggle:hover {
			transform: translateY(-2px);
			box-shadow: 0 4px 15px rgba(255,157,112,0.5);
		}

		.language-toggle:active {
			transform: translateY(0);
		}

		.language-toggle span {
			display: flex;
			align-items: center;
			gap: 0.3rem;
		}

		/* Menu Hamburger */
		.hamburger {
			display: none;
			flex-direction: column;
			gap: 5px;
			cursor: pointer;
			padding: 10px;
			z-index: 1001;
		}

		.hamburger span {
			width: 25px;
			height: 3px;
			background-color: #333;
			transition: all 0.3s ease;
			border-radius: 3px;
		}

		.hamburger.active span:nth-child(1) {
			transform: rotate(45deg) translate(7px, 7px);
		}

		.hamburger.active span:nth-child(2) {
			opacity: 0;
		}

		.hamburger.active span:nth-child(3) {
			transform: rotate(-45deg) translate(7px, -7px);
		}

		/* Hero Section */
		.hero-section {
			margin-top: 70px;
			display: flex;
			min-height: 70vh;
			background: linear-gradient(135deg, #fff5f0 0%, #ffffff 30%, #f0f9ff 70%, #ffffff 100%);
			position: relative;
			overflow: hidden;
			padding: 0;
		}

		.hero-section::before {
			content: '';
			position: absolute;
			top: 0;
			left: 0;
			right: 0;
			bottom: 0;
			background: radial-gradient(circle at 20% 50%, rgba(255,157,112,0.15) 0%, transparent 50%),
									radial-gradient(circle at 80% 50%, rgba(59,130,246,0.15) 0%, transparent 50%);
			pointer-events: none;
			z-index: 0;
		}

		/* Floating Globes Background */
		.floating-globes {
			position: absolute;
			width: 100%;
			height: 100%;
			top: 0;
			left: 0;
			z-index: 0;
			overflow: hidden;
			pointer-events: none;
		}

		.globe {
			position: absolute;
			display: flex;
			align-items: center;
			justify-content: center;
			animation: float-up linear infinite;
			opacity: 0.7;
			transition: opacity 0.3s ease;
		}

		.globe:hover {
			opacity: 1;
		}

		/* Horizontal Statistical Charts Styles */
		.globe.trend-line-horizontal {
			width: 280px;
			height: 70px;
			background: rgba(255, 255, 255, 0.95);
			border-radius: 8px;
			padding: 8px 12px;
			box-shadow: 0 4px 20px rgba(0, 0, 0, 0.12);
			display: flex;
			align-items: center;
			justify-content: center;
			overflow: visible;
			border: 1px solid rgba(102, 126, 234, 0.15);
		}

		.globe.trend-line-horizontal svg {
			width: 100%;
			height: 100%;
			overflow: visible;
		}

		/* Grid lines */
		.globe.trend-line-horizontal .grid-line {
			stroke: rgba(0, 0, 0, 0.08);
			stroke-width: 0.5;
			stroke-dasharray: 3, 3;
		}

		/* Trend path */
		.globe.trend-line-horizontal .trend-path {
			fill: none;
			stroke: #ff9d70;
			stroke-width: 2.5;
			stroke-linecap: round;
			stroke-linejoin: round;
			filter: drop-shadow(0 2px 3px rgba(34, 197, 94, 0.3));
		}

		.globe.trend-line-horizontal .trend-path.down {
			stroke: #ef4444;
			filter: drop-shadow(0 2px 3px rgba(239, 68, 68, 0.3));
		}

		.globe.trend-line-horizontal .trend-path.secondary {
			stroke: #667eea;
			stroke-width: 2;
		}

		/* Data points */
		.globe.trend-line-horizontal .data-point {
			fill: #ff9d70;
			stroke: white;
			stroke-width: 1.5;
			filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.2));
		}

		.globe.trend-line-horizontal .data-point.down {
			fill: #ef4444;
		}

		/* Mini bars */
		.globe.trend-line-horizontal .mini-bar {
			fill: rgba(102, 126, 234, 0.2);
			stroke: rgba(102, 126, 234, 0.4);
			stroke-width: 0.5;
		}

		/* Area fill */
		.globe.trend-line-horizontal .area-fill {
			fill: rgba(102, 126, 234, 0.1);
		}

		/* Statistical value labels */
		.globe.trend-line-horizontal .stat-value {
			font-size: 9px;
			font-weight: 700;
			font-family: 'Inter', monospace;
			letter-spacing: 0.5px;
		}

		/* Hover effects */
		.globe.trend-line-horizontal:hover {
			transform: scale(1.02);
			box-shadow: 0 6px 30px rgba(0, 0, 0, 0.18);
		}

		.globe.trend-line-horizontal:hover .trend-path {
			stroke-width: 3;
		}

		.globe.trend-line-horizontal:hover .data-point {
			r: 3.5;
		}

		/* Animation paths */
		@keyframes slideRight {
			0% {
				transform: translateX(-120%);
				opacity: 0;
			}
			10% {
				opacity: 0.7;
			}
			90% {
				opacity: 0.7;
			}
			100% {
				transform: translateX(120%);
				opacity: 0;
			}
		}

		@keyframes slideLeft {
			0% {
				transform: translateX(120%);
				opacity: 0;
			}
			10% {
				opacity: 0.7;
			}
			90% {
				opacity: 0.7;
			}
			100% {
				transform: translateX(-120%);
				opacity: 0;
			}
		}

		/* Different financial symbols and animations */
		.globe:nth-child(1) {
			width: 280px;
			height: 70px;
			top: 15%;
			left: 0;
			animation: slideRight 12s linear infinite;
			animation-delay: 0s;
		}

		.globe:nth-child(2) {
			width: 280px;
			height: 70px;
			top: 30%;
			right: 0;
			animation: slideLeft 15s linear infinite;
			animation-delay: 2s;
		}

		.globe:nth-child(3) {
			width: 280px;
			height: 70px;
			top: 45%;
			left: 0;
			animation: slideRight 18s linear infinite;
			animation-delay: 5s;
		}

		.globe:nth-child(4) {
			width: 280px;
			height: 70px;
			top: 60%;
			right: 0;
			animation: slideLeft 14s linear infinite;
			animation-delay: 7s;
		}

		.globe:nth-child(5) {
			width: 280px;
			height: 70px;
			top: 75%;
			left: 0;
			animation: slideRight 16s linear infinite;
			animation-delay: 3s;
		}

		.globe:nth-child(6) {
			width: 280px;
			height: 70px;
			top: 22%;
			right: 0;
			animation: slideLeft 13s linear infinite;
			animation-delay: 9s;
		}

		.globe:nth-child(7) {
			width: 280px;
			height: 70px;
			top: 52%;
			left: 0;
			animation: slideRight 17s linear infinite;
			animation-delay: 6s;
		}

		.globe:nth-child(8) {
			width: 280px;
			height: 70px;
			top: 38%;
			right: 0;
			animation: slideLeft 19s linear infinite;
			animation-delay: 4s;
		}

		@keyframes float-up {
			0% {
				bottom: -150px;
				transform: translateX(0) rotate(0deg);
				opacity: 0;
			}
			10% {
				opacity: 1;
			}
			90% {
				opacity: 1;
			}
			100% {
				bottom: 110vh;
				transform: translateX(100px) rotate(360deg);
				opacity: 0;
			}
		}

		.hero-image-container {
			flex: 1;
			background: transparent;
			display: flex;
			align-items: center;
			justify-content: center;
			padding: 0;
			overflow: hidden;
			position: relative;
			z-index: 1;
		}

		.hero-image-container::after {
			content: none;
		}

		.hero-image {
			width: 100%;
			max-width: 100%;
			height: 100%;
			object-fit: contain;
			object-position: center bottom;
			display: block;
			border-radius: 0;
			box-shadow: none;
			-webkit-mask-image: none;
			mask-image: none;
			filter: saturate(1.02) contrast(1.03);
		}

		.hero-overlay {
			display: none;
		}

		.hero-content {
			flex: 1;
			display: flex;
			flex-direction: column;
			justify-content: center;
			padding: 5rem 4rem 5rem 3rem;
			background: transparent;
			color: #333;
			position: relative;
			z-index: 1;
		}

		.hero-content p[data-translate="hero-subtitle1"],
		.hero-content p[data-translate="hero-subtitle2"] {
			max-width: 100%;
			white-space: normal !important;
			overflow: visible !important;
			overflow-wrap: anywhere;
			word-break: break-word;
			line-height: 1.25 !important;
			padding-bottom: 0.12em;
		}

		.hero-badges {
			display: flex;
			gap: 1.2rem;
			margin-bottom: 2rem;
			flex-wrap: wrap;
		}

		.hero-badge {
			background: white;
			padding: 0.7rem 1.4rem;
			border-radius: 25px;
			font-size: 0.9rem;
			font-weight: 600;
			border: 1px solid rgba(177, 108, 234, 0.15);
			color: #b16cea;
			box-shadow: 0 4px 15px rgba(177, 108, 234, 0.08);
			transition: all 0.3s ease;
		}

		.hero-badge:hover {
			transform: translateY(-2px);
			box-shadow: 0 6px 20px rgba(177, 108, 234, 0.15);
			border-color: rgba(177, 108, 234, 0.3);
		}

		.makila-role {
			font-size: 0.9rem;
			color: #4b5563;
			max-width: 520px;
			line-height: 1.5;
			margin-bottom: 2rem;
		}

		.hero-title {
			font-size: 1.6rem;
			font-weight: 300;
			margin-bottom: 2rem;
			color: #1a1a2e;
			line-height: 1.3;
			letter-spacing: -0.02em;
		}

		/* Animated Data Visualization */
		.data-viz {
			margin: 2rem 0;
			padding: 2rem;
			background: white;
			border-radius: 16px;
			border: 1px solid rgba(255, 157, 112, 0.1);
			box-shadow: 0 8px 32px rgba(0, 0, 0, 0.06);
		}

		.data-viz-title {
			font-size: 0.85rem;
			font-weight: 700;
			color: #b16cea;
			text-transform: uppercase;
			letter-spacing: 1.5px;
			margin-bottom: 1.5rem;
			display: flex;
			align-items: center;
			gap: 0.5rem;
		}

		.data-viz-title::before {
			content: '■';
			color: #ff9d70;
			font-size: 1rem;
			animation: pulse 2s ease-in-out infinite;
		}

		/* Conteneur de graphiques multiples */
		.charts-grid {
			display: grid;
			grid-template-columns: repeat(3, 1fr);
			gap: 1.5rem;
			margin-bottom: 1rem;
		}

		/* Graphique en barres animé */
		.chart-container {
			background: white;
			padding: 1.2rem;
			border-radius: 12px;
			box-shadow: 0 4px 15px rgba(0, 0, 0, 0.06);
			position: relative;
			overflow: visible;
			border: 1px solid rgba(255, 157, 112, 0.08);
		}

		.chart-container::before {
			content: '';
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 3px;
			background: linear-gradient(108deg, #b16cea 8%, #ff5e69 40%, #ff9d70 77%, #ffc08a 91%);
		}

		.chart-title {
			font-size: 0.75rem;
			font-weight: 600;
			color: #475569;
			margin-bottom: 0.8rem;
			text-transform: uppercase;
			letter-spacing: 0.5px;
		}

		.bar-chart {
			display: flex;
			align-items: flex-end;
			justify-content: space-between;
			height: 130px;
			gap: 6px;
		}

		.chart-bar {
			flex: 1;
			background: linear-gradient(108deg, #b16cea 8%, #ff5e69 40%, #ff9d70 77%, #ffc08a 91%);
			border-radius: 4px 4px 0 0;
			transition: all 0.8s cubic-bezier(0.34, 1.56, 0.64, 1);
			position: relative;
			min-width: 8px;
		}

		.chart-bar:hover {
			transform: translateY(-5px);
			filter: brightness(1.1);
		}

		/* Graphique en ligne */
		.line-chart {
			height: 130px;
			position: relative;
		}

		.line-chart svg {
			width: 100%;
			height: 100%;
		}

		.line-path {
			fill: none;
			stroke: #ff9d70;
			stroke: url(#strokeGradient);
			stroke-width: 3;
			stroke-linecap: round;
			transition: d 1s ease;
		}

		.line-area {
			fill: url(#areaGradient);
			transition: d 1s ease;
		}

		/* Graphique en secteurs (donut) */
		.donut-chart {
			width: 100px;
			height: 100px;
			margin: 0 auto;
			position: relative;
		}

		.donut-chart svg {
			transform: rotate(-90deg);
		}

		.donut-segment {
			transition: all 0.8s ease;
			cursor: pointer;
		}

		.donut-center {
			position: absolute;
			top: 50%;
			left: 50%;
			transform: translate(-50%, -50%);
			text-align: center;
		}

		.donut-value {
			font-size: 1.5rem;
			font-weight: 700;
			color: #b16cea;
			transition: all 0.5s ease;
		}

		.donut-label {
			font-size: 0.65rem;
			color: #64748b;
		}

		/* Jauge circulaire */
		.gauge-chart {
			width: 100px;
			height: 100px;
			margin: 0 auto;
			position: relative;
			overflow: visible;
			display: flex;
			align-items: center;
			justify-content: center;
		}

		.gauge-chart svg {
			transform: rotate(-90deg);
			width: 100%;
			height: 100%;
			display: block;
			overflow: visible;
		}

		.gauge-bg {
			fill: none;
			stroke: #e2e8f0;
			stroke-width: 10;
		}

		.gauge-fill {
			fill: none;
			stroke: #ff9d70;
			stroke: url(#gaugeGradient);
			stroke-width: 10;
			stroke-linecap: round;
			transition: stroke-dashoffset 1s ease;
		}

		.gauge-center {
			position: absolute;
			top: 50%;
			left: 50%;
			transform: translate(-50%, -50%);
			text-align: center;
			pointer-events: none;
			width: 100%;
		}

		.gauge-value {
			font-size: 1.8rem;
			font-weight: 700;
			color: #ff9d70;
			line-height: 1;
		}

		.gauge-label {
			font-size: 0.7rem;
			color: #64748b;
			margin-top: 0.2rem;
			display: block;
		}

		/* Indicateurs KPI */
		.kpi-grid {
			display: grid;
			grid-template-columns: repeat(3, 1fr);
			gap: 1rem;
			margin-top: 1rem;
		}

		.kpi-card {
			background: white;
			padding: 1rem;
			border-radius: 10px;
			box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06);
			border-left: 3px solid;
			transition: all 0.3s ease;
		}

		.kpi-card:hover {
			transform: translateY(-3px);
			box-shadow: 0 6px 20px rgba(0, 0, 0, 0.1);
		}

		.kpi-card.primary { border-color: #b16cea; }
		.kpi-card.success { border-color: #ff9d70; }
		.kpi-card.warning { border-color: #ffc08a; }

		.kpi-value {
			font-size: 1.8rem;
			font-weight: 700;
			color: #1e293b;
			margin-bottom: 0.3rem;
			transition: all 0.5s ease;
		}

		.kpi-label {
			font-size: 0.7rem;
			color: #64748b;
			text-transform: uppercase;
			letter-spacing: 0.5px;
		}

		.kpi-trend {
			font-size: 0.75rem;
			font-weight: 600;
			margin-top: 0.3rem;
			transition: all 0.5s ease;
		}

		.kpi-trend.up { color: #ff9d70; }
		.kpi-trend.down { color: #64748b; }

		/* Schémas conceptuels en lieu des KPI chiffrés */
		.schema-steps {
			font-size: 0.8rem;
			color: #64748b;
			margin-top: 0.5rem;
			display: flex;
			flex-wrap: wrap;
			gap: 0.35rem;
			align-items: center;
		}

		.schema-steps span {
			padding: 0.25rem 0.6rem;
			border-radius: 999px;
			background: #f8fafc;
			border: 1px solid #e2e8f0;
			white-space: nowrap;
		}

		.schema-steps .arrow {
			padding: 0;
			border: none;
			background: transparent;
			color: #94a3b8;
		}

		@keyframes pulse {
			0%, 100% { opacity: 1; }
			50% { opacity: 0.5; }
		}

		/* Sidebar Hover Effects */
		.sidebar-list li {
			transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
			cursor: pointer;
		}

		.sidebar-list li:hover {
			transform: translateX(8px) scale(1.02);
			box-shadow: 0 4px 15px rgba(255, 157, 112, 0.25) !important;
			border-left-width: 4px !important;
			background: linear-gradient(108deg, #b16cea 8%, #ff5e69 40%, #ff9d70 77%, #ffc08a 91%) !important;
			color: white !important;
		}

		.sidebar-section ul li {
			transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
			cursor: pointer;
		}

		.sidebar-section ul li:hover {
			transform: translateX(8px) scale(1.02);
			box-shadow: 0 4px 15px rgba(255, 157, 112, 0.25) !important;
			border-left-width: 4px !important;
			background: linear-gradient(108deg, #b16cea 8%, #ff5e69 40%, #ff9d70 77%, #ffc08a 91%) !important;
			color: white !important;
		}

		.sidebar-section span {
			transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
			cursor: pointer;
		}

		.sidebar-section span:hover {
			transform: translateY(-3px) scale(1.05);
			box-shadow: 0 6px 20px rgba(255, 157, 112, 0.3) !important;
			background: linear-gradient(108deg, #b16cea 8%, #ff5e69 40%, #ff9d70 77%, #ffc08a 91%) !important;
			color: white !important;
			border-color: transparent !important;
		}

		.hero-subtitle {
			font-size: 1.3rem;
			margin-bottom: 2rem;
			color: #555;
			max-width: 800px;
			line-height: 1.6;
		}

		.cta-buttons {
			display: flex;
			gap: 1rem;
			flex-wrap: wrap;
		}

		.cta-button {
			display: inline-block;
			padding: 1rem 2rem;
			background: linear-gradient(108deg, #b16cea 8%, #ff5e69 40%, #ff9d70 77%, #ffc08a 91%);
			color: #1a1a2e;
			text-decoration: none;
			border-radius: 5px;
			font-weight: 600;
			font-size: 1rem;
			transition: all 0.3s ease;
			border: 2px solid transparent;
		}

		.cta-button:hover {
			transform: translateY(-2px);
			box-shadow: 0 5px 20px rgba(255, 157, 112, 0.5);
			background: linear-gradient(108deg, #a053d9 8%, #ff4458 40%, #ff8c5f 77%, #ff973a 91%);
			color: #ffffff;
		}

		.cta-button-secondary {
			background: transparent;
			border: 2px solid transparent;
			border-image: linear-gradient(108deg, #b16cea 8%, #ff5e69 40%, #ff9d70 77%, #ffc08a 91%) 1;
			color: #1a1a2e;
		}

		.cta-button-secondary:hover {
			background: linear-gradient(108deg, #b16cea 8%, #ff5e69 40%, #ff9d70 77%, #ffc08a 91%);
			color: #ffffff;
			box-shadow: 0 5px 20px rgba(255, 157, 112, 0.5);
		}

		/* Main Layout */
		.main-container {
			max-width: 1400px;
			margin: 0 auto;
			padding: 3rem 2rem;
			display: grid;
			grid-template-columns: 1fr 300px;
			gap: 3rem;
		}

		.main-content {
			min-width: 0;
		}

		/* Sidebar */
		.sidebar {
			height: fit-content;
			position: sticky;
			top: 90px;
			align-self: flex-start;
			max-height: calc(100vh - 100px);
			overflow-y: auto;
			overflow-x: hidden;
		}

		.sidebar::-webkit-scrollbar {
			width: 6px;
		}

		.sidebar::-webkit-scrollbar-track {
			background: transparent;
		}

		.sidebar::-webkit-scrollbar-thumb {
			background: #ff9d70;
			border-radius: 3px;
		}

		.sidebar::-webkit-scrollbar-thumb:hover {
			background: #ff6b3d;
		}

		.sidebar-section {
			background: #f8f9fa;
			padding: 1.5rem;
			border-radius: 10px;
			margin-bottom: 2rem;
			box-shadow: 0 2px 10px rgba(0,0,0,0.05);
		}

		.sidebar-title {
			font-size: 1.1rem;
			font-weight: 700;
			color: #333;
			margin-bottom: 1rem;
			text-transform: uppercase;
			letter-spacing: 1px;
			font-size: 0.95rem;
		}

		.sidebar-list {
			list-style: none;
		}

		.sidebar-list li {
			padding: 0.5rem 0;
			border-bottom: 1px solid #e0e0e0;
			font-size: 1.05rem;
		}

		.sidebar-list li:last-child {
			border-bottom: none;
		}

		.sidebar-list a {
			color: #ff9d70;
			text-decoration: none;
			font-size: 0.9rem;
			transition: color 0.3s ease;
		}

		.sidebar-list a:hover {
			color: white;
		}

		/* Section Styles */
		.content-section {
			background: white;
			padding: 3rem;
			margin-bottom: 2rem;
			border-radius: 20px;
			box-shadow: 0 5px 30px rgba(0,0,0,0.06);
			border: 1px solid rgba(0,0,0,0.05);
			transition: all 0.3s ease;
		}

		.content-section:hover {
			box-shadow: 0 10px 40px rgba(0,0,0,0.1);
			transform: translateY(-2px);
		}

		.section-title {
			font-size: 2.2rem;
			font-weight: 700;
			margin-bottom: 2rem;
			color: #1a1a2e;
			padding-bottom: 1rem;
			border-bottom: 4px solid transparent;
			border-image: linear-gradient(90deg, #ff9d70 0%, #ff6b3d 50%, #ff9d70 100%);
			border-image-slice: 1;
			letter-spacing: -0.03em;
			position: relative;
		}

		.section-title::before {
			content: '';
			position: absolute;
			left: 0;
			bottom: -4px;
			width: 60px;
			height: 4px;
			background: linear-gradient(90deg, #ff9d70, #ff6b3d);
			border-radius: 2px;
		}

		.section-text {
			font-size: 1.05rem;
			line-height: 1.8;
			color: #4a5568;
			margin-bottom: 1.5rem;
			font-weight: 400;
			letter-spacing: -0.01em;
		}

		/* Photo Grid */
		.photo-grid {
			display: grid;
			grid-template-columns: 1fr;
			gap: 2rem;
			margin: 2rem 0;
			justify-items: center;
		}

		.photo-item {
			position: relative;
			overflow: hidden;
			border-radius: 10px;
			box-shadow: 0 5px 20px rgba(0,0,0,0.1);
			transition: transform 0.3s ease;
			width: 100%;
			max-width: 100%;
		}

		@media (min-width: 900px) {
			.expertise-layout {
				display: grid;
				grid-template-columns: 1fr 1.6fr;
				gap: 2rem;
				align-items: start;
			}

			#expertise .photo-item {
				width: 100%;
				max-width: 100%;
			}
		}

		.photo-item img {
			width: 100%;
			height: 100%;
			object-fit: cover;
			display: block;
			animation: floating 6s ease-in-out infinite;
		}

		.photo-item:nth-child(1) img {
			animation-delay: 0.5s;
		}

		.photo-item:nth-child(2) img {
			animation-delay: 1s;
		}

		/* Topics/Expertise */
		.topics-list {
			list-style: none;
		}

		.topics-list li {
			padding: 1.2rem 1rem 1.2rem 3rem;
			border-bottom: 1px solid rgba(0,0,0,0.05);
			font-size: 1.05rem;
			color: #444;
			position: relative;
			border-radius: 8px;
			transition: all 0.3s ease;
			margin-bottom: 0.5rem;
		}

		.topics-list li:hover {
			background: linear-gradient(135deg, rgba(255,157,112,0.05) 0%, rgba(255,157,112,0.02) 100%);
			transform: translateX(5px);
			border-left: 3px solid #ff9d70;
		}

		.topics-list li::before {
			content: '';
			position: absolute;
			left: 1rem;
			top: 50%;
			transform: translateY(-50%);
			width: 12px;
			height: 12px;
			background: linear-gradient(135deg, #ff9d70, #ff6b3d);
			border-radius: 50%;
			box-shadow: 0 2px 8px rgba(255,157,112,0.4);
		}

		.topics-list li:last-child {
			border-bottom: none;
		}

		/* Contact Section */
		.contact-box {
			background: linear-gradient(135deg, rgba(255,157,112,0.05) 0%, rgba(255,157,112,0.02) 100%);
			padding: 3rem;
			border-radius: 20px;
			border: 3px solid transparent;
			background-clip: padding-box;
			color: #333;
			position: relative;
			box-shadow: 0 10px 40px rgba(255,157,112,0.15);
		}

		.contact-box::before {
			content: '';
			position: absolute;
			inset: 0;
			border-radius: 20px;
			padding: 3px;
			background: linear-gradient(135deg, #ff9d70, #ff6b3d, #ff9d70);
			-webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
			mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
			-webkit-mask-composite: xor;
			mask-composite: exclude;
			pointer-events: none;
		}

		.contact-box h3 {
			font-size: 1.8rem;
			margin-bottom: 1.5rem;
			color: #1a1a2e;
		}

		.contact-box p {
			font-size: 1.1rem;
			margin-bottom: 1.5rem;
			color: #555;
		}

		.contact-links {
			display: flex;
			gap: 1rem;
			flex-wrap: wrap;
		}

		.contact-link {
			display: inline-block;
			padding: 0.8rem 1.5rem;
			background: linear-gradient(108deg, #b16cea 8%, #ff5e69 40%, #ff9d70 77%, #ffc08a 91%);
			color: white;
			text-decoration: none;
			border-radius: 5px;
			font-weight: 600;
			transition: all 0.3s ease;
		}

		.contact-link:hover {
			transform: translateY(-2px);
			box-shadow: 0 5px 20px rgba(255,157,112,0.5);
			background: linear-gradient(108deg, #a053d9 8%, #ff4458 40%, #ff8c5f 77%, #ff973a 91%);
		}

		/* Footer */
		.footer {
			background: linear-gradient(135deg, #fff5f0 0%, #ffffff 30%, #f0f9ff 70%, #ffffff 100%);
			color: #2c3e50;
			padding: 4rem 2rem 2rem;
			text-align: center;
			position: relative;
			overflow: visible;
		}

		.footer::after {
			content: '';
			position: absolute;
			bottom: 0;
			left: 0;
			right: 0;
			top: 0;
			background: 
				radial-gradient(circle at 20% 50%, rgba(255,157,112,0.15) 0%, transparent 50%),
				radial-gradient(circle at 80% 50%, rgba(59,130,246,0.15) 0%, transparent 50%);
			pointer-events: none;
			z-index: 5;
		}

		.footer > * {
			position: relative;
			z-index: 10;
		}

		.footer .floating-globes {
			z-index: 1 !important;
			position: absolute;
			width: 100%;
			height: 100%;
			top: 0;
			left: 0;
			pointer-events: none;
		}

		.footer .globe {
			opacity: 1 !important;
			animation-name: float-footer !important;
			color: rgba(255, 157, 112, 0.8) !important;
			font-size: 1.5rem !important;
			font-weight: 700 !important;
			text-shadow: 0 2px 8px rgba(0, 0, 0, 0.1) !important;
		}

		.footer .globe::before {
			display: none;
		}

		@keyframes float-footer {
			0% {
				bottom: 0;
				transform: translateX(0) translateY(0) rotate(0deg);
				opacity: 0.4;
			}
			25% {
				opacity: 0.8;
			}
			50% {
				bottom: 40%;
				transform: translateX(30px) translateY(-10px) rotate(180deg);
				opacity: 0.7;
			}
			75% {
				opacity: 0.6;
			}
			100% {
				bottom: 0;
				transform: translateX(0) translateY(0) rotate(360deg);
				opacity: 0.4;
			}
		}

		.footer::before {
			content: '';
			position: absolute;
			top: 0;
			left: 0;
			right: 0;
			height: 4px;
			background: linear-gradient(108deg, #b16cea 8%, #ff5e69 40%, #ff9d70 77%, #ffc08a 91%);
			background-size: 200% 100%;
			animation: gradientMove 3s linear infinite;
			z-index: 2;
		}

		@keyframes gradientMove {
			0% { background-position: 0% 0%; }
			100% { background-position: 200% 0%; }
		}

		.footer-logo {
			margin-bottom: 2rem;
			animation: floatSlow 6s ease-in-out infinite;
		}

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

		.footer-logo img {
			height: 80px;
			width: auto;
			filter: brightness(1.2) drop-shadow(0 0 20px rgba(255,157,112,0.3));
			transition: all 0.3s ease;
		}

		.footer-logo img:hover {
			filter: brightness(1.4) drop-shadow(0 0 30px rgba(255,157,112,0.5));
			transform: scale(1.05);
		}

		.footer-tagline {
			font-size: 1.5rem;
			font-weight: 700;
			letter-spacing: 2px;
			margin-bottom: 0.5rem;
			line-height: 1.25;
			max-width: 100%;
			overflow-wrap: anywhere;
			word-break: break-word;
			background: linear-gradient(90deg, #2c3e50 0%, #ff9d70 50%, #2c3e50 100%);
			-webkit-background-clip: text;
			-webkit-text-fill-color: transparent;
			background-clip: text;
			background-size: 200% 100%;
			animation: shimmerText 3s ease-in-out infinite;
		}

		@keyframes shimmerText {
			0%, 100% { background-position: 0% 50%; }
			50% { background-position: 100% 50%; }
		}

		.footer-subtitle {
			opacity: 0.7;
			font-size: 1rem;
			margin-bottom: 0.5rem;
		}

		.footer-location {
			opacity: 0.7;
			font-size: 0.95rem;
			margin-bottom: 3rem;
			position: relative;
			padding-bottom: 2rem;
		}

		.footer-location::after {
			content: '';
			position: absolute;
			bottom: 0;
			left: 50%;
			transform: translateX(-50%);
			width: 60px;
			height: 2px;
			background: linear-gradient(90deg, transparent, #ff9d70, transparent);
		}

		.footer-links {
			display: flex;
			justify-content: center;
			gap: 1rem;
			margin-bottom: 3rem;
			flex-wrap: wrap;
		}

		.footer-link {
			color: #2c3e50;
			text-decoration: none;
			transition: all 0.3s ease;
			font-size: 0.9rem;
			font-weight: 600;
			padding: 0.7rem 1.5rem;
			background: rgba(255,255,255,0.6);
			border-radius: 25px;
			border: 1px solid rgba(255,157,112,0.2);
			backdrop-filter: blur(10px);
		}

		.footer-link:hover {
			color: white;
			background: linear-gradient(108deg, #b16cea 8%, #ff5e69 40%, #ff9d70 77%, #ffc08a 91%);
			border-color: transparent;
			transform: translateY(-3px);
			box-shadow: 0 5px 20px rgba(255,157,112,0.4);
		}

		.social-icons {
			display: flex;
			justify-content: center;
			gap: 1.5rem;
			margin-bottom: 2rem;
		}

		.social-icon {
			width: 50px;
			height: 50px;
			background: linear-gradient(135deg, rgba(255,157,112,0.1), rgba(255,157,112,0.05));
			border-radius: 50%;
			display: flex;
			align-items: center;
			justify-content: center;
			transition: all 0.4s ease;
			color: #2c3e50;
			text-decoration: none;
			font-size: 1.3rem;
			border: 2px solid rgba(255,157,112,0.2);
			backdrop-filter: blur(10px);
			position: relative;
		}

		.social-icon::before {
			content: '';
			position: absolute;
			inset: -2px;
			border-radius: 50%;
			padding: 2px;
			background: linear-gradient(108deg, #b16cea 8%, #ff5e69 40%, #ff9d70 77%, #ffc08a 91%);
			-webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
			mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
			-webkit-mask-composite: xor;
			mask-composite: exclude;
			opacity: 0;
			transition: opacity 0.3s ease;
		}

		.social-icon:hover::before {
			opacity: 1;
		}

		.social-icon:hover {
			background: linear-gradient(135deg, #ff9d70, #ff6b3d);
			transform: translateY(-5px) scale(1.1);
			box-shadow: 0 10px 30px rgba(255,157,112,0.5);
			border-color: transparent;
		}

		.footer-copyright {
			opacity: 0.5;
			font-size: 0.9rem;
			margin-top: 2rem;
			padding-top: 2rem;
			border-top: 1px solid rgba(255,255,255,0.1);
			position: relative;
			transition: opacity 0.3s ease;
		}

		.footer-copyright::before {
			content: '';
			position: absolute;
			top: -1px;
			left: 50%;
			transform: translateX(-50%);
			width: 100px;
			height: 1px;
			background: linear-gradient(90deg, transparent, rgba(255,157,112,0.5), transparent);
		}

		.footer-copyright:hover {
			opacity: 0.8;
		}

		/* Preloader */
		.preloader {
			z-index: 9999;
			background-color: #fff;
			flex-direction: column;
			justify-content: center;
			align-items: stretch;
			display: flex;
			position: fixed;
			top: 0%;
			bottom: 0%;
			left: 0%;
			right: 0%;
			overflow: hidden;
		}

		.preloader-left-div {
			flex-direction: column;
			justify-content: center;
			align-items: center;
			margin-right: 10vw;
			display: flex;
			overflow: hidden;
		}

		.preloader-right-div {
			flex-direction: column;
			justify-content: center;
			align-items: center;
			margin-left: 10vw;
			display: flex;
			overflow: hidden;

		}

		.text-block.preloader-text {
			font-size: 65px;
			font-weight: 500;
			line-height: 100%;
		}

		.text-gradient {
			background-image: linear-gradient(108deg, #b16cea 8%, #ff5e69 40%, #ff9d70 77%, #ffc08a 91%);
			-webkit-text-fill-color: transparent;
			-webkit-background-clip: text;
			background-clip: text;
			padding-right: 5px;
			display: inline;
		}

		/* Responsive */
		@media (max-width: 1024px) {
			.main-container {
				grid-template-columns: 1fr;
				gap: 2rem;
				padding: 2rem 1.5rem;
			}

			.sidebar {
				position: static;
				order: -1;
				display: grid;
				grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
				gap: 1.5rem;
				max-height: none;
			}

			.hero-section {
				min-height: 60vh;
				padding: 0;
			}

			.hero-image-container {
				padding: 0;
			}

			.hero-content {
				padding: 2.5rem 2rem;
			}

			.hero-content h2 {
				font-size: 2rem !important;
			}

			.hero-title {
				font-size: 1.8rem !important;
			}

			.content-section {
				padding: 2.5rem 2rem;
			}

			#articles, #podcast, #recherches {
				padding: 2rem !important;
			}

			.photo-grid {
				grid-template-columns: 1fr;
				gap: 1.5rem;
			}

			/* Graphiques responsive pour tablette */
			.charts-grid {
				grid-template-columns: repeat(2, 1fr);
				gap: 1.2rem;
			}

			.chart-container:last-child {
				grid-column: 1 / -1;
			}

			.kpi-grid {
				grid-template-columns: repeat(3, 1fr);
				gap: 0.8rem;
			}

			.data-viz {
				padding: 1.5rem;
			}

			/* Globes animés - réduire pour tablette */
			.floating-globes {
				display: none;
			}

			.globe {
				width: 220px !important;
				height: 55px !important;
			}
		}

		@media (max-width: 768px) {
			.nav {
				padding: 1rem;
				justify-content: flex-start;
				column-gap: 0.75rem;
			}

			.nav-logo img {
				height: 40px;
			}

			.hamburger {
				display: flex;
				order: 1;
			}

			.nav-logo {
				order: 2;
			}

			.language-toggle {
				order: 3;
				margin-left: auto;
			}

			.nav-links {
				order: 4;
			}

			.nav-links {
				position: fixed;
				top: 70px;
				left: -100%;
				width: 70%;
				max-width: 280px;
				height: auto;
				max-height: 60vh;
				background: rgba(255,255,255,0.98);
				backdrop-filter: blur(10px);
				flex-direction: column;
				padding: 1.2rem;
				gap: 0;
				transition: left 0.3s ease;
				box-shadow: 0 5px 20px rgba(0,0,0,0.3);
				border-radius: 0 10px 10px 0;
				overflow-y: auto;
				z-index: 999;
			}

			.nav-links.active {
				left: 0;
			}

			.nav-links li {
				width: 100%;
				padding: 0.7rem 0;
				border-bottom: 1px solid #e0e0e0;
			}

			.nav-links li:last-child {
				border-bottom: none;
			}

			.nav-link {
				font-size: 1.1rem;
				display: block;
			}

			/* Dropdown mobile styles */
			.dropdown-menu {
				position: static;
				box-shadow: none;
				background: #f8f9fa;
				margin-top: 0.5rem;
				margin-left: 1rem;
				border-radius: 5px;
				max-height: 0;
				overflow: hidden;
				opacity: 0;
				visibility: hidden;
				transform: none;
				transition: max-height 0.3s ease, opacity 0.3s ease, padding 0.3s ease;
			}

			.dropdown.active .dropdown-menu {
				max-height: 300px;
				opacity: 1;
				visibility: visible;
				padding: 0.5rem 0;
			}

			/* Afficher les sous-sections sous le titre sur mobile */
			.nav-item.dropdown {
				flex-direction: column;
				align-items: flex-start;
			}

			.dropdown-menu a {
				font-size: 1rem;
				padding: 0.6rem 1rem;
			}

			.dropdown-toggle {
				width: 100%;
				justify-content: space-between;
			}

			.dropdown.active .dropdown-toggle::after {
				transform: rotate(180deg);
			}

			.hero-section {
				flex-direction: column;
				min-height: auto;
				padding: 0;
				margin-top: 60px;
			}

			/* Désactiver les globes flottants sur mobile */
			.floating-globes {
				display: none !important;
			}

			.hero-section::before {
				opacity: 0.5;
			}

			.hero-image-container {
				padding: 0;
				order: 1;
				width: 100%;
				background: transparent;
			}

			.hero-image-container::after {
				display: none;
			}

			.hero-image {
				max-width: 100%;
				width: 100%;
				height: auto;
				margin: 0;
				mask-image: none;
				-webkit-mask-image: none;
				border-radius: 0;
				display: block;
			}

			.hero-content {
				padding: 1.5rem;
				order: 2;
				background: transparent;
			}

			.hero-content h2 {
				font-size: 1.7rem !important;
				text-align: center;
			}

			.hero-content p {
				font-size: 0.95rem !important;
				text-align: center;
			}

			.hero-title {
				font-size: 1.5rem !important;
				line-height: 1.3;
				text-align: center;
			}

			.hero-badges {
				gap: 0.5rem;
				justify-content: center;
			}

			.hero-badge {
				font-size: 0.75rem;
				padding: 0.5rem 0.8rem !important;
			}

			/* Data Viz responsive */
			.data-viz {
				margin: 1.5rem 0;
				padding: 1.2rem;
			}

			.data-viz-title {
				font-size: 0.75rem;
				margin-bottom: 1rem;
			}

			.charts-grid {
				grid-template-columns: 1fr;
				gap: 1rem;
			}

			.chart-container {
				padding: 1rem;
			}

			.chart-title {
				font-size: 0.7rem;
			}

			.bar-chart {
				height: 80px;
				gap: 4px;
			}

			.line-chart {
				height: 80px;
			}

			.donut-chart,
			.gauge-chart {
				width: 85px;
				height: 85px;
				min-width: 85px;
				min-height: 85px;
			}

			.gauge-chart svg {
				max-width: 100%;
				max-height: 100%;
			}

			.gauge-value {
				font-size: 1.3rem;
			}

			.gauge-label {
				font-size: 0.6rem;
			}

			.kpi-grid {
				grid-template-columns: 1fr;
				gap: 0.8rem;
			}

			.kpi-card {
				padding: 0.8rem;
			}

			.kpi-value {
				font-size: 1.5rem;
			}

			.kpi-label {
				font-size: 0.65rem;
			}

			.kpi-trend {
				font-size: 0.7rem;
			}

			.cta-button {
				padding: 0.8rem 1.5rem;
				font-size: 0.9rem;
				width: 100%;
				text-align: center;
			}

			.cta-buttons {
				flex-direction: column;
				width: 100%;
			}

			.main-container {
				padding: 1.5rem 1rem;
				gap: 1.5rem;
			}

			.content-section {
				padding: 2rem 1.5rem;
				margin-bottom: 1.5rem;
			}

			.section-title {
				font-size: 1.8rem;
			}

			.section-title::before {
				width: 50px;
			}

			.section-text {
				font-size: 1rem;
				line-height: 1.7;
			}

			.photo-grid {
				grid-template-columns: 1fr;
				gap: 1.5rem;
			}

			.topics-list li {
				font-size: 0.95rem;
				padding: 1rem 0.8rem 1rem 2.5rem !important;
				margin-bottom: 0.5rem;
			}

			.topics-list li::before {
				left: 0.8rem !important;
				width: 10px !important;
				height: 10px !important;
			}

			/* Publications section responsive */
			#publications .section-text {
				margin-bottom: 2rem !important;
			}

			#articles, #podcast, #recherches {
				padding: 1.5rem !important;
				border-radius: 12px !important;
				margin-bottom: 2rem !important;
			}

			#articles > div:first-child,
			#podcast > div:first-child,
			#recherches > div:first-child {
				flex-direction: column;
				align-items: flex-start !important;
				gap: 0.8rem !important;
			}

			#articles > div:first-child > div,
			#podcast > div:first-child > div,
			#recherches > div:first-child > div {
				width: 40px !important;
				height: 40px !important;
				font-size: 1.2rem !important;
			}

			#articles h3,
			#podcast h3,
			#recherches h3 {
				font-size: 1.5rem !important;
			}

			.article-card {
				padding: 1.5rem !important;
			}

			.article-card h4 {
				font-size: 1.05rem !important;
			}

			.article-card p {
				font-size: 0.95rem !important;
			}

			/* Désactiver les animations hover sur mobile */
			.article-card {
				transition: none !important;
			}

			.sidebar-section {
				padding: 1.2rem;
			}

			.sidebar-section img {
				width: 100%;
				max-width: 100%;
				height: auto;
				margin: 0 0 1rem !important;
				display: block;
			}

			.sidebar-section .sidebar-title {
				font-size: 0.9rem !important;
			}

			.sidebar-section ul li {
				font-size: 0.85rem !important;
				padding: 0.6rem !important;
			}

			/* Outils badges responsive */
			.sidebar-section div[style*="display: flex"] span {
				font-size: 0.75rem !important;
				padding: 0.4rem 0.7rem !important;
			}

			/* Audience list responsive */
			.sidebar-section ul li span {
				font-size: 0.85rem !important;
			}

			.contact-box {
				padding: 2rem 1.5rem;
			}

			.contact-box h3 {
				font-size: 1.5rem;
				text-align: center;
			}

			.contact-box p {
				font-size: 1rem;
				text-align: center;
			}

			.contact-link {
				width: 100%;
				text-align: center;
			}

			.contact-links {
				justify-content: center;
			}

			.footer {
				padding: 3rem 1.5rem 1.5rem;
			}

			.footer-logo img {
				height: 60px;
			}

			.footer-tagline {
				font-size: 1.2rem;
				letter-spacing: 1px;
			}

			.footer-links {
				flex-direction: column;
				gap: 1rem;
			}

			.footer-link {
				font-size: 0.9rem;
			}

			.social-icons {
				gap: 1rem;
			}

			.social-icon {
				width: 40px;
				height: 40px;
				font-size: 1.1rem;
			}

			/* Désactiver certaines animations complexes sur mobile */
			.hero-content::before {
				display: none;
			}

			.article-card::after {
				display: none;
			}

			.icon-box::before {
				display: none;
			}

			.contact-box {
				animation: none;
			}
		}

		@media (max-width: 480px) {
			/* Navigation */
			.nav {
				padding: 0.8rem;
			}

			.nav-logo img {
				height: 35px;
			}

			.language-toggle {
				padding: 0.5rem 0.9rem;
				font-size: 0.8rem;
			}

			/* Hero section */
			.hero-section {
				margin-top: 60px;
				padding: 0;
			}

			.hero-content h2 {
				font-size: 1.5rem !important;
				margin-bottom: 0.8rem !important;
			}

			.hero-content p[data-translate="hero-subtitle1"] {
				font-size: 1rem !important;
			}

			.hero-content p[data-translate="hero-subtitle2"] {
				font-size: 0.9rem !important;
				margin-bottom: 1.5rem !important;
			}

			.hero-title {
				font-size: 1.3rem !important;
				margin-bottom: 1.5rem !important;
			}

			.hero-badges {
				flex-direction: column;
				align-items: center;
				gap: 0.4rem;
				margin-bottom: 1.5rem !important;
			}

			.hero-badge {
				font-size: 0.7rem !important;
				padding: 0.4rem 0.7rem !important;
				width: 100%;
				text-align: center;
				max-width: 280px;
			}

			.hero-image {
				max-width: 100%;
				width: 100%;
				height: auto;
			}

			/* Data Viz ultra responsive */
			.data-viz {
				margin: 1rem 0;
				padding: 1rem;
				border-radius: 12px;
			}

			.data-viz-title {
				font-size: 0.7rem;
				margin-bottom: 0.8rem;
			}

			.charts-grid {
				gap: 0.8rem;
			}

			.chart-container {
				padding: 0.8rem;
			}

			.chart-title {
				font-size: 0.65rem;
				margin-bottom: 0.6rem;
			}

			.bar-chart {
				height: 60px;
				gap: 3px;
			}

			.line-chart {
				height: 60px;
			}

			.donut-chart,
			.gauge-chart {
				width: 75px;
				height: 75px;
				min-width: 75px;
				min-height: 75px;
			}

			.gauge-chart svg {
				max-width: 100%;
				max-height: 100%;
			}

			.gauge-value {
				font-size: 1.1rem;
			}

			.gauge-label,
			.donut-label {
				font-size: 0.55rem;
			}

			/* S'assurer que le conteneur du graphique n'est pas coupé */
			.chart-container {
				overflow: visible !important;
			}

			.kpi-grid {
				gap: 0.6rem;
			}

			.kpi-card {
				padding: 0.7rem;
			}

			.kpi-value {
				font-size: 1.3rem;
				margin-bottom: 0.2rem;
			}

			.kpi-label {
				font-size: 0.6rem;
			}

			.kpi-trend {
				font-size: 0.65rem;
				margin-top: 0.2rem;
			}

			/* CTA Buttons */
			.cta-button {
				padding: 0.7rem 1.2rem;
				font-size: 0.85rem;
			}

			.cta-buttons {
				gap: 0.8rem;
			}

			/* Main content */
			.main-container {
				padding: 1rem 0.8rem;
				gap: 1rem;
			}

			.content-section {
				padding: 1.5rem 1rem;
				border-radius: 15px !important;
				margin-bottom: 1rem;
			}

			.section-title {
				font-size: 1.5rem;
				margin-bottom: 1.5rem;
			}

			.section-title::before {
				width: 40px !important;
				height: 3px;
			}

			.section-text {
				font-size: 0.95rem;
				line-height: 1.6;
				margin-bottom: 1rem;
			}

			/* Photo grid */
			.photo-grid {
				gap: 1rem;
				margin: 1.5rem 0;
			}

			/* Topics list */
			.topics-list li {
				font-size: 0.9rem;
				padding: 0.9rem 0.7rem 0.9rem 2.2rem !important;
				margin-bottom: 0.4rem;
			}

			.topics-list li::before {
				left: 0.7rem !important;
				width: 8px !important;
				height: 8px !important;
			}

			/* Publications section */
			#publications .section-text {
				margin-bottom: 1.5rem !important;
			}

			#articles, #podcast, #recherches {
				padding: 1.2rem !important;
				margin-bottom: 1.5rem !important;
			}

			#articles > div:first-child,
			#podcast > div:first-child,
			#recherches > div:first-child {
				gap: 0.6rem !important;
				margin-bottom: 1rem !important;
			}

			#articles > div:first-child > div,
			#podcast > div:first-child > div,
			#recherches > div:first-child > div {
				width: 35px !important;
				height: 35px !important;
				font-size: 1rem !important;
			}

			#articles h3,
			#podcast h3,
			#recherches h3 {
				font-size: 1.3rem !important;
				line-height: 1.3;
			}

			.article-card {
				padding: 1.2rem !important;
				border-radius: 10px !important;
			}

			.article-card h4 {
				font-size: 1rem !important;
				margin-bottom: 0.5rem !important;
				line-height: 1.3;
			}

			.article-card p {
				font-size: 0.9rem !important;
				line-height: 1.5;
			}

			/* Sidebar */
			.sidebar-section {
				padding: 1rem;
				margin-bottom: 1.5rem;
			}

			.sidebar-section img {
				width: 100%;
				max-width: 100%;
				height: auto;
				border-radius: 12px !important;
			}

			.sidebar-title {
				font-size: 0.85rem !important;
				margin-bottom: 0.8rem !important;
			}

			.sidebar-list li {
				font-size: 0.8rem !important;
				padding: 0.6rem 0.5rem !important;
				margin-bottom: 0.4rem;
			}

			.sidebar-section div[style*="display: flex"] {
				gap: 0.4rem !important;
			}

			.sidebar-section div[style*="display: flex"] span {
				font-size: 0.7rem !important;
				padding: 0.35rem 0.6rem !important;
			}

			.sidebar-section ul li {
				font-size: 0.8rem !important;
				padding: 0.7rem 0.5rem !important;
			}

			/* Contact section */
			.contact-box {
				padding: 1.5rem 1rem !important;
				border-radius: 15px !important;
			}

			.contact-box h3 {
				font-size: 1.3rem !important;
				line-height: 1.3;
				margin-bottom: 1rem !important;
			}

			.contact-box p {
				font-size: 0.95rem !important;
				margin-bottom: 1rem !important;
			}

			.contact-link {
				padding: 0.7rem 1.2rem;
				font-size: 0.9rem;
			}

			/* Footer */
			.footer {
				padding: 2.5rem 1rem 1rem;
			}

			.footer-logo {
				margin-bottom: 1.5rem;
			}

			.footer-logo img {
				height: 50px;
			}

			.footer-tagline {
				font-size: 1.1rem;
				margin-bottom: 0.4rem;
				letter-spacing: 0.5px;
			}

			.footer-subtitle {
				font-size: 0.9rem;
				margin-bottom: 0.4rem;
			}

			.footer-location {
				font-size: 0.85rem;
				margin-bottom: 2rem;
				padding-bottom: 1.5rem;
			}

			.footer-links {
				gap: 0.8rem;
				margin-bottom: 2rem;
			}

			.footer-link {
				font-size: 0.85rem;
				padding: 0.6rem 1.2rem;
			}

			.social-icons {
				gap: 0.8rem;
				margin-bottom: 1.5rem;
			}

			.social-icon {
				width: 38px;
				height: 38px;
				font-size: 1rem;
			}

			.footer-copyright {
				font-size: 0.8rem;
				margin-top: 1.5rem;
				padding-top: 1.5rem;
			}

			/* Preloader */
			.preloader .text-block.preloader-text {
				font-size: 45px;
			}

			/* Performances - réduire les animations */
			* {
				animation-duration: 0.5s !important;
				transition-duration: 0.2s !important;
			}

			/* Désactiver les animations complexes */
			.hero-image {
				animation: none !important;
			}

			.sidebar-section img {
				animation: none !important;
			}

			.photo-item img {
				animation: none !important;
			}

			/* Simplifier les hover effects */
			.sidebar-list li:hover,
			.sidebar-section ul li:hover,
			.sidebar-section span:hover {
				transform: translateX(4px) scale(1) !important;
			}

			.article-card:hover {
				transform: translateX(0) translateY(0) !important;
			}

			/* Touch-friendly adjustments */
			.nav-link,
			.dropdown-toggle,
			.cta-button,
			.contact-link,
			.footer-link,
			.social-icon {
				min-height: 44px;
				display: inline-flex;
				align-items: center;
				justify-content: center;
			}

			/* Améliorer la lisibilité */
			body {
				font-size: 16px;
				-webkit-text-size-adjust: 100%;
			}

			/* Optimiser les espacements tactiles */
			.nav-links li {
				padding: 0.9rem 0;
			}

			.dropdown-menu a {
				padding: 0.8rem 1rem;
			}
		}

		/* Media query pour les très petits écrans (320px) */
		@media (max-width: 375px) {
			.nav-logo img {
				height: 32px;
			}

			.hero-content h2 {
				font-size: 1.3rem !important;
			}

			.hero-title {
				font-size: 1.2rem !important;
			}

			.hero-badge {
				font-size: 0.65rem !important;
				padding: 0.35rem 0.6rem !important;
			}

			.data-viz {
				padding: 0.8rem;
			}

			.section-title {
				font-size: 1.3rem;
			}

			.content-section {
				padding: 1.2rem 0.8rem;
			}

			.preloader .text-block.preloader-text {
				font-size: 35px;
			}

			/* Ajustements pour les graphiques sur très petits écrans */
			.gauge-chart,
			.donut-chart {
				width: 70px !important;
				height: 70px !important;
				min-width: 70px !important;
				min-height: 70px !important;
			}

			.gauge-value {
				font-size: 1rem !important;
			}

			.gauge-label {
				font-size: 0.5rem !important;
			}
		}

		/* Media query spécifique pour Samsung S8+ et appareils similaires (360px-410px) */
		@media (min-width: 360px) and (max-width: 410px) {
			.gauge-chart {
				width: 80px !important;
				height: 80px !important;
				min-width: 80px !important;
				min-height: 80px !important;
				margin: 0 auto;
				display: flex !important;
			}

			.gauge-chart svg {
				width: 80px !important;
				height: 80px !important;
			}

			.chart-container {
				padding: 1rem !important;
				overflow: visible !important;
				display: flex;
				flex-direction: column;
				align-items: center;
			}

			.chart-title {
				text-align: center;
				width: 100%;
			}
		}

		/* Media query pour orientation paysage mobile */
		@media (max-width: 900px) and (orientation: landscape) {
			.hero-section {
				flex-direction: row;
				min-height: auto;
				padding: 0;
			}

			.hero-image-container {
				flex: 0 0 40%;
				padding: 0;
			}

			.hero-content {
				flex: 1;
				padding: 1rem 1.5rem;
			}

			.hero-image {
				max-width: 100%;
				width: 100%;
				height: 100%;
				object-fit: cover;
			}

			.data-viz {
				margin: 1rem 0;
			}

			.charts-grid {
				grid-template-columns: repeat(3, 1fr);
				gap: 0.8rem;
			}

			.kpi-grid {
				grid-template-columns: repeat(3, 1fr);
			}

			.hero-badges {
				flex-direction: row;
				flex-wrap: wrap;
			}

			.nav-links {
				max-height: 80vh;
			}
		}

		/* Media query pour grandes tablettes (1024px - 1200px) */
		@media (min-width: 1025px) and (max-width: 1200px) {
			.main-container {
				max-width: 100%;
				padding: 3rem 2.5rem;
			}

			.hero-section {
				padding: 0;
			}

			.hero-image-container {
				padding: 0;
			}

			.hero-content {
				padding: 4rem 3rem;
			}

			.charts-grid {
				grid-template-columns: repeat(3, 1fr);
			}
		}

		/* Optimisation pour écrans moyens (768px - 1024px) */
		@media (min-width: 769px) and (max-width: 1024px) {
			.hero-section {
				flex-direction: row;
				padding: 0;
			}

			.hero-image-container {
				flex: 0 0 45%;
				padding: 0;
			}

			.hero-content {
				padding: 3rem 2rem;
			}

			.charts-grid {
				grid-template-columns: repeat(2, 1fr);
			}

			.kpi-grid {
				grid-template-columns: repeat(3, 1fr);
			}

			.sidebar {
				grid-template-columns: repeat(2, 1fr);
			}
		}

		/* Animations */
		.fade-in {
			animation: fadeInUp 0.8s ease-out;
		}

		@keyframes fadeInUp {
			from {
				opacity: 0;
				transform: translateY(30px);
			}
			to {
				opacity: 1;
				transform: translateY(0);
			}
		}

		/* Scroll Animations */
		.scroll-reveal {
			opacity: 0;
			transform: translateY(50px);
			transition: all 0.8s cubic-bezier(0.77, 0, 0.175, 1);
		}

		.scroll-reveal.active {
			opacity: 1;
			transform: translateY(0);
		}

		.scroll-reveal-left {
			opacity: 0;
			transform: translateX(-50px);
			transition: all 0.8s cubic-bezier(0.77, 0, 0.175, 1);
		}

		.scroll-reveal-left.active {
			opacity: 1;
			transform: translateX(0);
		}

		.scroll-reveal-right {
			opacity: 0;
			transform: translateX(50px);
			transition: all 0.8s cubic-bezier(0.77, 0, 0.175, 1);
		}

		.scroll-reveal-right.active {
			opacity: 1;
			transform: translateX(0);
		}

		/* Gradient Animation for Hero */
		.hero-content::before {
			display: none;
		}

		.hero-content > * {
			position: relative;
			z-index: 1;
		}

		@keyframes gradientShift {
			0% { background-position: 0% 50%; }
			50% { background-position: 100% 50%; }
			100% { background-position: 0% 50%; }
		}

		/* Badge Animation */
		.hero-badge {
			animation: badgePop 0.6s cubic-bezier(0.68, -0.55, 0.265, 1.55) backwards;
		}

		.hero-badge:nth-child(1) { animation-delay: 0.2s; }
		.hero-badge:nth-child(2) { animation-delay: 0.3s; }
		.hero-badge:nth-child(3) { animation-delay: 0.4s; }

		@keyframes badgePop {
			0% {
				opacity: 0;
				transform: scale(0.5) rotate(-5deg);
			}
			100% {
				opacity: 1;
				transform: scale(1) rotate(0deg);
			}
		}

		/* Floating Animation */
		.hero-image {
			animation: floating 6s ease-in-out infinite;
		}

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

		/* Pulse Animation for Buttons */
		.cta-button, .cta-button-secondary {
			position: relative;
			overflow: hidden;
		}

		.cta-button::before, .cta-button-secondary::before {
			content: '';
			position: absolute;
			top: 50%;
			left: 50%;
			width: 0;
			height: 0;
			border-radius: 50%;
			background: rgba(255, 255, 255, 0.3);
			transform: translate(-50%, -50%);
			transition: width 0.6s, height 0.6s;
		}

		.cta-button:hover::before, .cta-button-secondary:hover::before {
			width: 300px;
			height: 300px;
		}

		/* Shimmer Effect on Article Cards */
		.article-card {
			position: relative;
			overflow: hidden;
		}

		.article-card::after {
			content: '';
			position: absolute;
			top: -50%;
			left: -50%;
			width: 200%;
			height: 200%;
			background: linear-gradient(
				to right,
				rgba(255, 255, 255, 0) 0%,
				rgba(255, 255, 255, 0.3) 50%,
				rgba(255, 255, 255, 0) 100%
			);
			transform: rotate(45deg);
			animation: shimmer 3s infinite;
		}

		@keyframes shimmer {
			0% { transform: translateX(-100%) translateY(-100%) rotate(45deg); }
			100% { transform: translateX(100%) translateY(100%) rotate(45deg); }
		}

		/* Section Title Animation */
		.section-title {
			position: relative;
			display: inline-block;
		}

		.section-title::after {
			content: '';
			position: absolute;
			bottom: -1rem;
			left: 0;
			width: 0;
			height: 3px;
			background: #ff9d70;
			transition: width 0.8s cubic-bezier(0.77, 0, 0.175, 1);
		}

		.section-title.active::after {
			width: 100%;
		}

		/* Number Counter Animation */
		@keyframes countUp {
			from { opacity: 0; transform: translateY(20px); }
			to { opacity: 1; transform: translateY(0); }
		}

		/* Photo Grid Item Animation */
		.photo-item {
			animation: scaleIn 0.6s cubic-bezier(0.77, 0, 0.175, 1) backwards;
		}

		.photo-item:nth-child(1) { animation-delay: 0.1s; }
		.photo-item:nth-child(2) { animation-delay: 0.2s; }

		@keyframes scaleIn {
			from {
				opacity: 0;
				transform: scale(0.8);
			}
			to {
				opacity: 1;
				transform: scale(1);
			}
		}

		/* Topics List Animation */
		.topics-list li {
			opacity: 0;
			transform: translateX(-20px);
			transition: all 0.4s cubic-bezier(0.77, 0, 0.175, 1);
		}

		.topics-list li.animate {
			opacity: 1;
			transform: translateX(0);
		}

		/* Sidebar Slide In */
		.sidebar-section {
			transform: translateX(50px);
			opacity: 0;
			transition: all 0.6s cubic-bezier(0.77, 0, 0.175, 1);
		}

		.sidebar-section.visible {
			transform: translateX(0);
			opacity: 1;
		}

		/* Contact Box Pulse */
		.contact-box {
			animation: subtlePulse 3s ease-in-out infinite;
		}

		@keyframes subtlePulse {
			0%, 100% { transform: scale(1); }
			50% { transform: scale(1.02); }
		}

		/* Typing Effect */
		.typing-effect {
			overflow: hidden;
			border-right: 3px solid #ff9d70;
			white-space: nowrap;
			animation: typing 3.5s steps(40) 1s 1 normal both, blink 0.75s step-end infinite;
		}

		@keyframes typing {
			from { width: 0; }
			to { width: 100%; }
		}

		@keyframes blink {
			50% { border-color: transparent; }
		}

		/* Animation pour les boîtes d'icônes */
		.icon-box {
			animation: iconPulse 3s ease-in-out infinite;
			position: relative;
			overflow: hidden;
		}

		.icon-box::before {
			content: '';
			position: absolute;
			top: -50%;
			left: -50%;
			width: 200%;
			height: 200%;
			background: linear-gradient(
				45deg,
				transparent 30%,
				rgba(255, 255, 255, 0.4) 50%,
				transparent 70%
			);
			animation: shimmerRotate 3s linear infinite;
		}

		@keyframes iconPulse {
			0%, 100% { 
				transform: scale(1) rotate(0deg);
				box-shadow: 0 4px 15px rgba(255,157,112,0.3);
			}
			50% { 
				transform: scale(1.1) rotate(5deg);
				box-shadow: 0 8px 30px rgba(255,157,112,0.5);
			}
		}

		@keyframes shimmerRotate {
			0% {
				transform: translateX(-100%) translateY(-100%) rotate(0deg);
			}
			100% {
				transform: translateX(100%) translateY(100%) rotate(360deg);
			}
		}

		.icon-box-podcast {
			animation: iconPulsePodcast 3s ease-in-out infinite;
		}

		.icon-box-podcast::before {
			background: linear-gradient(
				45deg,
				transparent 30%,
				rgba(255, 255, 255, 0.4) 50%,
				transparent 70%
			);
			animation: shimmerRotate 3s linear infinite;
		}

		@keyframes iconPulsePodcast {
			0%, 100% { 
				transform: scale(1) rotate(0deg);
				box-shadow: 0 4px 15px rgba(59,130,246,0.3);
			}
			50% { 
				transform: scale(1.1) rotate(-5deg);
				box-shadow: 0 8px 30px rgba(59,130,246,0.5);
			}
		}

		.icon-box-recherche {
			animation: iconPulseRecherche 3s ease-in-out infinite;
		}

		.icon-box-recherche::before {
			background: linear-gradient(
				45deg,
				transparent 30%,
				rgba(255, 255, 255, 0.4) 50%,
				transparent 70%
			);
			animation: shimmerRotate 3s linear infinite;
		}

		@keyframes iconPulseRecherche {
			0%, 100% { 
				transform: scale(1) rotate(0deg);
				box-shadow: 0 4px 15px rgba(34,197,94,0.3);
			}
			50% { 
				transform: scale(1.1) rotate(5deg);
				box-shadow: 0 8px 30px rgba(34,197,94,0.5);
			}
		}
