@charset "utf-8";
/* CSS index */

		:root {
			--e4-bg: #07162A;
			--e4-bg-soft: #0A1F3C;
			--e4-surface: rgba(255,255,255,0.03);
			--e4-surface-2: rgba(255,255,255,0.05);
			--e4-line: rgba(255,255,255,0.08);
			--e4-text: #DCE8F5;
			--e4-text-soft: #B7C9DC;
			--e4-white: #FFFFFF;
			--e4-cyan: #00D1FF;
			--e4-green: #1FAF3A;
			--e4-radius-lg: 28px;
			--e4-radius-xl: 36px;
			--e4-shadow: 0 18px 48px rgba(4,15,30,0.28);
		}

		body,
		.stretched {
			font-family: "Inter", Arial, sans-serif;
			background: var(--e4-bg);
			color: var(--e4-text);
		}

		.top-search-form {
			display: none !important;
		}

		#header.transparent-header #header-wrap {
			background: rgba(7, 22, 42, 0.68);
			backdrop-filter: blur(14px);
			-webkit-backdrop-filter: blur(14px);
			border-bottom: 1px solid rgba(255,255,255,0.05);
		}

		#header.sticky-header #header-wrap,
		#header.not-dark #header-wrap {
			background: rgba(7, 22, 42, 0.92) !important;
		}

		#logo img {
			height: 52px;
			width: auto;
		}

		.header-misc {
			gap: 12px;
		}

		.e4-shell-section {
			position: relative;
			padding: 96px 0;
			background: var(--e4-bg);
		}

		.e4-shell-section.alt {
			background: var(--e4-bg-soft);
		}

		.e4-shell-section.light {
			background: #F6FAFD;
			color: #10233C;
		}

		.e4-shell-section.light .e4-section-label,
		.e4-shell-section.light .e4-placeholder {
			color: #415A74;
		}

		.e4-shell-section.light .e4-shell-card {
			background: #FFFFFF;
			border: 1px solid rgba(16,35,60,0.08);
			box-shadow: 0 18px 42px rgba(13,32,57,0.08);
		}

		.e4-section-label {
			display: inline-block;
			margin-bottom: 18px;
			font-size: 0.82rem;
			font-weight: 700;
			letter-spacing: 0.18em;
			text-transform: uppercase;
			color: var(--e4-cyan);
		}

		.e4-shell-card {
			padding: 28px;
			border-radius: var(--e4-radius-lg);
			background: var(--e4-surface);
			border: 1px solid var(--e4-line);
			box-shadow: var(--e4-shadow);
		}

		.e4-shell-card.hero-card {
			min-height: 420px;
			display: flex;
			align-items: center;
		}

		.e4-shell-card.visual-card {
			min-height: 420px;
			display: flex;
			align-items: center;
			justify-content: center;
			overflow: hidden;
		}

		.e4-shell-card.visual-card img {
			width: 100%;
			height: auto;
			display: block;
			border-radius: 20px;
		}

		.e4-shell-card.placeholder-card {
			min-height: 180px;
		}

		.e4-shell-title {
			margin: 0 0 14px 0;
			font-size: clamp(1.8rem, 3.5vw, 3rem);
			line-height: 1.08;
			letter-spacing: -0.03em;
			color: var(--e4-white);
		}

		.e4-shell-section.light .e4-shell-title {
			color: #10233C;
		}

		.e4-shell-text {
			margin: 0;
			font-size: 1rem;
			line-height: 1.8;
			color: var(--e4-text-soft);
		}

		.e4-shell-section.light .e4-shell-text {
			color: #50657D;
		}

		.e4-placeholder {
			margin-top: 14px;
			font-size: 0.95rem;
			line-height: 1.7;
			color: var(--e4-text-soft);
		}

		.e4-shell-grid-2 {
			display: grid;
			grid-template-columns: minmax(0, 1fr) minmax(340px, 520px);
			gap: 40px;
			align-items: center;
		}

		.e4-shell-grid-3 {
			display: grid;
			grid-template-columns: repeat(3, minmax(0, 1fr));
			gap: 24px;
		}

		.e4-shell-grid-4 {
			display: grid;
			grid-template-columns: repeat(4, minmax(0, 1fr));
			gap: 24px;
		}

		.e4-shell-grid-5 {
			display: grid;
			grid-template-columns: repeat(5, minmax(0, 1fr));
			gap: 22px;
		}

		.e4-shell-mini {
			min-height: 120px;
		}

		.e4-hero-shell {
			min-height: 100vh;
			display: flex;
			align-items: center;
			background:
				radial-gradient(circle at 20% 22%, rgba(0,209,255,0.14), transparent 26%),
				radial-gradient(circle at 82% 78%, rgba(31,175,58,0.14), transparent 28%),
				linear-gradient(180deg, rgba(7,22,42,0.66) 0%, rgba(7,22,42,0.9) 45%, rgba(7,22,42,1) 100%),
				url('../assets/img/fond-ecran.jpg') center center / cover no-repeat;
		}

	


		.e4-hero-shell .container,
		.e4-hero-shell .row {
			position: relative;
			z-index: 2;
		}

		.e4-hero-copy-shell h1 {
			margin: 0 0 20px;
			font-size: clamp(2.8rem, 6vw, 5.4rem);
			line-height: 1.02;
			letter-spacing: -0.04em;
			color: var(--e4-white);
		}

		.e4-footer-shell {
			padding: 70px 0 46px;
			background: #061322;
			border-top: 1px solid rgba(255,255,255,0.06);
		}

		.e4-footer-grid {
			display: grid;
			grid-template-columns: minmax(0, 1.35fr) repeat(3, minmax(160px, 1fr));
			gap: 34px;
		}

		.e4-footer-title {
			margin-bottom: 16px;
			font-size: 1rem;
			font-weight: 700;
			color: var(--e4-white);
		}

		.e4-footer-link,
		.e4-footer-text {
			display: block;
			margin-bottom: 10px;
			color: #9EB4C8;
		}

		@media (max-width: 1199px) {
			.e4-shell-grid-5 {
				grid-template-columns: repeat(3, minmax(0, 1fr));
			}

			.e4-shell-grid-4 {
				grid-template-columns: repeat(2, minmax(0, 1fr));
			}
		}

		@media (max-width: 991px) {
			#header-wrap .container {
				padding-left: 14px;
				padding-right: 14px;
			}

			#logo {
				margin-right: auto;
			}

			#logo img {
				height: 38px;
			}

			.header-misc {
				display: flex;
				align-items: center;
				gap: 8px;
				margin-left: 10px;
			}

			.header-misc .button {
				min-height: 38px;
				padding: 0 14px;
				font-size: 0.9rem;
				line-height: 36px;
			}

			.primary-menu-trigger {
				margin-left: 8px;
			}

			.primary-menu-trigger .cnvs-hamburger {
				width: 40px;
				height: 40px;
			}

			.primary-menu .menu-container {
				padding-top: 12px;
				padding-bottom: 18px;
			}

			.primary-menu .menu-container > .menu-item > .menu-link {
				padding-top: 14px;
				padding-bottom: 14px;
			}

			.primary-menu .menu-link div {
				font-size: 1rem;
				font-weight: 600;
				letter-spacing: 0.01em;
			}

			.e4-shell-grid-2,
			.e4-shell-grid-3,
			.e4-shell-grid-4,
			.e4-shell-grid-5,
			.e4-footer-grid {
				grid-template-columns: 1fr;
			}

			.e4-shell-section {
				padding: 78px 0;
			}

			.e4-shell-card.hero-card,
			.e4-shell-card.visual-card {
				min-height: auto;
			}
		}

		@media (max-width: 767px) {
			#logo img {
				height: 34px;
			}

			.header-misc .button {
				min-height: 36px;
				padding: 0 12px;
				font-size: 0.88rem;
				line-height: 34px;
			}

			.primary-menu-trigger .cnvs-hamburger {
				width: 38px;
				height: 38px;
			}

			.e4-shell-section {
				padding: 64px 0;
			}

			.e4-hero-copy-shell h1 {
				font-size: clamp(2.2rem, 12vw, 3.4rem);
			}
		}

		@media (max-width: 480px) {
			#logo img {
				height: 30px;
			}

			.header-misc {
				gap: 6px;
			}

			.header-misc .button {
				padding: 0 10px;
				font-size: 0.84rem;
			}
		}