/* ==========================================================================
   elit'com — refonte visuelle inspirée de la maquette Finovate (octobre 2026)
   Chargée après custom.css. Palette conservée : bleu #20296E / orange #F76301
   (le bleu remplace le vert foncé de la maquette, l'orange remplace le citron).
   Pour revenir à l'ancien design, retirer le <link> vers ce fichier.
   ========================================================================== */

:root{
	--soft-bg:#F6F7FB;
	--card-bg:#F4F5FF;
	--radius-xl:32px;
	--radius-lg:24px;
	--radius-md:18px;
	--glass-bg:rgba(255,255,255,.12);
	--glass-border:rgba(255,255,255,.22);
	--shadow-soft:0 16px 40px -20px rgba(32,41,110,.25);
}

/* ---------- Typographie : titres fins et aérés ---------- */
.section-title h1,
.section-title h2,
.page-header-box h1{
	font-weight:500;
	letter-spacing:-.02em;
}
.section-title h2{line-height:1.15em}

/* ---------- Sur-titres en pastille discrète ---------- */
.section-title h3{
	background:var(--white-color);
	border:1px solid var(--divider-color);
	border-radius:999px;
	padding:7px 16px 7px 30px;
	font-size:12px;
	margin-bottom:18px;
}
.section-title h3::before{left:14px;width:7px;height:7px}
.dark-section .section-title h3{
	background:var(--glass-bg);
	border-color:var(--glass-border);
}

/* ---------- Boutons pilule + flèche dans un cercle ---------- */
.btn-default{
	border-radius:999px;
	padding:17px 66px 17px 28px;
}
.btn-default::before{
	top:50%;
	right:6px;
	width:40px;
	height:40px;
	margin-top:-20px;
	display:flex;
	align-items:center;
	justify-content:center;
	border-radius:50%;
	background:var(--primary-color);
	font-size:15px;
	z-index:1;
}
.btn-default:hover::before{background:var(--accent-color)}
.btn-default.btn-highlighted:hover::before{color:var(--white-color);background:var(--primary-color)}
.btn-default::after{border-radius:999px}
.hero-info-btn .btn-default{padding:17px}

/* ---------- Navigation transparente sur la photo ---------- */
.main-header.bg-section{border-bottom:none}
.main-menu ul li a{border-radius:999px}
.main-menu .nav-menu-wrapper > ul > li > a:hover,
.main-menu .nav-menu-wrapper > ul > li > a:focus{color:var(--white-color);background:var(--glass-bg)}
.main-menu .nav-menu-wrapper > ul > li > a.active{
	background:rgba(255,255,255,.88);
	color:var(--primary-color);
}

/* ---------- Hero : photo plein cadre arrondie ---------- */
.hero{border-radius:var(--radius-xl);padding-bottom:30px}
.hero::before{
	background:
		linear-gradient(90deg,rgba(20,26,75,.88) 0%,rgba(32,41,110,.55) 50%,rgba(32,41,110,.12) 100%),
		linear-gradient(0deg,rgba(20,26,75,.65) 0%,rgba(20,26,75,0) 45%);
	opacity:1;
}
.hero-content{padding:90px 0 40px}
.hero .section-title h1{font-size:72px;font-weight:400;line-height:1.05em;color:var(--white-color)}
.hero .section-title p{max-width:560px;color:rgba(255,255,255,.85);margin-top:22px}
.hero-content-list{display:none}
.hero-body{border-top:none;margin-top:30px;padding-top:0}

.hero-tabs{
	position:relative;
	z-index:2;
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:16px;
	margin-top:90px;
}
.hero-tab{
	display:flex;
	align-items:center;
	gap:14px;
	background:var(--glass-bg);
	border:1px solid var(--glass-border);
	-webkit-backdrop-filter:blur(14px);
	backdrop-filter:blur(14px);
	border-radius:var(--radius-md);
	padding:18px 22px;
	font-size:13px;
	font-weight:600;
	letter-spacing:.06em;
	text-transform:uppercase;
	color:var(--white-color);
	transition:.3s ease-in-out;
}
.hero-tab span{font-size:12px;color:var(--accent-color)}
.hero-tab:hover,.hero-tab.active{background:var(--white-color);color:var(--primary-color)}

/* Pages internes : même dégradé que le hero */
.page-header{border-radius:var(--radius-xl)}
.page-header:before{
	background:linear-gradient(90deg,rgba(20,26,75,.88) 0%,rgba(32,41,110,.6) 60%,rgba(32,41,110,.35) 100%);
	opacity:1;
}

/* ---------- Grille de 3 cartes sous le hero ---------- */
.highlight-cards{padding:100px 0 20px}
.highlight-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.highlight-card{
	display:flex;
	flex-direction:column;
	background:var(--card-bg);
	border-radius:var(--radius-lg);
	padding:24px;
	min-height:470px;
	color:var(--primary-color);
	transition:transform .4s ease,box-shadow .4s ease;
}
.highlight-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-soft)}
.highlight-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}
.highlight-card h3{font-size:22px;font-weight:500;line-height:1.3em;max-width:320px}
.highlight-card figure{margin-top:auto;padding-top:26px}
.highlight-card figure img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius-md);transition:transform .6s ease}
.highlight-card:hover figure img{transform:scale(1.04)}
.pill-label{
	display:inline-block;
	font-size:11px;
	font-weight:600;
	letter-spacing:.08em;
	text-transform:uppercase;
	color:var(--primary-color);
	background:var(--white-color);
	border:1px solid var(--divider-color);
	border-radius:999px;
	padding:7px 12px;
}
.circle-arrow{
	width:42px;
	height:42px;
	flex:none;
	display:flex;
	align-items:center;
	justify-content:center;
	border-radius:50%;
	background:var(--white-color);
	color:var(--primary-color);
	box-shadow:0 6px 18px -8px rgba(32,41,110,.4);
	transition:.3s ease-in-out;
}
.circle-arrow i{transform:rotate(-45deg);transition:.3s ease-in-out}
.highlight-card:hover .circle-arrow{background:var(--accent-color);color:var(--white-color)}
.highlight-card:hover .circle-arrow i{transform:rotate(0)}

.highlight-card-accent{background:var(--accent-color);padding:0;overflow:hidden}
.highlight-card-accent figure{margin:0;padding:0;flex:1}
.highlight-card-accent figure img{height:100%;aspect-ratio:auto;min-height:250px;border-radius:0 0 46% 0 / 0 0 28% 0}
.highlight-card-foot{position:relative;padding:22px 24px 24px}
.highlight-card-foot .pill-label{background:rgba(255,255,255,.2);border-color:rgba(255,255,255,.35);color:var(--white-color);margin-bottom:12px}
.highlight-card-foot h3{color:var(--white-color);padding-right:56px}
.highlight-card-foot .circle-arrow{position:absolute;right:24px;bottom:24px}
.highlight-card-accent:hover .circle-arrow{background:var(--primary-color)}

/* ---------- Services : fond clair, titre centré, cartes photo ---------- */
.our-services{background:var(--soft-bg)}
.services-head{flex-direction:column;align-items:center;text-align:center}
.services-head > div{width:100%;max-width:760px}
.services-head .section-content-btn{margin-top:18px}
.services-head .section-title-content p{color:var(--text-color)}

