/* 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;
}
.header-actions-modern {
	display:flex;
	align-items:center;
	gap:1.5rem;
}
.phone-modern {
	color:var(--text-dark);
	text-decoration:none;
	font-weight:500;
	font-size:.95rem;
}
.btn-primary-modern {
	background:var(--accent-turquoise);
	color:#fff;
	padding:.75rem 1.5rem;
	border-radius:8px;
	text-decoration:none;
	font-weight:600;
	font-size:.95rem;
	transition:all .3s ease;
}
.btn-primary-modern:hover {
	background:var(--dark-blue);
	transform:translateY(-2px);
	box-shadow:var(--shadow-md);
}
.hero-modern-video {
	position:relative;
	min-height:78vh;
	overflow:hidden;
}
.header-actions-modern {
	display:flex;
	align-items:center;
	gap:1.5rem;
}
.phone-modern {
	color:var(--text-dark);
	text-decoration:none;
	font-weight:500;
	font-size:.95rem;
}
.hero-video-bg {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	z-index:1;
}
.hero-video-bg video {
	position:absolute;
	top:50%;
	left:50%;
	min-width:100%;
	min-height:100%;
	width:auto;
	height:auto;
	transform:translate(-50%,-50%);
	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,.38) 100%);
	z-index:2;
}
.hero-text-video h1 {
	font-size:3.5rem;
	font-weight:700;
	color:#fff;
	line-height:1.2;
	margin-bottom:1.5rem;
	text-shadow:2px 2px 8px rgba(0,0,0,.6);
}
.hero-text-video h1 .highlight { 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;
}
.stars-hero {
	color:#ffc107;
	font-size:1.2rem;
	letter-spacing:2px;
}
.hero-rating-video span { font-size:.95rem; opacity:.9 }
.btn-hero-primary-video {
	background:#00d4cc;
	color:#fff;
	padding:1rem 2rem;
	border-radius:8px;
	text-decoration:none;
	font-weight:600;
	font-size:1rem;
	transition:all .3s ease;
	display:inline-block;
}
.btn-hero-primary-video:hover {
	background:#0052cc;
	transform:translateY(-2px);
	box-shadow:0 8px 20px rgba(0,102,255,.4);
}
.hero-stats-compact {
	background:#fff;
	border-radius:12px;
	padding:1.5rem;
	box-shadow:0 20px 40px rgba(0,0,0,.2);
	display:flex;
	flex-direction:column;
	gap:1.5rem;
	width:100%;
	max-width:200px;
}
.stat-compact {
	display:flex;
	align-items:center;
	gap:1rem;
	padding-bottom:.5rem;
	border-bottom:1px solid #e5e7eb;
}
.stat-compact:last-child { border-bottom:none; padding-bottom:0 }
.stat-icon-compact {
	width:50px;
	height:50px;
	background:#f0f7ff;
	border-radius:10px;
	display:flex;
	align-items:center;
	justify-content:center;
	color:#002c72;
	flex-shrink:0;
}
.stat-icon-compact svg { width:28px; height:28px }
.stat-content-compact { flex:1 }
.stat-number-compact {
	font-size:1.5rem;
	font-weight:800;
	color:#002c72;
	line-height:1;
	margin-bottom:.3rem;
}
.stat-label-compact {
	font-size:.85rem;
	color:#6b7280;
	line-height:1.3;
}
.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-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-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;
}
.hero-form-compact p {
	font-size:.9rem;
	color:#6b7280;
	text-align:center;
}
.hero-form-compact > p:nth-child(2) { margin-bottom:1.5rem }
.services-modern {
	padding:6rem 2rem;
	background:#f9fafb;
	margin:0;
	position:relative;
	overflow:hidden;
	border-top:1px solid rgba(0,102,255,.08);
}
.services-modern::after {
	content:'';
	position:absolute;
	bottom:0;
	left:50%;
	transform:translateX(-50%);
	width:100px;
	height:4px;
	background:linear-gradient(90deg,transparent,#06f,transparent);
}
.services-header-modern {
	text-align:center;
	max-width:800px;
	margin:0 auto 4rem;
}
.services-header-modern h2 {
	font-size:2.5rem;
	font-weight:700;
	color:var(--text-dark);
	margin-bottom:1rem;
	line-height:1.3;
}
.services-header-modern p {
	font-size:1.1rem;
	color:var(--text-gray);
	line-height:1.7;
}
.services-grid-modern {
	max-width:1200px;
	margin:0 auto;
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:2rem;
}
.service-card-modern {
	background:#fff;
	border-radius:12px;
	overflow:hidden;
	box-shadow:var(--shadow-sm);
	transition:all .3s ease;
}
.service-card-modern:hover { transform:translateY(-8px); box-shadow:var(--shadow-lg) }
.service-card-modern img {
	width:100%;
	height:220px;
	object-fit:cover;
}
.service-card-modern h3 {
	font-size:1rem;
	font-weight:600;
	color:var(--text-dark);
	margin:1.5rem 1.5rem .8rem;
}
.service-card-modern p {
	font-size:.95rem;
	color:var(--text-gray);
	line-height:1.6;
	margin:0 1.5rem 1rem;
}
.service-card-modern a {
	display:inline-block;
	margin:0 1.5rem 1.5rem;
	color:var(--primary-blue);
	text-decoration:none;
	font-weight:600;
	font-size:.95rem;
	transition:gap .3s ease;
}
.service-card-modern a:hover { gap:.5rem }
.why-us-modern { padding:6rem 2rem; margin-top:40px }
.why-container {
	max-width:1200px;
	margin:0 auto;
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:4rem;
	align-items:start;
}
.why-left h3 {
	font-size:1rem;
	color:var(--primary-blue);
	font-weight:600;
	text-transform:uppercase;
	letter-spacing:1px;
	margin-bottom:.5rem;
}
.why-left h2 {
	font-size:2.5rem;
	font-weight:700;
	color:var(--text-dark);
	margin-bottom:1.5rem;
	line-height:1.3;
}
.why-left p {
	font-size:1rem;
	color:var(--text-gray);
	line-height:1.7;
	margin-bottom:2rem;
}
.stats-grid-modern {
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:2rem;
}
.stat-item-modern {
	text-align:center;
	padding:1.5rem;
	background:#fff;
	border-radius:12px;
	box-shadow:var(--shadow-sm);
}
.stat-num {
	font-size:2.5rem;
	font-weight:800;
	color:var(--primary-blue);
	line-height:1;
}
.stat-text {
	font-size:.9rem;
	color:var(--text-gray);
	margin-top:.5rem;
}
.zone-modern { padding:6rem 2rem; background:#fff }
.zone-container-modern {
	max-width:1200px;
	margin:0 auto;
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:4rem;
	align-items:start;
}
.zone-left h3 {
	font-size:1rem;
	color:var(--primary-blue);
	font-weight:600;
	text-transform:uppercase;
	letter-spacing:1px;
	margin-bottom:.5rem;
}
.zone-left h2 {
	font-size:2.5rem;
	font-weight:700;
	color:var(--text-dark);
	margin-bottom:1.5rem;
	line-height:1.3;
}
.zone-left p {
	font-size:1rem;
	color:var(--text-gray);
	line-height:1.7;
	margin-bottom:2rem;
}
.map-container-modern {
	width:100%;
	height:400px;
	border-radius:12px;
	overflow:hidden;
	box-shadow:var(--shadow-md);
}
.btn-zone-modern {
	display:inline-block;
	background:var(--accent-turquoise);
	color:#fff;
	padding:1rem 2rem;
	border-radius:8px;
	text-decoration:none;
	font-weight:600;
	transition:all .3s ease;
}
.btn-zone-modern:hover { background:var(--dark-blue); transform:translateY(-2px) }
.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:var(--primary-blue);
	padding:1rem 2.5rem;
	border-radius:8px;
	text-decoration:none;
	font-weight:600;
	font-size:1.1rem;
	transition:all .3s ease;
}
.btn-cta-white:hover { transform:translateY(-2px); box-shadow:0 8px 20px rgba(255,255,255,.3) }
.cta-phone {
	margin-top:1.5rem;
	color:rgba(255,255,255,.8);
	font-size:1rem;
}
.cta-phone strong { color:#fff; font-weight:700 }
.footer-logo-modern img { height:40px; margin-bottom:1rem }
.footer-desc {
	font-size:.9rem;
	color:rgba(255,255,255,.7);
	line-height:1.6;
	margin-bottom:1.5rem;
}
.footer-col h4 {
	font-size:1.1rem;
	font-weight:600;
	margin-bottom:1.5rem;
}
.footer-col ul { list-style:none }
.footer-col ul li { margin-bottom:.8rem }
.footer-col ul li a {
	color:rgba(255,255,255,.7);
	text-decoration:none;
	font-size:.9rem;
	transition:color .3s ease;
}
.footer-col ul li a:hover { color:#fff }
.footer-bottom {
	max-width:1200px;
	margin:0 auto;
	padding-top:2rem;
	border-top:1px solid rgba(255,255,255,.1);
	display:flex;
	justify-content:space-between;
	align-items:center;
}
.footer-bottom p { font-size:.85rem; color:rgba(255,255,255,.6) }
.footer-legal { display:flex; gap:2rem }
.footer-legal a {
	color:rgba(255,255,255,.6);
	text-decoration:none;
	font-size:.85rem;
}
.footer-legal a:hover { color:#fff }

@media (max-width:1024px) {
	.services-grid-modern { grid-template-columns:repeat(2,1fr) }
	.why-container, .zone-container-modern { grid-template-columns:1fr }
}

@media (max-width:768px) {
	.services-grid-modern { grid-template-columns:1fr }
	.stats-grid-modern { grid-template-columns:1fr }
	.footer-bottom {
		flex-direction:column;
		gap:1rem;
		text-align:center;
	}
	.footer-legal { flex-direction:column; gap:.5rem }
}

@media (max-width:480px) {
	.cta-content-modern h2, .services-header-modern h2, .testimonial-container h2, .why-left h2, .zone-left h2 { font-size:2rem }
}

@media (max-width:1024px) {
	.hero-content-video { grid-template-columns:1fr; gap:2rem }
	.hero-stats-compact {
		max-width:100%;
		flex-direction:row;
		justify-content:space-around;
		padding:1.5rem;
	}
	.stat-compact {
		flex-direction:column;
		text-align:center;
		border-bottom:none;
		border-right:1px solid #e5e7eb;
		padding-bottom:0;
		padding-right:1.5rem;
	}
	.stat-compact:last-child { border-right:none; padding-right:0 }
	.stat-icon-compact { margin-bottom:.5rem }
	.advantages-container-mono { grid-template-columns:repeat(3,1fr) }
}

@media (max-width:768px) {
	.hero-modern-video { min-height:550px }
	.hero-content-video { padding:80px 1.5rem 60px }
	.hero-text-video h1 { font-size:2.5rem }
	.hero-text-video p { font-size:1rem }
	.hero-stats-compact { flex-direction:column }
	.stat-compact {
		flex-direction:row;
		text-align:left;
		border-right:none;
		border-bottom:1px solid #e5e7eb;
		padding-right:0;
		padding-bottom:1.5rem;
	}
	.stat-compact:last-child { border-bottom:none; padding-bottom:0 }
	.stat-icon-compact { margin-bottom:0 }
	.advantages-container-mono { grid-template-columns:repeat(2,1fr); gap:1.5rem }
	.btn-hero-primary-video { width:100%; text-align:center }
}

@media (max-width:480px) {
	.hero-text-video h1 { font-size:2rem }
	.hero-text-video p { font-size:.95rem }
	.advantages-container-mono { grid-template-columns:1fr }
	.stat-number-compact { font-size:1.8rem }
	.stat-label-compact { font-size:.8rem }
}

@media (max-width:768px) {
	.hero-video-bg video { display:none }
	.video-overlay { display:none }
}
.faq-modern { padding:6rem 2rem; background:#f9fafb }
.faq-container-modern { max-width:900px; margin:0 auto }
.faq-container-modern h2 {
	font-size:2.5rem;
	font-weight:700;
	color:#1f2937;
	text-align:center;
	margin-bottom:1rem;
}
.faq-list {
	display:flex;
	flex-direction:column;
	gap:1rem;
}
.faq-item-modern {
	background:#fff;
	border-radius:12px;
	overflow:hidden;
	box-shadow:0 1px 3px rgba(0,0,0,.1);
	transition:all .3s ease;
}
.faq-item-modern:hover { box-shadow:0 4px 6px rgba(0,0,0,.1) }
.faq-toggle {
	font-size:1.5rem;
	color:#00d4cc;
	font-weight:300;
	transition:transform .3s ease;
	flex-shrink:0;
	width:30px;
	height:30px;
	display:flex;
	align-items:center;
	justify-content:center;
	background:#f0f7ff;
	border-radius:50%;
}

@media (max-width:768px) {
	.faq-modern { padding:4rem 1.5rem }
	.faq-container-modern h2 { font-size:2rem }
}

@media (max-width:480px) {
	.faq-container-modern h2 { font-size:1.7rem }
	.faq-toggle {
		width:28px;
		height:28px;
		font-size:1.3rem;
	}
}
@keyframes slideDown {from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}

@media print {
	.devis-modern, .faq-modern { page-break-inside:avoid }
	.faq-item-modern { box-shadow:none; border:1px solid #e5e7eb }
}
@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;
	transition:all .3s ease;
	border:2px solid transparent;
}
.testimonial-card-modern:hover {
	transform:translateY(-8px);
	box-shadow:0 12px 28px rgba(0,0,0,.15);
	border-color:#06f;
}
.card-header-modern {
	display:flex;
	align-items:center;
	gap:1rem;
	margin-bottom:1.5rem;
}
.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;
}
.rating-stars-large {
	font-size:2rem;
	color:#ffc107;
	letter-spacing:3px;
}

@media (max-width:1024px) {
	.testimonial-card-modern { min-width:350px; max-width:350px }
}

@media (max-width:768px) {
	.testimonial-card-modern {
		min-width:300px;
		max-width:300px;
		padding:1.5rem;
	}
}

@media (max-width:480px) {
	.testimonial-card-modern { min-width:280px; max-width:280px }
}
@keyframes fadeInUp {from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
.testimonial-card-modern { animation:fadeInUp .6s ease-out }
.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;
	box-shadow:0 8px 20px rgba(0,0,0,.15);
}
.btn-cta-primary:hover { transform:translateY(-3px); box-shadow:0 12px 28px rgba(0,0,0,.25) }
.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;
}
.btn-cta-card:hover { transform:translateY(-3px); box-shadow:0 8px 20px rgba(0,212,204,.4) }

@media (max-width:1024px) {
	.hero-content-video { grid-template-columns:1fr; gap:3rem }
	.hero-form-compact { max-width:500px; margin:0 auto }
}

@media (max-width:768px) {
	.advantages-bar-mono, .faq-modern { margin-bottom:3rem }
	.faq-modern { margin-top:3rem }
	.btn-cta-primary { text-align:center; width:100% }
}

@media (max-width:480px) {
	.hero-form-compact { padding:2rem 1.5rem }
}
@keyframes float-circle {0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(20px,-20px) scale(1.05)}}
@keyframes float {0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
.hero-modern-video {
	position:relative;
	min-height:78vh;
	overflow:hidden;
}
.hero-video-bg {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	z-index:1;
}
.hero-video-bg video {
	position:absolute;
	top:50%;
	left:50%;
	min-width:100%;
	min-height:100%;
	width:auto;
	height:auto;
	transform:translate(-50%,-50%);
	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-text-video h1 {
	font-size:3.5rem;
	font-weight:700;
	color:#fff;
	line-height:1.2;
	margin-bottom:1.5rem;
}
.hero-text-video h1 .highlight { 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;
}
.stars-hero {
	color:#ffc107;
	font-size:1.2rem;
	letter-spacing:2px;
}
.hero-rating-video span { font-size:.95rem; opacity:.9 }
.btn-hero-primary-video {
	background:#00d4cc;
	color:#fff;
	padding:1rem 2rem;
	border-radius:8px;
	text-decoration:none;
	font-weight:600;
	font-size:1rem;
	transition:all .3s ease;
	display:inline-block;
}
.btn-hero-primary-video:hover {
	background:#0052cc;
	transform:translateY(-2px);
	box-shadow:0 8px 20px rgba(0,102,255,.4);
}
.hero-stats-compact {
	background:#fff;
	border-radius:12px;
	padding:1.5rem;
	box-shadow:0 20px 40px rgba(0,0,0,.2);
	display:flex;
	flex-direction:column;
	gap:1.5rem;
	width:100%;
	max-width:260px;
}
.stat-compact {
	display:flex;
	align-items:center;
	gap:1rem;
	padding-bottom:1.5rem;
	border-bottom:1px solid #e5e7eb;
}
.stat-compact:last-child { border-bottom:none; padding-bottom:0 }
.stat-icon-compact {
	width:50px;
	height:50px;
	background:#f0f7ff;
	border-radius:10px;
	display:flex;
	align-items:center;
	justify-content:center;
	color:#002c72;
	flex-shrink:0;
}
.stat-icon-compact svg { width:28px; height:28px }
.stat-content-compact { flex:1 }
.stat-number-compact {
	font-size:2rem;
	font-weight:800;
	color:#002c72;
	line-height:1;
	margin-bottom:.3rem;
}
.stat-label-compact {
	font-size:.85rem;
	color:#6b7280;
	line-height:1.3;
}
.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 }

@media (max-width:1024px) {
	.hero-content-video { grid-template-columns:1fr; gap:2rem }
	.hero-stats-compact {
		max-width:100%;
		flex-direction:row;
		justify-content:space-around;
		padding:1.5rem;
	}
	.stat-compact {
		flex-direction:column;
		text-align:center;
		border-bottom:none;
		border-right:1px solid #e5e7eb;
		padding-bottom:0;
		padding-right:1.5rem;
	}
	.stat-compact:last-child { border-right:none; padding-right:0 }
	.stat-icon-compact { margin-bottom:.5rem }
	.advantages-container-mono { grid-template-columns:repeat(3,1fr) }
}

@media (max-width:768px) {
	.hero-modern-video { min-height:550px }
	.hero-content-video { padding:80px 1.5rem 60px }
	.hero-text-video h1 { font-size:2.5rem }
	.hero-text-video p { font-size:1rem }
	.hero-stats-compact { flex-direction:column }
	.stat-compact {
		flex-direction:row;
		text-align:left;
		border-right:none;
		border-bottom:1px solid #e5e7eb;
		padding-right:0;
		padding-bottom:1.5rem;
	}
	.stat-compact:last-child { border-bottom:none; padding-bottom:0 }
	.stat-icon-compact { margin-bottom:0 }
	.advantages-container-mono { grid-template-columns:repeat(2,1fr); gap:1.5rem }
	.btn-hero-primary-video { width:100%; text-align:center }
}

@media (max-width:480px) {
	.hero-text-video h1 { font-size:2rem }
	.hero-text-video p { font-size:.95rem }
	.advantages-container-mono { grid-template-columns:1fr }
	.stat-number-compact { font-size:1.8rem }
	.stat-label-compact { font-size:.8rem }
}

@media (max-width:768px) {
	.hero-video-bg video { display:none }
	.video-overlay { display:none }
}
.services-grid-4cols { grid-template-columns:repeat(4,1fr) }

@media (max-width:1200px) {
	.services-grid-4cols { grid-template-columns:repeat(3,1fr) }
}

@media (max-width:768px) {
	.services-grid-4cols { grid-template-columns:repeat(2,1fr) }
}

@media (max-width:480px) {
	.services-grid-4cols { grid-template-columns:1fr }
}
.services-cta-commercial {
	text-align:center;
	margin-top:4rem;
	padding:2rem;
	background:#f0f7ff;
	border-radius:12px;
}
.services-cta-commercial p {
	font-size:1.1rem;
	color:#1f2937;
	font-weight:600;
	margin-bottom:1.5rem;
}
.btn-services-cta {
	display:inline-block;
	background:#06f;
	color:#fff;
	padding:1rem 2.5rem;
	border-radius:8px;
	text-decoration:none;
	font-weight:600;
	font-size:1.1rem;
	transition:all .3s ease;
}
.btn-services-cta:hover {
	background:#0052cc;
	transform:translateY(-2px);
	box-shadow:0 8px 20px rgba(0,102,255,.3);
}
.why-header-full {
	text-align:center;
	max-width:800px;
	margin:0 auto 4rem;
}
.why-header-full h3 {
	font-size:1rem;
	color:#06f;
	font-weight:600;
	text-transform:uppercase;
	letter-spacing:1px;
	margin-bottom:.5rem;
}
.why-header-full h2 {
	font-size:2.5rem;
	font-weight:700;
	color:#1f2937;
	margin-bottom:1rem;
}
.why-header-full p {
	font-size:1.1rem;
	color:#6b7280;
	line-height:1.7;
}
.expertise-grid-commercial {
	max-width:1200px;
	margin:0 auto;
	display:grid;
	grid-template-columns:repeat(2,1fr);
	gap:2rem;
	padding:0 2rem;
}
.expertise-card {
	background:#f9fafb;
	padding:2rem;
	border-radius:12px;
	border-left:4px solid #06f;
}
.expertise-number {
	width:50px;
	height:50px;
	background:linear-gradient(135deg,#06f,#0052cc);
	color:#fff;
	border-radius:50%;
	display:flex;
	align-items:center;
	justify-content:center;
	font-size:1.5rem;
	font-weight:800;
	margin-bottom:1rem;
}
.expertise-card h3 {
	font-size:1.3rem;
	font-weight:700;
	color:#1f2937;
	margin-bottom:1rem;
}
.expertise-card p {
	font-size:1rem;
	color:#6b7280;
	line-height:1.6;
	margin-bottom:1.5rem;
}
.expertise-card ul { list-style:none; padding:0 }
.expertise-card ul li {
	padding:.5rem 0;
	padding-left:1.5rem;
	position:relative;
	font-size:.95rem;
	color:#1f2937;
}
.expertise-card ul li:before {
	content:"✓";
	position:absolute;
	left:0;
	color:#06f;
	font-weight:700;
}
.zone-b2b-modern { padding:6rem 2rem; background:#f9fafb }
.zone-b2b-container { max-width:1400px; margin:0 auto }
.zone-b2b-header { text-align:center; margin-bottom:4rem }
.zone-b2b-header h2 {
	font-size:2.5rem;
	font-weight:700;
	color:#1f2937;
	margin-bottom:1rem;
}
.zone-b2b-header p { font-size:1.1rem; color:#6b7280 }
.zone-b2b-layout {
	display:grid;
	grid-template-columns:35% 65%;
	gap:3rem;
}
.zone-b2b-left {
	display:flex;
	flex-direction:column;
	gap:2rem;
}
.zone-b2b-map {
	width:100%;
	height:400px;
	border-radius:12px;
	overflow:hidden;
	border:1px solid #e5e7eb;
}
.zone-b2b-contact {
	background:#fff;
	padding:2rem;
	border-radius:12px;
	box-shadow:0 1px 3px rgba(0,0,0,.1);
}
.contact-header-b2b {
	border-bottom:2px solid #06f;
	padding-bottom:1rem;
	margin-bottom:1.5rem;
}
.contact-header-b2b h3 {
	font-size:1.3rem;
	font-weight:700;
	color:#1f2937;
	margin-bottom:.3rem;
}
.contact-header-b2b p { font-size:.9rem; color:#6b7280 }
.contact-grid-b2b { display:grid; gap:1.5rem }
.contact-item-b2b {
	display:grid;
	grid-template-columns:120px 1fr;
	gap:1rem;
}
.contact-label {
	font-size:.85rem;
	font-weight:700;
	color:#6b7280;
	text-transform:uppercase;
	letter-spacing:.5px;
}
.contact-value {
	font-size:.95rem;
	color:#1f2937;
	font-weight:600;
}
.contact-value a { color:#06f; text-decoration:none }
.contact-value a:hover { text-decoration:underline }
.zone-b2b-engagements {
	background:#fff;
	padding:2rem;
	border-radius:12px;
	border:1px solid #e5e7eb;
}
.zone-b2b-engagements h4 {
	font-size:1.1rem;
	font-weight:700;
	color:#1f2937;
	margin-bottom:1rem;
	padding-bottom:.8rem;
	border-bottom:2px solid #00d4cc;
}
.engagements-list {
	display:flex;
	flex-direction:column;
	gap:1rem;
}
.engagement-item {
	display:flex;
	align-items:start;
	gap:.8rem;
}
.engagement-bullet {
	color:#00d4cc;
	font-size:1.5rem;
	line-height:1;
	flex-shrink:0;
}
.engagement-item p {
	font-size:.95rem;
	color:#1f2937;
	line-height:1.5;
	margin:0;
}
.zone-b2b-right {
	display:flex;
	flex-direction:column;
	gap:2rem;
}
.zones-b2b-header {
	text-align:center;
	padding-bottom:1.5rem;
	border-bottom:2px solid #06f;
}
.zones-b2b-header h3 {
	font-size:1.8rem;
	font-weight:700;
	color:#1f2937;
	margin-bottom:.5rem;
}
.zones-b2b-header p { font-size:1rem; color:#6b7280 }
.zones-b2b-grid {
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:1.5rem;
}
.zone-b2b-card {
	background:#fff;
	padding:1.5rem;
	border-radius:12px;
	border-left:3px solid #06f;
	box-shadow:0 1px 3px rgba(0,0,0,.1);
	transition:all .3s ease;
}
.zone-b2b-card:hover { box-shadow:0 4px 12px rgba(0,0,0,.15); transform:translateY(-2px) }
.zone-b2b-card h4 {
	font-size:1.1rem;
	font-weight:700;
	color:#06f;
	margin-bottom:1rem;
}
.zone-b2b-card ul { list-style:none; padding:0 }
.zone-b2b-card ul li {
	padding:.4rem 0;
	padding-left:1.2rem;
	position:relative;
	font-size:.9rem;
	color:#1f2937;
}
.zone-b2b-card ul li:before {
	content:"•";
	position:absolute;
	left:0;
	color:#00d4cc;
	font-size:1.2rem;
}
.zone-b2b-cta {
	background:linear-gradient(135deg,#06f,#0052cc);
	padding:2.5rem;
	border-radius:12px;
	text-align:center;
	color:#fff;
}
.zone-b2b-cta h4 {
	font-size:1.5rem;
	font-weight:700;
	margin-bottom:1rem;
}
.zone-b2b-cta p {
	font-size:1rem;
	margin-bottom:1.5rem;
	opacity:.95;
}
.btn-zone-b2b {
	display:inline-block;
	background:#fff;
	color:#06f;
	padding:1rem 2rem;
	border-radius:8px;
	text-decoration:none;
	font-weight:600;
	font-size:1.1rem;
	transition:all .3s ease;
}
.btn-zone-b2b:hover { transform:translateY(-2px); box-shadow:0 8px 20px rgba(255,255,255,.3) }

@media (max-width:1024px) {
	.expertise-grid-commercial { grid-template-columns:1fr }
	.zone-b2b-layout { grid-template-columns:1fr }
	.zones-b2b-grid { grid-template-columns:1fr }
}

@media (max-width:768px) {
	.why-header-full h2 { font-size:2rem }
	.testimonials-b2b-container h2, .zone-b2b-header h2 { font-size:2rem }
	.contact-item-b2b { grid-template-columns:1fr }
}

@media (max-width:480px) {
	.testimonials-b2b-modern, .zone-b2b-modern { padding:4rem 1.5rem }
	.testimonials-b2b-container h2, .why-header-full h2, .zone-b2b-header h2 { font-size:1.7rem }
	.expertise-card, .testimonial-b2b-card, .zone-b2b-contact, .zone-b2b-engagements { padding:1.5rem }
}
.services-cta-commercial {
	text-align:center;
	margin-top:4rem;
	padding:3rem 2rem;
	background:linear-gradient(135deg,#f0f7ff 0,#e6f2ff 100%);
	border-radius:16px;
	max-width:1000px;
	margin-left:auto;
	margin-right:auto;
}
.services-cta-commercial p {
	font-size:1.2rem;
	color:#1f2937;
	font-weight:600;
	line-height:1.6;
	margin-bottom:2rem;
	max-width:800px;
	margin-left:auto;
	margin-right:auto;
}
.btn-services-cta {
	display:inline-block;
	background:linear-gradient(135deg,#06f,#0052cc);
	color:#fff;
	padding:1.2rem 3rem;
	border-radius:8px;
	text-decoration:none;
	font-weight:700;
	font-size:1.15rem;
	transition:all .3s ease;
	box-shadow:0 4px 12px rgba(0,102,255,.2);
}
.btn-services-cta:hover { transform:translateY(-3px); box-shadow:0 8px 24px rgba(0,102,255,.35) }
.why-us-modern { padding:6rem 2rem; background:#fff }
.why-header-full {
	text-align:center;
	max-width:900px;
	margin:0 auto 4rem;
}
.why-header-full h3 {
	font-size:1rem;
	color:#06f;
	font-weight:600;
	text-transform:uppercase;
	letter-spacing:1.5px;
	margin-bottom:.8rem;
}
.why-header-full h2 {
	font-size:2.8rem;
	font-weight:800;
	color:#1f2937;
	margin-bottom:1.5rem;
	line-height:1.2;
}
.why-header-full p {
	font-size:1.15rem;
	color:#6b7280;
	line-height:1.8;
}
.expertise-grid-commercial {
	max-width:1300px;
	margin:0 auto;
	padding:0 2rem;
	display:grid;
	grid-template-columns:repeat(2,1fr);
	gap:2.5rem;
}
.expertise-card {
	background:#f9fafb;
	padding:2.5rem;
	border-radius:16px;
	border-left:5px solid #06f;
	box-shadow:0 2px 8px rgba(0,0,0,.05);
	transition:all .3s ease;
}
.expertise-card:hover { transform:translateY(-5px); box-shadow:0 8px 24px rgba(0,0,0,.12) }
.expertise-number {
	width:60px;
	height:60px;
	background:linear-gradient(135deg,#06f,#0052cc);
	color:#fff;
	border-radius:50%;
	display:flex;
	align-items:center;
	justify-content:center;
	font-size:1.8rem;
	font-weight:800;
	margin-bottom:1.5rem;
	box-shadow:0 4px 12px rgba(0,102,255,.3);
}
.expertise-card h3 {
	font-size:1.5rem;
	font-weight:700;
	color:#1f2937;
	margin-bottom:1.2rem;
}
.expertise-card p {
	font-size:1.05rem;
	color:#6b7280;
	line-height:1.7;
	margin-bottom:1.8rem;
}
.expertise-card ul {
	list-style:none;
	padding:0;
	margin:0;
}
.expertise-card ul li {
	padding:.7rem 0;
	padding-left:2rem;
	position:relative;
	font-size:1rem;
	color:#1f2937;
	line-height:1.5;
}
.expertise-card ul li:before {
	content:"✓";
	position:absolute;
	left:0;
	color:#06f;
	font-weight:700;
	font-size:1.2rem;
}
.zone-b2b-modern { padding:6rem 2rem; background:#f9fafb }
.zone-b2b-container { max-width:1400px; margin:0 auto }
.zone-b2b-header { text-align:center; margin-bottom:4rem }
.zone-b2b-header h2 {
	font-size:2.8rem;
	font-weight:800;
	color:#1f2937;
	margin-bottom:1rem;
	line-height:1.2;
}
.zone-b2b-header p {
	font-size:1.15rem;
	color:#6b7280;
	line-height:1.6;
}
.zone-b2b-layout {
	display:grid;
	grid-template-columns:35% 65%;
	gap:3rem;
	align-items:start;
}
.zone-b2b-left {
	display:flex;
	flex-direction:column;
	gap:2rem;
	position:sticky;
	top:100px;
}
.zone-b2b-map {
	width:100%;
	height:400px;
	border-radius:12px;
	overflow:hidden;
	border:1px solid #e5e7eb;
	box-shadow:0 2px 8px rgba(0,0,0,.08);
}
.zone-b2b-contact {
	background:#fff;
	padding:2rem;
	border-radius:12px;
	box-shadow:0 2px 8px rgba(0,0,0,.08);
}
.contact-header-b2b {
	border-bottom:3px solid #06f;
	padding-bottom:1rem;
	margin-bottom:1.5rem;
}
.contact-header-b2b h3 {
	font-size:1.4rem;
	font-weight:700;
	color:#1f2937;
	margin-bottom:.4rem;
}
.contact-header-b2b p {
	font-size:.95rem;
	color:#6b7280;
	font-weight:500;
}
.contact-grid-b2b { display:grid; gap:1.5rem }
.contact-item-b2b {
	display:grid;
	grid-template-columns:130px 1fr;
	gap:1rem;
	align-items:start;
}
.contact-label {
	font-size:.8rem;
	font-weight:700;
	color:#6b7280;
	text-transform:uppercase;
	letter-spacing:.8px;
}
.contact-value {
	font-size:1rem;
	color:#1f2937;
	font-weight:600;
	line-height:1.5;
}
.contact-value a {
	color:#06f;
	text-decoration:none;
	transition:color .3s ease;
}
.contact-value a:hover { color:#0052cc; text-decoration:underline }
.zone-b2b-engagements {
	background:#fff;
	padding:2rem;
	border-radius:12px;
	border:1px solid #e5e7eb;
	box-shadow:0 2px 8px rgba(0,0,0,.05);
}
.zone-b2b-engagements h4 {
	font-size:1.2rem;
	font-weight:700;
	color:#1f2937;
	margin-bottom:1.5rem;
	padding-bottom:1rem;
	border-bottom:3px solid #00d4cc;
}
.engagements-list {
	display:flex;
	flex-direction:column;
	gap:1.2rem;
}
.engagement-item {
	display:flex;
	align-items:start;
	gap:1rem;
}
.engagement-bullet {
	color:#00d4cc;
	font-size:1.8rem;
	line-height:.8;
	flex-shrink:0;
}
.engagement-item p {
	font-size:1rem;
	color:#1f2937;
	line-height:1.6;
	margin:0;
	font-weight:500;
}
.zone-b2b-right {
	display:flex;
	flex-direction:column;
	gap:2rem;
}
.zones-b2b-header {
	text-align:center;
	padding-bottom:2rem;
	border-bottom:3px solid #06f;
	margin-bottom:2rem;
}
.zones-b2b-header h3 {
	font-size:2rem;
	font-weight:700;
	color:#1f2937;
	margin-bottom:.8rem;
}
.zones-b2b-header p { font-size:1.05rem; color:#6b7280 }
.zones-b2b-grid {
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:2rem;
}
.zone-b2b-card {
	background:#fff;
	padding:2rem;
	border-radius:12px;
	border-left:4px solid #06f;
	box-shadow:0 2px 8px rgba(0,0,0,.08);
	transition:all .3s ease;
}
.zone-b2b-card:hover {
	box-shadow:0 8px 20px rgba(0,0,0,.15);
	transform:translateY(-5px);
	border-left-width:6px;
}
.zone-b2b-card h4 {
	font-size:1.25rem;
	font-weight:700;
	color:#06f;
	margin-bottom:1.2rem;
	padding-bottom:.8rem;
	border-bottom:2px solid #e5e7eb;
}
.zone-b2b-card ul {
	list-style:none;
	padding:0;
	margin:0;
}
.zone-b2b-card ul li {
	padding:.6rem 0;
	padding-left:1.5rem;
	position:relative;
	font-size:.95rem;
	color:#1f2937;
	line-height:1.5;
}
.zone-b2b-card ul li:before {
	content:"•";
	position:absolute;
	left:0;
	color:#00d4cc;
	font-size:1.4rem;
	line-height:1.2;
}
.zone-b2b-cta {
	background:linear-gradient(135deg,#06f,#0052cc);
	padding:3rem;
	border-radius:16px;
	text-align:center;
	color:#fff;
	box-shadow:0 8px 24px rgba(0,102,255,.3);
}
.zone-b2b-cta h4 {
	font-size:1.8rem;
	font-weight:700;
	margin-bottom:1rem;
	line-height:1.3;
}
.zone-b2b-cta p {
	font-size:1.1rem;
	margin-bottom:2rem;
	opacity:.95;
	line-height:1.6;
}
.btn-zone-b2b {
	display:inline-block;
	background:#fff;
	color:#06f;
	padding:1.2rem 2.5rem;
	border-radius:8px;
	text-decoration:none;
	font-weight:700;
	font-size:1.15rem;
	transition:all .3s ease;
	box-shadow:0 4px 12px rgba(255,255,255,.2);
}
.btn-zone-b2b:hover { transform:translateY(-3px); box-shadow:0 8px 20px rgba(255,255,255,.4) }

@media (max-width:1024px) {
	.expertise-grid-commercial { grid-template-columns:1fr; gap:2rem }
	.zone-b2b-layout { grid-template-columns:1fr }
	.zone-b2b-left { position:static }
	.zones-b2b-grid { grid-template-columns:1fr }
}

@media (max-width:768px) {
	.testimonials-b2b-container h2, .why-header-full h2, .zone-b2b-header h2 { font-size:2.2rem }
	.why-header-full h3 { font-size:.9rem }
	.testimonials-b2b-subtitle, .why-header-full p, .zone-b2b-header p { font-size:1rem }
	.expertise-card { padding:2rem }
	.expertise-number {
		width:50px;
		height:50px;
		font-size:1.5rem;
	}
	.expertise-card h3 { font-size:1.3rem }
	.contact-item-b2b { grid-template-columns:1fr; gap:.5rem }
}

@media (max-width:480px) {
	.testimonials-b2b-modern, .why-us-modern, .zone-b2b-modern { padding:4rem 1.5rem }
	.testimonials-b2b-container h2, .why-header-full h2, .zone-b2b-header h2 { font-size:1.8rem }
	.services-cta-commercial { padding:2rem 1.5rem }
	.services-cta-commercial p { font-size:1.05rem }
	.btn-services-cta {
		padding:1rem 2rem;
		font-size:1rem;
		width:100%;
	}
	.expertise-card, .testimonial-b2b-card, .zone-b2b-contact, .zone-b2b-engagements { padding:1.5rem }
	.zone-b2b-cta { padding:2rem 1.5rem }
	.zone-b2b-cta h4 { font-size:1.4rem }
	.btn-zone-b2b { padding:1rem 2rem; width:100% }
}
@keyframes fadeInUp {from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
.expertise-card, .testimonial-b2b-card, .zone-b2b-card { animation:fadeInUp .6s ease-out }
.expertise-card:nth-child(1) { animation-delay:.1s }
.expertise-card:nth-child(2) { animation-delay:.2s }
.expertise-card:nth-child(3) { animation-delay:.3s }
.expertise-card:nth-child(4) { animation-delay:.4s }
.zone-b2b-card:nth-child(1) { animation-delay:.1s }
.zone-b2b-card:nth-child(2) { animation-delay:.2s }
.zone-b2b-card:nth-child(3) { animation-delay:.3s }
.zone-b2b-card:nth-child(4) { animation-delay:.4s }
@keyframes slideAuto {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(-50%);
    }
}
.testimonial-card-modern {
	background: white;
	padding: 2rem;
	border-radius: 16px;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
	min-width: 400px;
	max-width: 400px;
	transition: all 0.3s ease;
	border: 2px solid transparent;
}
.testimonial-card-modern:hover {
	transform: translateY(-8px);
	box-shadow: 0 12px 28px rgba(0, 0, 0, 0.15);
	border-color: #0066FF;
}
.card-header-modern {
	display: flex;
	align-items: center;
	gap: 1rem;
	margin-bottom: 1.5rem;
}
.avatar-modern {
	width: 55px;
	height: 55px;
	background: linear-gradient(135deg, #0066FF, #00D4CC);
	color: white;
	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: 0.2rem;
}
.client-info-modern p {
	font-size: 0.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: #0066FF;
	padding: 0.4rem 0.8rem;
	border-radius: 6px;
	font-size: 0.85rem;
	font-weight: 600;
}
.date-tag { font-size: 0.85rem; color: #9CA3AF }
.dot-modern.active {
	background: #0066FF;
	width: 32px;
	border-radius: 6px;
}
.testimonials-gradient-modern {
	padding: 6rem 2rem;
	background: linear-gradient(135deg, #0066FF 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,0.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: white;
	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: 0.95;
	margin-bottom: 2rem;
}
.rating-badge-large {
	display: inline-flex;
	align-items: center;
	gap: 1.5rem;
	background: rgba(255, 255, 255, 0.15);
	padding: 1rem 2rem;
	border-radius: 50px;
	backdrop-filter: blur(10px);
}
.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: 0.9rem; opacity: 0.9 }
.slider-gradient-wrapper { overflow: hidden; margin-bottom: 3rem }
.slider-gradient-track {
	display: flex;
	gap: 2rem;
	animation: slideAuto 40s linear infinite;
}

@media (max-width: 1024px) {
	.testimonial-card-modern { min-width: 350px; max-width: 350px }
}

@media (max-width: 768px) {
	.testimonials-slider-modern, .testimonials-gradient-modern { padding: 4rem 1.5rem }
	.testimonials-header-modern h2, .testimonials-header-gradient h2 { font-size: 2.2rem }
	.testimonial-card-modern {
		min-width: 300px;
		max-width: 300px;
		padding: 1.5rem;
	}
	.rating-badge-large { flex-direction: column; text-align: center }
	.rating-info { text-align: center }
}

@media (max-width: 480px) {
	.testimonials-header-modern h2, .testimonials-header-gradient h2 { font-size: 1.8rem }
	.testimonial-card-modern { min-width: 280px; max-width: 280px }
}
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
.testimonial-card-modern { animation: fadeInUp 0.6s ease-out }
.testimonial-card-modern:hover .avatar-modern { box-shadow: 0 0 20px rgba(0, 102, 255, 0.5); transform: scale(1.1) }

@media (max-width: 768px) {
	.hero-modern-video { min-height: 100svh }
	.hero-video-bg img {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: center;
	}
	.video-overlay { display: block !important; background: linear-gradient(135deg, rgba(0,44,114,.75) 0%, rgba(0,102,255,.60) 100%) }
	.hero-content-video {
		grid-template-columns: 1fr;
		gap: 2rem;
		padding: 100px 1.5rem 3rem;
		align-items: start;
	}
	.hero-text-video h1 { font-size: 2rem }
	.hero-text-video p { font-size: .95rem }
	.hero-rating-video { flex-wrap: wrap; gap: .6rem }
	.hero-form-compact {
		max-width: 100%;
		margin: 0;
		padding: 1.5rem 1.2rem;
	}
	.advantages-container-mono {
		grid-template-columns: 1fr 1fr;
		gap: 1.2rem;
		padding: 0 1.5rem;
	}
}

@media (max-width: 480px) {
	.advantages-bar-mono { padding: 1.5rem 0 }
	.advantages-container-mono { grid-template-columns: 1fr; gap: 1rem }
}

@media (max-width: 1200px) {
	.services-grid-4cols { grid-template-columns: repeat(3, 1fr) }
}

@media (max-width: 900px) {
	.services-grid-4cols { grid-template-columns: repeat(2, 1fr) }
}

@media (max-width: 480px) {
	.services-grid-4cols { grid-template-columns: 1fr }
	.services-modern { padding: 3rem 1.2rem }
	.services-header-modern h2 { font-size: 1.8rem }
}

@media (max-width: 1024px) {
	.zone-b2b-layout { grid-template-columns: 1fr }
	.zone-b2b-left { position: static }
	.zones-b2b-grid { grid-template-columns: repeat(2, 1fr) }
}

@media (max-width: 600px) {
	.zones-b2b-grid { grid-template-columns: 1fr }
	.zone-b2b-map { height: 280px }
	.zone-b2b-modern { padding: 3rem 1.2rem }
	.zone-b2b-header h2 { font-size: 1.8rem }
	.zone-b2b-cta { padding: 2rem 1.5rem }
	.zone-b2b-cta h4 { font-size: 1.4rem }
	.btn-zone-b2b {
		width: 100%;
		display: block;
		text-align: center;
	}
}

@media (max-width: 768px) {
	.expertise-grid-commercial { grid-template-columns: 1fr; padding: 0 1.2rem }
	.why-us-modern { padding: 3rem 1.2rem }
	.why-header-full h2 { font-size: 2rem }
}

@media (max-width: 480px) {
	.why-header-full h2 { font-size: 1.7rem }
}

@media (max-width: 768px) {
	.partners-header {
		flex-direction: column;
		gap: 1rem;
		text-align: center;
	}
	.partners-header-line { display: none }
	.partners-stats {
		flex-wrap: wrap;
		gap: 1.5rem;
		justify-content: center;
	}
	.pstat-divider { display: none }
	.partners-cta-btn { width: 100%; justify-content: center }
	.testimonials-gradient-modern { padding: 3rem 1.2rem }
	.testimonials-header-gradient h2 { font-size: 2rem }
	.testimonial-card-modern {
		min-width: 260px;
		max-width: 260px;
		padding: 1.2rem;
	}
	.testimonial-text-modern { min-height: auto; font-size: .9rem }
	.rating-badge-large {
		flex-direction: column;
		text-align: center;
		gap: .8rem;
	}
	.rating-info { text-align: center }
	.faq-modern { padding: 3rem 1.2rem }
	.faq-container-modern h2 { font-size: 1.8rem }
	.faq-question-modern { padding: 1.2rem }
	.faq-question-modern h3 { font-size: .95rem }
	.faq-answer-modern { padding: 0 1.2rem }
}

@media (max-width: 480px) {
	.faq-question-modern h3 { font-size: .9rem }
	.faq-toggle {
		width: 26px;
		height: 26px;
		font-size: 1.2rem;
	}
}
html, body { overflow-x: hidden }

@media (max-width: 380px) {
	.hero-text-video h1 { font-size: 1.65rem }
	.hero-form-compact h3 { font-size: 1.15rem }
	.adv-text-mono strong { font-size: .85rem }
	.adv-text-mono span { font-size: .75rem }
}
