/* OSMONET - genere par build-css.py, ne pas editer a la main.
   Source : le CSS qui vivait dans le contenu de cette page.
   L ordre des regles est celui d origine, la cascade est preservee. */

:root {
	--primary-blue:#002c72;
	--dark-blue:#003D82;
	--accent-turquoise:#00D4CC;
	--white:#FFFFFF;
	--light-bg:#F9FAFB;
	--text-dark:#1F2937;
	--text-gray:#6B7280;
	--border-gray:#E5E7EB;
	--shadow-sm:0 1px 3px rgba(0, 0, 0, 0.1);
	--shadow-md:0 4px 6px rgba(0, 0, 0, 0.1);
	--shadow-lg:0 10px 20px rgba(0, 0, 0, 0.1);
}
* {
	margin:0;
	padding:0;
	box-sizing:border-box;
}
body {
	font-family:Poppins,sans-serif;
	color:var(--text-dark);
	line-height:1.6;
	overflow-x:hidden;
}
.advantages-bar-mono { background:#002c72; padding:2rem 0 }
.advantages-container-mono {
	max-width:1400px;
	margin:0 auto;
	padding:0 2rem;
	display:grid;
	grid-template-columns:repeat(6,1fr);
	gap:2rem;
}
.advantage-mono {
	display:flex;
	align-items:center;
	gap:1rem;
	color:#fff;
}
.adv-icon-mono {
	width:50px;
	height:50px;
	background:rgba(255,255,255,.15);
	border-radius:10px;
	display:flex;
	align-items:center;
	justify-content:center;
	flex-shrink:0;
	transition:all .3s ease;
}
.advantage-mono:hover .adv-icon-mono { background:rgba(255,255,255,.25); transform:translateY(-2px) }
.adv-icon-mono svg {
	width:28px;
	height:28px;
	color:#fff;
}
.adv-text-mono { flex:1 }
.adv-text-mono strong {
	display:block;
	font-size:.95rem;
	font-weight:600;
	margin-bottom:.2rem;
}
.adv-text-mono span { font-size:.85rem; opacity:.9 }
.hero-modern-video {
	position:relative;
	min-height:78vh;
	overflow:hidden;
}
.credit-impot-badge-contact > p:nth-child(1) { display:none }
.hero-video-bg {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	z-index:1;
}
.hero-video-bg img {
	width:100%;
	height:100%;
	object-fit:cover;
}
.video-overlay {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background:linear-gradient(135deg,rgba(0,61,130,.48) 0,rgba(0,102,255,.28) 100%);
	z-index:2;
}
.hero-content-video {
	max-width:1400px;
	margin:0 auto;
	padding:100px 2rem 80px;
	display:grid;
	grid-template-columns:1fr 480px;
	gap:4rem;
	align-items:center;
	position:relative;
	z-index:3;
}
.hero-text-video h1 {
	font-size:3.5rem;
	font-weight:700;
	color:#fff;
	line-height:1.2;
	margin-bottom:1.5rem;
}
.highlight-hp { color:#00d4cc }
.hero-text-video p {
	font-size:1.1rem;
	color:rgba(255,255,255,.92);
	line-height:1.7;
	margin-bottom:1.5rem;
	max-width:650px;
}
.hero-rating-video {
	display:flex;
	align-items:center;
	gap:1rem;
	margin-bottom:2rem;
	color:#fff;
	flex-wrap:wrap;
}
.stars-hero {
	color:#ffc107;
	font-size:1.2rem;
	letter-spacing:2px;
}
.hero-rating-video span { font-size:.95rem; opacity:.9 }
.hero-form-compact {
	background:rgba(255,255,255,.98);
	padding:2rem 1.5rem;
	border-radius:16px;
	box-shadow:0 12px 32px rgba(0,0,0,.3);
}
.hero-form-compact h3 {
	font-size:1.5rem;
	font-weight:700;
	color:#1f2937;
	margin-bottom:.8rem;
	text-align:center;
}
.avantages-hp-modern { padding:6rem 2rem; background:#fff }
.avantages-container-hp { max-width:1200px; margin:0 auto }
.section-header-hp { text-align:center; margin-bottom:4rem }
.section-header-hp h2 {
	font-size:2.8rem;
	font-weight:800;
	color:#1f2937;
	margin-bottom:1rem;
	line-height:1.2;
}
.section-header-hp p {
	font-size:1.15rem;
	color:#6b7280;
	max-width:800px;
	margin:0 auto;
}
.avantages-grid-hp {
	display:grid;
	grid-template-columns:repeat(4,1fr);
	gap:2rem;
}
.avantage-card-hp {
	background:#f9fafb;
	padding:2rem;
	border-radius:12px;
	text-align:center;
	transition:all .3s ease;
	border:2px solid transparent;
}
.avantage-card-hp:hover {
	transform:translateY(-8px);
	border-color:#06f;
	box-shadow:0 8px 20px rgba(0,102,255,.15);
}
.avantage-icon-hp {
	width:80px;
	height:80px;
	background:linear-gradient(135deg,#06f,#00d4cc);
	color:#fff;
	border-radius:50%;
	display:flex;
	align-items:center;
	justify-content:center;
	margin:0 auto 1.5rem;
}
.avantage-card-hp h3 {
	font-size:1.2rem;
	font-weight:700;
	color:#1f2937;
	margin-bottom:.8rem;
}
.avantage-card-hp p {
	font-size:.95rem;
	color:#6b7280;
	line-height:1.6;
}
.services-hp-modern { padding:6rem 2rem; background:#f9fafb }
.services-container-hp { max-width:1200px; margin:0 auto }
.services-grid-hp {
	display:grid;
	grid-template-columns:repeat(2,1fr);
	gap:2.5rem;
}
.service-card-hp {
	background:#fff;
	border-radius:12px;
	overflow:hidden;
	box-shadow:0 4px 12px rgba(0,0,0,.08);
	transition:all .3s ease;
}
.service-card-hp:hover { transform:translateY(-8px); box-shadow:0 12px 28px rgba(0,0,0,.15) }
.service-image-hp {
	width:100%;
	height:250px;
	overflow:hidden;
}
.service-image-hp img {
	width:100%;
	height:100%;
	object-fit:cover;
	transition:transform .5s ease;
}
.service-card-hp:hover .service-image-hp img { transform:scale(1.1) }
.service-content-hp { padding:2rem }
.service-content-hp h3 {
	font-size:1.4rem;
	font-weight:700;
	color:#1f2937;
	margin-bottom:1rem;
}
.service-content-hp p {
	font-size:1rem;
	color:#6b7280;
	line-height:1.7;
	margin-bottom:1.5rem;
}
.service-link-hp {
	color:#06f;
	font-weight:700;
	text-decoration:none;
	transition:all .3s ease;
}
.cta-final-modern {
	padding:6rem 2rem;
	background:linear-gradient(135deg,#002c72 0,#002c72 100%);
	text-align:center;
}
.cta-content-modern h2 {
	font-size:2.5rem;
	font-weight:700;
	color:#fff;
	margin-bottom:1rem;
	line-height:1.3;
}
.cta-content-modern p {
	font-size:1.1rem;
	color:rgba(255,255,255,.8);
	margin-bottom:2rem;
}
.btn-cta-white {
	display:inline-block;
	background:#fff;
	color:#002c72;
	padding:1rem 2.5rem;
	border-radius:8px;
	text-decoration:none;
	font-weight:600;
	font-size:1.1rem;
	transition:all .3s ease;
}
.cta-phone {
	margin-top:1.5rem;
	color:rgba(255,255,255,.8);
	font-size:1rem;
}
.cta-phone strong { color:#fff; font-weight:700 }
.processus-hp-modern { padding:6rem 2rem; background:#fff }
.processus-container-hp { max-width:1300px; margin:0 auto }
.processus-timeline-hp {
	display:flex;
	align-items:center;
	gap:2rem;
}
.step-hp {
	flex:1;
	background:#f9fafb;
	padding:2rem;
	border-radius:12px;
	text-align:center;
}
.step-number-hp {
	width:60px;
	height:60px;
	background:linear-gradient(135deg,#06f,#00d4cc);
	color:#fff;
	border-radius:50%;
	display:flex;
	align-items:center;
	justify-content:center;
	font-size:1.8rem;
	font-weight:800;
	margin:0 auto 1.5rem;
	box-shadow:0 4px 12px rgba(0,102,255,.3);
}
.step-content-hp h3 {
	font-size:1.2rem;
	font-weight:700;
	color:#1f2937;
	margin-bottom:.8rem;
}
.step-content-hp p {
	font-size:.95rem;
	color:#6b7280;
	line-height:1.6;
}
.arrow-hp {
	font-size:2rem;
	color:#06f;
	font-weight:700;
	flex-shrink:0;
}
.cta-color-section {
	background:linear-gradient(135deg,#00d4cc 0,#00b8a9 100%);
	padding:6rem 2rem;
	position:relative;
	overflow:hidden;
}
.cta-color-container {
	max-width:1200px;
	margin:0 auto;
	position:relative;
	z-index:1;
	display:grid;
	grid-template-columns:1.2fr 1fr;
	gap:4rem;
	align-items:center;
}
.cta-color-content { color:#fff }
.cta-color-badge {
	display:inline-block;
	background:rgba(255,255,255,.2);
	color:#fff;
	padding:.5rem 1.2rem;
	border-radius:25px;
	font-size:.85rem;
	font-weight:700;
	text-transform:uppercase;
	letter-spacing:1px;
	margin-bottom:1.5rem;
}
.cta-color-content h2 {
	font-size:3rem;
	font-weight:800;
	margin-bottom:1.5rem;
	line-height:1.2;
}
.cta-color-content p {
	font-size:1.15rem;
	margin-bottom:2rem;
	opacity:.95;
	line-height:1.7;
}
.cta-color-features {
	display:grid;
	grid-template-columns:repeat(2,1fr);
	gap:1.5rem;
	margin-bottom:2.5rem;
}
.cta-feature-item {
	display:flex;
	align-items:center;
	gap:1rem;
}
.cta-feature-icon {
	width:50px;
	height:50px;
	background:rgba(255,255,255,.2);
	border-radius:12px;
	display:flex;
	align-items:center;
	justify-content:center;
	flex-shrink:0;
}
.cta-feature-icon svg { color:#fff }
.cta-feature-text { font-size:1rem; font-weight:600 }
.cta-color-buttons { display:flex; gap:1.5rem }
.btn-cta-primary {
	padding:1.2rem 2.5rem;
	background:#fff;
	color:#00d4cc;
	border-radius:8px;
	text-decoration:none;
	font-weight:700;
	font-size:1.05rem;
	transition:all .3s ease;
}
.btn-cta-secondary {
	padding:1.2rem 2.5rem;
	background:rgba(255,255,255,.15);
	color:#fff;
	border:2px solid #fff;
	border-radius:8px;
	text-decoration:none;
	font-weight:700;
	font-size:1.05rem;
	transition:all .3s ease;
}
.cta-color-card {
	background:#fff;
	padding:3rem;
	border-radius:16px;
	box-shadow:0 12px 32px rgba(0,0,0,.2);
	position:relative;
}
.credit-badge-cta {
	position:absolute;
	top:-25px;
	left:50%;
	transform:translateX(-50%);
	width:100px;
	height:100px;
	background:linear-gradient(135deg,#06f,#0052cc);
	color:#fff;
	border-radius:50%;
	display:flex;
	align-items:center;
	justify-content:center;
	font-size:2.5rem;
	font-weight:800;
}
.cta-color-card h3 {
	text-align:center;
	font-size:1.6rem;
	font-weight:700;
	color:#1f2937;
	margin-top:2rem;
	margin-bottom:1rem;
}
.cta-color-card p {
	text-align:center;
	font-size:1rem;
	color:#6b7280;
	line-height:1.7;
	margin-bottom:2rem;
}
.btn-cta-card {
	width:100%;
	padding:1.2rem;
	background:linear-gradient(135deg,#00d4cc,#00b8a9);
	color:#fff;
	border:none;
	border-radius:8px;
	font-weight:700;
	font-size:1.05rem;
	cursor:pointer;
	transition:all .3s ease;
	font-family:Poppins,sans-serif;
}
.testimonials-gradient-modern {
	padding:6rem 2rem;
	background:linear-gradient(135deg,#002c72 0,#0052cc 100%);
	position:relative;
	overflow:hidden;
}
.testimonials-gradient-bg {
	position:absolute;
	top:-50%;
	right:-20%;
	width:800px;
	height:800px;
	background:radial-gradient(circle,rgba(255,255,255,.1) 0,transparent 70%);
	border-radius:50%;
}
.testimonials-container-gradient {
	max-width:1400px;
	margin:0 auto;
	position:relative;
	z-index:1;
}
.testimonials-header-gradient {
	text-align:center;
	color:#fff;
	margin-bottom:4rem;
}
.testimonials-header-gradient h2 {
	font-size:2.8rem;
	font-weight:800;
	margin-bottom:1rem;
}
.testimonials-header-gradient > p {
	font-size:1.15rem;
	opacity:.95;
	margin-bottom:2rem;
}
.rating-badge-large {
	display:inline-flex;
	align-items:center;
	gap:1.5rem;
	background:rgba(255,255,255,.15);
	padding:1rem 2rem;
	border-radius:50px;
}
.rating-stars-large {
	font-size:2rem;
	color:#ffc107;
	letter-spacing:3px;
}
.rating-info {
	display:flex;
	flex-direction:column;
	text-align:left;
}
.rating-score {
	font-size:1.5rem;
	font-weight:800;
	line-height:1;
}
.rating-count { font-size:.9rem; opacity:.9 }
.slider-gradient-wrapper { overflow:hidden; margin-bottom:3rem }
.slider-gradient-track {
	display:flex;
	gap:2rem;
	animation:slideAuto 40s linear infinite;
}
@keyframes slideAuto {0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.testimonial-card-modern {
	background:#fff;
	padding:2rem;
	border-radius:16px;
	box-shadow:0 4px 12px rgba(0,0,0,.08);
	min-width:400px;
	max-width:400px;
	border:2px solid transparent;
}
.card-header-modern {
	display:flex;
	align-items:center;
	gap:1rem;
	margin-bottom:1.5rem;
}
.avatar-modern {
	width:55px;
	height:55px;
	background:linear-gradient(135deg,#06f,#00d4cc);
	color:#fff;
	border-radius:50%;
	display:flex;
	align-items:center;
	justify-content:center;
	font-size:1.3rem;
	font-weight:700;
	flex-shrink:0;
}
.client-info-modern { flex:1 }
.client-info-modern h4 {
	font-size:1.1rem;
	font-weight:700;
	color:#1f2937;
	margin-bottom:.2rem;
}
.client-info-modern p {
	font-size:.9rem;
	color:#6b7280;
	margin:0;
}
.stars-small {
	font-size:1.1rem;
	color:#ffc107;
	letter-spacing:2px;
}
.testimonial-text-modern {
	font-size:1rem;
	color:#4b5563;
	line-height:1.7;
	margin-bottom:1.5rem;
	min-height:100px;
}
.testimonial-footer-modern {
	display:flex;
	justify-content:space-between;
	align-items:center;
	padding-top:1rem;
	border-top:1px solid #e5e7eb;
}
.service-tag {
	background:#f0f7ff;
	color:#06f;
	padding:.4rem .8rem;
	border-radius:6px;
	font-size:.85rem;
	font-weight:600;
}
.date-tag { font-size:.85rem; color:#9ca3af }
.partners-section { padding:4rem 2rem; background:#fff }
.partners-header {
	display:flex;
	align-items:center;
	gap:2rem;
	margin-bottom:2rem;
	text-align:center;
}
.partners-header-line {
	flex:1;
	height:1px;
	background:#e5e7eb;
}
.partners-header-content h2 {
	font-size:1.8rem;
	font-weight:700;
	color:#1f2937;
	margin-bottom:.5rem;
}
.partners-header-content p { font-size:.95rem; color:#6b7280 }
.partners-eyebrow {
	font-size:.85rem;
	font-weight:600;
	color:#00d4cc;
	text-transform:uppercase;
	letter-spacing:1px;
	display:block;
	margin-bottom:.5rem;
}
.partners-track-wrapper {
	position:relative;
	overflow:hidden;
	margin-bottom:4rem;
}
.partners-track {
	display:flex;
	gap:3rem;
	animation:slideAuto 70s linear infinite;
	width:max-content;
}
.partner-logo-item {
	display:flex;
	align-items:center;
	justify-content:center;
	height:60px;
	min-width:120px;
}
.partner-logo-item img {
	max-height:50px;
	max-width:120px;
	object-fit:contain;
	filter:grayscale(100%);
	opacity:.6;
	transition:all .3s ease;
}
.partner-logo-item img:hover { filter:grayscale(0); opacity:1 }
.partners-fade {
	position:absolute;
	top:0;
	bottom:0;
	width:100px;
	z-index:2;
	pointer-events:none;
}
.partners-fade-left { left:0; background:linear-gradient(to right,#fff,transparent) }
.partners-fade-right { right:0; background:linear-gradient(to left,#fff,transparent) }
.partners-footer { text-align:center }
.partners-stats {
	display:flex;
	justify-content:center;
	gap:3rem;
	margin-bottom:2rem;
	flex-wrap:wrap;
}
.pstat { text-align:center }
.pstat strong {
	display:block;
	font-size:1.1rem;
	font-weight:700;
	color:#1f2937;
}
.pstat span { font-size:.9rem; color:#6b7280 }
.pstat-divider { width:1px; background:#e5e7eb }
.partners-cta-btn {
	display:inline-flex;
	align-items:center;
	gap:.8rem;
	background:#002c72;
	color:#fff;
	padding:1rem 2rem;
	border-radius:8px;
	text-decoration:none;
	font-weight:600;
	font-size:1rem;
	transition:all .3s ease;
}
.zone-modern { padding:5rem 2rem; background:#f9fafb }
.zone-container-modern {
	max-width:1200px;
	margin:0 auto;
	display:grid;
	grid-template-columns:1.2fr 1fr;
	gap:4rem;
	align-items:start;
}
.zone-left h3 {
	font-size:1rem;
	color:#00d4cc;
	font-weight:700;
	text-transform:uppercase;
	letter-spacing:2px;
	margin-bottom:.5rem;
}
.zone-left h2 {
	font-size:2.2rem;
	font-weight:800;
	color:#1f2937;
	margin-bottom:1rem;
}
.zone-left p {
	font-size:1rem;
	color:#6b7280;
	line-height:1.7;
	margin-bottom:1.5rem;
}
.map-container-modern {
	width:100%;
	height:300px;
	border-radius:12px;
	overflow:hidden;
}
.cities-grid-modern {
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:.8rem;
	margin-bottom:2rem;
}
.city-item {
	background:#fff;
	padding:.8rem 1rem;
	border-radius:8px;
	font-size:.95rem;
	font-weight:500;
	color:#1f2937;
	box-shadow:0 1px 3px rgba(0,0,0,.08);
}
.btn-zone-modern {
	display:inline-block;
	background:#002c72;
	color:#fff;
	padding:1rem 2rem;
	border-radius:8px;
	text-decoration:none;
	font-weight:600;
	font-size:1rem;
}
.faq-hp-modern { padding:6rem 2rem; background:#f9fafb }
.faq-hp-container { max-width:900px; margin:0 auto }
.faq-grid-hp {
	display:flex;
	flex-direction:column;
	gap:1.5rem;
}
.faq-item-hp {
	background:#fff;
	border-radius:12px;
	overflow:hidden;
	box-shadow:0 2px 8px rgba(0,0,0,.05);
	transition:all .3s ease;
}
.faq-item-hp.active { box-shadow:0 6px 16px rgba(0,0,0,.1) }
.faq-question-hp {
	padding:1.5rem 2rem;
	cursor:pointer;
	display:flex;
	justify-content:space-between;
	align-items:center;
	gap:2rem;
	transition:all .3s ease;
}
.faq-question-hp:hover { background:#f9fafb }
.faq-question-hp h3 {
	font-size:1.1rem;
	font-weight:700;
	color:#1f2937;
	margin:0;
}
.faq-icon-hp {
	width:30px;
	height:30px;
	background:#e5e7eb;
	border-radius:50%;
	display:flex;
	align-items:center;
	justify-content:center;
	font-size:1.5rem;
	color:#6b7280;
	flex-shrink:0;
	transition:all .3s ease;
}
.faq-item-hp.active .faq-icon-hp {
	background:linear-gradient(135deg,#06f,#0052cc);
	color:#fff;
	transform:rotate(45deg);
}
.faq-answer-hp {
	max-height:0;
	overflow:hidden;
	transition:max-height .4s ease;
}
.faq-item-hp.active .faq-answer-hp { max-height:300px }
.faq-answer-hp p {
	padding:0 2rem 1.5rem;
	margin:0;
	font-size:1rem;
	color:#6b7280;
	line-height:1.7;
}

@media (max-width:1024px) {
	.advantages-container-mono { grid-template-columns:repeat(3,1fr) }
	.hero-content-video { grid-template-columns:1fr }
	.avantages-grid-hp { grid-template-columns:repeat(2,1fr) }
	.zone-container-modern { grid-template-columns:1fr }
	.cta-color-container { grid-template-columns:1fr }
	.processus-timeline-hp { flex-direction:column }
	.arrow-hp { transform:rotate(90deg) }
}

@media (max-width:768px) {
	.advantages-container-mono { grid-template-columns:repeat(2,1fr); gap:1.5rem }
	.services-grid-hp { grid-template-columns:1fr }
	.hero-content-video { padding:80px 1.5rem 60px }
	.hero-text-video h1 { font-size:2.5rem }
	.cta-color-buttons { flex-direction:column }
}

@media (max-width:480px) {
	.advantages-container-mono { grid-template-columns:1fr }
	.avantages-grid-hp { grid-template-columns:1fr }
	.section-header-hp h2 { font-size:1.8rem }
	.hero-text-video h1 { font-size:2rem }
}