.service-item{
	padding:10px;
	border:none;
	background:var(--white-color);
	box-shadow:var(--shadow-soft);
	border-radius:var(--radius-lg);
	transition:transform .4s ease,box-shadow .4s ease;
}
.service-item:hover{transform:translateY(-6px)}
.service-item::before{display:none}
.service-image,
.service-item.active .service-image,
.service-item:hover .service-image{
	position:relative;
	opacity:1;
	height:240px;
	border-radius:var(--radius-md);
	overflow:hidden;
}
.service-image::after{display:none}
.service-image img{transition:transform .6s ease}
.service-item:hover .service-image img{transform:scale(1.06)}
.service-body{position:static;padding:18px 12px 8px}
.service-body .icon-box{position:absolute;top:24px;left:24px;margin:0}
.service-body .icon-box .service-icon,
.service-item:hover .service-body .icon-box .service-icon{
	width:46px;
	height:46px;
	line-height:46px;
	font-size:18px;
	border:none;
	background:var(--accent-color);
	color:var(--white-color);
	transform:none;
}
.service-content{transform:none;display:flex;align-items:flex-end;justify-content:space-between;gap:12px}
.service-content-info h3{font-size:19px;font-weight:500}
.service-content-info p{font-size:14px;line-height:1.55em}
.service-item.active .service-content h3,
.service-item:hover .service-content h3{color:var(--primary-color)}
.service-item.active .service-content p,
.service-item:hover .service-content p{color:var(--text-color)}
.service-readmore-btn,
.service-item:hover .service-readmore-btn{opacity:1;visibility:visible;margin:0}
.service-readmore-btn a{width:42px;height:42px;background:var(--card-bg);color:var(--primary-color)}
.service-item:hover .service-readmore-btn a{background:var(--accent-color);color:var(--white-color)}

/* ---------- Section foncée : méthode + chiffres ---------- */
.our-process{
	background:var(--primary-color);
	border-radius:40px;
	padding:100px 0;
	margin-top:100px;
}
.our-process .section-title h2{color:var(--white-color)}
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.process-step{
	background:rgba(255,255,255,.06);
	border:1px solid rgba(255,255,255,.1);
	border-radius:var(--radius-lg);
	padding:28px;
	transition:.3s ease-in-out;
}
.process-step:hover{background:rgba(255,255,255,.1);transform:translateY(-4px)}
.process-step-icon{
	width:48px;
	height:48px;
	display:flex;
	align-items:center;
	justify-content:center;
	border-radius:50%;
	background:var(--accent-color);
	color:var(--white-color);
	font-size:18px;
	margin-bottom:28px;
}
.process-step h3{font-size:20px;font-weight:500;color:var(--white-color);margin-bottom:12px}
.process-step p{font-size:15px;color:rgba(255,255,255,.7);margin:0}
.process-stats{
	display:grid;
	grid-template-columns:repeat(4,1fr);
	gap:20px;
	border-top:1px solid rgba(255,255,255,.14);
	margin-top:60px;
	padding-top:44px;
}
.process-stats strong{display:block;font-size:52px;font-weight:400;line-height:1em;color:var(--white-color);margin-bottom:10px}
.process-stats p{color:rgba(255,255,255,.7);margin:0}

/* ---------- Cartes du reste du site : rayons généreux, ombre douce ---------- */
.hero-info-item,
.why-choose-item,
.why-choose-image figure,
.why-choose-image img,
.team-item,
.testimonial-item,
.fact-image figure,
.fact-image img,
.our-appointment-image,
.post-featured-image a,
.post-featured-image img,
.faqs-contact-box{border-radius:var(--radius-lg)}
.team-item,
.why-choose-item{transition:transform .4s ease,box-shadow .4s ease}
.team-item:hover,
.why-choose-box:hover .why-choose-item{transform:translateY(-6px);box-shadow:var(--shadow-soft)}
.team-image img{border-radius:0 0 var(--radius-lg) var(--radius-lg)}

.post-item-btn .readmore-btn{
	display:inline-block;
	border:1px solid var(--divider-color);
	border-radius:999px;
	padding:10px 44px 10px 18px;
	transition:.3s ease-in-out;
}
.post-item-btn .readmore-btn:after{right:18px}
.post-item:hover .readmore-btn{background:var(--accent-color);border-color:var(--accent-color);color:var(--white-color)}
.post-item:hover .readmore-btn:after{color:var(--white-color);transform:translateY(-50%) rotate(0)}

.faq-accordion .accordion-item{border-radius:var(--radius-md)!important;overflow:hidden}
.appointment-form .form-control{border-radius:14px}
.our-appointment{background:var(--soft-bg)}
.cta-box.bg-section,
.main-footer-box.bg-section{border-radius:40px}

/* ---------- Responsive ---------- */
@media only screen and (max-width:1199px){
	.hero .section-title h1{font-size:58px}
	.process-grid{grid-template-columns:repeat(2,1fr)}
}
@media only screen and (max-width:991px){
	.hero,.page-header,.our-process{width:calc(100% - 20px);margin-left:10px;margin-right:10px;border-radius:var(--radius-lg)}
	.hero-content{padding:40px 0 10px}
	.hero .section-title h1{font-size:44px}
	.hero-tabs{grid-template-columns:1fr;gap:10px;margin-top:40px}
	.hero-tab{padding:14px 18px}
	.btn-default{padding:14px 60px 14px 22px}
	.btn-default::before{width:36px;height:36px;margin-top:-18px}
	.highlight-cards{padding:60px 0 10px}
	.highlight-grid{grid-template-columns:1fr;gap:18px}
	.highlight-card{min-height:0}
	.highlight-card-accent figure img{min-height:220px;max-height:280px}
	.our-process{padding:60px 0;margin-top:60px}
	.process-stats{grid-template-columns:repeat(2,1fr);margin-top:40px;padding-top:30px}
	.process-stats strong{font-size:40px}
	.cta-box.bg-section,
	.main-footer-box.bg-section{border-radius:0}
}
@media only screen and (max-width:767px){
	.hero .section-title h1{font-size:36px}
	.hero-tabs .hero-tab:not(.active){display:none}
	.process-grid{grid-template-columns:1fr}
	.service-image,
	.service-item.active .service-image,
	.service-item:hover .service-image{height:200px}
	.highlight-card h3{font-size:19px}
	.highlight-card figure img{aspect-ratio:16/10}
}
@media (prefers-reduced-motion:reduce){
	.highlight-card,.service-item,.team-item,.why-choose-item,.process-step{transition:none}
}

/* ==========================================================================
   Passe UX / accessibilité
   ========================================================================== */

