/* ==========================================================
   FOCUS VENTURES — PAGE PAYS · feuille de style
   Ne pas supprimer ce bloc : il donne son apparence à toute la page.
   ========================================================== */

/* ---------- Jetons ---------- */
.fvp{
  --fv-ink:#1a1a1a; --fv-muted:#6f6f6f; --fv-soft:#4a4a4a;
  --fv-line:#d9d6d0; --fv-horizon:#8a8a8a;
  --fv-ivoire:#f7f5f1; --fv-sable:#ede6dc; --fv-tint:#ffe9e1;
  --fv-orange:#fb4c17; --fv-laterite:#c93a0c; --fv-nuit:#121212;
  --fv-bg:#ffffff;
  --fv-sans:"Inter Tight","Helvetica Neue",Arial,sans-serif;
  --fv-serif:Newsreader,Georgia,"Times New Roman",serif;
  color:var(--fv-ink);
}
.fvp.fv-dark{ --fv-ink:#f4f2ee; --fv-muted:#a3a3a3; --fv-bg:#121212; }

/* ---------- Remise à zéro (protège la page des styles du thème) ---------- */
.fvp, .fvp :where(*:not(i):not(svg):not(path):not(circle)){ font-family:var(--fv-sans) !important; }
.fvp .fv-serif, .fvp .fv-serif *{ font-family:var(--fv-serif) !important; font-style:italic !important; }
.fvp .elementor-heading-title,
.fvp .elementor-widget-text-editor,
.fvp .elementor-widget-text-editor p{
  margin:0 !important; padding:0 !important; border:0 !important; background:none !important;
  text-transform:none !important; letter-spacing:normal !important; text-align:inherit;
  color:inherit !important; font-style:normal; font-weight:400; text-shadow:none !important;
}
.fvp .elementor-widget-text-editor p + p{ margin-top:1em !important; }
.fvp .elementor-heading-title{ display:block; }
.fvp .elementor-button-wrapper{ display:flex !important; line-height:0; }
.fvp :where(span,strong,b,em,i,small){ letter-spacing:inherit !important; text-transform:inherit !important; }
.fvp .fv-focal{ color:var(--fv-orange) !important; font:inherit !important; }

/* Conteneurs : marges internes et écarts à zéro par défaut, puis réglés ci-dessous */
.fvp, .fvp .e-con{
  --padding-top:0px !important; --padding-right:0px !important; --padding-bottom:0px !important; --padding-left:0px !important;
  --gap:0px !important; --row-gap:0px !important; --column-gap:0px !important;
  --min-height:0px !important;
}
.fvp .e-con{ --width:100% !important; }

/* Mise en page commune des sections */
.fvp{ --content-width:min(100%, 1136px) !important; --padding-left:32px !important; --padding-right:32px !important; background-color:var(--fv-bg); }
.fvp.fv-dark{ background-color:#121212 !important; color:#f4f2ee; }
.fvp.fv-alt{ background-color:#f7f5f1 !important; }
.fvp.fv-topline{ border-top:1px solid #d9d6d0 !important; }

/* Aides de mise en page */
.fvp .fv-row{ --flex-direction:row !important; --flex-wrap:wrap !important; --align-items:center !important; }
.fvp .fv-col{ --flex-direction:column !important; --flex-wrap:nowrap !important; }
.fvp .fv-auto{ --width:auto !important; }

/* ---------- Typographie ---------- */
.fvp .fv-eyebrow :is(.elementor-heading-title,p){ font-size:12px !important; line-height:16px !important; letter-spacing:.18em !important; font-weight:500 !important; text-transform:uppercase !important; color:var(--fv-muted) !important; }
.fvp .fv-horizon .elementor-heading-title{ display:flex !important; align-items:center; gap:12px; }
.fvp .fv-horizon .elementor-heading-title::after{ content:""; flex:1; height:1px; background:#8a8a8a; }
.fvp .fv-h1 .elementor-heading-title{ font-size:64px !important; line-height:68px !important; font-weight:300 !important; letter-spacing:-.025em !important; color:var(--fv-ink) !important; }
.fvp .fv-h2 .elementor-heading-title{ font-size:40px !important; line-height:46px !important; font-weight:300 !important; letter-spacing:-.02em !important; color:var(--fv-ink) !important; }
.fvp .fv-h2s .elementor-heading-title{ font-size:30px !important; line-height:36px !important; font-weight:300 !important; color:var(--fv-ink) !important; }
.fvp .fv-h2xl .elementor-heading-title{ font-size:48px !important; line-height:54px !important; font-weight:300 !important; letter-spacing:-.02em !important; color:var(--fv-ink) !important; }
.fvp .fv-h3 .elementor-heading-title{ font-size:18px !important; line-height:24px !important; font-weight:500 !important; color:var(--fv-ink) !important; }
.fvp .fv-lede :is(p,.elementor-heading-title){ font-size:19px !important; line-height:30px !important; font-weight:300 !important; color:var(--fv-ink) !important; }
.fvp .fv-lede{ max-width:560px !important; }
.fvp .fv-body-lg :is(p,.elementor-heading-title){ font-size:17px !important; line-height:28px !important; font-weight:300 !important; color:var(--fv-ink) !important; }
.fvp .fv-body :is(p,.elementor-heading-title){ font-size:15px !important; line-height:26px !important; font-weight:400 !important; color:var(--fv-ink) !important; }
.fvp .fv-body-muted :is(p,.elementor-heading-title){ font-size:15px !important; line-height:24px !important; color:var(--fv-muted) !important; }
.fvp .fv-body-soft :is(p,.elementor-heading-title){ font-size:15px !important; line-height:24px !important; color:#4a4a4a !important; }
.fvp .fv-small :is(p,.elementor-heading-title){ font-size:13px !important; line-height:normal !important; color:var(--fv-muted) !important; }
.fvp .fv-small18 :is(p,.elementor-heading-title){ line-height:18px !important; }
.fvp a{ text-decoration:none; }
.fvp .fv-link a, .fvp .fv-crumb a, .fvp .fv-subnav a{ box-shadow:none !important; }
.fvp .fv-link :is(p,a){ font-size:15px !important; font-weight:500 !important; color:#c93a0c !important; }
.fvp .fv-link a{ text-decoration:underline !important; }
.fvp .fv-link p{ line-height:normal !important; }
.fvp .fv-box-head .fv-eyebrow .elementor-heading-title{ line-height:20px !important; }

/* ---------- 0 · Styles (bloc technique) ---------- */
.fvp.fv-styles{ display:none !important; }
body.elementor-editor-active .fvp.fv-styles{ display:flex !important; background:#ffe9e1 !important; --padding-top:6px !important; --padding-bottom:6px !important; }
.fv-styles-label{ display:none; }
body.elementor-editor-active .fv-styles-label{ display:block; font:500 11px/16px var(--fv-sans); letter-spacing:.14em; text-transform:uppercase; color:#c93a0c; }

/* ---------- 1 · Fil d'Ariane ---------- */
.fvp.fv-crumbs{ background-color:#f7f5f1 !important; border-bottom:1px solid #d9d6d0 !important; --padding-top:14px !important; --padding-bottom:14px !important; --flex-direction:row !important; --flex-wrap:wrap !important; --justify-content:space-between !important; --align-items:center !important; --gap:16px !important; --row-gap:16px !important; --column-gap:16px !important; }
.fvp .fv-crumb p{ font-size:13px !important; line-height:normal !important; color:#6f6f6f !important; display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.fvp .fv-crumb a{ color:#6f6f6f !important; text-decoration:none !important; font-weight:400 !important; }
.fvp .fv-crumb strong, .fvp .fv-crumb b{ color:#1a1a1a !important; font-weight:400 !important; }
.fvp .fv-subnav p{ font-size:13px !important; line-height:normal !important; display:flex; flex-wrap:wrap; gap:20px; }
.fvp .fv-subnav a{ color:#6f6f6f !important; text-decoration:none !important; font-weight:400 !important; }
.fvp .fv-subnav a:first-child{ color:#1a1a1a !important; font-weight:500 !important; }

/* ---------- 2 · Hero ---------- */
.fvp.fv-hero{ --overflow:hidden !important; overflow:hidden !important; --padding-top:72px !important; --padding-bottom:88px !important; --flex-direction:row !important; --flex-wrap:wrap !important; --align-items:center !important; --gap:56px !important; --row-gap:56px !important; --column-gap:56px !important; }
.fvp .fv-hero-left{ --width:auto !important; --flex-grow:1 !important; --flex-shrink:1 !important; --flex-basis:520px !important; --flex-direction:column !important; --gap:28px !important; --row-gap:28px !important; --column-gap:28px !important; }
.fvp .fv-eyebrow-row{ --flex-direction:row !important; --flex-wrap:wrap !important; --align-items:center !important; --gap:14px !important; --row-gap:14px !important; --column-gap:14px !important; }
.fvp .fv-flag svg{ display:block; width:42px; height:28px; border:1px solid #d9d6d0; box-sizing:border-box; }
.fvp .fv-hero-right{ --width:auto !important; --flex-grow:1 !important; --flex-shrink:1 !important; --flex-basis:420px !important; --position:relative !important; }
.fvp .fv-photo{ aspect-ratio:4 / 5; --position:relative !important; --flex-direction:column !important; --justify-content:flex-end !important; --align-items:flex-start !important; --padding-top:24px !important; --padding-right:24px !important; --padding-bottom:24px !important; --padding-left:24px !important; --overflow:visible !important; overflow:visible !important; background-color:#ede6dc; background-size:cover; background-position:center center; }
.fvp .fv-photo-caption p{ font-size:12px !important; line-height:18px !important; letter-spacing:.12em !important; text-transform:uppercase !important; color:#6f6f6f !important; max-width:260px; }
.fvp .fv-photo-caption{ position:relative; z-index:1; }
.fvp .fv-arc{ position:absolute !important; top:-40px; right:-70px; width:300px !important; height:300px; max-width:none !important; pointer-events:none; z-index:2; }
.fvp .fv-arc svg{ display:block; width:300px; height:300px; }
.fvp .fv-timecard{ --position:absolute !important; left:-28px; bottom:40px; --width:auto !important; min-width:220px; background:#ffffff !important; border:1px solid #d9d6d0 !important; --padding-top:20px !important; --padding-bottom:20px !important; --padding-left:24px !important; --padding-right:24px !important; --flex-direction:column !important; --gap:6px !important; --row-gap:6px !important; --column-gap:6px !important; z-index:3; }
.fvp .fv-time .elementor-heading-title{ font-size:34px !important; line-height:40px !important; font-weight:300 !important; color:#1a1a1a !important; }
.fvp .fv-time-sub{ font-size:18px; color:#6f6f6f; }


/* Boutons */
.fvp .fv-cta-row{ --flex-direction:row !important; --flex-wrap:wrap !important; --align-items:center !important; --gap:24px !important; --row-gap:24px !important; --column-gap:24px !important; }
.fvp .fv-btn .elementor-button{
  display:inline-flex !important; align-items:center; justify-content:center; box-sizing:border-box;
  background:#c93a0c !important; color:#ffffff !important; border:0 !important; border-radius:2px !important; box-shadow:none !important;
  font-size:15px !important; line-height:normal !important; font-weight:500 !important; letter-spacing:normal !important; text-transform:none !important;
  padding:14px 24px !important; min-height:48px; text-decoration:none !important; fill:currentColor;
}
.fvp .fv-btn .elementor-button:hover, .fvp .fv-btn .elementor-button:focus{ background:#a52f09 !important; color:#ffffff !important; }
.fvp .fv-btn .elementor-button :is(span){ color:inherit !important; font:inherit !important; }
.fvp .fv-btn-orange .elementor-button{ background:#fb4c17 !important; color:#121212 !important; font-size:16px !important; padding:16px 24px !important; min-height:52px; width:100%; }
.fvp .fv-btn-orange .elementor-button:hover, .fvp .fv-btn-orange .elementor-button:focus{ background:#ff6a3d !important; color:#121212 !important; }
.fvp .fv-btn-link .elementor-button{ background:transparent !important; color:#c93a0c !important; padding:0 !important; min-height:44px; text-decoration:underline !important; }
.fvp .fv-btn-link .elementor-button:hover, .fvp .fv-btn-link .elementor-button:focus{ background:transparent !important; color:#1a1a1a !important; }
.fvp .fv-btn-link .elementor-button-text{ text-decoration:underline !important; display:inline-flex; align-items:center; gap:8px; }
.fvp .fv-icon-download .elementor-button-text::before{
  content:""; width:18px; height:18px; flex:none; background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='square'%3E%3Cpath d='M12 4v11M7 10l5 5 5-5M5 20h14'/%3E%3C/svg%3E") center / 18px 18px no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='square'%3E%3Cpath d='M12 4v11M7 10l5 5 5-5M5 20h14'/%3E%3C/svg%3E") center / 18px 18px no-repeat;
}

/* ---------- 3 · Fiche d'identité ---------- */
.fvp.fv-facts{ --padding-top:72px !important; --padding-bottom:72px !important; --flex-direction:column !important; --gap:40px !important; --row-gap:40px !important; --column-gap:40px !important; }
.fvp .fv-facts-grid{ --display:grid !important; display:grid !important; grid-template-columns:repeat(auto-fit, minmax(230px, 1fr)) !important; grid-template-rows:none !important; --e-con-grid-template-columns:repeat(auto-fit, minmax(230px, 1fr)) !important; border-top:1px solid #d9d6d0 !important; border-left:1px solid #d9d6d0 !important; }
.fvp .fv-fact{ --padding-top:24px !important; --padding-right:24px !important; --padding-bottom:24px !important; --padding-left:24px !important; --flex-direction:column !important; --gap:8px !important; --row-gap:8px !important; --column-gap:8px !important; border-right:1px solid #d9d6d0 !important; border-bottom:1px solid #d9d6d0 !important; }
.fvp .fv-fact-label .elementor-heading-title{ font-size:12px !important; line-height:normal !important; letter-spacing:.14em !important; font-weight:500 !important; text-transform:uppercase !important; color:#6f6f6f !important; }
.fvp .fv-fact-value .elementor-heading-title{ font-size:22px !important; line-height:28px !important; font-weight:300 !important; color:#1a1a1a !important; }
.fvp .fv-year{ font-size:13px; color:#6f6f6f; }

/* ---------- 4 · Économie ---------- */
.fvp.fv-macro{ --padding-top:72px !important; --padding-bottom:72px !important; --flex-direction:column !important; --gap:40px !important; --row-gap:40px !important; --column-gap:40px !important; }
.fvp .fv-head-row{ --flex-direction:row !important; --flex-wrap:wrap !important; --justify-content:space-between !important; --align-items:flex-end !important; --gap:16px !important; --row-gap:16px !important; --column-gap:16px !important; }
.fvp .fv-head{ --width:auto !important; --flex-direction:column !important; --gap:12px !important; --row-gap:12px !important; --column-gap:12px !important; }
.fvp .fv-head-720{ max-width:720px !important; }
.fvp .fv-head-680{ max-width:680px !important; }
.fvp .fv-kpis{ --display:grid !important; display:grid !important; grid-template-columns:repeat(auto-fit, minmax(240px, 1fr)) !important; grid-template-rows:none !important; gap:16px !important; }
.fvp .fv-kpi{ background:#ffffff !important; --padding-top:28px !important; --padding-right:28px !important; --padding-bottom:28px !important; --padding-left:28px !important; --flex-direction:column !important; --gap:10px !important; --row-gap:10px !important; --column-gap:10px !important; }
.fvp .fv-kpi-num .elementor-heading-title{ font-size:52px !important; line-height:56px !important; font-weight:300 !important; letter-spacing:-.02em !important; color:#1a1a1a !important; }
.fvp .fv-unit{ font-size:22px; }
.fvp .fv-kpi-label .elementor-heading-title{ font-size:15px !important; line-height:normal !important; color:#1a1a1a !important; }
.fvp .fv-assets{ --display:grid !important; display:grid !important; grid-template-columns:repeat(auto-fit, minmax(300px, 1fr)) !important; grid-template-rows:none !important; gap:32px !important; --padding-top:16px !important; }
.fvp .fv-asset{ --flex-direction:row !important; --flex-wrap:nowrap !important; --align-items:flex-start !important; --gap:16px !important; --row-gap:16px !important; --column-gap:16px !important; }
.fvp .fv-icon{ flex:none !important; width:28px; }
.fvp .fv-icon svg{ display:block; width:28px; height:28px; }
.fvp .fv-asset-text{ --width:auto !important; --flex-grow:1 !important; --flex-shrink:1 !important; --flex-basis:0% !important; --flex-direction:column !important; --gap:6px !important; --row-gap:6px !important; --column-gap:6px !important; }

/* ---------- 5 · Présence ---------- */
.fvp.fv-presence{ --padding-top:88px !important; --padding-bottom:88px !important; --flex-direction:row !important; --flex-wrap:wrap !important; --align-items:stretch !important; --gap:56px !important; --row-gap:56px !important; --column-gap:56px !important; }
.fvp .fv-half{ --width:auto !important; --flex-grow:1 !important; --flex-shrink:1 !important; --flex-basis:420px !important; --flex-direction:column !important; }
.fvp .fv-gap24{ --gap:24px !important; --row-gap:24px !important; --column-gap:24px !important; }
.fvp .fv-stats{ --display:grid !important; display:grid !important; grid-template-columns:repeat(3, minmax(0, 1fr)) !important; grid-template-rows:none !important; gap:16px !important; --padding-top:8px !important; }
.fvp .fv-stat{ border-top:1px solid #8a8a8a !important; --padding-top:16px !important; --flex-direction:column !important; --gap:4px !important; --row-gap:4px !important; --column-gap:4px !important; }
.fvp .fv-stat-num .elementor-heading-title{ font-size:44px !important; line-height:48px !important; font-weight:300 !important; color:#1a1a1a !important; }
.fvp .fv-box{ border:1px solid #d9d6d0 !important; }

.fvp .fv-box{ --flex-direction:column !important; background:#ffffff; }
.fvp .fv-box-head{ background:#f7f5f1 !important; border-bottom:1px solid #d9d6d0 !important; --padding-top:20px !important; --padding-bottom:20px !important; --padding-left:28px !important; --padding-right:28px !important; }
.fvp .fv-approach{ --flex-direction:row !important; --flex-wrap:nowrap !important; --align-items:flex-start !important; --gap:16px !important; --row-gap:16px !important; --column-gap:16px !important; --padding-top:24px !important; --padding-bottom:24px !important; --padding-left:28px !important; --padding-right:28px !important; }
.fvp .fv-approach + .fv-approach{ border-top:1px solid #d9d6d0 !important; }
.fvp .fv-approach-num{ flex:none !important; width:48px !important; }
.fvp .fv-approach-num .elementor-heading-title{ font-size:26px !important; line-height:30px !important; font-weight:400 !important; color:#6f6f6f !important; }
.fvp .fv-approach-last .elementor-heading-title{ color:#fb4c17 !important; }
.fvp .fv-approach-text{ --width:auto !important; --flex-grow:1 !important; --flex-shrink:1 !important; --flex-basis:0% !important; --flex-direction:column !important; --gap:6px !important; --row-gap:6px !important; --column-gap:6px !important; }

/* ---------- 6 · Services ---------- */
.fvp.fv-services{ --padding-top:88px !important; --padding-bottom:88px !important; --flex-direction:column !important; --gap:40px !important; --row-gap:40px !important; --column-gap:40px !important; }
.fvp .fv-cards{ --display:grid !important; display:grid !important; grid-template-columns:repeat(auto-fit, minmax(320px, 1fr)) !important; grid-template-rows:none !important; gap:16px !important; }
.fvp .fv-card{ background:#f7f5f1 !important; color:#1a1a1a !important; text-decoration:none !important; min-height:250px; --padding-top:28px !important; --padding-right:28px !important; --padding-bottom:28px !important; --padding-left:28px !important; --flex-direction:column !important; --gap:14px !important; --row-gap:14px !important; --column-gap:14px !important; }
.fvp .fv-card:hover{ background:#ede6dc !important; }
.fvp .fv-tags{ --flex-direction:row !important; --flex-wrap:wrap !important; --gap:6px !important; --row-gap:6px !important; --column-gap:6px !important; }
.fvp .fv-tag .elementor-heading-title{ display:block !important; font-size:11px !important; line-height:normal !important; letter-spacing:.16em !important; font-weight:500 !important; text-transform:uppercase !important; padding:4px 8px !important; color:#c93a0c !important; background:#ffe9e1 !important; }
.fvp .fv-tag-advise .elementor-heading-title{ color:#4a4a4a !important; background:#ede6dc !important; }
.fvp .fv-card-title .elementor-heading-title{ font-size:22px !important; line-height:28px !important; font-weight:400 !important; color:#1a1a1a !important; }
.fvp .fv-grow{ flex-grow:1 !important; }
.fvp .fv-card-foot{ --flex-direction:row !important; --flex-wrap:nowrap !important; --justify-content:space-between !important; --align-items:baseline !important; --gap:12px !important; --row-gap:12px !important; --column-gap:12px !important; }
.fvp .fv-explore .elementor-heading-title{ font-size:13px !important; line-height:normal !important; font-weight:500 !important; color:#c93a0c !important; }

/* ---------- 7 · Repères terrain ---------- */
.fvp.fv-steps-sec{ --padding-top:88px !important; --padding-bottom:88px !important; --flex-direction:column !important; --gap:48px !important; --row-gap:48px !important; --column-gap:48px !important; }
.fvp .fv-head-row-24{ --gap:24px !important; --row-gap:24px !important; --column-gap:24px !important; }
.fvp .fv-note{ max-width:320px !important; }
.fvp .fv-steps{ --display:grid !important; display:grid !important; grid-template-columns:repeat(auto-fit, minmax(190px, 1fr)) !important; grid-template-rows:none !important; gap:0 !important; }
.fvp .fv-step{ border-top:1px solid #8a8a8a !important; --padding-top:24px !important; --padding-right:20px !important; --flex-direction:column !important; --gap:10px !important; --row-gap:10px !important; --column-gap:10px !important; }
.fvp .fv-step-num .elementor-heading-title{ font-size:30px !important; line-height:normal !important; font-weight:400 !important; color:#a3a3a3 !important; }
.fvp .fv-step-title .elementor-heading-title{ font-size:17px !important; line-height:24px !important; font-weight:500 !important; color:#f4f2ee !important; }
.fvp .fv-step-text p{ font-size:14px !important; line-height:22px !important; color:#a3a3a3 !important; }
.fvp .fv-step-time p{ font-size:13px !important; line-height:normal !important; color:#f4f2ee !important; }
.fvp .fv-step-final{ border-top-color:#fb4c17 !important; }
.fvp .fv-step-final .fv-step-num .elementor-heading-title{ color:#fb4c17 !important; }

/* ---------- 8 · Missions ---------- */
.fvp.fv-missions{ --padding-top:88px !important; --padding-bottom:88px !important; --flex-direction:column !important; --gap:40px !important; --row-gap:40px !important; --column-gap:40px !important; }
.fvp .fv-mgrid{ --display:grid !important; display:grid !important; grid-template-columns:repeat(auto-fit, minmax(320px, 1fr)) !important; grid-template-rows:none !important; gap:32px !important; }
.fvp .fv-mission{ --flex-direction:column !important; --gap:14px !important; --row-gap:14px !important; --column-gap:14px !important; }
.fvp .fv-route .elementor-heading-title{ font-size:13px !important; line-height:normal !important; font-weight:500 !important; letter-spacing:.08em !important; text-transform:uppercase !important; color:#6f6f6f !important; }
.fvp .fv-mission-title .elementor-heading-title{ font-size:22px !important; line-height:30px !important; font-weight:300 !important; color:#1a1a1a !important; }
.fvp .fv-mtags .elementor-heading-title{ font-size:12px !important; line-height:normal !important; letter-spacing:.16em !important; font-weight:500 !important; text-transform:uppercase !important; color:#c93a0c !important; }

/* ---------- 9 · Conviction ---------- */
.fvp.fv-quote-sec{ --overflow:hidden !important; overflow:hidden !important; --position:relative !important; --content-width:min(100%, 836px) !important; --padding-top:96px !important; --padding-bottom:96px !important; --flex-direction:column !important; --align-items:center !important; --gap:24px !important; --row-gap:24px !important; --column-gap:24px !important; text-align:center; }
.fvp.fv-quote-sec > .e-con-inner{ position:static !important; text-align:center; }
.fvp .fv-waves{ position:absolute !important; left:-120px; top:50%; transform:translateY(-50%); width:420px !important; height:420px; max-width:none !important; pointer-events:none; z-index:0; }
.fvp .fv-waves svg{ display:block; width:420px; height:420px; }
.fvp .fv-quote{ position:relative; z-index:1; }
.fvp .fv-quote .elementor-heading-title{ font-size:40px !important; line-height:50px !important; font-weight:300 !important; color:#1a1a1a !important; text-align:center !important; }
.fvp.fv-quote-sec .fv-eyebrow{ position:relative; z-index:1; }

/* ---------- 10 · Autres marchés ---------- */
.fvp.fv-markets{ --padding-top:72px !important; --padding-bottom:72px !important; --flex-direction:row !important; --flex-wrap:wrap !important; --justify-content:space-between !important; --align-items:flex-start !important; --gap:40px !important; --row-gap:40px !important; --column-gap:40px !important; }
.fvp .fv-mk-left{ --width:auto !important; --flex-grow:1 !important; --flex-shrink:1 !important; --flex-basis:320px !important; --flex-direction:column !important; --gap:12px !important; --row-gap:12px !important; --column-gap:12px !important; }
.fvp .fv-mk-right{ --width:auto !important; --flex-grow:2 !important; --flex-shrink:1 !important; --flex-basis:520px !important; --flex-direction:row !important; --flex-wrap:wrap !important; --align-items:center !important; --justify-content:flex-end !important; align-self:center !important; --gap:12px !important; --row-gap:12px !important; --column-gap:12px !important; }
.fvp .fv-chip .elementor-button{ display:inline-flex !important; align-items:center; box-sizing:border-box; min-height:44px; padding:10px 18px !important; background:transparent !important; color:#1a1a1a !important; border:1px solid #1a1a1a !important; border-radius:0 !important; box-shadow:none !important; font-size:15px !important; line-height:normal !important; font-weight:400 !important; letter-spacing:normal !important; text-transform:none !important; text-decoration:none !important; }
.fvp .fv-chip .elementor-button:hover, .fvp .fv-chip .elementor-button:focus{ background:#1a1a1a !important; color:#ffffff !important; }
.fvp .fv-chip .elementor-button span{ color:inherit !important; font:inherit !important; }

/* ---------- 11 · Appel à l'action ---------- */
.fvp.fv-cta{ --padding-top:88px !important; --padding-bottom:88px !important; --flex-direction:row !important; --flex-wrap:wrap !important; --justify-content:space-between !important; --align-items:center !important; --gap:48px !important; --row-gap:48px !important; --column-gap:48px !important; }
.fvp .fv-cta-left{ --width:auto !important; --flex-grow:1 !important; --flex-shrink:1 !important; --flex-basis:520px !important; --flex-direction:column !important; --gap:20px !important; --row-gap:20px !important; --column-gap:20px !important; }
.fvp .fv-cta-right{ --width:auto !important; --flex-grow:0 !important; --flex-shrink:1 !important; --flex-basis:320px !important; --flex-direction:column !important; --gap:14px !important; --row-gap:14px !important; --column-gap:14px !important; }
.fvp .fv-cta-lede p{ font-size:18px !important; line-height:28px !important; font-weight:300 !important; color:#d4d1cb !important; }
.fvp .fv-center p{ text-align:center !important; }
.fvp .fv-contact :is(p,.elementor-heading-title){ font-size:14px !important; color:#a3a3a3 !important; }

/* Accessibilité : focus clavier */
.fvp a:focus-visible, .fvp .elementor-button:focus-visible{ outline:2px solid #1a1a1a !important; outline-offset:2px; }
.fvp.fv-dark a:focus-visible, .fvp.fv-dark .elementor-button:focus-visible{ outline-color:#f4f2ee !important; }

/* ---------- Téléphone ---------- */
@media (max-width:767px){
  .fvp{ --padding-left:20px !important; --padding-right:20px !important; }
  .fvp.fv-hero{ --padding-top:48px !important; --padding-bottom:64px !important; --gap:40px !important; --row-gap:40px !important; }
  .fvp.fv-facts, .fvp.fv-macro, .fvp.fv-markets{ --padding-top:56px !important; --padding-bottom:56px !important; }
  .fvp.fv-presence, .fvp.fv-services, .fvp.fv-steps-sec, .fvp.fv-missions, .fvp.fv-cta{ --padding-top:64px !important; --padding-bottom:64px !important; }
  .fvp.fv-quote-sec{ --padding-top:72px !important; --padding-bottom:72px !important; }
  .fvp .fv-hero-left, .fvp .fv-hero-right, .fvp .fv-half, .fvp .fv-mk-left, .fvp .fv-mk-right, .fvp .fv-cta-left, .fvp .fv-cta-right{ --flex-basis:100% !important; }
  .fvp .fv-h1 .elementor-heading-title{ font-size:42px !important; line-height:46px !important; }
  .fvp .fv-h2 .elementor-heading-title{ font-size:30px !important; line-height:36px !important; }
  .fvp .fv-h2xl .elementor-heading-title{ font-size:34px !important; line-height:40px !important; }
  .fvp .fv-quote .elementor-heading-title{ font-size:28px !important; line-height:36px !important; }
  .fvp .fv-kpi-num .elementor-heading-title{ font-size:42px !important; line-height:48px !important; }
  .fvp .fv-lede :is(p,.elementor-heading-title){ font-size:17px !important; line-height:27px !important; }
  .fvp .fv-timecard{ left:16px; bottom:16px; }
  .fvp .fv-arc{ top:-30px; right:-60px; width:220px !important; height:220px; }
  .fvp .fv-arc svg{ width:220px; height:220px; }
  .fvp .fv-cards, .fvp .fv-mgrid, .fvp .fv-assets{ grid-template-columns:minmax(0,1fr) !important; }
  .fvp .fv-card-foot{ --flex-wrap:wrap !important; }
  .fvp .fv-mk-right{ --justify-content:flex-start !important; }
  .fvp .fv-approach, .fvp .fv-box-head{ --padding-left:20px !important; --padding-right:20px !important; }
  .fvp .fv-facts-grid{ grid-template-columns:repeat(2, minmax(0,1fr)) !important; }
  .fvp .fv-fact{ --padding-top:18px !important; --padding-right:16px !important; --padding-bottom:18px !important; --padding-left:16px !important; }
  .fvp .fv-fact-value .elementor-heading-title{ font-size:19px !important; line-height:25px !important; }
  .fvp .fv-step{ --padding-bottom:24px !important; }
  .fvp .fv-waves{ left:-250px; opacity:.6; }
}


/* ==========================================================
   SOUS-PAGE SERVICE · styles complémentaires
   ========================================================== */

/* Sous-menu : l'élément actif porte la classe fv-active */
.fvp .fv-subnav-sub a:first-child{ color:#6f6f6f !important; font-weight:400 !important; }
.fvp .fv-subnav a.fv-active, .fvp .fv-subnav-sub a.fv-active{ color:#1a1a1a !important; font-weight:500 !important; padding-bottom:2px; border-bottom:1px solid #fb4c17 !important; }

/* Titres et textes propres à la sous-page */
.fvp .fv-h1s .elementor-heading-title{ font-size:60px !important; line-height:64px !important; font-weight:300 !important; letter-spacing:-.025em !important; color:var(--fv-ink) !important; }
.fvp .fv-h2m .elementor-heading-title{ font-size:34px !important; line-height:40px !important; font-weight:300 !important; letter-spacing:-.015em !important; color:var(--fv-ink) !important; }
.fvp .fv-lede-wide{ max-width:580px !important; }
.fvp .fv-eyebrow-soft :is(.elementor-heading-title,p){ color:#4a4a4a !important; }
.fvp .fv-on-dark-muted :is(.elementor-heading-title,p){ color:#a3a3a3 !important; }
.fvp .fv-note20 :is(.elementor-heading-title,p){ line-height:20px !important; }
.fvp .fv-soft :is(.elementor-heading-title,p){ color:#4a4a4a !important; }
.fvp .fv-mw360{ max-width:360px !important; }
.fvp .fv-mw720{ max-width:720px !important; }

/* ---------- Hero service ---------- */
.fvp.fv-shero{ --overflow:hidden !important; overflow:hidden !important; --padding-top:72px !important; --padding-bottom:80px !important; --flex-direction:row !important; --flex-wrap:wrap !important; --align-items:flex-start !important; --gap:56px !important; --row-gap:56px !important; --column-gap:56px !important; }
.fvp.fv-shero > .e-con-inner{ position:static !important; }
.fvp .fv-hero-waves{ position:absolute !important; right:-180px; top:-120px; width:560px !important; height:560px; max-width:none !important; pointer-events:none; z-index:0; }
.fvp .fv-hero-waves svg{ display:block; width:560px; height:560px; }
.fvp .fv-shero-left{ --width:auto !important; --flex-grow:1 !important; --flex-shrink:1 !important; --flex-basis:560px !important; --flex-direction:column !important; --gap:28px !important; --row-gap:28px !important; --column-gap:28px !important; z-index:1; }
.fvp .fv-flag-sm svg{ display:block; width:30px; height:20px; border:1px solid #d9d6d0; box-sizing:border-box; }
.fvp .fv-keyfacts{ --flex-direction:row !important; --flex-wrap:wrap !important; border-top:1px solid #8a8a8a !important; --padding-top:4px !important; max-width:640px !important; }
.fvp .fv-keyfact{ --width:auto !important; --flex-grow:1 !important; --flex-shrink:1 !important; --flex-basis:180px !important; --flex-direction:column !important; --gap:4px !important; --row-gap:4px !important; --column-gap:4px !important; --padding-top:16px !important; --padding-right:24px !important; }
.fvp .fv-keyfact:last-child{ --padding-right:0px !important; }
.fvp .fv-keyfact-label .elementor-heading-title{ font-size:12px !important; line-height:normal !important; letter-spacing:.14em !important; font-weight:500 !important; text-transform:uppercase !important; color:#6f6f6f !important; }
.fvp .fv-keyfact-value .elementor-heading-title{ font-size:26px !important; line-height:32px !important; font-weight:300 !important; color:#1a1a1a !important; }
.fvp .fv-keyfact-unit{ font-size:15px; color:#6f6f6f; }
.fvp .fv-cta-row-pt{ --padding-top:4px !important; }

.fvp .fv-incl{ --width:auto !important; --flex-grow:1 !important; --flex-shrink:1 !important; --flex-basis:380px !important; --flex-direction:column !important; --gap:22px !important; --row-gap:22px !important; --column-gap:22px !important; --padding-top:32px !important; --padding-right:32px !important; --padding-bottom:32px !important; --padding-left:32px !important; background:#121212 !important; color:#f4f2ee; z-index:1; }
.fvp .fv-incl-head{ --flex-direction:row !important; --flex-wrap:nowrap !important; --justify-content:space-between !important; --align-items:baseline !important; --gap:12px !important; --row-gap:12px !important; --column-gap:12px !important; }
.fvp .fv-incl-tag .elementor-heading-title{ font-size:18px !important; line-height:normal !important; color:#a3a3a3 !important; }
.fvp .fv-incl-list ul{ list-style:none !important; margin:0 !important; padding:0 !important; }
.fvp .fv-incl-list li{ display:flex; gap:14px; align-items:flex-start; margin:0 !important; padding:14px 0 !important; border-top:1px solid #3a3a3a; font-size:15px !important; line-height:23px !important; color:#f4f2ee !important; list-style:none !important; }
.fvp .fv-incl-list li:last-child{ border-bottom:1px solid #3a3a3a; }
.fvp .fv-incl-list li::before, .fvp .fv-check li::before{
  content:""; flex:none; width:18px; height:18px; margin-top:3px; background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='square'%3E%3Cpath d='M4 12l5 5L20 6'/%3E%3C/svg%3E") center / 18px 18px no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='square'%3E%3Cpath d='M4 12l5 5L20 6'/%3E%3C/svg%3E") center / 18px 18px no-repeat;
}
.fvp .fv-incl-list li:last-child::before{ background:#fb4c17; }
.fvp .fv-incl-note p{ font-size:13px !important; line-height:20px !important; color:#a3a3a3 !important; }

/* ---------- Tableau des structures ---------- */
.fvp.fv-structures{ --padding-top:88px !important; --padding-bottom:88px !important; --flex-direction:column !important; --gap:40px !important; --row-gap:40px !important; --column-gap:40px !important; }
.fvp .fv-tbl-wrap{ overflow-x:auto; background:#ffffff; border:1px solid #d9d6d0; }
.fvp .fv-tbl{ width:100%; min-width:900px; border-collapse:collapse !important; border:0 !important; margin:0 !important; font-size:14px; line-height:21px; color:#1a1a1a; background:none !important; table-layout:auto; }
.fvp .fv-tbl :is(th,td){ border:0 !important; border-bottom:1px solid #d9d6d0 !important; padding:16px 20px !important; vertical-align:top; text-align:left; background:none !important; font-family:var(--fv-sans) !important; }
.fvp .fv-tbl tbody tr:last-child :is(th,td){ border-bottom:0 !important; }
.fvp .fv-tbl thead th{ border-bottom:1px solid #1a1a1a !important; padding:18px 20px !important; font-size:20px; line-height:21px; font-weight:400; letter-spacing:-.01em; color:#1a1a1a; }
.fvp .fv-tbl thead th:first-child{ width:170px; }
.fvp .fv-tbl tbody th{ font-size:12px; line-height:21px; letter-spacing:.14em; font-weight:500; text-transform:uppercase; color:#6f6f6f; }
.fvp .fv-tbl td{ font-size:14px; line-height:21px; font-weight:400; color:#1a1a1a; }
.fvp .fv-callout{ --flex-direction:row !important; --flex-wrap:wrap !important; --justify-content:space-between !important; --align-items:center !important; --gap:16px !important; --row-gap:16px !important; --column-gap:16px !important; --padding-top:20px !important; --padding-bottom:20px !important; --padding-left:24px !important; --padding-right:24px !important; border:1px dashed #8a8a8a !important; }
.fvp .fv-callout-text .elementor-heading-title{ font-size:22px !important; line-height:30px !important; font-weight:400 !important; color:#1a1a1a !important; }

/* ---------- Parcours ---------- */
.fvp.fv-path{ --padding-top:88px !important; --padding-bottom:88px !important; --flex-direction:row !important; --flex-wrap:wrap !important; --align-items:flex-start !important; --gap:64px !important; --row-gap:64px !important; --column-gap:64px !important; }
.fvp .fv-path-left{ --width:auto !important; --flex-grow:1 !important; --flex-shrink:1 !important; --flex-basis:320px !important; --flex-direction:column !important; --gap:20px !important; --row-gap:20px !important; --column-gap:20px !important; }
.fvp .fv-path-right{ --width:auto !important; --flex-grow:2 !important; --flex-shrink:1 !important; --flex-basis:600px !important; --flex-direction:column !important; }
.fvp .fv-legend{ padding-top:12px !important; }
.fvp .fv-legend p{ display:flex; align-items:center; gap:10px; font-size:13px !important; line-height:normal !important; color:#1a1a1a !important; margin:0 0 10px !important; }
.fvp .fv-legend p:last-child{ margin-bottom:0 !important; }
.fvp .fv-legend p + p{ margin-top:0 !important; }
.fvp .fv-legend p::before{ content:""; width:10px; height:10px; flex:none; box-sizing:border-box; background:#1a1a1a; }
.fvp .fv-legend p:nth-child(2)::before{ background:transparent; border:1.5px solid #1a1a1a; }
.fvp .fv-legend p:nth-child(3)::before{ background:transparent; border:1px dashed #6f6f6f; }
.fvp .fv-pstep{ --display:grid !important; display:grid !important; grid-template-columns:64px minmax(0,1fr) 120px !important; grid-template-rows:none !important; gap:24px !important; --padding-top:28px !important; --padding-bottom:28px !important; border-top:1px solid #8a8a8a !important; }
.fvp .fv-pstep-last{ border-top-color:#fb4c17 !important; border-bottom:1px solid #d9d6d0 !important; }
.fvp .fv-pstep-num .elementor-heading-title{ font-size:34px !important; line-height:36px !important; font-weight:400 !important; color:#6f6f6f !important; }
.fvp .fv-pstep-last .fv-pstep-num .elementor-heading-title{ color:#fb4c17 !important; }
.fvp .fv-pstep-body{ --flex-direction:column !important; --gap:10px !important; --row-gap:10px !important; --column-gap:10px !important; }
.fvp .fv-pstep-title .elementor-heading-title{ font-size:20px !important; line-height:26px !important; font-weight:400 !important; color:#1a1a1a !important; }
.fvp .fv-pstep-time .elementor-heading-title{ font-size:13px !important; line-height:20px !important; color:#6f6f6f !important; text-align:right !important; }
.fvp .fv-pstep-last .fv-pstep-time .elementor-heading-title{ color:#1a1a1a !important; font-weight:500 !important; }
.fvp .fv-ptags{ --flex-direction:row !important; --flex-wrap:wrap !important; --gap:8px !important; --row-gap:8px !important; --column-gap:8px !important; }
.fvp .fv-ptag .elementor-heading-title{ font-size:12px !important; line-height:normal !important; padding:4px 10px !important; background:#1a1a1a !important; color:#ffffff !important; }
.fvp .fv-ptag-you .elementor-heading-title{ padding:3px 9px !important; background:transparent !important; color:#1a1a1a !important; border:1.5px solid #1a1a1a !important; }
.fvp .fv-ptag-partner .elementor-heading-title{ padding:3px 9px !important; background:transparent !important; color:#1a1a1a !important; border:1px dashed #6f6f6f !important; }

/* ---------- Checklist ---------- */
.fvp.fv-checklist{ background:#ede6dc !important; --padding-top:72px !important; --padding-bottom:72px !important; --flex-direction:column !important; --gap:36px !important; --row-gap:36px !important; --column-gap:36px !important; }
.fvp .fv-ccards{ --display:grid !important; display:grid !important; grid-template-columns:repeat(auto-fit, minmax(300px, 1fr)) !important; grid-template-rows:none !important; gap:16px !important; }
.fvp .fv-ccard{ background:#ffffff !important; --padding-top:28px !important; --padding-right:28px !important; --padding-bottom:28px !important; --padding-left:28px !important; --flex-direction:column !important; --gap:16px !important; --row-gap:16px !important; --column-gap:16px !important; }
.fvp .fv-squares ul{ list-style:none !important; margin:0 !important; padding:0 !important; display:flex; flex-direction:column; gap:12px; }
.fvp .fv-squares li{ display:flex; gap:12px; margin:0 !important; padding:0 !important; font-size:15px !important; line-height:22px !important; color:#1a1a1a !important; list-style:none !important; }
.fvp .fv-squares li::before{ content:""; flex:none; width:6px; height:6px; margin-top:8px; background:#8a8a8a; }

/* ---------- Comment nous travaillons ensemble ---------- */
.fvp.fv-together{ --padding-top:88px !important; --padding-bottom:88px !important; --flex-direction:column !important; --gap:48px !important; --row-gap:48px !important; --column-gap:48px !important; }
.fvp .fv-tsteps{ --display:grid !important; display:grid !important; grid-template-columns:repeat(auto-fit, minmax(280px, 1fr)) !important; grid-template-rows:none !important; gap:0 !important; border-top:1px solid #1a1a1a !important; }
.fvp .fv-tstep{ --flex-direction:column !important; --gap:14px !important; --row-gap:14px !important; --column-gap:14px !important; --padding-top:32px !important; --padding-right:32px !important; --padding-bottom:8px !important; --padding-left:32px !important; border-left:1px solid #d9d6d0 !important; }
.fvp .fv-tstep:first-child{ --padding-left:0px !important; border-left:0 !important; }
.fvp .fv-tstep:last-child{ --padding-right:0px !important; }
.fvp .fv-tstep-num .elementor-heading-title{ font-size:40px !important; line-height:44px !important; font-weight:400 !important; color:#6f6f6f !important; }
.fvp .fv-tstep:last-child .fv-tstep-num .elementor-heading-title{ color:#fb4c17 !important; }
.fvp .fv-title22 .elementor-heading-title{ font-size:22px !important; line-height:28px !important; font-weight:400 !important; color:#1a1a1a !important; }

/* ---------- Mission ---------- */
.fvp.fv-mission-sec{ --padding-top:80px !important; --padding-bottom:80px !important; --flex-direction:row !important; --flex-wrap:wrap !important; --align-items:center !important; --gap:56px !important; --row-gap:56px !important; --column-gap:56px !important; }
.fvp .fv-ms-left{ --width:auto !important; --flex-grow:2 !important; --flex-shrink:1 !important; --flex-basis:560px !important; --flex-direction:column !important; --gap:20px !important; --row-gap:20px !important; --column-gap:20px !important; }
.fvp .fv-ms-quote .elementor-heading-title{ font-size:32px !important; line-height:42px !important; font-weight:300 !important; color:#1a1a1a !important; }
.fvp .fv-ms-right{ --width:auto !important; --flex-grow:1 !important; --flex-shrink:1 !important; --flex-basis:260px !important; --flex-direction:column !important; border-left:1px solid #8a8a8a !important; --padding-left:32px !important; }
.fvp .fv-ms-stat{ --flex-direction:column !important; --gap:4px !important; --row-gap:4px !important; --column-gap:4px !important; --padding-bottom:24px !important; }
.fvp .fv-ms-stat + .fv-ms-stat{ --padding-top:24px !important; --padding-bottom:0px !important; border-top:1px solid #d9d6d0 !important; }
.fvp .fv-ms-num .elementor-heading-title{ font-size:52px !important; line-height:56px !important; font-weight:300 !important; color:#1a1a1a !important; }
.fvp .fv-ms-label .elementor-heading-title{ font-size:14px !important; line-height:normal !important; color:#6f6f6f !important; }

/* ---------- Et ensuite ---------- */
.fvp.fv-next{ --padding-top:80px !important; --padding-bottom:80px !important; --flex-direction:column !important; --gap:36px !important; --row-gap:36px !important; --column-gap:36px !important; }
.fvp .fv-ncards{ --display:grid !important; display:grid !important; grid-template-columns:repeat(auto-fit, minmax(240px, 1fr)) !important; grid-template-rows:none !important; gap:16px !important; }
.fvp .fv-ncard{ background:#ffffff !important; color:#1a1a1a !important; text-decoration:none !important; min-height:180px; --padding-top:24px !important; --padding-right:24px !important; --padding-bottom:24px !important; --padding-left:24px !important; --flex-direction:column !important; --gap:10px !important; --row-gap:10px !important; --column-gap:10px !important; }
.fvp .fv-ncard:hover{ background:#ede6dc !important; }
.fvp .fv-kicker .elementor-heading-title{ font-size:12px !important; line-height:normal !important; letter-spacing:.16em !important; font-weight:500 !important; text-transform:uppercase !important; color:#6f6f6f !important; }
.fvp .fv-title20 .elementor-heading-title{ font-size:20px !important; line-height:26px !important; font-weight:400 !important; color:#1a1a1a !important; }
.fvp .fv-text14 p{ font-size:14px !important; line-height:22px !important; color:#4a4a4a !important; }

/* ---------- FAQ (accordéon Elementor) ---------- */
.fvp.fv-faq-sec{ --padding-top:88px !important; --padding-bottom:88px !important; --flex-direction:row !important; --flex-wrap:wrap !important; --align-items:flex-start !important; --gap:64px !important; --row-gap:64px !important; --column-gap:64px !important; }
.fvp .fv-faq-left{ --width:auto !important; --flex-grow:1 !important; --flex-shrink:1 !important; --flex-basis:300px !important; --flex-direction:column !important; --gap:16px !important; --row-gap:16px !important; --column-gap:16px !important; }
.fvp .fv-faq{ flex:2 1 600px !important; min-width:0; }
.fvp .fv-faq .e-n-accordion{ display:flex !important; flex-direction:column !important; gap:0 !important; border-top:1px solid #1a1a1a; }
.fvp .fv-faq .e-n-accordion-item{ margin:0 !important; border:0 !important; border-bottom:1px solid #d9d6d0 !important; background:none !important; }
.fvp .fv-faq .e-n-accordion-item-title{ display:flex !important; justify-content:space-between !important; align-items:center !important; gap:24px !important; padding:22px 0 !important; min-height:44px; margin:0 !important; border:0 !important; background:none !important; cursor:pointer; list-style:none; box-shadow:none !important; }
.fvp .fv-faq .e-n-accordion-item-title::-webkit-details-marker{ display:none; }
.fvp .fv-faq .e-n-accordion-item-title::after{ content:"+"; flex:none; font-size:26px; line-height:1; font-weight:300; color:#fb4c17; transition:transform .2s; }
.fvp .fv-faq .e-n-accordion-item[open] > .e-n-accordion-item-title::after{ transform:rotate(45deg); }
.fvp .fv-faq .e-n-accordion-item-title-header{ flex:1 1 auto; }
.fvp .fv-faq .e-n-accordion-item-title-text{ font-size:19px !important; line-height:26px !important; font-weight:400 !important; color:#1a1a1a !important; margin:0 !important; text-transform:none !important; letter-spacing:normal !important; }
.fvp .fv-faq .e-n-accordion-item-title-icon{ display:none !important; }
.fvp .fv-faq .e-n-accordion-item > .e-con{ --padding-top:0px !important; --padding-right:64px !important; --padding-bottom:24px !important; --padding-left:0px !important; border:0 !important; background:none !important; }
.fvp .fv-faq-answer p{ font-size:15px !important; line-height:25px !important; color:#4a4a4a !important; }

/* ---------- Demande de proposition ---------- */
.fvp.fv-quote-form{ --overflow:hidden !important; overflow:hidden !important; --padding-top:88px !important; --padding-bottom:88px !important; --flex-direction:row !important; --flex-wrap:wrap !important; --align-items:flex-start !important; --gap:56px !important; --row-gap:56px !important; --column-gap:56px !important; }
.fvp.fv-quote-form > .e-con-inner{ position:static !important; }
.fvp .fv-qwaves{ position:absolute !important; left:-140px; bottom:-160px; width:440px !important; height:440px; max-width:none !important; pointer-events:none; z-index:0; }
.fvp .fv-qwaves svg{ display:block; width:440px; height:440px; }
.fvp .fv-q-left{ --width:auto !important; --flex-grow:1 !important; --flex-shrink:1 !important; --flex-basis:440px !important; --flex-direction:column !important; --gap:20px !important; --row-gap:20px !important; --column-gap:20px !important; z-index:1; }
.fvp .fv-q-right{ --width:auto !important; --flex-grow:1 !important; --flex-shrink:1 !important; --flex-basis:440px !important; --flex-direction:column !important; --gap:18px !important; --row-gap:18px !important; --column-gap:18px !important; --padding-top:32px !important; --padding-right:32px !important; --padding-bottom:32px !important; --padding-left:32px !important; background:#1b1b1b !important; border:1px solid #3a3a3a !important; z-index:1; }

/* Formulaire Contact Form 7 */
.fvp .fv-form .wpcf7, .fvp .fv-form form{ margin:0 !important; }
.fvp .fv-form form{ display:flex; flex-direction:column; gap:18px; }
.fvp .fv-form form > p, .fvp .fv-form .fv-f-grid > p{ margin:0 !important; display:contents; }
.fvp .fv-form br{ display:none; }
.fvp .fv-form .fv-f-grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(180px, 1fr)); gap:18px; }
.fvp .fv-form label{ display:flex !important; flex-direction:column; gap:8px; margin:0 !important; font-size:13px !important; line-height:normal !important; font-weight:400 !important; color:#a3a3a3 !important; text-transform:none !important; letter-spacing:normal !important; }
.fvp .fv-form .wpcf7-form-control-wrap{ display:block; }
.fvp .fv-form :is(input[type=text],input[type=email],input[type=tel],select,textarea){
  width:100% !important; box-sizing:border-box; margin:0 !important; font-family:var(--fv-sans) !important; font-size:15px !important; line-height:normal !important;
  color:#f4f2ee !important; background:#121212 !important; border:1px solid #5a5a5a !important; border-radius:2px !important; padding:12px 14px !important; min-height:46px; box-shadow:none !important; outline:none;
}
.fvp .fv-form :is(input,select,textarea){ display:block; }
.fvp .fv-form textarea{ height:auto !important; min-height:96px; resize:vertical; }
.fvp .fv-form select{ appearance:auto; }
.fvp .fv-form :is(input,select,textarea):focus{ border-color:#f4f2ee !important; }
.fvp .fv-form input[type=submit]{
  width:100% !important; margin:0 !important; font-family:var(--fv-sans) !important; font-size:16px !important; line-height:normal !important; font-weight:500 !important; letter-spacing:normal !important; text-transform:none !important;
  background:#fb4c17 !important; color:#121212 !important; border:0 !important; border-radius:2px !important; padding:16px 24px !important; min-height:52px; cursor:pointer; box-shadow:none !important;
}
.fvp .fv-form input[type=submit]:hover{ background:#ff6a3d !important; }
.fvp .fv-form .wpcf7-spinner{ display:none; }
.fvp .fv-form .wpcf7-not-valid-tip{ color:#ff7a50 !important; font-size:13px; margin-top:6px; }
.fvp .fv-form .wpcf7-response-output{ margin:0 !important; padding:12px 14px !important; border:1px solid #5a5a5a !important; color:#f4f2ee !important; font-size:14px; }
.fvp .fv-form .wpcf7-response-output:empty{ display:none; }
.fvp .fv-form .wpcf7-contact-form-not-found{ color:#ff7a50 !important; font-size:14px; }

/* ---------- Téléphone ---------- */
@media (max-width:767px){
  .fvp.fv-shero{ --padding-top:48px !important; --padding-bottom:56px !important; --gap:40px !important; --row-gap:40px !important; }
  .fvp.fv-structures, .fvp.fv-path, .fvp.fv-together, .fvp.fv-faq-sec, .fvp.fv-quote-form{ --padding-top:64px !important; --padding-bottom:64px !important; }
  .fvp.fv-checklist, .fvp.fv-mission-sec, .fvp.fv-next{ --padding-top:56px !important; --padding-bottom:56px !important; }
  .fvp .fv-shero-left, .fvp .fv-incl, .fvp .fv-path-left, .fvp .fv-path-right, .fvp .fv-ms-left, .fvp .fv-ms-right, .fvp .fv-faq-left, .fvp .fv-q-left, .fvp .fv-q-right{ --flex-basis:100% !important; }
  .fvp .fv-faq{ flex-basis:100% !important; }
  .fvp .fv-hero-waves{ display:none !important; }
  .fvp .fv-h1s .elementor-heading-title{ font-size:40px !important; line-height:44px !important; }
  .fvp .fv-h2m .elementor-heading-title{ font-size:28px !important; line-height:34px !important; }
  .fvp .fv-incl{ --padding-left:24px !important; --padding-right:24px !important; }
  .fvp .fv-pstep{ grid-template-columns:44px minmax(0,1fr) !important; gap:8px 16px !important; }
  .fvp .fv-pstep-time{ grid-column:2; }
  .fvp .fv-pstep-time .elementor-heading-title{ text-align:left !important; }
  .fvp .fv-pstep-num .elementor-heading-title{ font-size:28px !important; line-height:32px !important; }
  .fvp .fv-ccards, .fvp .fv-ncards, .fvp .fv-tsteps{ grid-template-columns:minmax(0,1fr) !important; }
  .fvp .fv-tstep, .fvp .fv-tstep:first-child{ --padding-left:0px !important; --padding-right:0px !important; --padding-top:24px !important; --padding-bottom:24px !important; border-left:0 !important; }
  .fvp .fv-tstep + .fv-tstep{ border-top:1px solid #d9d6d0 !important; }
  .fvp .fv-ms-quote .elementor-heading-title{ font-size:24px !important; line-height:32px !important; }
  .fvp .fv-ms-right{ border-left:0 !important; --padding-left:0px !important; border-top:1px solid #8a8a8a !important; --padding-top:24px !important; }
  .fvp .fv-faq .e-n-accordion-item > .e-con{ --padding-right:0px !important; }
  .fvp .fv-faq .e-n-accordion-item-title-text{ font-size:17px !important; line-height:24px !important; }
  .fvp .fv-q-right{ --padding-left:20px !important; --padding-right:20px !important; --padding-top:24px !important; --padding-bottom:24px !important; }
  .fvp .fv-qwaves{ display:none !important; }
}

/* ---------- Extension : liste des pays, coordonnées, liens non publiés ---------- */
.fvp .elementor-widget-shortcode{ width:100%; }
.fvp .elementor-shortcode p{ margin:0 !important; padding:0 !important; }
.fvp .fv-countries{ display:flex; flex-wrap:wrap; justify-content:flex-end; gap:12px; }
.fvp .fv-country{ display:inline-flex; align-items:center; box-sizing:border-box; min-height:44px; padding:10px 18px; background:transparent; color:#1a1a1a !important; border:1px solid #1a1a1a; border-radius:0; box-shadow:none !important; font-size:15px !important; line-height:normal !important; font-weight:400 !important; letter-spacing:normal !important; text-transform:none !important; text-decoration:none !important; }
.fvp a.fv-country:hover, .fvp a.fv-country:focus{ background:#1a1a1a; color:#ffffff !important; }
.fvp .fv-country-off{ color:#a3a3a3 !important; border-color:#d9d6d0; cursor:default; }
.fvp .fv-contact-line a{ color:inherit !important; text-decoration:none !important; box-shadow:none !important; font:inherit !important; }
.fvp a.fv-off, .fvp a[aria-disabled="true"]{ pointer-events:none; cursor:default; }
.fvp .fv-crumb a.fv-off, .fvp .fv-subnav a.fv-off, .fvp .fv-link a.fv-off{ color:#a3a3a3 !important; }
.fvp .fv-subnav a.fv-off, .fvp .fv-link a.fv-off, .fvp .fv-btn a.fv-off{ display:none !important; }
@media (max-width:767px){
  .fvp .fv-countries{ justify-content:flex-start; }
}
.fvp .fv-card.fv-off .fv-explore{ display:none !important; }
.fvp .fv-steps-sec .fv-focal{ white-space:nowrap; }