/* Orange foncé pour les petits textes sur fond clair (contraste AA 4,9:1) */
:root{--accent-text:#C24A00}
.section-title h3,
.readmore-btn,
.section-footer-text p a,
.pill-label{color:var(--accent-text)}
.dark-section .section-title h3{color:var(--accent-color)}
.highlight-card-foot .pill-label{color:var(--white-color)}

/* Focus clavier visible (supprimé par le thème d'origine) */
a:focus-visible,
button:focus-visible,
.form-control:focus-visible,
.accordion-button:focus-visible{
	outline:3px solid var(--accent-color);
	outline-offset:3px;
	border-radius:8px;
}

/* Lien d'évitement pour clavier et lecteurs d'écran */
.skip-link{
	position:absolute;
	left:16px;
	top:-60px;
	z-index:1000;
	background:var(--primary-color);
	color:var(--white-color);
	padding:12px 18px;
	border-radius:999px;
	font-weight:600;
	transition:top .2s ease;
}
.skip-link:focus{top:16px;color:var(--white-color)}

/* En-tête fixe au défilement : barre bleue arrondie */
.main-header .header-sticky.active{
	background:rgba(32,41,110,.96);
	-webkit-backdrop-filter:blur(12px);
	backdrop-filter:blur(12px);
	box-shadow:0 12px 30px -16px rgba(0,0,0,.5);
	padding:0 20px;
}
.main-header .header-sticky.active .navbar{padding:12px 0}

/* Hero : action secondaire WhatsApp */
.hero-btn{display:flex;flex-wrap:wrap;align-items:center;gap:14px 26px}
.hero-whatsapp{
	display:inline-flex;
	align-items:center;
	gap:10px;
	font-weight:600;
	color:var(--white-color);
	border-bottom:1px solid rgba(255,255,255,.4);
	padding-bottom:4px;
	transition:.3s ease-in-out;
}
.hero-whatsapp i{font-size:20px;color:#25D366}
.hero-whatsapp:hover{color:var(--white-color);border-color:var(--white-color)}

/* Bouton WhatsApp flottant */
.whatsapp-float{
	position:fixed;
	right:22px;
	bottom:22px;
	z-index:999;
	display:flex;
	align-items:center;
	gap:10px;
	background:#25D366;
	color:#fff;
	border-radius:999px;
	padding:12px 20px 12px 14px;
	font-weight:600;
	box-shadow:0 14px 30px -10px rgba(37,211,102,.6);
	transition:transform .3s ease;
}
.whatsapp-float i{font-size:26px}
.whatsapp-float:hover{color:#fff;transform:translateY(-3px)}

/* À propos : signature du fondateur */
.about-btn{display:flex;flex-wrap:wrap;align-items:center;gap:20px 28px}
.ceo-signature{display:flex;align-items:center;gap:12px}
.ceo-signature img{width:48px;height:48px;border-radius:50%;object-fit:cover;object-position:top;background:var(--card-bg)}
.ceo-signature strong{display:block;font-size:15px;color:var(--primary-color);line-height:1.3em}
.ceo-signature span{font-size:14px}

/* Équipe : icônes sociales retirées tant qu'elles n'ont pas de vrais liens */
.team-social-list{display:none}

/* Témoignages : cartes de hauteur égale */
.testimonial-slider .swiper-slide{height:auto}
.testimonial-slider .testimonial-item{height:100%}

@media only screen and (max-width:767px){
	.whatsapp-float{right:16px;bottom:16px;padding:14px}
	.whatsapp-float span{display:none}
}
@media print{.whatsapp-float,.skip-link{display:none}}

/* ==========================================================================
   Accueil — structure exacte de la maquette Finovate
   ========================================================================== */

/* Pas de barre de contact au-dessus du hero (comme la maquette) */
.topbar{display:none}
header.main-header{margin-top:16px}

/* Éléments communs */
.fv-eyebrow{
	display:inline-block;
	font-size:11px;
	font-weight:600;
	letter-spacing:.1em;
	text-transform:uppercase;
	color:var(--accent-text);
	background:var(--white-color);
	border:1px solid var(--divider-color);
	border-radius:999px;
	padding:6px 12px;
	margin-bottom:16px;
}
.fv-eyebrow-dark{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18);color:var(--accent-color)}
.fv-eyebrow-light{background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.35);color:var(--white-color)}
.fv-head h2,
.fv-industries-visual h2,
.fv-connect-form h2{font-size:44px;font-weight:400;letter-spacing:-.02em;line-height:1.15em;color:var(--primary-color)}
.fv-head-center{text-align:center;max-width:760px;margin:0 auto 50px}
.fv-head-center p{margin:16px auto 0;max-width:560px}
.fv-center-btn{text-align:center;margin-top:44px}

.fv-btn{
	display:inline-flex;
	align-items:center;
	gap:10px;
	background:var(--accent-color);
	color:var(--white-color);
	border:none;
	border-radius:999px;
	padding:6px 6px 6px 22px;
	font-size:15px;
	font-weight:600;
	line-height:1em;
	transition:.3s ease-in-out;
}
.fv-btn::after{
	content:'\f061';
	font-family:'Font Awesome 6 Free';
	font-weight:900;
	width:36px;
	height:36px;
	display:flex;
	align-items:center;
	justify-content:center;
	border-radius:50%;
	background:var(--primary-color);
	color:var(--white-color);
	font-size:13px;
	transform:rotate(-45deg);
	transition:.3s ease-in-out;
}
.fv-btn i{font-size:18px}
.fv-btn:hover{background:var(--primary-color);color:var(--white-color)}
.fv-btn:hover::after{background:var(--accent-color);transform:rotate(0)}
.fv-btn-dark{background:var(--primary-color)}
.fv-btn-dark::after{background:var(--accent-color)}
.fv-btn-dark:hover{background:var(--white-color);color:var(--primary-color)}

.fv-mini-arrow{
	width:34px;
	height:34px;
	flex:none;
	display:flex;
	align-items:center;
	justify-content:center;
	border-radius:50%;
	background:var(--soft-bg);
	color:var(--primary-color);
	font-size:13px;
	transition:.3s ease-in-out;
}
.fv-mini-arrow i{transform:rotate(-45deg);transition:.3s ease-in-out}

/* Services */
.fv-services{
	width:calc(100% - 40px);
	max-width:1720px;
	margin:100px auto 0;
	background:var(--soft-bg);
	border-radius:var(--radius-xl);
	padding:90px 0;
}
.fv-service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.fv-service-card{
	position:relative;
	display:block;
	background:var(--white-color);
	border-radius:22px;
	padding:8px;
	transition:transform .4s ease,box-shadow .4s ease;
}
.fv-service-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-soft)}
.fv-service-card figure{height:300px;border-radius:16px;overflow:hidden}
.fv-service-card figure img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.fv-service-card:hover figure img{transform:scale(1.06)}
.fv-service-icon{
	position:absolute;
	top:20px;
	left:20px;
	width:40px;
	height:40px;
	display:flex;
	align-items:center;
	justify-content:center;
	border-radius:50%;
	background:var(--accent-color);
	color:var(--white-color);
	font-size:15px;
}
.fv-service-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 8px 8px 10px}
.fv-service-foot h3{font-size:16px;font-weight:500;line-height:1.3em;color:var(--primary-color)}
.fv-service-card:hover .fv-mini-arrow{background:var(--accent-color);color:var(--white-color)}
.fv-service-card:hover .fv-mini-arrow i{transform:rotate(0)}

/* Interventions (bloc foncé) + chiffres */
.fv-interventions-box{
	position:relative;
	width:calc(100% - 40px);
	max-width:1720px;
	margin:100px auto 0;
	background:var(--primary-color);
	border-radius:var(--radius-xl);
	padding:80px 0 90px;
}
.fv-interventions-box::after{
	content:'';
	position:absolute;
	left:70px;
	bottom:-18px;
	width:40px;
	height:40px;
	background:var(--primary-color);
	border-radius:0 0 8px 0;
	transform:rotate(45deg);
}
.fv-interventions-title{display:flex;align-items:flex-end;gap:30px;margin-bottom:50px}
.fv-interventions-title h2{flex:0 1 640px;font-size:40px;font-weight:400;letter-spacing:-.02em;line-height:1.2em;color:var(--white-color)}
.fv-title-line{flex:1;height:1px;background:linear-gradient(90deg,var(--accent-color),rgba(247,99,1,0));margin-bottom:16px}
.fv-intervention-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.fv-intervention{
	background:rgba(255,255,255,.07);
	border:1px solid rgba(255,255,255,.12);
	border-radius:18px;
	padding:24px;
	transition:.3s ease-in-out;
}
.fv-intervention:hover{background:rgba(255,255,255,.11);transform:translateY(-4px)}
.fv-intervention-icon{
	width:38px;
	height:38px;
	display:flex;
	align-items:center;
	justify-content:center;
	border-radius:50%;
	background:var(--accent-color);
	color:var(--white-color);
	font-size:15px;
	margin-bottom:22px;
}
.fv-intervention h3{font-size:17px;font-weight:500;color:var(--white-color);margin-bottom:10px}
.fv-intervention p{font-size:14px;color:rgba(255,255,255,.72);margin:0}
.fv-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding:56px 0 0}
.fv-stats > div{border-left:1px solid var(--divider-color);padding-left:22px}
.fv-stats strong{display:block;font-size:42px;font-weight:400;line-height:1em;color:var(--primary-color);margin-bottom:10px}
.fv-stats p{font-size:14px;line-height:1.5em;margin:0;max-width:220px}

/* Bannière photo */
.fv-banner-wrap{padding:90px 0 0}
.fv-banner{position:relative;height:380px;border-radius:28px;overflow:hidden}
.fv-banner > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.fv-banner::before{
	content:'';
	position:absolute;
	inset:0;
	z-index:1;
	background:linear-gradient(20deg,rgba(20,26,75,.9) 0%,rgba(32,41,110,.45) 55%,rgba(32,41,110,.1) 100%);
}
.fv-banner-icon{
	position:absolute;
	top:28px;
	left:28px;
	z-index:2;
	width:46px;
	height:46px;
	display:flex;
	align-items:center;
	justify-content:center;
	border-radius:50%;
	background:rgba(255,255,255,.16);
	border:1px solid rgba(255,255,255,.3);
	color:var(--white-color);
	-webkit-backdrop-filter:blur(10px);
	backdrop-filter:blur(10px);
}
.fv-banner-content{
	position:absolute;
	left:36px;
	right:36px;
	bottom:34px;
	z-index:2;
	display:flex;
	align-items:flex-end;
	justify-content:space-between;
	gap:24px;
}
.fv-banner-content h2{max-width:540px;font-size:34px;font-weight:400;line-height:1.2em;letter-spacing:-.01em;color:var(--white-color)}

/* Secteurs (radar + liste dépliable) */
.fv-industries{padding:100px 0}
.fv-industries-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.fv-industries-visual h2{margin-bottom:30px;max-width:520px}
.fv-radar{width:100%;max-width:520px;height:auto;display:block}
.fv-legend{display:flex;flex-wrap:wrap;gap:22px;margin-top:18px;font-size:13px}
.fv-legend span{display:inline-flex;align-items:center;gap:8px}
.fv-dot{width:10px;height:10px;border-radius:50%;display:inline-block}
.fv-dot-navy{background:var(--primary-color)}
.fv-dot-orange{background:var(--accent-color)}
.fv-industries-list details{border-bottom:1px solid var(--divider-color)}
.fv-industries-list summary{
	list-style:none;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:16px;
	padding:20px 0;
	font-size:17px;
	font-weight:500;
	color:var(--primary-color);
	cursor:pointer;
}
.fv-industries-list summary::-webkit-details-marker{display:none}
.fv-plus{
	position:relative;
	width:30px;
	height:30px;
	flex:none;
	border-radius:50%;
	background:var(--soft-bg);
	transition:.3s ease-in-out;
}
.fv-plus::before,.fv-plus::after{
	content:'';
	position:absolute;
	top:50%;
	left:50%;
	width:12px;
	height:2px;
	margin:-1px 0 0 -6px;
	background:var(--primary-color);
	transition:.3s ease-in-out;
}
.fv-plus::after{transform:rotate(90deg)}
.fv-industries-list details[open] .fv-plus{background:var(--accent-color)}
.fv-industries-list details[open] .fv-plus::before,
.fv-industries-list details[open] .fv-plus::after{background:var(--white-color)}
.fv-industries-list details[open] .fv-plus::after{transform:rotate(0)}
.fv-industries-list details p{margin:-4px 0 20px;max-width:520px}
.fv-industries-list .fv-btn{margin-top:30px}

/* Témoignage sur photo + étude de cas */
.fv-stories{
	width:calc(100% - 40px);
	max-width:1720px;
	margin:0 auto;
	background:var(--soft-bg);
	border-radius:var(--radius-xl);
	padding:80px 0 60px;
}
.fv-stories-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:20px}
.fv-story-photo{position:relative;min-height:440px;border-radius:24px;overflow:hidden}
.fv-story-photo > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.fv-story-quote{
	position:absolute;
	left:20px;
	right:20px;
	bottom:20px;
	max-width:440px;
	background:rgba(255,255,255,.86);
	-webkit-backdrop-filter:blur(14px);
	backdrop-filter:blur(14px);
	border-radius:18px;
	padding:22px;
}
.fv-story-quote p{font-size:15px;line-height:1.6em;color:var(--primary-color);margin-bottom:16px}
.fv-story-author{display:flex;align-items:center;gap:12px}
.fv-story-author img{width:40px;height:40px;border-radius:50%;object-fit:cover}
.fv-story-author strong{display:block;font-size:14px;color:var(--primary-color);line-height:1.3em}
.fv-story-author span{font-size:13px}
.fv-story-case{
	position:relative;
	display:flex;
	flex-direction:column;
	align-items:flex-start;
	background:var(--accent-color);
	border-radius:24px;
	padding:32px;
}
.fv-case-icon{
	position:absolute;
	top:28px;
	right:28px;
	width:44px;
	height:44px;
	display:flex;
	align-items:center;
	justify-content:center;
	border-radius:50%;
	background:var(--primary-color);
	color:var(--white-color);
}
.fv-story-case h3{font-size:26px;font-weight:500;line-height:1.3em;color:var(--white-color);max-width:420px}
.fv-case-foot{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;width:100%;margin-top:auto;padding-top:40px}
.fv-case-foot strong{display:block;font-size:46px;font-weight:400;line-height:1em;color:var(--white-color);margin-bottom:8px}
.fv-case-foot span{display:block;font-size:13px;line-height:1.5em;color:rgba(255,255,255,.88);max-width:200px}
.fv-story-pagination{display:flex;justify-content:center;gap:6px;margin-top:26px}
.fv-story-pagination .swiper-pagination-bullet{width:8px;height:8px;background:var(--primary-color);opacity:.2;margin:0!important}
.fv-story-pagination .swiper-pagination-bullet-active{opacity:1;width:22px;border-radius:999px;background:var(--accent-color)}

/* Publications */
.fv-insights{padding:100px 0 0}
.fv-insight-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.fv-insight{
	display:flex;
	gap:20px;
	background:var(--soft-bg);
	border-radius:22px;
	padding:10px;
	transition:transform .4s ease,box-shadow .4s ease;
}
.fv-insight:hover{transform:translateY(-4px);box-shadow:var(--shadow-soft)}
.fv-insight figure{flex:0 0 46%;min-height:220px;border-radius:16px;overflow:hidden}
.fv-insight figure img{width:100%;height:100%;object-fit:cover}
.fv-insight-body{display:flex;flex-direction:column;align-items:flex-start;padding:16px 10px 6px 0;flex:1}
.fv-insight-body h3{font-size:19px;font-weight:500;line-height:1.35em;color:var(--primary-color)}
.fv-insight-body .fv-mini-arrow{margin-top:auto;align-self:flex-end;background:var(--white-color)}
.fv-insight:hover .fv-mini-arrow{background:var(--accent-color);color:var(--white-color)}
.fv-insight:hover .fv-mini-arrow i{transform:rotate(0)}

/* Bandeau des pôles */
.fv-brands{padding:70px 0}
.fv-brands-label{text-align:center;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;margin-bottom:26px}
.fv-brands-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px 36px}
.fv-brands-row span{display:inline-flex;align-items:center;gap:10px;font-size:15px;font-weight:700;letter-spacing:.06em;color:#6E7499}
.fv-brands-row i{font-size:18px;color:#A3A8C8}

/* Formulaire « Parlons de votre projet » */
.fv-connect{padding:0 0 100px}
.fv-connect-box{display:grid;grid-template-columns:1fr 1fr;background:var(--soft-bg);border-radius:var(--radius-xl);overflow:hidden}
.fv-connect-form{padding:56px 50px}
.fv-connect-form h2{margin-bottom:14px}
.fv-connect-form > p{margin-bottom:30px}
.fv-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px 16px}
.fv-span-2{grid-column:span 2}
.fv-connect .form-group{margin-bottom:12px}
.fv-connect label{display:block;font-size:13px;font-weight:500;color:var(--primary-color);margin-bottom:6px}
.fv-connect .form-control{
	background:var(--white-color);
	border:1px solid var(--divider-color);
	border-radius:12px;
	padding:13px 16px;
	font-size:15px;
	color:var(--primary-color);
	box-shadow:none;
}
.fv-connect .form-control:focus{border-color:var(--accent-color);box-shadow:0 0 0 3px rgba(247,99,1,.15)}
.fv-connect .help-block{font-size:13px;color:var(--error-color)}
.fv-connect button.fv-btn{margin-top:12px;cursor:pointer}
.fv-connect #msgSubmit{font-size:15px;line-height:1.5em;margin-top:16px}
.fv-connect-photo{position:relative;min-height:560px}
.fv-connect-photo > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.fv-connect-pill{
	position:absolute;
	left:24px;
	right:24px;
	bottom:24px;
	display:flex;
	align-items:center;
	gap:14px;
	background:rgba(255,255,255,.88);
	-webkit-backdrop-filter:blur(14px);
	backdrop-filter:blur(14px);
	border-radius:18px;
	padding:14px 18px;
}
.fv-connect-pill-icon{
	width:40px;
	height:40px;
	flex:none;
	display:flex;
	align-items:center;
	justify-content:center;
	border-radius:50%;
	background:var(--accent-color);
	color:var(--white-color);
}
.fv-connect-pill p{font-size:13px;line-height:1.5em;color:var(--primary-color);margin:0}
.fv-connect-pill a{font-weight:700;color:var(--accent-text)}

/* Pied de page */
.fv-footer{
	width:calc(100% - 40px);
	max-width:1720px;
	margin:0 auto 20px;
	background:var(--primary-color);
	border-radius:var(--radius-xl);
	overflow:hidden;
}
.fv-footer-band{background:rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.1);padding:24px 0}
.fv-footer-band .container{display:flex;align-items:center;justify-content:space-between;gap:20px}
.fv-footer-band p{margin:0;color:rgba(255,255,255,.88);font-size:16px}
.fv-footer-main{padding:60px 0 28px}
.fv-footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px}
.fv-footer-brand img{width:150px;height:auto;margin-bottom:22px}
.fv-footer p{color:rgba(255,255,255,.7);font-size:14px}
.fv-footer a{color:rgba(255,255,255,.75);transition:.3s ease-in-out}
.fv-footer a:hover{color:var(--accent-color)}
.fv-footer .fv-btn,.fv-footer .fv-btn:hover{color:var(--white-color)}
.fv-footer h3{font-size:15px;font-weight:600;color:var(--white-color);margin-bottom:18px}
.fv-footer ul{list-style:none;padding:0;margin:0}
.fv-footer li{margin-bottom:11px;font-size:14px}
.fv-footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid rgba(255,255,255,.1);margin-top:50px;padding-top:24px}
.fv-footer-bottom p{margin:0;font-size:13px}
.fv-footer-social{display:flex;gap:10px}
.fv-footer-social a{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid rgba(255,255,255,.2)}
.fv-footer-social a:hover{background:var(--accent-color);border-color:var(--accent-color);color:var(--white-color)}

/* Responsive Finovate */
@media only screen and (max-width:1199px){
	.fv-service-grid,.fv-intervention-grid,.fv-stats{grid-template-columns:repeat(2,1fr)}
	.fv-stats{row-gap:34px}
	.fv-head h2,.fv-industries-visual h2,.fv-connect-form h2{font-size:38px}
}
@media only screen and (max-width:991px){
	header.main-header{margin-top:10px}
	.fv-services,.fv-interventions-box,.fv-stories,.fv-footer{width:calc(100% - 20px)}
	.fv-services,.fv-stories{padding:60px 0}
	.fv-interventions-box{padding:60px 0 70px;margin-top:60px}
	.fv-interventions-title{display:block;margin-bottom:34px}
	.fv-interventions-title h2{font-size:32px}
	.fv-title-line{display:none}
	.fv-banner-wrap{padding-top:60px}
	.fv-banner-content{flex-direction:column;align-items:flex-start}
	.fv-banner-content h2{font-size:28px}
	.fv-industries{padding:70px 0}
	.fv-industries-grid,.fv-stories-grid,.fv-insight-grid,.fv-connect-box{grid-template-columns:1fr}
	.fv-industries-grid{gap:40px}
	.fv-radar{margin:0 auto}
	.fv-story-photo{min-height:420px}
	.fv-insights{padding-top:70px}
	.fv-connect-form{padding:40px 24px}
	.fv-connect-photo{min-height:380px}
	.fv-footer-grid{grid-template-columns:1fr 1fr}
}
@media only screen and (max-width:767px){
	.fv-head h2,.fv-industries-visual h2,.fv-connect-form h2{font-size:30px}
	.fv-head-center{margin-bottom:34px}
	.fv-service-grid{grid-template-columns:1fr 1fr;gap:12px}
	.fv-service-card figure{height:180px}
	.fv-service-icon{top:14px;left:14px;width:34px;height:34px;font-size:13px}
	.fv-service-foot h3{font-size:14px}
	.fv-intervention-grid{grid-template-columns:1fr}
	.fv-stats strong{font-size:34px}
	.fv-banner{height:420px}
	.fv-banner-content{left:22px;right:22px;bottom:24px}
	.fv-banner-content h2{font-size:24px}
	.fv-story-case{padding:26px}
	.fv-story-case h3{font-size:22px;padding-right:50px}
	.fv-case-foot{flex-direction:column;align-items:flex-start}
	.fv-insight{flex-direction:column}
	.fv-insight figure{min-height:200px}
	.fv-insight-body{padding:6px 8px 8px}
	.fv-brands-row{justify-content:center}
	.fv-form-grid{grid-template-columns:1fr}
	.fv-span-2{grid-column:auto}
	.fv-footer-band .container,.fv-footer-bottom{flex-direction:column;align-items:flex-start}
	.fv-footer-grid{grid-template-columns:1fr;gap:30px}
}

/* ==========================================================================
   Pages internes au style Finovate (équipe, FAQ, contenu des pages)
   ========================================================================== */
.fv-page-section{padding:100px 0}
.fv-banner-last{padding:0 0 100px}

/* Équipe */
.fv-team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.fv-team-card{background:var(--soft-bg);border-radius:24px;padding:10px;transition:transform .4s ease,box-shadow .4s ease}
.fv-team-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-soft)}
.fv-team-card figure{background:linear-gradient(180deg,#E9EBFA 0%,#DCE0F7 100%);border-radius:18px;overflow:hidden;height:300px;display:flex;align-items:flex-end;justify-content:center}
.fv-team-card figure img{height:94%;width:auto;max-width:100%;object-fit:contain;object-position:bottom}
.fv-team-body{padding:18px 12px 12px}
.fv-team-body .fv-eyebrow{margin-bottom:12px}
.fv-team-body h3{font-size:19px;font-weight:500;color:var(--primary-color);margin-bottom:6px}
.fv-team-role{font-size:14px;font-weight:600;color:var(--accent-text);margin-bottom:12px}
.fv-team-body p:last-child{font-size:14px;line-height:1.6em;margin:0}

/* FAQ */
.fv-faq-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:start}
.fv-faq-aside h2{font-size:40px;font-weight:400;letter-spacing:-.02em;line-height:1.2em;color:var(--primary-color);margin-bottom:16px}
.fv-faq-card{background:var(--primary-color);border-radius:24px;padding:30px;margin-top:34px}
.fv-faq-card h3{font-size:22px;font-weight:500;color:var(--white-color);margin-bottom:10px}
.fv-faq-card p{color:rgba(255,255,255,.75);margin-bottom:24px}
.fv-faq-phone{display:flex;align-items:center;gap:10px;margin-top:20px;font-weight:600;color:var(--white-color)}
.fv-faq-phone i{color:var(--accent-color)}
.fv-faq-phone:hover{color:var(--accent-color)}
.fv-faq-list summary{font-size:18px;padding:24px 0}
.fv-faq-list details p{font-size:16px;line-height:1.7em}

@media only screen and (max-width:1199px){
	.fv-team-grid{grid-template-columns:repeat(2,1fr)}
}
@media only screen and (max-width:991px){
	.fv-page-section{padding:70px 0}
	.fv-banner-last{padding-bottom:70px}
	.fv-faq-grid{grid-template-columns:1fr;gap:40px}
	.fv-faq-aside h2{font-size:32px}
}
@media only screen and (max-width:767px){
	.fv-team-grid{grid-template-columns:1fr}
	.fv-faq-list summary{font-size:16px}
}

/* Contenu des pages internes : titres fins, angles généreux */
h2{font-weight:500;letter-spacing:-.015em}
.service-entry h2,.post-entry h2{font-size:40px;line-height:1.2em}
.post-entry h2{margin:40px 0 18px}
.post-entry h3{font-weight:500}
.post-entry blockquote{border-radius:var(--radius-lg);background-color:var(--primary-color);padding:32px 32px 32px 96px}
.post-entry blockquote p{font-weight:500}
.page-single-image figure,.page-single-image img,.page-gallery-box .photo-gallery figure,.page-gallery-box .photo-gallery img{border-radius:var(--radius-lg)}
.page-category-list,.sidebar-cta-box,.faqs-contact-box{border-radius:var(--radius-lg);overflow:hidden}
.case-study-image figure,.case-study-image img{border-radius:var(--radius-lg)}
.case-study-item-content h3{font-weight:500}
.page-header-box ol li.breadcrumb-item{font-weight:400;color:rgba(255,255,255,.85)}
.page-header-box ol li.breadcrumb-item.active{color:var(--accent-color)}
@media only screen and (max-width:991px){.service-entry h2,.post-entry h2{font-size:32px}}
@media only screen and (max-width:767px){.service-entry h2,.post-entry h2{font-size:26px}.post-entry blockquote{padding:80px 22px 24px;background-position:22px 22px}}

/* ==========================================================================
   Hero classique plein écran + barre de navigation pleine largeur
   (remplace le hero « carte arrondie » : ces règles viennent en dernier)
   ========================================================================== */
header.main-header{margin-top:0;border-bottom:1px solid rgba(255,255,255,.14)}
.main-header .header-sticky{max-width:none}
.main-header .navbar{padding:24px 0}
.main-header .navbar > .container-fluid{max-width:1480px;margin:0 auto;padding:0 30px}
.main-menu .nav-menu-wrapper > ul > li > a{font-size:15px;padding:12px 15px!important;border-radius:0;position:relative}
.main-menu .nav-menu-wrapper > ul > li > a:hover,
.main-menu .nav-menu-wrapper > ul > li > a:focus{background:none;color:var(--accent-color)}
.main-menu .nav-menu-wrapper > ul > li > a.active{background:none;color:var(--white-color)}
.main-menu .nav-menu-wrapper > ul > li > a.active::before{
	content:'';
	position:absolute;
	left:15px;
	right:15px;
	bottom:4px;
	height:2px;
	border-radius:2px;
	background:var(--accent-color);
}
/* Menu déroulant « Expertises » : carte blanche */
.main-menu ul ul{
	background:var(--white-color);
	border-radius:16px;
	box-shadow:0 24px 50px -20px rgba(20,26,75,.45);
	width:270px;
	padding:8px 0!important;
}
.main-menu ul li:hover > ul{padding:8px 0!important}
.main-menu ul ul li a{color:var(--primary-color);font-size:15px;padding:11px 22px!important;border-radius:0}
.main-menu ul ul li a:hover,
.main-menu ul ul li a:focus,
.main-menu ul ul li a.active{color:var(--accent-color);background:var(--soft-bg);padding:11px 22px 11px 26px!important}

/* Hero : pleine largeur, plein écran, sans cadre */
.hero{
	width:100%;
	max-width:none;
	min-height:100vh;
	margin:-115px 0 0;
	border-radius:0;
	padding:0;
	display:flex;
}
.hero::before{
	background:linear-gradient(90deg,rgba(32,41,110,.96) 0%,rgba(32,41,110,.9) 50%,rgba(32,41,110,.78) 100%);
	opacity:1;
}
.hero .hero-section{display:flex;flex:1;padding-top:115px}
.hero .hero-section > .container-fluid{display:flex;padding:0 30px}
.hero .hero-section .row{flex:1;align-items:center}
.hero-content{padding:70px 0 80px}
.hero .section-title h1{font-size:66px;font-weight:600;line-height:1.08em;letter-spacing:-.02em}
.hero .section-title p{font-size:18px;max-width:580px}
.hero-content-list{display:block;margin-top:34px}
.hero-content-list ul li{color:var(--white-color)}
.hero-body{border-top:1px solid rgba(255,255,255,.14);margin-top:36px;padding-top:36px}
.hero .row > .col-lg-6:last-child{align-self:flex-end}
.hero-img{margin-left:60px}
.hero-img img{display:block;margin-bottom:0}

/* Pages internes : bandeau titre également pleine largeur */
.page-header{width:100%;max-width:none;margin-left:0;margin-right:0;border-radius:0}

@media only screen and (max-width:1199px){
	.hero .section-title h1{font-size:54px}
	.hero-img{margin-left:20px}
}
@media only screen and (max-width:991px){
	header.main-header{margin-top:0}
	.main-header .navbar{padding:14px 0}
	.main-header .navbar > .container-fluid{padding:0 15px}
	.hero,.page-header{width:100%;margin-left:0;margin-right:0;border-radius:0}
	.hero{margin-top:-82px;min-height:0}
	.hero .hero-section{padding-top:82px}
	.hero .hero-section > .container-fluid{padding:0 15px}
	.hero-content{padding:50px 0 30px}
	.hero .section-title h1{font-size:44px}
	.hero-img{margin:0 auto;max-width:80%}
}
@media only screen and (max-width:767px){
	.hero .section-title h1{font-size:34px}
	.hero .section-title p{font-size:16px}
	.hero-img{max-width:100%}
}

/* Champ piège anti-robots des formulaires (invisible pour les visiteurs) */
.fv-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
button[type=submit]:disabled{opacity:.6;cursor:wait}

/* ==========================================================================
   Hero mobile & tablette : plein écran, portrait en arrière-plan, texte centré
   ========================================================================== */
@media only screen and (max-width:991px){
	.hero{min-height:100vh;min-height:100svh}
	.hero .hero-section{padding-top:82px}
	.hero .hero-section .row{min-height:calc(100vh - 82px);min-height:calc(100svh - 82px);align-items:center;justify-content:center}

	/* Le portrait passe derrière le texte, calé en bas de l'écran */
	.hero .row > .col-lg-6:last-child{
		position:absolute;
		inset:0;
		z-index:1;
		padding:0;
		display:flex;
		align-items:flex-end;
		justify-content:center;
		pointer-events:none;
	}
	.hero-img{width:100%;height:100%;max-width:none;margin:0;display:flex;align-items:flex-end;justify-content:center}
	.hero-img figure{height:82%;display:flex;align-items:flex-end;justify-content:center}
	.hero-img img{width:auto;height:100%;max-width:none;aspect-ratio:auto;object-fit:contain;object-position:bottom}
	/* Voile bleu par-dessus le portrait pour garder le texte lisible */
	.hero-img::after{
		content:'';
		position:absolute;
		inset:0;
		background:linear-gradient(180deg,rgba(32,41,110,.72) 0%,rgba(32,41,110,.62) 45%,rgba(32,41,110,.9) 100%);
	}

	.hero .row > .col-lg-6:first-child{position:relative;z-index:2}
	.hero-content{padding:24px 0 40px;text-align:center}
	.hero .section-title{text-align:center}
	.hero .section-title p{margin-left:auto;margin-right:auto}
	.hero-content-list{margin-top:26px}
	.hero-content-list ul{justify-content:center;gap:10px 22px}
	.hero-content-list ul li{width:auto}
	.hero-body{justify-content:center;border-top:none;margin-top:30px;padding-top:0}
	.hero-btn{flex-direction:column;justify-content:center;gap:18px}
}
@media only screen and (max-width:767px){
	.hero .section-title h1{font-size:38px;line-height:1.1em}
	.hero .section-title h3{font-size:11px}
	.hero .section-title p{font-size:16px;max-width:340px}
	.hero-content-list ul{flex-direction:column;align-items:center;gap:8px}
	.hero-content-list ul li{font-size:15px}
	.hero-img figure{height:76%}
}
@media only screen and (max-width:380px){
	.hero .section-title h1{font-size:32px}
}

/* ==========================================================================
   Expertises : grille qui ne déborde plus + carrousel à faire glisser sur mobile
   ========================================================================== */
.fv-service-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.fv-service-card{min-width:0}
.fv-service-foot h3{overflow-wrap:anywhere}
.fv-swipe-hint{display:none}
@media only screen and (max-width:1199px){
	.fv-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media only screen and (max-width:767px){
	.fv-head h2 br{display:none}
	.fv-service-grid{
		display:flex;
		gap:14px;
		overflow-x:auto;
		scroll-snap-type:x mandatory;
		-webkit-overflow-scrolling:touch;
		overscroll-behavior-x:contain;
		scrollbar-width:none;
		margin:0 -15px;
		padding:6px 15px 10px;
		scroll-padding-left:15px;
	}
	.fv-service-grid::-webkit-scrollbar{display:none}
	.fv-service-card{flex:0 0 80%;scroll-snap-align:start}
	.fv-service-card:hover{transform:none}
	.fv-service-card figure{height:280px}
	.fv-service-icon{top:20px;left:20px;width:40px;height:40px;font-size:15px}
	.fv-service-foot{padding:16px 8px 10px 12px}
	.fv-service-foot h3{font-size:17px}
	.fv-swipe-hint{
		display:flex;
		align-items:center;
		justify-content:center;
		gap:8px;
		margin:14px 0 0;
		font-size:13px;
		color:var(--text-color);
	}
	.fv-swipe-hint i{color:var(--accent-color);animation:fvSwipe 1.6s ease-in-out infinite}
	.fv-center-btn{margin-top:26px}
}
@keyframes fvSwipe{0%,100%{transform:translateX(0)}50%{transform:translateX(-8px)}}

/* ==========================================================================
   Hero minimaliste + boutons WhatsApp en icône seule
   ========================================================================== */
.hero-body,
.hero .hero-body{border-top:none;margin-top:38px;padding-top:0}
.hero-btn{flex-direction:row;align-items:center;gap:16px}
.hero-whatsapp{
	width:54px;
	height:54px;
	flex:none;
	justify-content:center;
	gap:0;
	padding:0;
	border:none;
	border-radius:50%;
	background:#25D366;
	box-shadow:0 10px 24px -10px rgba(37,211,102,.7);
	transition:transform .3s ease,background .3s ease;
}
.hero-whatsapp i{font-size:26px;color:var(--white-color)}
.hero-whatsapp:hover{transform:translateY(-3px);background:#1EBE5B}

.whatsapp-float{
	width:58px;
	height:58px;
	padding:0;
	gap:0;
	justify-content:center;
	border-radius:50%;
}
.whatsapp-float i{font-size:30px}

@media only screen and (max-width:991px){
	.hero-btn{flex-direction:row;justify-content:center}
	.hero .hero-body{margin-top:30px}
	.hero-content{padding:20px 0 30px}
}
@media only screen and (max-width:767px){
	.whatsapp-float{width:54px;height:54px;padding:0}
	.whatsapp-float i{font-size:28px}
}
@media (prefers-reduced-motion:reduce){.fv-swipe-hint i{animation:none}}

/* Bouton flottant masqué tant que le hero (et son bouton WhatsApp) est à l’écran */
.whatsapp-float.wa-auto{opacity:0;visibility:hidden;transform:scale(.7);transition:opacity .3s ease,transform .3s ease,visibility .3s}
.whatsapp-float.wa-auto.is-visible{opacity:1;visibility:visible;transform:none}
.whatsapp-float.wa-auto.is-visible:hover{transform:translateY(-3px)}

/* ==========================================================================
   Nouvelles photos : hero (conseillère avec casque) + bandeaux des pages
   ========================================================================== */
/* Ordinateur : photo nette dans un cadre arrondi, centrée verticalement */
.hero .row > .col-lg-6:last-child{align-self:center}
.hero-img{margin:0 30px 0 auto;max-width:470px;padding:40px 0}
.hero-img figure{
	position:relative;
	border-radius:28px;
	overflow:visible;
}
.hero-img figure::before{
	content:'';
	position:absolute;
	inset:22px -22px -22px 22px;
	border:2px solid rgba(247,99,1,.55);
	border-radius:28px;
	z-index:-1;
}
.hero-img img{
	width:100%;
	height:auto;
	aspect-ratio:4/5;
	object-fit:cover;
	object-position:center top;
	border-radius:28px;
	box-shadow:0 40px 80px -30px rgba(0,0,0,.55);
	margin:0;
}

/* Mobile et tablette : la photo remplit l'écran derrière le texte */
@media only screen and (max-width:991px){
	.hero .row > .col-lg-6:last-child{align-self:stretch}
	.hero-img{max-width:none;padding:0}
	.hero-img figure{position:absolute;inset:0;height:100%;border-radius:0}
	.hero-img figure::before{display:none}
	.hero-img img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:center 15%;border-radius:0;box-shadow:none}
	.hero-img::after{
		z-index:1;
		background:linear-gradient(180deg,rgba(20,26,75,.82) 0%,rgba(32,41,110,.74) 45%,rgba(20,26,75,.93) 100%);
	}
}

/* Bandeaux des pages internes */
.page-header.ph-contact{background-image:url('../images/support-client-casque.webp');background-position:center 30%}
.page-header.ph-faq{background-image:url('../images/conseillere-casque-portrait.webp');background-position:center 20%}
.page-header.ph-communication{background-image:url('../images/reseaux-sociaux-smartphone.webp');background-position:center 30%}
.page-header.ph-formation{background-image:url('../images/formation-ordinateur.webp');background-position:center 35%}
.page-header.ph-conseil{background-image:url('../images/consultante-portrait-1.webp');background-position:center 22%}
.page-header.ph-solutions{background-image:url('../images/conseillere-casque-ordinateur.webp');background-position:center 30%}
.page-header.ph-equipe{background-image:url('../images/conseillere-casque-bureau.webp');background-position:center 30%}

/* ==========================================================================
   Accueil : la photo de la conseillère est l'unique image du hero (ordinateur)
   Léger dégradé bleu uniquement du côté du texte.
   ========================================================================== */
.hero.hero-photo{
	background:#1B2260 url('../images/hero-bg-conseillere.webp') 62% 0%/cover no-repeat;
}
.hero.hero-photo::before{
	background:
		linear-gradient(180deg,rgba(20,26,75,.6) 0%,rgba(20,26,75,0) 20%),
		linear-gradient(90deg,
		rgba(20,26,75,.93) 0%,
		rgba(32,41,110,.80) 30%,
		rgba(32,41,110,.38) 50%,
		rgba(32,41,110,0) 66%);
	opacity:1;
}
@media only screen and (min-width:992px){
	/* Plus de photo encadrée : la femme apparaît directement dans le fond */
	.hero.hero-photo .row > .col-lg-6:last-child{display:none}
	.hero.hero-photo .hero-content{max-width:620px}
}
@media only screen and (max-width:991px){
	/* Mobile inchangé : portrait plein écran + voile, géré par .hero-img */
	.hero.hero-photo{background-image:none}
}

/* Menu : tient sur une ligne entre 992 et 1199 px (bouton devis compris) */
@media only screen and (min-width:992px) and (max-width:1199px){
	.main-menu .nav-menu-wrapper{margin:0 10px}
	.main-menu .nav-menu-wrapper > ul > li > a{font-size:14px;padding:12px 9px!important}
	.main-menu .nav-menu-wrapper > ul > li > a.active::before{left:9px;right:9px}
	.header-btn .btn-default{white-space:nowrap;font-size:14px;padding:12px 56px 12px 18px}
	.header-btn .btn-default::before{width:34px;height:34px;margin-top:-17px}
}

/* ==========================================================================
   Hero mobile : photo pleine largeur, visage visible en haut, texte en bas
   ========================================================================== */
@media only screen and (max-width:991px){
	.hero-img{margin:0;width:100%}
	.hero-img figure,.hero-img img{width:100%}
	.hero-img img{object-position:center top}
	/* Voile : léger sur le visage, dense sous le texte, discret sous le menu */
	.hero-img::after{
		background:linear-gradient(180deg,
			rgba(20,26,75,.55) 0%,
			rgba(32,41,110,.12) 22%,
			rgba(32,41,110,.18) 40%,
			rgba(32,41,110,.72) 58%,
			rgba(20,26,75,.95) 78%);
	}
	.hero .hero-section .row{align-items:flex-end}
	.hero-content{padding:0 0 64px}
}
@media only screen and (max-width:767px){
	.hero-content{padding-bottom:48px}
}
/* Téléphones à écran court : le texte remonte, le voile s'assombrit plus tôt */
@media only screen and (max-width:767px) and (max-height:720px){
	.hero-img::after{
		background:linear-gradient(180deg,
			rgba(20,26,75,.55) 0%,
			rgba(32,41,110,.12) 18%,
			rgba(32,41,110,.55) 38%,
			rgba(20,26,75,.9) 56%,
			rgba(20,26,75,.96) 100%);
	}
	.hero-content{padding-bottom:36px}
}

/* Typographie française : pas de Majuscule À Chaque Mot (le thème d'origine forçait capitalize) */
.btn-default,
.readmore-btn,
.main-menu ul li a,
.slicknav_nav .slicknav_row,
.slicknav_nav li a,
.hero-body .video-play-button p,
.section-footer-text span,
.section-footer-text p a,
.work-step-nav ul li .nav-link,
.fact-counter-item p,
.pricing-header h3,
.pricing-header h2 sub,
.pricing-body ul li,
.team-content h3,
.team-content p,
.author-content h3,
.appointment-form form .form-control::placeholder,
.footer-links h3,
.footer-links ul li,
.page-header-box ol li.breadcrumb-item,
.years-expertise-box p,
.page-catagory-list h3,
.page-catagory-list ul li a,
.tag-links,
.post-tags .tag-links a,
.case-study-category-content h3,
.case-study-category-content p,
.member-content-body ul li{text-transform:none}
