/* Language switcher — base */
#lang-switcher{ display:flex; gap:4px; font-family:Arial,Helvetica,sans-serif; }
#lang-switcher button{
  border:0; cursor:pointer; border-radius:999px; background:transparent;
  font-weight:700; line-height:1; transition:.2s;
}
#lang-switcher button.active{ background:#1c9ad6; color:#fff; }

/* Inline in the top-bar, on the RIGHT of the social icons (after LinkedIn), same line */
#lang-switcher.inline{
  display:inline-flex; vertical-align:middle; align-items:center; gap:3px; margin-left:14px;
}
#lang-switcher.inline button{ min-width:30px; height:24px; padding:0 8px; color:#cbd5e1; font-size:13px; }
#lang-switcher.inline button:hover{ background:rgba(255,255,255,.15); color:#fff; }
/* the social <ul> may use display:table on some layouts; keep our item inline there too */
.top-bar-area .social ul{ white-space:nowrap; }

/* Fixed fallback (top-right) for pages with no top-bar social block */
#lang-switcher.floating{
  position:fixed; z-index:99999; top:16px; right:16px; padding:5px;
  background:rgba(17,24,39,.92); border-radius:999px;
  box-shadow:0 6px 22px rgba(0,0,0,.25); backdrop-filter:blur(6px);
}
#lang-switcher.floating button{ min-width:38px; height:32px; padding:0 10px; color:#e5e7eb; font-size:14px; }
#lang-switcher.floating button:hover{ background:rgba(255,255,255,.12); color:#fff; }
/* --- Homepage: remove the "SE SENTIR VALORISÉ", "Être à la pointe", "Partenaires" blocks --- */
html.ifcar-home .about-style-one-area,
html.ifcar-home .choose-us-style-one-area,
html.ifcar-home .partner-style-one-area{ display:none !important; }

/* --- Footer navigation (mirrors the header menu) --- */
.footer-item .ifcar-fnav{ list-style:none; margin:0; padding:0; }
.footer-item .ifcar-fnav li{ margin-bottom:12px; }
.footer-item .ifcar-fnav a{ display:inline-flex; align-items:flex-start; gap:9px;
  color:#aeb9c6; font-size:15px; line-height:1.4; transition:color .25s ease, transform .25s ease; }
.footer-item .ifcar-fnav a::before{ content:"›"; color:#8cc63f; font-weight:700; font-size:18px; line-height:1.1; transition:color .25s ease; }
.footer-item .ifcar-fnav a:hover{ color:#fff; transform:translateX(4px); }
.footer-item .ifcar-fnav a:hover::before{ color:#1c9ad6; }
/* the social icons kept in the first footer column */
.footer-item .footer-social{ margin-top:24px; }

/* --- Homepage: remove Popular Projects + Testimonials --- */
html.ifcar-home .project-style-one-area,
html.ifcar-home .testimonial-style-one-area{ display:none !important; }

/* --- "Contactez-nous" form (replaces the blog cards) --- */
.ifcar-cform{ background:#fff; border-radius:18px; padding:38px 34px; box-shadow:0 22px 55px rgba(20,40,80,.09); }
.ifcar-f2{ display:flex; gap:16px; }
.ifcar-f2 > .ifcar-field{ flex:1; }
.ifcar-field{ position:relative; margin-bottom:20px; }
.ifcar-field input, .ifcar-field select, .ifcar-field textarea{
  width:100%; padding:16px 18px; border:1.5px solid #e4eaf0; border-radius:12px;
  font-size:15px; font-family:inherit; background:#fff; color:#1d2027; outline:none;
  transition:border-color .2s ease, box-shadow .2s ease; -webkit-appearance:none; appearance:none; }
.ifcar-field textarea{ resize:vertical; min-height:110px; }
.ifcar-field input:focus, .ifcar-field select:focus, .ifcar-field textarea:focus{
  border-color:#1c9ad6; box-shadow:0 0 0 4px rgba(28,154,214,.12); }
.ifcar-field label{ position:absolute; left:14px; top:16px; color:#8a96a3; font-size:15px;
  pointer-events:none; background:#fff; padding:0 6px; transition:.18s ease; }
.ifcar-field input:focus ~ label, .ifcar-field input:not(:placeholder-shown) ~ label,
.ifcar-field textarea:focus ~ label, .ifcar-field textarea:not(:placeholder-shown) ~ label,
.ifcar-field select:focus ~ label, .ifcar-field select:valid ~ label{
  top:-9px; font-size:12px; color:#1c9ad6; font-weight:600; }
.ifcar-select{ }
.ifcar-select i{ position:absolute; right:18px; top:19px; color:#8a96a3; pointer-events:none; font-size:13px; }
.ifcar-select select{ cursor:pointer; }
.ifcar-check{ display:flex; align-items:flex-start; gap:11px; font-size:13.5px; color:#5a6b7b; line-height:1.5; margin:4px 0 22px; cursor:pointer; }
.ifcar-check input{ position:absolute; opacity:0; }
.ifcar-check span{ flex:0 0 auto; width:20px; height:20px; border:1.5px solid #cdd7e0; border-radius:6px; margin-top:1px; position:relative; transition:.2s; }
.ifcar-check input:checked + span{ background:linear-gradient(135deg,#1c9ad6,#8cc63f); border-color:transparent; }
.ifcar-check input:checked + span::after{ content:""; position:absolute; left:6px; top:2px; width:5px; height:10px; border:solid #fff; border-width:0 2px 2px 0; transform:rotate(45deg); }
.ifcar-submit{ border:0; cursor:pointer; width:100%; justify-content:center; }
.ifcar-cform-ok{ display:none; text-align:center; padding:26px 20px; border-radius:14px;
  background:linear-gradient(135deg,rgba(28,154,214,.10),rgba(140,198,63,.12));
  color:#1d2027; font-weight:600; font-size:16px; }
.ifcar-cform.sent > *:not(.ifcar-cform-ok){ display:none; }
.ifcar-cform.sent .ifcar-cform-ok{ display:block; }

/* --- Our coordinates card --- */
.ifcar-coords{ background:linear-gradient(160deg,#12243f,#1e2c40); border-radius:18px; padding:36px 32px;
  color:#fff; height:100%; box-shadow:0 22px 55px rgba(20,40,80,.20); }
.ifcar-coords h4{ color:#fff !important; margin:0 0 20px; font-size:22px; }
.ifcar-coords ul{ list-style:none; margin:0; padding:0; }
.ifcar-coords li{ display:flex; align-items:center; gap:15px; padding:14px 0; border-bottom:1px solid rgba(255,255,255,.09); }
.ifcar-coords li:last-child{ border-bottom:0; }
.ifcar-coords .ic{ flex:0 0 auto; width:46px; height:46px; border-radius:12px; display:flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg,#1c9ad6,#8cc63f); color:#fff; font-size:17px; }
.ifcar-coords li div{ display:flex; flex-direction:column; color:#fff; font-size:15px; word-break:break-word; }
.ifcar-coords li b{ font-size:11px; font-weight:600; color:#9fb2c9; text-transform:uppercase; letter-spacing:.6px; margin-bottom:2px; }
@media (max-width:600px){ .ifcar-f2{ flex-direction:column; gap:0; } .ifcar-cform{ padding:26px 20px; } }

/* --- "Rencontrez nos experts": auto-rotating experts grid (5 at a time) --- */
.ifcar-experts-area{ padding:10px 0 100px; }
.ifcar-experts{ display:flex; flex-wrap:wrap; justify-content:center; gap:30px 26px; margin-top:20px; }
.ifcar-exp-card{ flex:0 1 190px; max-width:200px; text-align:center;
  opacity:0; transform:translateY(28px); transition:opacity .55s ease, transform .55s ease; }
.ifcar-exp-card.show{ opacity:1; transform:none; }
.ifcar-experts.leaving .ifcar-exp-card{ opacity:0 !important; transform:translateY(-22px) !important; transition-delay:0s !important; }
.ifcar-exp-card:nth-child(1){ transition-delay:0s; }
.ifcar-exp-card:nth-child(2){ transition-delay:.09s; }
.ifcar-exp-card:nth-child(3){ transition-delay:.18s; }
.ifcar-exp-card:nth-child(4){ transition-delay:.27s; }
.ifcar-exp-card:nth-child(5){ transition-delay:.36s; }
.ifcar-exp-photo{ position:relative; z-index:0; width:150px; height:150px; margin:0 auto 18px;
  border-radius:50%; padding:5px; background:linear-gradient(135deg,#1c9ad6,#8cc63f);
  box-shadow:0 14px 30px rgba(28,154,214,.20);
  transition:transform .35s cubic-bezier(.2,.7,.2,1), box-shadow .35s ease; }
/* colourful ring that appears + spins on hover */
.ifcar-exp-photo::before{ content:""; position:absolute; inset:-6px; border-radius:50%; z-index:-1;
  background:conic-gradient(from 0deg,#1c9ad6,#8cc63f,#29abe2,#8cc63f,#1c9ad6);
  opacity:0; transition:opacity .35s ease; }
.ifcar-exp-photo img{ width:100%; height:100%; border-radius:50%; object-fit:cover; border:4px solid #fff; display:block; }
.ifcar-exp-name{ font-weight:700; font-size:18px; color:#1d2027; transition:color .3s ease; min-height:24px; }
/* reserve room for a 2-line métier so cards stay equal height and the section below never jumps */
.ifcar-exp-job{ font-size:14px; color:#8cc63f; margin-top:5px; font-weight:600; line-height:1.4; min-height:39px; }
/* --- nice hover --- */
.ifcar-exp-card:hover .ifcar-exp-photo{ transform:translateY(-9px) scale(1.06); box-shadow:0 26px 50px rgba(28,154,214,.34); }
.ifcar-exp-card:hover .ifcar-exp-photo::before{ opacity:.95; animation:ifcarSpin 2.5s linear infinite; }
.ifcar-exp-card:hover .ifcar-exp-name{ color:#1c9ad6; }
@keyframes ifcarSpin{ to{ transform:rotate(360deg); } }

/* --- HOME "Nos références": 3D rotating CIRCULAR badges of client logos --- */
.ifcar-cube{ width:230px; max-width:80%; height:230px; margin:0 auto 26px; perspective:1200px; }
.ifcar-cube-in{ position:relative; width:100%; height:100%; transform-style:preserve-3d;
  animation:ifcarCube 7.5s cubic-bezier(.7,0,.28,1) infinite; }   /* hold 2s, quick flip */
.ifcar-cube-fc{ position:absolute; width:100%; height:100%; overflow:hidden;
  display:flex; align-items:center; justify-content:center;
  background:transparent; border-radius:50%;         /* clip fill-logos to a circle, no frame */
  border:0; backface-visibility:hidden; box-shadow:none; }
.ifcar-cube-fc.f1{ transform:rotateY(0deg)   translateZ(140px); }
.ifcar-cube-fc.f2{ transform:rotateY(120deg) translateZ(140px); }
.ifcar-cube-fc.f3{ transform:rotateY(240deg) translateZ(140px); }
@keyframes ifcarCube{
  0%,   27% { transform:rotateY(0deg); }      /* logo 1 — hold ~2s */
  33%,  60% { transform:rotateY(-120deg); }   /* logo 2 — hold ~2s */
  67%,  93% { transform:rotateY(-240deg); }   /* logo 3 — hold ~2s */
  100%      { transform:rotateY(-360deg); }   /* seamless back to logo 1 */
}
.ifcar-logo{ display:flex; align-items:center; justify-content:center; width:100%; height:100%; }
.ifcar-logo-img{ max-width:90%; max-height:82%; object-fit:contain; }
/* logo whose image has its own solid bg -> fill the whole circle (clipped) */
.ifcar-logo.fill{ width:100%; height:100%; }
.ifcar-logo.fill .ifcar-logo-img{ max-width:100%; max-height:100%; width:100%; height:100%; object-fit:cover; }
/* category titles back to the dark heading colour */
html.ifcar-home .process-style-one h4{ color:#1d2027 !important; margin-top:6px; }
/* redesigned reference cards (icon + title + underline + logo carousel + dots) */
html.ifcar-home .process-style-one-area .site-heading .sub-heading{ color:#1c9ad6 !important; -webkit-text-fill-color:#1c9ad6 !important; background:none !important; }
.ifcar-ref-sub{ max-width:660px; margin:16px auto 0; font-size:16px; line-height:1.65; color:#7a8899; text-align:center; }
html.ifcar-home .process-style-one{ background:#fff; border-radius:22px; padding:36px 26px 30px; box-shadow:0 18px 50px rgba(20,40,80,.07);
  text-align:center; height:100%; transition:transform .4s ease, box-shadow .4s ease; }
html.ifcar-home .process-style-one:hover{ transform:translateY(-8px); box-shadow:0 30px 64px rgba(20,40,80,.13); }
.ifcar-ref-ic{ display:inline-flex; align-items:center; justify-content:center; width:64px; height:64px; border-radius:50%;
  background:linear-gradient(135deg,#29abe2,#1c76c9); color:#fff; font-size:26px; box-shadow:0 12px 26px rgba(28,154,214,.34); margin-bottom:18px; transition:transform .4s ease; }
.process-style-one:hover .ifcar-ref-ic{ transform:rotate(-6deg) scale(1.08); }
html.ifcar-home .process-style-one .ifcar-ref-t{ color:#12234d !important; font-size:19px; font-weight:800; line-height:1.3; margin:0 0 12px !important;
  min-height:70px; padding-bottom:0 !important; border-bottom:0 !important; text-align:center;
  display:flex; align-items:flex-end; justify-content:center; }   /* reserve 2 lines + text bottom-aligned so the green underlines line up across cards */
.ifcar-ref-ul{ display:block; width:44px; height:4px; border-radius:3px; margin:0 auto 8px; background:linear-gradient(90deg,#8cc63f,#c5e08a); }
/* steady circular frame — logos cross-fade inside it, the frame never moves */
.ifcar-ref-carousel{ position:relative; width:236px; max-width:82%; aspect-ratio:1/1; margin:8px auto 0; overflow:hidden;
  display:flex; align-items:center; justify-content:center; border-radius:50%;
  background:radial-gradient(circle at 50% 45%, #ffffff 62%, #eef4fb 100%);
  box-shadow:inset 0 0 0 1px #eaf0f7, 0 20px 46px rgba(20,40,80,.09); }
.ifcar-fade-wrap{ position:relative; width:100%; height:100%; }
.ifcar-fade{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; opacity:0;
  animation:ifcarFade 8.4s ease-in-out infinite; }
.ifcar-fade.f2{ animation-delay:-5.6s; } .ifcar-fade.f3{ animation-delay:-2.8s; }
@keyframes ifcarFade{ 0%{ opacity:0; } 4%,29%{ opacity:1; } 34%,100%{ opacity:0; } }
/* single logo: show it statically (no fade) */
.ifcar-fade-wrap.n1 .ifcar-fade{ animation:none !important; opacity:1 !important; }
/* two logos: alternate with a crossfade over a 7s cycle */
.ifcar-fade-wrap.n2 .ifcar-fade{ animation:ifcarFade2 7s ease-in-out infinite; }
.ifcar-fade-wrap.n2 .ifcar-fade.f2{ animation-delay:-3.5s; }
@keyframes ifcarFade2{ 0%{ opacity:0; } 6%,44%{ opacity:1; } 50%,100%{ opacity:0; } }
.ifcar-fade .ifcar-logo{ width:88%; height:88%; }
.ifcar-fade .ifcar-logo.fill{ width:100%; height:100%; }
.ifcar-ref-arw, .ifcar-ref-dots{ display:none !important; }   /* no arrows / no dots */

/* --- ABOUT "Solutions" section: intro line (replaces the eyebrow) + 3 animated cards --- */
/* hide the old big heading; turn the eyebrow into a readable intro sentence */
html.ifcar-page-about-us .process-style-one-area .site-heading h2.title{ display:none !important; }
html.ifcar-page-about-us .process-style-one-area .site-heading .sub-heading{
  text-transform:none !important; letter-spacing:0 !important;
  font-size:clamp(24px,3.2vw,42px) !important; font-weight:800 !important; line-height:1.25 !important;
  max-width:920px; margin:0 auto !important; display:inline-block;
  background:none !important; -webkit-text-fill-color:#1c2b4a !important; color:#1c2b4a !important;
}
html.ifcar-page-about-us .process-style-one-area .site-heading .sub-heading span{ color:#1c9ad6 !important; -webkit-text-fill-color:#1c9ad6 !important; }
html.ifcar-page-about-us .process-style-one-area .site-heading .sub-heading::before,
html.ifcar-page-about-us .process-style-one-area .site-heading .sub-heading::after{ display:none !important; }
/* cards */
.ifcar-sol-card{ position:relative; background:#fff; border-radius:22px; padding:34px 34px 38px;
  box-shadow:0 18px 50px rgba(20,40,80,.07); text-align:left; height:100%; overflow:hidden;
  opacity:0; transform:translateY(36px);
  transition:transform .45s ease, box-shadow .4s ease; }
.process-style-one-area .row.in .ifcar-sol-card{ animation:ifcarSolIn .7s cubic-bezier(.2,.7,.3,1) forwards; }
.ifcar-sol-card::before{ content:""; position:absolute; left:0; top:0; width:100%; height:4px;
  background:linear-gradient(90deg,#1c9ad6,#8cc63f); transform:scaleX(0); transform-origin:left; transition:transform .5s ease; }
.ifcar-sol-card:hover{ transform:translateY(-12px) !important; box-shadow:0 30px 66px rgba(20,40,80,.16); }
.ifcar-sol-card:hover::before{ transform:scaleX(1); }
.ifcar-sol-num{ position:absolute; right:28px; top:22px; font-size:58px; font-weight:800; line-height:1;
  color:rgba(28,154,214,.14); letter-spacing:-2px; transition:color .4s ease; }
.ifcar-sol-card:hover .ifcar-sol-num{ color:rgba(28,154,214,.24); }
.ifcar-sol-ic{ width:76px; height:76px; border-radius:20px; display:flex; align-items:center; justify-content:center;
  margin-bottom:26px; background:linear-gradient(140deg,#1c9ad6,#8cc63f); color:#fff; font-size:32px;
  box-shadow:0 14px 28px rgba(28,154,214,.30); transition:transform .45s ease; }
.ifcar-sol-ic i{ color:#fff !important; line-height:1; }
.ifcar-sol-card:hover .ifcar-sol-ic{ transform:translateY(-4px) rotate(-6deg) scale(1.08); }
.ifcar-sol-line{ display:block; width:38px; height:4px; border-radius:3px; margin:0 0 20px;
  background:linear-gradient(90deg,#1c9ad6,#8cc63f); transition:width .4s ease; }
.ifcar-sol-card:hover .ifcar-sol-line{ width:66px; }
.ifcar-sol-title{ margin:0 0 14px; font-size:23px; font-weight:800; color:#1c2b3a; line-height:1.25; }
.ifcar-sol-title span{ color:#1c9ad6; }
.ifcar-sol-card p{ font-size:15.5px; line-height:1.75; color:#7a8899; margin:0; }
@keyframes ifcarSolIn{ to{ opacity:1; transform:translateY(0); } }

/* --- ABOUT "Pourquoi IFCAR Solutions": 4 animated atout cards --- */
.ifcar-atouts-area{ background:#fbfdff !important; }
.ifcar-atouts-head{ text-align:center; margin-bottom:50px; }
.ifcar-atouts-eyebrow{ display:inline-flex; align-items:center; gap:14px; text-transform:uppercase; letter-spacing:2px; font-weight:800; font-size:14px;
  background:linear-gradient(90deg,#1c9ad6,#8cc63f); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:#1c9ad6; margin-bottom:16px; }
.ifcar-atouts-eyebrow i{ display:block; width:46px; height:3px; border-radius:3px; background:linear-gradient(90deg,#1c9ad6,#8cc63f); }
.ifcar-atouts-title{ font-size:clamp(26px,3.2vw,42px); font-weight:800; line-height:1.25; color:#1c2b4a; margin:0 auto; max-width:900px; text-transform:uppercase; letter-spacing:.5px; }
.ifcar-atouts-title span{ color:#1c9ad6; }
.ifcar-atouts-div{ display:block; width:70px; height:4px; border-radius:3px; margin:22px auto 0; background:linear-gradient(90deg,#1c9ad6,#8cc63f); }
/* cards */
.ifcar-atout-card{ position:relative; background:#fff; border-radius:20px; padding:64px 26px 28px; height:100%;
  box-shadow:0 16px 46px rgba(20,40,80,.07); overflow:hidden; text-align:left;
  opacity:0; transform:translateY(42px) scale(.97); transition:transform .45s ease, box-shadow .4s ease; }
.ifcar-atouts-row.in .ifcar-atout-card{ animation:ifcarAtoutIn .7s cubic-bezier(.2,.7,.3,1) forwards; }
.ifcar-atout-card:hover{ transform:translateY(-12px) !important; box-shadow:0 30px 64px rgba(20,40,80,.16); }
/* number badge — gradient tab, top-left corner */
.ifcar-atout-num{ position:absolute; left:0; top:0; min-width:58px; height:44px; padding:0 16px; display:flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg,#1c9ad6,#8cc63f); color:#fff; font-weight:800; font-size:19px; letter-spacing:.5px;
  border-radius:20px 0 20px 0; box-shadow:0 8px 18px rgba(28,154,214,.26); transition:transform .4s ease; }
.ifcar-atout-card:hover .ifcar-atout-num{ transform:scale(1.06); }
/* circular icon with a gradient arc over it */
.ifcar-atout-iconwrap{ position:relative; width:100px; height:78px; margin:6px auto 26px; }
.ifcar-atout-arc{ position:absolute; left:50%; top:0; transform:translateX(-50%); width:100px; height:56px; overflow:visible; }
.ifcar-atouts-row.in .ifcar-atout-arc path{ stroke-dasharray:170; stroke-dashoffset:170; animation:ifcarArcDraw 1.1s ease forwards; }
.ifcar-atout-ic{ position:absolute; left:50%; top:22px; transform:translateX(-50%); width:66px; height:66px; border-radius:50%;
  background:#fff; box-shadow:0 10px 26px rgba(20,40,80,.12); display:flex; align-items:center; justify-content:center; font-size:27px;
  transition:transform .45s ease; }
.ifcar-atout-ic i{ background:linear-gradient(140deg,#1c9ad6,#8cc63f); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.ifcar-atout-card:hover .ifcar-atout-ic{ transform:translateX(-50%) translateY(-4px) rotate(-6deg) scale(1.08); }
.ifcar-atout-list{ list-style:none; margin:0; padding:0; }
.ifcar-atout-list li{ position:relative; padding:0 0 15px 24px; font-size:14.5px; line-height:1.6; color:#5a6a7a; }
.ifcar-atout-list li:last-child{ padding-bottom:0; }
.ifcar-atout-list li::before{ content:""; position:absolute; left:0; top:7px; width:10px; height:10px; border-radius:50%;
  background:#8cc63f; box-shadow:0 0 0 4px rgba(140,198,63,.16); }
@keyframes ifcarAtoutIn{ to{ opacity:1; transform:translateY(0) scale(1); } }
@keyframes ifcarArcDraw{ to{ stroke-dashoffset:0; } }

/* ===== ABOUT "Prendre rendez-vous" CTA banner (replaces testimonials) ===== */
.ifcar-cta-area{ background:#f2f6fb !important; }
.ifcar-cta-box{ display:flex; align-items:center; gap:34px; background:#fff; border-radius:26px; padding:34px 42px;
  box-shadow:0 26px 70px rgba(20,40,80,.10); position:relative; overflow:hidden;
  opacity:0; transform:translateY(40px); transition:none; }
.ifcar-cta-area.in .ifcar-cta-box{ animation:ifcarSolIn .7s cubic-bezier(.2,.7,.3,1) forwards; }
.ifcar-cta-box::after{ content:""; position:absolute; right:-60px; top:-60px; width:320px; height:320px; border-radius:50%;
  background:radial-gradient(circle,rgba(140,198,63,.10),transparent 70%); pointer-events:none; }
.ifcar-cta-emblem{ flex:0 0 auto; width:104px; height:100px;
  background:url(/_next/static/media/logo.729ad926.png) no-repeat; background-size:300px auto; background-position:-6px -4px; }
.ifcar-cta-emblem img{ display:none; }
.ifcar-cta-mid{ flex:1 1 auto; min-width:0; }
.ifcar-cta-title{ margin:0 0 8px; font-size:clamp(20px,2.1vw,27px); font-weight:800; line-height:1.28; color:#1c2b4a; }
.ifcar-cta-title .b{ color:#1c9ad6; } .ifcar-cta-title .g{ color:#7fbf2f; }
.ifcar-cta-sub{ margin:0 0 16px; font-size:15px; color:#6a7889; }
.ifcar-cta-checks{ display:flex; flex-wrap:wrap; align-items:center; gap:8px 20px; font-size:15px; font-weight:600; color:#334155; }
.ifcar-cta-checks span{ display:inline-flex; align-items:center; gap:8px; position:relative; }
.ifcar-cta-checks span + span::before{ content:""; position:absolute; left:-11px; top:3px; bottom:3px; width:1px; background:#e2e9f1; }
.ifcar-cta-checks i{ color:#3aaf3f; font-size:16px; }
.ifcar-cta-right{ flex:0 0 auto; display:flex; flex-direction:column; align-items:center; gap:12px; padding-left:36px; border-left:1px solid #eef2f6; }
.ifcar-cta-btn{ position:relative; overflow:hidden; display:inline-flex; align-items:center; gap:12px; white-space:nowrap;
  padding:16px 34px; border-radius:40px; background:linear-gradient(90deg,#1c9ad6,#7fbf2f); background-size:180% 100%; background-position:0 0;
  color:#fff !important; font-weight:700; font-size:16px; text-decoration:none;
  box-shadow:0 14px 30px rgba(28,154,214,.32); transition:transform .35s ease, box-shadow .35s ease, background-position .5s ease; }
.ifcar-cta-btn i{ transition:transform .35s ease; }
.ifcar-cta-btn::before{ content:""; position:absolute; top:0; left:-120%; width:60%; height:100%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.45),transparent); transform:skewX(-18deg); }
.ifcar-cta-btn:hover{ transform:translateY(-4px); box-shadow:0 22px 46px rgba(28,154,214,.42); background-position:100% 0; color:#fff !important; }
.ifcar-cta-btn:hover i{ transform:translateX(6px); }
.ifcar-cta-btn:hover::before{ left:130%; transition:left .8s ease; }
.ifcar-cta-note{ display:inline-flex; align-items:center; gap:7px; font-size:13.5px; color:#8a96a3; }
.ifcar-cta-note i{ color:#1c9ad6; }
@media (max-width:991px){ .ifcar-cta-box{ flex-direction:column; text-align:center; gap:22px; padding:32px 26px; }
  .ifcar-cta-right{ padding-left:0; border-left:0; } .ifcar-cta-checks{ justify-content:center; } .ifcar-cta-title br{ display:none; } }

/* ===== Recrutement > "Groupes et entreprises privés" — page title card ===== */
.ifcar-recr-hero{ position:relative; background:#ffffff; padding:60px 0; min-height:0 !important; overflow:hidden; }
.ifcar-recr-hero::before, .ifcar-recr-hero::after{ display:none !important; }
.ifcar-recr-corner, .ifcar-recr-dots{ display:none !important; }   /* no navy/green corners, no dotted squares */
.ifcar-recr-card{ position:relative; z-index:2; background:none; box-shadow:none; border-radius:0;
  display:flex; align-items:center; gap:44px; padding:0; }
/* navy curved corners with a thin green accent arc along the curve */
.ifcar-recr-corner{ position:absolute; width:156px; height:146px; background:#8cc63f; z-index:0; }
.ifcar-recr-corner::before{ content:""; position:absolute; background:#12234d; border-radius:inherit; }
.ifcar-recr-corner.tl{ top:0; left:0; border-radius:0 0 100% 0; }
.ifcar-recr-corner.tl::before{ inset:0 9px 9px 0; border-radius:0 0 100% 0; }
.ifcar-recr-corner.br{ bottom:0; right:0; border-radius:100% 0 0 0; }
.ifcar-recr-corner.br::before{ inset:9px 0 0 9px; border-radius:100% 0 0 0; }
/* dotted patterns */
.ifcar-recr-dots{ position:absolute; width:90px; height:90px; z-index:0; opacity:.5;
  background-image:radial-gradient(#8cc63f 2px, transparent 2.4px); background-size:15px 15px; }
.ifcar-recr-dots.dtr{ top:26px; right:34px; background-image:radial-gradient(#243a6b 2px, transparent 2.4px); }
.ifcar-recr-dots.dbl{ bottom:26px; left:150px; }
.ifcar-recr-left{ position:relative; z-index:2; flex:1 1 auto; min-width:0; padding-left:74px; }
.ifcar-recr-eyebrow{ display:inline-block; position:relative; padding-left:18px; text-transform:uppercase; letter-spacing:4px;
  font-weight:800; font-size:15px; color:#7fbf2f; margin-bottom:14px; }
.ifcar-recr-eyebrow::before{ content:""; position:absolute; left:0; top:1px; bottom:1px; width:5px; border-radius:3px; background:#7fbf2f; }
.ifcar-recr-title{ margin:0; font-weight:800; text-transform:uppercase; line-height:.98; font-size:clamp(34px,4.6vw,64px); letter-spacing:-.5px; }
.ifcar-recr-title .n{ display:block; color:#12234d; } .ifcar-recr-title .g{ display:block; color:#7fbf2f; }
.ifcar-recr-uline{ display:block; width:120px; height:5px; border-radius:3px; margin:16px 0 20px; background:linear-gradient(90deg,#7fbf2f,#c5e08a); }
.ifcar-recr-sub{ margin:0 0 26px; font-size:19px; line-height:1.5; color:#4a5a6a; max-width:520px; }
.ifcar-recr-sub b{ color:#7fbf2f; font-weight:700; }
.ifcar-recr-feats{ display:flex; flex-wrap:wrap; gap:26px 30px; }
.ifcar-recr-feat{ display:flex; align-items:center; gap:12px; position:relative; }
.ifcar-recr-feat + .ifcar-recr-feat::before{ content:""; position:absolute; left:-16px; top:6px; bottom:6px; width:1px; background:#dbe3ec; }
.ifcar-recr-feat .fic{ width:44px; height:44px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  background:rgba(140,198,63,.14); color:#7fbf2f; font-size:18px; transition:transform .4s ease; }
.ifcar-recr-feat:hover .fic{ transform:rotate(-8deg) scale(1.12); }
.ifcar-recr-feat .ftx{ font-size:14px; color:#7a8899; line-height:1.35; }
.ifcar-recr-feat .ftx b{ display:block; color:#243a6b; font-weight:700; font-size:14.5px; }
/* right column */
.ifcar-recr-right{ position:relative; z-index:2; flex:0 0 auto; width:250px; text-align:center; padding-left:44px; }
.ifcar-recr-right::before{ content:""; position:absolute; left:0; top:6px; bottom:6px; width:1px; background:#dde5ee; }
.ifcar-recr-ic{ position:relative; width:128px; height:128px; margin:0 auto 20px; border-radius:50%; background:#fff;
  box-shadow:0 16px 40px rgba(20,40,80,.14); display:flex; align-items:center; justify-content:center; color:#243a6b; font-size:52px;
  transition:transform .5s cubic-bezier(.2,1.2,.4,1); }
.ifcar-recr-ic .chk{ position:absolute; right:24px; bottom:22px; width:34px; height:34px; border-radius:50%; background:#7fbf2f; color:#fff;
  display:flex; align-items:center; justify-content:center; font-size:15px; box-shadow:0 6px 14px rgba(140,198,63,.5); }
.ifcar-recr-ic:hover{ transform:translateY(-6px) scale(1.06) rotate(3deg); }
.ifcar-recr-ic::after{ content:""; position:absolute; inset:-6px; border-radius:50%; border:2px dashed rgba(127,191,47,.4); opacity:0; transition:opacity .4s ease; animation:ifcarSpin 9s linear infinite; }
.ifcar-recr-ic:hover::after{ opacity:1; }
.ifcar-recr-q{ margin:0 0 4px; font-size:15px; color:#5a6a7a; }
.ifcar-recr-devis{ display:inline-block; font-size:22px; font-weight:800; color:#12234d; text-decoration:none; }
.ifcar-recr-devis span{ color:#7fbf2f; }
.ifcar-recr-arrow{ display:inline-flex; align-items:center; gap:7px; margin-top:12px; text-decoration:none; color:#7fbf2f; }
.ifcar-recr-arrow .d{ width:6px; height:6px; border-radius:50%; background:#7fbf2f; display:inline-block; opacity:.55; transition:opacity .3s ease, transform .3s ease; }
.ifcar-recr-arrow .fa-arrow-right{ font-size:18px; color:#7fbf2f !important; transition:transform .35s ease; }
.ifcar-recr-arrow::before{ content:""; width:22px; height:2px; background:#7fbf2f; border-radius:2px; transition:width .35s ease; }
.ifcar-recr-arrow:hover::before{ width:34px; }
.ifcar-recr-arrow:hover .fa-arrow-right{ transform:translateX(6px); }
.ifcar-recr-arrow:hover .d{ opacity:1; animation:ifcarRecrDot .6s ease infinite; }
.ifcar-recr-arrow:hover .d:nth-child(2){ animation-delay:.12s; } .ifcar-recr-arrow:hover .d:nth-child(3){ animation-delay:.24s; }
@keyframes ifcarRecrDot{ 0%,100%{ transform:translateX(0); } 50%{ transform:translateX(4px); } }
@media (max-width:991px){ .ifcar-recr-card{ flex-direction:column; padding:42px 26px; gap:30px; }
  .ifcar-recr-right{ width:100%; padding-left:0; } .ifcar-recr-right::before{ display:none; } .ifcar-recr-feats{ gap:18px; } }

/* ===== Recrutement "Approche par annonce" — process + missions + CTA ===== */
.ifcar-recr2-area{ background:#fff; padding:20px 0 80px; }
.ifcar-recr2-wrap{ display:flex; align-items:stretch; gap:34px; margin-bottom:52px; }
/* vertical green tab */
.ifcar-recr2-tab{ flex:0 0 auto; width:82px; border-radius:22px; background:linear-gradient(180deg,#8cc63f,#5aa031);
  display:flex; flex-direction:column; align-items:center; justify-content:space-between; padding:26px 0 20px;
  box-shadow:0 18px 40px rgba(90,160,49,.28); }
.ifcar-recr2-tab .lbl{ writing-mode:vertical-rl; transform:rotate(180deg); color:#fff; font-weight:800; font-size:22px; letter-spacing:1px; }
.ifcar-recr2-tab .tic{ width:52px; height:52px; border-radius:50%; background:rgba(255,255,255,.18); display:flex; align-items:center; justify-content:center; color:#fff; font-size:24px; }
.ifcar-recr2-main{ flex:1 1 auto; min-width:0; }
.ifcar-recr2-eyebrow{ display:inline-block; text-transform:uppercase; letter-spacing:3px; font-weight:800; font-size:15px; color:#7fbf2f; margin-bottom:26px; }
/* steps row */
.ifcar-recr2-steps{ display:flex; align-items:flex-start; gap:10px; }
.ifcar-st{ position:relative; flex:1 1 0; text-align:center; opacity:0; transform:translateY(28px); }
.ifcar-recr2-area.in .ifcar-st{ animation:ifcarStIn .6s cubic-bezier(.2,.9,.3,1) forwards; }
.ifcar-st-num{ display:inline-flex; align-items:center; justify-content:center; width:40px; height:40px; border-radius:50%;
  background:linear-gradient(135deg,#8cc63f,#5aa031); color:#fff; font-weight:800; font-size:15px; margin-bottom:-20px; position:relative; z-index:3; box-shadow:0 8px 16px rgba(90,160,49,.35); }
.ifcar-st-circ{ width:110px; height:110px; margin:0 auto 16px; border-radius:50%; background:#fff; border:2px solid #eef2f6;
  display:flex; align-items:center; justify-content:center; color:#12234d; font-size:40px;
  box-shadow:0 16px 34px rgba(20,40,80,.10), inset 0 -4px 0 rgba(140,198,63,.5); transition:transform .4s ease, box-shadow .4s ease; }
.ifcar-st:hover .ifcar-st-circ{ transform:translateY(-6px) scale(1.04); box-shadow:0 24px 44px rgba(20,40,80,.16); }
.ifcar-st-link{ position:absolute; top:60px; right:-14px; width:30px; height:30px; border-radius:50%; background:#fff; border:1.5px solid #d7e6c4;
  display:flex; align-items:center; justify-content:center; color:#8cc63f; font-size:12px; z-index:2; }
.ifcar-st-t{ margin:0 0 8px; font-size:16px; font-weight:800; color:#12234d; line-height:1.25; }
.ifcar-st-d{ margin:0; font-size:13px; line-height:1.55; color:#7a8899; padding:0 6px; }
/* missions card */
.ifcar-recr2-miss{ background:#fbfdfb; border:1px solid #eef3ea; border-radius:24px; padding:34px 40px; box-shadow:0 20px 50px rgba(20,40,80,.05); }
.ifcar-recr2-mhead{ display:flex; align-items:center; flex-wrap:wrap; gap:14px; margin-bottom:24px; }
.ifcar-recr2-mhead .pill{ background:#12234d; color:#fff; font-weight:800; font-size:17px; padding:11px 22px; border-radius:12px; }
.ifcar-recr2-mhead .script{ position:relative; color:#7fbf2f; font-family:"Dancing Script","Segoe Script",cursive; font-size:38px; font-weight:700; line-height:1; padding-bottom:10px; }
.ifcar-swoosh{ position:absolute; left:3%; bottom:-2px; width:94%; height:15px; overflow:visible; pointer-events:none; }
.ifcar-swoosh path{ stroke-dasharray:280; stroke-dashoffset:280; }
.ifcar-recr2-area.in .ifcar-swoosh path{ animation:ifcarSwoosh 1s ease .45s forwards; }
.ifcar-recr2-cta em{ position:relative; }
.ifcar-swoosh.light{ left:0; right:0; width:100%; bottom:-5px; }
.ifcar-recr2-area.in .ifcar-swoosh.light path{ animation-delay:.2s; }
@keyframes ifcarSwoosh{ to{ stroke-dashoffset:0; } }
.ifcar-recr2-mgrid{ display:grid; grid-template-columns:1fr 1fr; gap:22px 44px; }
.ifcar-mi{ display:flex; align-items:center; gap:16px; opacity:0; transform:translateX(-18px); }
.ifcar-recr2-area.in .ifcar-mi{ animation:ifcarMiIn .55s ease forwards; }
.ifcar-mi-ck{ flex:0 0 auto; width:30px; height:30px; border-radius:50%; background:#8cc63f; color:#fff; display:flex; align-items:center; justify-content:center; font-size:13px; box-shadow:0 6px 14px rgba(140,198,63,.4); }
.ifcar-mi-ic{ flex:0 0 auto; width:58px; height:58px; border-radius:50%; background:#f0f5e8; color:#12234d; display:flex; align-items:center; justify-content:center; font-size:23px; transition:transform .4s ease; }
.ifcar-mi:hover .ifcar-mi-ic{ transform:rotate(-8deg) scale(1.08); background:#e6f0d6; }
.ifcar-mi-t{ font-size:14.5px; line-height:1.5; color:#3a4a5a; font-weight:600; }
/* bottom CTA */
.ifcar-recr2-cta{ position:relative; margin-top:36px; background:#12234d; border-radius:18px; display:flex; align-items:center; gap:24px; padding:22px 34px; overflow:hidden; }
.ifcar-recr2-cta::after{ content:""; position:absolute; right:0; top:0; bottom:0; width:180px; background:linear-gradient(120deg,transparent,rgba(140,198,63,.16)); pointer-events:none; }
.ifcar-recr2-cta .ic{ flex:0 0 auto; width:64px; height:64px; border-radius:50%; background:#fff; display:flex; align-items:center; justify-content:center; color:#12234d; font-size:26px; }
.ifcar-recr2-cta .txt{ flex:1 1 auto; }
.ifcar-recr2-cta .txt span{ display:block; color:#fff; font-size:22px; font-weight:700; }
.ifcar-recr2-cta .txt b{ display:block; color:#fff; font-size:28px; font-weight:800; }
.ifcar-recr2-cta .txt em{ color:#8cc63f; font-style:normal; }
.ifcar-recr2-cta .glob{ flex:0 0 auto; width:60px; height:60px; border-radius:50%; background:#fff; display:flex; align-items:center; justify-content:center; color:#8cc63f; font-size:26px; text-decoration:none; transition:transform .4s ease, box-shadow .4s ease; }
.ifcar-recr2-cta .glob:hover{ transform:translateY(-4px) rotate(8deg) scale(1.08); box-shadow:0 14px 28px rgba(0,0,0,.3); }
@keyframes ifcarStIn{ to{ opacity:1; transform:translateY(0); } }
@keyframes ifcarMiIn{ to{ opacity:1; transform:translateX(0); } }
/* multiple approaches spacing + optional title/description */
.ifcar-app{ margin-bottom:60px; }
.ifcar-app:last-of-type{ margin-bottom:0; }
.ifcar-app-title{ margin:0 0 0; font-size:clamp(24px,2.6vw,36px); font-weight:800; text-transform:uppercase; color:#12234d; line-height:1.1; }
.ifcar-app-uline{ display:block; width:80px; height:4px; border-radius:3px; margin:16px 0 18px; background:linear-gradient(90deg,#8cc63f,#c5e08a); }
.ifcar-app-desc{ margin:0 0 14px; font-size:15px; line-height:1.7; color:#5a6a7a; max-width:760px; }
.ifcar-app-desc:last-of-type{ margin-bottom:30px; }
@media (max-width:991px){ .ifcar-recr2-wrap{ flex-direction:column; } .ifcar-recr2-tab{ width:100%; flex-direction:row; justify-content:center; gap:16px; padding:16px; }
  .ifcar-recr2-tab .lbl{ writing-mode:horizontal-tb; transform:none; } .ifcar-recr2-steps{ flex-wrap:wrap; gap:26px; } .ifcar-st{ flex:1 1 40%; } .ifcar-st-link{ display:none; }
  .ifcar-recr2-mgrid{ grid-template-columns:1fr; } .ifcar-recr2-cta{ flex-direction:column; text-align:center; } }

/* ===== ABOUT "L'ADN d'IFCAR" infographic ===== */
.ifcar-adn-area{ background:#f7fafc; padding:80px 0 70px; overflow:hidden; }
.ifcar-adn-grid{ display:grid; grid-template-columns:1fr 220px 1.15fr; gap:30px; align-items:center; }
/* left */
.ifcar-adn-eyebrow{ display:block; text-transform:uppercase; letter-spacing:2px; font-weight:800; font-size:14px; color:#8cc63f; margin-bottom:14px; }
.ifcar-adn-title{ font-size:clamp(38px,4.4vw,62px); font-weight:800; line-height:1.02; color:#1c2b4a; margin:0 0 8px; }
.ifcar-adn-title span{ color:#8cc63f; }
.ifcar-adn-title::after{ content:""; display:block; width:56px; height:4px; border-radius:3px; background:linear-gradient(90deg,#1c9ad6,#8cc63f); margin:22px 0 0; }
.ifcar-adn-intro{ color:#5a6a7a; font-size:16px; line-height:1.75; margin:24px 0 26px; max-width:340px; }
.ifcar-adn-stat{ display:flex; align-items:center; gap:16px; background:#fff; border-radius:16px; padding:16px 20px; box-shadow:0 12px 34px rgba(20,40,80,.06); margin-bottom:16px; max-width:360px;
  opacity:0; transform:translateX(-26px); transition:transform .45s ease, box-shadow .35s ease; }
.ifcar-adn-area.in .ifcar-adn-stat{ animation:ifcarAdnLeft .6s ease forwards; }
.ifcar-adn-area.in .ifcar-adn-stat:nth-child(6){ animation-delay:.12s; }
.ifcar-adn-stat:hover{ transform:translateY(-5px) !important; box-shadow:0 20px 44px rgba(20,40,80,.13); }
.ifcar-adn-stat .ic{ flex:0 0 52px; width:52px; height:52px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  background:rgba(140,198,63,.14); color:#8cc63f; font-size:20px; transition:transform .4s ease;
  animation:ifcarIcFloat 3.4s ease-in-out infinite; }
.ifcar-adn-stat:hover .ic{ animation-play-state:paused; transform:scale(1.12) rotate(-6deg); }
.ifcar-adn-stat h5{ margin:0 0 3px; font-size:19px; font-weight:800; color:#1c2b4a; }
.ifcar-adn-stat h5 b{ color:#8cc63f; }
.ifcar-adn-stat p{ margin:0; font-size:13.5px; line-height:1.5; color:#6a7889; }
/* center DNA */
.ifcar-adn-dna{ display:flex; flex-direction:column; align-items:center; text-align:center; }
.ifcar-adn-cap b{ display:block; font-size:22px; font-weight:800; color:#8cc63f; }
.ifcar-adn-cap.bot b{ color:#2b3f9b; }
.ifcar-adn-cap span{ font-size:13px; color:#5a6a7a; line-height:1.4; }
.ifcar-adn-cap.top{ margin-bottom:6px; } .ifcar-adn-cap.bot{ margin-top:6px; }
.ifcar-adn-helix{ position:relative; width:190px; height:440px; }
.ifcar-dna-svg{ width:100%; height:100%; display:block; }
/* strands draw in once, then the bright flow + rung pulse run forever */
.ifcar-adn-area.in .ifcar-dna-main{ stroke-dasharray:1400; stroke-dashoffset:1400; animation:ifcarDnaDraw 2.2s ease forwards; }
.ifcar-adn-area.in .ifcar-dna-main:nth-of-type(2){ animation-delay:.15s; }
.ifcar-dna-flow{ animation:ifcarDnaFlow 1.5s linear infinite; }        /* continuous energy flowing down */
.ifcar-dna-flow.f2{ animation-duration:1.9s; animation-direction:reverse; }
.ifcar-dna-rung{ transform-origin:center; animation:ifcarRungPulse 2.4s ease-in-out infinite; }
.ifcar-dna-letter{ position:absolute; left:50%; margin-left:-26px; margin-top:-26px; width:52px; height:52px; border-radius:50%;
  background:#fff; box-shadow:0 8px 22px rgba(20,40,80,.16); display:flex; align-items:center; justify-content:center;
  font-weight:800; font-size:22px; z-index:2; opacity:0;
  animation:ifcarDnaFloat 3.4s ease-in-out infinite; transition:transform .3s ease, box-shadow .35s ease, opacity .5s ease; }
.ifcar-adn-area.in .ifcar-dna-letter{ opacity:1; }
.ifcar-dna-letter.d1{ color:#8cc63f; animation-delay:-.2s; transition-delay:.35s; } .ifcar-dna-letter.d2{ color:#25b3a6; animation-delay:-1.1s; transition-delay:.5s; }
.ifcar-dna-letter.d3{ color:#1c9ad6; animation-delay:-2s; transition-delay:.65s; } .ifcar-dna-letter.d4{ color:#7b5cc4; animation-delay:-2.7s; transition-delay:.8s; }
.ifcar-dna-letter.d5{ color:#2b3f9b; animation-delay:-3.3s; transition-delay:.95s; }
.ifcar-dna-letter:hover{ animation-play-state:paused; transform:scale(1.2) translateY(-3px); box-shadow:0 14px 30px rgba(20,40,80,.28); }
/* right cards */
.ifcar-adn-card{ position:relative; display:flex; align-items:center; gap:18px; background:#fff; border-radius:16px; padding:20px 26px 20px 22px;
  box-shadow:0 12px 34px rgba(20,40,80,.06); margin-bottom:16px; overflow:hidden;
  opacity:0; transform:translateX(30px); }
.ifcar-adn-area.in .ifcar-adn-card{ animation:ifcarAdnRight .6s ease forwards; }
.ifcar-adn-card::before{ content:""; position:absolute; left:0; top:0; bottom:0; width:5px; background:var(--adnc,#1c9ad6); transform:scaleY(0); transform-origin:top; transition:transform .4s ease; }
.ifcar-adn-card:hover{ transform:translateY(-6px) !important; box-shadow:0 22px 48px rgba(20,40,80,.14); }
.ifcar-adn-card:hover::before{ transform:scaleY(1); }
.ifcar-adn-cic{ flex:0 0 62px; width:62px; height:62px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  background:color-mix(in srgb, var(--adnc) 13%, #fff); color:var(--adnc); font-size:24px; transition:transform .4s ease;
  animation:ifcarIcPulse 3s ease-in-out infinite; }
.ifcar-adn-card:hover .ifcar-adn-cic{ animation-play-state:paused; transform:rotate(-8deg) scale(1.12); }
.ifcar-adn-ctx{ flex:1; }
.ifcar-adn-ctx h4{ margin:0 0 5px; font-size:18px; font-weight:800; letter-spacing:.5px; text-transform:uppercase; color:var(--adnc); }
.ifcar-adn-ctx p{ margin:0; font-size:13.5px; line-height:1.55; color:#6a7889; }
.ifcar-adn-cnum{ flex:0 0 auto; padding-left:18px; margin-left:6px; border-left:2px solid #eef2f6; font-size:30px; font-weight:800; color:var(--adnc); opacity:.85; }
.ifcar-adn-card.c1{ --adnc:#7fbf2f; } .ifcar-adn-card.c2{ --adnc:#25b3a6; } .ifcar-adn-card.c3{ --adnc:#1c9ad6; }
.ifcar-adn-card.c4{ --adnc:#7b5cc4; } .ifcar-adn-card.c5{ --adnc:#2b3f9b; }
@keyframes ifcarAdnLeft{ to{ opacity:1; transform:translateX(0); } }
@keyframes ifcarAdnRight{ to{ opacity:1; transform:translateX(0); } }
@keyframes ifcarDnaDraw{ to{ stroke-dashoffset:0; } }
@keyframes ifcarDnaFlow{ to{ stroke-dashoffset:-96; } }         /* energy flows down the strand */
@keyframes ifcarRungPulse{ 0%,100%{ opacity:.45; } 50%{ opacity:1; } }
@keyframes ifcarDnaFloat{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-8px); } }
@keyframes ifcarIcPulse{ 0%,100%{ transform:scale(1); } 50%{ transform:scale(1.08); } }
@keyframes ifcarIcFloat{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-5px); } }
@media (max-width:1100px){ .ifcar-adn-grid{ grid-template-columns:1fr; gap:34px; } .ifcar-adn-dna{ order:3; } .ifcar-adn-intro{ max-width:none; } }

/* --- "Prenez rendez-vous" CTA (inside the Accompagnement individuel tab) --- */
.ifcar-rdv-wrap{ margin:34px 0 6px; text-align:center; width:100%; }
.ifcar-rdv-btn{
  display:inline-flex; align-items:center; gap:9px; justify-content:center;
  padding:16px 36px; border-radius:50px; text-decoration:none;
  background:linear-gradient(90deg,#1c9ad6,#8cc63f);
  color:#fff; font-size:17px; font-weight:600; letter-spacing:.2px;
  box-shadow:0 12px 30px rgba(28,154,214,.32);
  transition:transform .25s ease, box-shadow .25s ease, filter .25s ease;
}
.ifcar-rdv-btn:hover{ transform:translateY(-3px); box-shadow:0 16px 40px rgba(28,154,214,.45); filter:brightness(1.04); color:#fff; }
.ifcar-rdv-btn i{ transition:transform .25s ease; }
.ifcar-rdv-btn:hover i{ transform:translateX(4px); }
/* rotator: a 1-line window; the stacked words translate up on a loop */
.ifcar-rdv-rot{ display:inline-block; height:1.35em; line-height:1.35em; overflow:hidden; vertical-align:bottom; text-align:left; }
.ifcar-rdv-rot b{ display:block; font-weight:800; color:#fff; animation:ifcarWords 6.6s cubic-bezier(.86,0,.07,1) infinite; }
@keyframes ifcarWords{
  0%,27%   { transform:translateY(0); }
  33%,60%  { transform:translateY(-1.35em); }
  66%,93%  { transform:translateY(-2.70em); }
  100%     { transform:translateY(-4.05em); }
}

/* --- Two-tone brand accents (harmonious blue + green from the logo) ---
   Blue = CTAs / links / structure (theme --color-primary).
   Green = section eyebrows + content icons, so no single colour dominates. */
.sub-title{ color:#8cc63f !important; }
i[class*="flaticon-"]{ color:#8cc63f !important; }

/* --- Social: keep only Facebook, LinkedIn, Instagram (hide Twitter & Pinterest) --- */
li:has(i.fa-twitter), li:has(i.fa-pinterest-p),
li:has(i.fa-twitter-square), li:has(i.fa-pinterest){ display:none !important; }

/* --- Give the menu column more room (drop the offset, widen it) so the long
   French menu fits on ONE line at the desktop breakpoint (>=1200). --- */
/* The body is locked to a fixed 1440px design width from 1024px up (lockScale in
   i18n.js), so keep the FULL desktop menu (no hamburger) from 1024px up — every
   laptop/monitor from 1300px to TV shows the same design, just scaled. Below 1300
   the template's native collapsed/hamburger menu takes over (handled separately). */
@media (min-width:1300px){
  /* shrink the logo + button columns so the 6-item menu fits on one line */
  .navbar .col-xl-2.col-lg-3{ -ms-flex:0 0 12% !important; flex:0 0 12% !important; max-width:12% !important; }
  .navbar .col-xl-3.col-md-6{ -ms-flex:0 0 22% !important; flex:0 0 22% !important; max-width:22% !important; }
  .navbar .col-xl-6.offset-xl-1{
    -ms-flex:0 0 66% !important; flex:0 0 66% !important;
    max-width:66% !important; margin-left:0 !important;
    padding-left:52px !important;
  }
  nav.navbar .button a{ white-space:nowrap !important; }
  #navbar-menu .navbar-nav{ display:-ms-flexbox !important; display:flex !important; -ms-flex-direction:row !important; flex-direction:row !important; -ms-flex-pack:center !important; justify-content:center !important; -ms-flex-align:center !important; align-items:center !important; -ms-flex-wrap:nowrap !important; flex-wrap:nowrap !important; white-space:nowrap !important; width:100% !important; }
  #navbar-menu .navbar-nav > li{ float:none !important; display:-ms-flexbox !important; display:flex !important; -ms-flex:0 0 auto !important; flex:0 0 auto !important; }
  nav.navbar #navbar-menu .navbar-nav > li > a{ font-size:11px !important; padding-left:11px !important; padding-right:11px !important; white-space:nowrap !important; }
}
/* Mobile (hamburger up to 1299): expand a dropdown's submenu inline when tapped (li.open) */
@media (max-width:1299px){
  #navbar-menu .navbar-nav > li.dropdown > .dropdown-menu,
  nav.navbar.validnavs .navbar-nav > li.dropdown > ul.dropdown-menu{ display:none !important; }
  #navbar-menu .navbar-nav > li.dropdown.open > .dropdown-menu,
  nav.navbar.validnavs .navbar-nav > li.dropdown.open > ul.dropdown-menu{ display:block !important; position:static !important; float:none !important; width:100% !important; box-shadow:none !important; }
}
/* --- Menu text (base; desktop tightens it above) --- */
#navbar-menu .navbar-nav > li > a{ font-size:15px !important; padding-left:7px !important; padding-right:7px !important; letter-spacing:0 !important; }
.navbar-nav > li{ white-space:nowrap !important; }

/* --- Top-level hover: brand blue (no underline — like the original template) --- */
#navbar-menu .navbar-nav > li > a{ transition:color .2s ease !important; }
#navbar-menu .navbar-nav > li:hover > a,
#navbar-menu .navbar-nav > li > a:hover,
#navbar-menu .navbar-nav > li.active > a{ color:#1c9ad6 !important; }

/* --- Submenu hover animation (clearly shows the item you're on) --- */
#navbar-menu .dropdown-menu{ padding:8px 0 !important; overflow:hidden; }
#navbar-menu .dropdown-menu > li > a{
  position:relative; display:block; padding:10px 18px 10px 22px !important;
  transition:color .25s ease, background-color .25s ease, padding-left .25s ease !important;
}
#navbar-menu .dropdown-menu > li > a::before{
  content:""; position:absolute; left:0; top:6px; bottom:6px; width:3px; border-radius:0 3px 3px 0;
  background:linear-gradient(180deg,#29abe2,#0e6cb0);
  transform:scaleY(0); transform-origin:center; transition:transform .28s ease;
}
#navbar-menu .dropdown-menu > li > a:hover{
  color:#1c9ad6 !important; background-color:rgba(28,154,214,.10) !important; padding-left:30px !important;
}
#navbar-menu .dropdown-menu > li > a:hover::before{ transform:scaleY(1); }
.navbar-nav .dropdown-toggle .fa-angle-down, .navbar-nav .dropdown-toggle::after{ margin-left:2px; }

/* --- Footer logo sizing only (header logo left at the original template size/position) --- */
.footer-logo img, .footer .logo, footer img.logo{
  height:82px !important; max-height:82px !important; width:auto !important;
}

/* ============ SULTIN-STYLE HEADER (homepage, transparent over hero) ============ */
html.ifcar-home .top-bar-area{ background:#0c2244 !important; border-bottom:1px solid rgba(255,255,255,.12); }
/* idea2: thin vertical separators in the navy topbar (email | phone, social | langs) */
.top-bar-area ul.item-flex > li + li{ border-left:1px solid rgba(255,255,255,.26) !important; padding-left:22px !important; margin-left:10px !important; }
.top-bar-area .social #lang-switcher{ border-left:1px solid rgba(255,255,255,.26) !important; padding-left:15px !important; margin-left:9px !important; }
/* topbar email + phone: same small size as the menu, with matching small icons */
.top-bar-area ul.item-flex > li,
.top-bar-area ul.item-flex > li > a{ font-size:13px !important; }
.top-bar-area ul.item-flex > li > a i,
.top-bar-area ul.item-flex > li i{ font-size:15px !important; }
/* move email + phone to the LEFT of the topbar (just after the logo box), not centered */
.top-bar-area .col-xl-6.offset-xl-3{ margin-left:175px !important; }
.top-bar-area ul.item-flex{ -ms-flex-pack:start !important; justify-content:flex-start !important; }
/* push the social icons + language switcher to the FAR RIGHT edge of the topbar */
.top-bar-area .col-xl-3.text-end{ transform:translateX(222px) !important; }
/* NOTE: white box kept as the ORIGINAL Consua template (no geometry overrides).
   Header logo enlarged to roughly the CONSUA logo footprint, positioned the same
   way (left, same vertical centre) — only the size grows, layout unchanged. */
.navbar-header img.logo{
  height:56px !important; max-height:56px !important; width:auto !important;
  position:relative !important; top:0 !important;   /* default: centred in the navbar (inner pages) */
}
/* Homepage only: raise the logo so it sits centred inside the white angled box. */
html.ifcar-home .navbar:not(.sticked) .navbar-header img.logo{ top:-36px !important; }
/* Shorter menu row (home): trim the vertical padding of the nav links + button so the
   white menu band is more compact. */
html.ifcar-home nav.navbar:not(.sticked) #navbar-menu .navbar-nav > li > a{ padding-top:8px !important; padding-bottom:8px !important; }
/* About page: remove the "À propos" title banner (heading + breadcrumb + image). */
.ifcar-page-about-us .breadcrumb-area{ display:none !important; }
/* About page: keep the decorative "X" but shift it left into the margin so it no
   longer overlaps the "Des solutions" text; remove the founder block. */
.ifcar-page-about-us img[src*="anim-2"]{ transform:translate(-42px,-10px) !important; }
.ifcar-page-about-us .owner-info{ display:none !important; }
/* Sticky navbar (scrolled -> class "sticked"): no white box / no top-bar above, so
   drop the upward offset and shrink the logo so it sits fully inside the 88px bar.
   NOTE: match ONLY .sticked (the navbar always carries "navbar-sticky on"). */
.navbar.sticked .navbar-header img.logo{
  height:60px !important; max-height:60px !important; top:0 !important;
}
/* Unified sticky navbar for ALL pages (HOME included). Now that page scrolling works
   again (the body height/overflow fix above), the template's native fixed sticky
   positions correctly at top:0 — so the HOME uses the SAME sticky as Qui sommes-nous
   et al. Slide it down on appear. The old standalone #ifcar-sbar hack is retired. */
@keyframes ifcarStickyDown{ 0%{ transform:translateY(-105%); } 100%{ transform:translateY(0); } }
nav.navbar.sticked{
  animation:ifcarStickyDown .5s cubic-bezier(.22,.61,.36,1) both !important;
  box-shadow:0 8px 26px -10px rgba(12,34,68,.22) !important; background:#fff !important;
}
#ifcar-sbar{ display:none !important; }
/* Accueil 2 (/home2): show ONLY header → hero → confiance → NOS DOMAINES D'EXPERTISE,
   exactly like the mockup — hide every section below the expertise cards + the footer. */
html.ifcar-acc2 .team-style-one-area,
html.ifcar-acc2 .ifcar-experts-area,
html.ifcar-acc2 .request-call-back-area,
html.ifcar-acc2 .ifcar-hero2-area,
html.ifcar-acc2 .home-blog-area,
html.ifcar-acc2 .ifcar-hcontact-area,
html.ifcar-acc2 .c2-field,
html.ifcar-acc2 .c2-area,
html.ifcar-acc2 footer,
html.ifcar-acc2 .footer-area{ display:none !important; }
/* White box (non-sticky): shorter + centred vertically on the logo so the logo
   sits in the MIDDLE of the box (not dropped to the bottom). */
html.ifcar-home .navbar:not(.sticked) .navbar-header::after{
  transform:none !important; top:-58px !important; bottom:auto !important; height:104px !important;
}
html.ifcar-home .navbar:not(.sticked) .navbar-header::before{
  display:none !important;
}

/* ============ SULTIN SLIDER — faithful port (homepage) ============ */
/* title font from the Sultin template */
@font-face{ font-family:"Dancing Script"; font-style:normal; font-weight:700; font-display:swap;
  src:url(/assets/fonts/script/dancing-script.woff2) format("woff2"); }
@font-face{ font-family:"DM Sans"; font-style:normal; font-weight:100 1000; font-display:swap;
  src:url(/assets/fonts/dmsans/dmsans-latin.woff2) format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face{ font-family:"DM Sans"; font-style:normal; font-weight:100 1000; font-display:swap;
  src:url(/assets/fonts/dmsans/dmsans-latinext.woff2) format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }

html.ifcar-home .ifcar-sultin-slider{ position:relative; display:block; overflow:hidden; min-height:770px; background:#071422; }
.ifcar-sultin-slider .iss-slide{ position:absolute; inset:0; opacity:0; visibility:hidden; transition:opacity 1000ms ease; }
.ifcar-sultin-slider .iss-slide.active{ opacity:1; visibility:visible; z-index:2; }
.ifcar-sultin-slider .iss-image{ position:absolute; inset:0; background-size:cover; background-position:center bottom;
  transform:scale(1); transition:transform 7000ms ease; }
.ifcar-sultin-slider .iss-image::before{ content:""; position:absolute; inset:0; background:#071422; opacity:.62; }
.ifcar-sultin-slider .iss-slide.active .iss-image{ transform:scale(1.12); }
/* the signature skewed panel on the left (soft-light blend) */
.ifcar-sultin-slider .iss-shape{ position:absolute; top:0; bottom:0; left:115px; right:100%;
  background:#1c9ad6; mix-blend-mode:soft-light; z-index:1; transform:skewX(0deg); transform-origin:left; transition:all 1000ms ease; }
.ifcar-sultin-slider .iss-slide.active .iss-shape{ right:62%; transform:skewX(20deg); transition:all 1500ms ease; }
.ifcar-sultin-slider .iss-inner{ position:relative; z-index:11; max-width:1200px; margin:0 auto; padding:210px 30px 110px; }
.ifcar-sultin-slider .iss-eyebrow{ color:#fff; letter-spacing:3px; text-transform:uppercase; font-size:15px; font-weight:600; visibility:visible;
  margin-bottom:18px; opacity:0; transform:translateY(-40px); transition:all 900ms ease; }
.ifcar-sultin-slider .iss-slide.active .iss-eyebrow{ opacity:.92; transform:none; transition-delay:700ms; }
.ifcar-sultin-slider .iss-title{ font-family:"DM Sans",sans-serif; color:#fff; font-weight:700; text-transform:capitalize; visibility:visible;
  font-size:clamp(40px,5.4vw,88px); line-height:1.2; margin:0;
  opacity:0; transform:perspective(400px) translateY(-70px); transform-origin:top; transition:all 1000ms ease; }
.ifcar-sultin-slider .iss-slide.active .iss-title{ opacity:1; transform:perspective(400px) translateY(0); transition-delay:1000ms; }
.ifcar-sultin-slider .iss-title .dot{ display:inline-block; width:16px; height:16px; background:#1c9ad6; border-radius:50%; margin-left:5px; }
.ifcar-sultin-slider .iss-btns{ margin-top:46px; opacity:0; transform:perspective(400px) translateY(70px); transition:all 1300ms ease; }
.ifcar-sultin-slider .iss-slide.active .iss-btns{ opacity:1; transform:perspective(400px) translateY(0); transition-delay:1300ms; }
/* Circle button (arrow) that expands rightward into a pill revealing the text on hover.
   The circle stays anchored on the left (no jump), text slides out to the right. */
.ifcar-sultin-slider .iss-btn{ display:inline-flex; align-items:center; text-decoration:none; }
.ifcar-sultin-slider .iss-btn-ico{
  position:relative; z-index:2; flex:0 0 64px; width:64px; height:64px; border-radius:50%;
  background:#1c9ad6; color:#fff; display:flex; align-items:center; justify-content:center; font-size:17px;
  transition:background .3s ease; }
.ifcar-sultin-slider .iss-btn-txt{
  display:block; max-width:0; opacity:0; overflow:hidden; white-space:nowrap;
  height:64px; line-height:64px; background:#1c9ad6; color:#fff;
  font-family:"DM Sans",sans-serif; font-weight:600; text-transform:uppercase; letter-spacing:1.5px; font-size:14px;
  border-radius:0 32px 32px 0; padding:0; margin-left:-32px;
  transition:max-width .5s cubic-bezier(.65,0,.35,1), opacity .4s ease, padding .5s ease; }
.ifcar-sultin-slider .iss-btn:hover .iss-btn-txt{ max-width:280px; opacity:1; padding:0 34px 0 46px; }
.ifcar-sultin-slider .iss-btn:hover .iss-btn-ico{ background:#0e6cb0; }
@media (max-width:991px){ .ifcar-sultin-slider .iss-inner{ padding:150px 20px 70px; } .ifcar-sultin-slider .iss-shape{ display:none; } .ifcar-sultin-slider{ min-height:620px; } }

/* --- Hero: ONE static photo + shape (built once by JS), only the text cycles --- */
/* (removed a background-image override that pointed at a never-shipped slide.png —
   the visible hero is the .ifcar-sultin-slider layered on top, so this only caused a 404) */

/* static layer holds the photo (+ its shapes); it never re-fades */
.ifcar-hero-static{ position:absolute; inset:0; z-index:0; pointer-events:none; overflow:hidden; }
.ifcar-hero-static .banner-thumb{
  display:block !important; position:absolute; inset:0;
  transition:none !important; transform-origin:center;
  animation:ifcarZoomOnce 20s ease-out forwards !important;   /* zoom ONCE, then hold */
}
@keyframes ifcarZoomOnce{ from{transform:scale(1)} to{transform:scale(1.12)} }
/* pin the right-side blue shape (bottom-right), it appears once and stays */
.ifcar-hero-static .banner-shape-bg{
  display:block !important; position:absolute !important;
  right:0 !important; left:auto !important; bottom:0 !important; top:auto !important;
  width:50% !important; height:auto !important; margin:0 !important; z-index:1;
}
.ifcar-hero-static .banner-shape-bg img{ width:100% !important; height:auto !important; }

/* once the static layer exists, hide the per-slide photo/shape and let text sit on top */
.ifcar-hero-ready .banner-fade .swiper-slide .banner-thumb,
.ifcar-hero-ready .banner-fade .swiper-slide .banner-shape-bg{ display:none !important; }
.ifcar-hero-ready .banner-fade{ position:relative; z-index:2; }
.ifcar-hero-ready .banner-fade .swiper,
.ifcar-hero-ready .banner-fade .swiper-slide,
.ifcar-hero-ready .banner-fade .banner-thumb{ background:transparent !important; }

/* reserve heading height (tallest = 3 lines) so nothing shifts between slides */
.banner-fade .swiper-slide .content h2{ min-height:3.3em; }

/* the "Nos services" button: reserved position (no move) + does not re-animate */
.banner-fade .swiper-slide .content > .button{ opacity:1 !important; animation:none !important; }

/* SIMPLE text transition: pure cross-fade only (no movement -> no shake).
   Swiper's crossFade handles the fade; a tiny opacity ease keeps it soft. */
.banner-fade .swiper-slide .content > h4,
.banner-fade .swiper-slide .content > h2{ transition:opacity .6s ease; }

/* --- Arabic: keep LTR layout, right-align & RTL-shape body text only --- */
/* Body copy + headings read right-to-left without reordering the grid/decorations */
html.lang-ar p,
html.lang-ar h1, html.lang-ar h2, html.lang-ar h3,
html.lang-ar h4, html.lang-ar h5, html.lang-ar h6,
html.lang-ar blockquote, html.lang-ar figcaption,
html.lang-ar .heading, html.lang-ar .title, html.lang-ar .sub-title,
html.lang-ar .content, html.lang-ar .item-content, html.lang-ar dd, html.lang-ar dt{
  direction:rtl; text-align:right;
}
/* centered blocks stay centered */
html.lang-ar .text-center, html.lang-ar .text-center *{ text-align:center!important; }
/* Arabic font stack for nicer rendering */
html.lang-ar body{ font-family:"Segoe UI","Tahoma","Arial",sans-serif; }
/* keep emails / phones / latin fragments readable inside Arabic text */
html.lang-ar a[href^="mailto:"], html.lang-ar a[href^="tel:"]{ direction:ltr; unicode-bidi:embed; display:inline-block; }

/* ============================================================================
   ANTI-FOUC CLOAK + IFCAR LOADER
   Covers the page from the very first paint (this stylesheet is render-blocking
   in <head>) so the visitor never sees the Consua preloader or the old design
   flash. i18n.js adds html.ifcar-ready once our transforms are applied, which
   fades the cloak out. A CSS animation fallback reveals it even if JS fails.
   ============================================================================ */
#preloader, #consua-preloader{ display:none !important; }   /* hide the Consua "CONSUA" preloader entirely */
html:not(.ifcar-ready) body{ overflow:hidden !important; }
/* CRITICAL scroll fix: the template forces body{height:100vh; overflow:auto}, which
   under the zoom-lock turns <body> into a viewport-height INNER scroll container so the
   whole document can't scroll (window.scrollY stuck at 0 → sticky never triggers). Let the
   body grow to full content height and hand scrolling back to the document (<html>). */
html.ifcar-ready body{ height:auto !important; min-height:auto !important; overflow:visible !important; }
/* full-screen white cover */
html::before{
  content:""; position:fixed; inset:0; background:#ffffff; z-index:2147483645;
  opacity:1; pointer-events:auto; transition:opacity .55s ease;
  animation:ifcarCloakFallback .1s linear 6s forwards;
}
/* IFCAR logo, a touch above centre, gentle breathe-in */
html::after{
  content:""; position:fixed; top:46%; left:50%; transform:translate(-50%,-50%);
  width:min(300px,62vw); height:118px; z-index:2147483647; pointer-events:none;
  background:url(/_next/static/media/logo.729ad926.png) center/contain no-repeat;
  opacity:1; transition:opacity .45s ease;
  animation:ifcarCloakFallback .1s linear 6s forwards, ifcarLogoIn .9s ease-out both;
}
/* animated brand line under the logo (track + gliding blue→green segment).
   Gated on :not(.ifcar-ready) so it never clobbers a template body::before after load. */
html:not(.ifcar-ready) body::before{
  content:""; position:fixed; top:calc(46% + 78px); left:50%; transform:translateX(-50%);
  width:230px; height:3px; border-radius:99px; z-index:2147483647; pointer-events:none;
  background:
    linear-gradient(90deg, rgba(28,154,214,0) 0%, #1c9ad6 32%, #8cc63f 68%, rgba(140,198,63,0) 100%) -60% 0 / 45% 100% no-repeat,
    rgba(28,154,214,.14);
  animation:ifcarLineSweep 1.25s cubic-bezier(.6,.05,.3,1) infinite, ifcarCloakFallback .1s linear 6s forwards;
}
html.ifcar-ready::before, html.ifcar-ready::after{ opacity:0 !important; visibility:hidden !important; pointer-events:none !important; }
@keyframes ifcarCloakFallback{ to{ opacity:0; visibility:hidden; } }
@keyframes ifcarLogoIn{ 0%{ opacity:0; transform:translate(-50%,-50%) scale(.94); } 100%{ opacity:1; transform:translate(-50%,-50%) scale(1); } }
@keyframes ifcarLineSweep{ 0%{ background-position:-60% 0, 0 0; } 100%{ background-position:160% 0, 0 0; } }


/* ===== HOME "Membres de l'équipe": real IFCAR photos (landscape → square crop on the face) ===== */
.ifcar-team-card .thumb img{ object-fit:cover; object-position:center 18%; width:100%; height:100%; }

/* ===== HOME hero-band (replaces .request-call-back-area "Vous cherchez un consultant…") ===== */
.ifcar-hero2-area{ background:#eef3f9 !important; padding:0 !important; overflow:hidden; }
.ifcar-hero2-area .container{ max-width:1210px; }
.ifcar-hero2{ position:relative; }
.ifcar-hero2-top{ display:grid; grid-template-columns:1fr 1.06fr; gap:44px; align-items:center; padding:74px 0 44px; }
/* left */
.ih-left{ position:relative; z-index:2; opacity:0; transform:translateY(26px); transition:opacity .7s ease, transform .7s ease; }
.ifcar-hero2.ih-in .ih-left{ opacity:1; transform:none; }
.ih-eyebrow{ display:inline-flex; align-items:center; gap:12px; color:#6fb62e; font-weight:800; font-size:13px; letter-spacing:.15em; text-transform:uppercase; margin-bottom:18px; }
.ih-eyebrow::before{ content:""; width:34px; height:3px; border-radius:3px; background:#8cc63f; }
.ih-title{ color:#0c2244; font-size:52px; line-height:1.08; font-weight:800; margin:0 0 22px; letter-spacing:-.015em; }
.ih-accent{ position:relative; color:#1c9ad6; white-space:nowrap; }
.ih-accent svg{ position:absolute; left:0; bottom:-14px; width:100%; height:16px; overflow:visible; }
.ih-accent svg path{ stroke-dasharray:230; stroke-dashoffset:230; }
.ifcar-hero2.ih-in .ih-accent svg path{ animation:ihSwoosh 1.1s ease .45s forwards; }
@keyframes ihSwoosh{ to{ stroke-dashoffset:0; } }
.ih-sub{ color:#5b6b7f; font-size:16.5px; line-height:1.72; max-width:470px; margin:0 0 30px; }
.ih-cta{ position:relative; overflow:hidden; display:inline-flex; align-items:center; gap:14px; padding:17px 36px; border-radius:50px; background:linear-gradient(120deg,#8cc63f,#6fb62e); color:#fff !important; font-weight:800; font-size:16px; text-decoration:none; box-shadow:0 16px 34px -10px rgba(140,198,63,.7); transition:transform .25s, box-shadow .25s; }
.ih-cta:hover{ transform:translateY(-3px); box-shadow:0 22px 46px -10px rgba(140,198,63,.9); }
.ih-cta i{ transition:transform .25s; }
.ih-cta:hover i{ transform:translateX(6px); }
.ih-cta::after{ content:""; position:absolute; top:0; left:-60%; width:34%; height:100%; transform:skewX(-20deg); background:linear-gradient(100deg,rgba(255,255,255,0),rgba(255,255,255,.5),rgba(255,255,255,0)); animation:ihShine 3.4s ease-in-out infinite; }
@keyframes ihShine{ 0%{left:-60%} 55%,100%{left:145%} }
.ih-features{ display:flex; gap:30px; margin-top:46px; flex-wrap:wrap; }
.ih-feat{ display:flex; align-items:center; gap:13px; }
.ih-feat + .ih-feat{ border-left:1px solid #d7e0ec; padding-left:30px; }
.ih-feat i{ font-size:26px; color:#1c9ad6; }
.ih-feat span{ color:#0c2244; font-weight:700; font-size:14px; line-height:1.25; }
/* right */
.ih-right{ position:relative; opacity:0; transform:translateX(34px); transition:opacity .8s ease .12s, transform .8s ease .12s; }
.ifcar-hero2.ih-in .ih-right{ opacity:1; transform:none; }
.ih-photo{ position:relative; border-radius:16px; overflow:hidden; clip-path:polygon(13% 0,100% 0,100% 100%,0 100%); box-shadow:0 30px 62px -22px rgba(12,34,68,.55); }
.ih-photo img{ display:block; width:100%; height:520px; object-fit:cover; object-position:60% center; }
.ih-photo::before{ content:""; position:absolute; inset:0; background:linear-gradient(115deg, rgba(12,34,68,.75) 0%, rgba(12,34,68,.15) 34%, rgba(12,34,68,0) 55%); }
.ih-badge{ position:absolute; right:-16px; width:246px; display:flex; align-items:flex-start; gap:14px; padding:18px 20px; border-radius:16px; background:#0c2244; box-shadow:0 24px 48px -16px rgba(12,34,68,.75); z-index:3; }
.ih-badge-1{ top:34px; animation:ihFloat 5s ease-in-out infinite; }
.ih-badge-2{ bottom:34px; animation:ihFloat 5s ease-in-out infinite 1.6s; }
@keyframes ihFloat{ 0%,100%{ transform:translateY(0) } 50%{ transform:translateY(-11px) } }
.ih-badge-ic{ flex:0 0 auto; width:52px; height:52px; border-radius:50%; background:#fff; display:flex; align-items:center; justify-content:center; }
.ih-badge-ic i{ font-size:22px; }
.ih-badge-ic.green i{ color:#8cc63f; }
.ih-badge-ic.blue i{ color:#1c9ad6; }
.ih-badge-txt b{ display:block; font-size:30px; font-weight:800; line-height:1; }
.ih-badge-1 .ih-badge-txt b{ color:#8cc63f; }
.ih-badge-2 .ih-badge-txt b{ color:#2d9bf0; }
.ih-badge-txt span{ display:block; color:#c7d3e5; font-size:12.5px; line-height:1.35; margin-top:6px; }
.ih-badge-line{ display:block; width:34px; height:3px; border-radius:3px; margin-top:10px; }
.ih-badge-line.green{ background:#8cc63f; }
.ih-badge-line.blue{ background:#2d9bf0; }
/* bottom navy stats/quote bar */
.ifcar-hero2-bar{ display:grid; grid-template-columns:auto auto auto 1fr; gap:34px; align-items:center; background:linear-gradient(120deg,#0a1e3d,#0c2444); border-radius:20px; padding:32px 42px; margin:14px 0 74px; box-shadow:0 30px 62px -26px rgba(10,30,61,.6); opacity:0; transform:translateY(26px); transition:opacity .7s ease .22s, transform .7s ease .22s; }
.ifcar-hero2.ih-in .ifcar-hero2-bar{ opacity:1; transform:none; }
.ih-stat{ display:flex; align-items:center; gap:14px; }
.ih-stat-ic{ flex:0 0 auto; width:56px; height:56px; border-radius:50%; background:#fff; display:flex; align-items:center; justify-content:center; }
.ih-stat-ic i{ font-size:23px; }
.ih-stat:nth-child(1) .ih-stat-ic i{ color:#1c9ad6; }
.ih-stat:nth-child(2) .ih-stat-ic i{ color:#1c9ad6; }
.ih-stat:nth-child(3) .ih-stat-ic i{ color:#8cc63f; }
.ih-stat b{ display:block; font-size:31px; font-weight:800; line-height:1; }
.ih-stat:nth-child(1) b{ color:#8cc63f; }
.ih-stat:nth-child(2) b{ color:#2d9bf0; }
.ih-stat:nth-child(3) b{ color:#8cc63f; }
.ih-stat span{ display:block; color:#c7d3e5; font-size:13px; margin-top:7px; }
.ih-quote{ position:relative; padding-left:32px; }
.ih-quote::before{ content:""; position:absolute; left:0; top:4px; bottom:4px; width:1px; background:rgba(255,255,255,.16); }
.ih-quote-mark{ position:absolute; left:20px; top:-14px; font-size:60px; line-height:1; color:rgba(45,155,240,.45); font-family:Georgia,serif; }
.ih-quote p{ color:#dbe4f1; font-size:15px; line-height:1.55; margin:0; font-style:italic; position:relative; z-index:1; }
.ih-quote-line{ display:block; width:40px; height:3px; border-radius:3px; background:#2d9bf0; margin-top:12px; }
/* responsive */
@media (max-width:991px){
  .ifcar-hero2-top{ grid-template-columns:1fr; gap:60px; padding:56px 0 30px; }
  .ih-title{ font-size:42px; }
  .ih-photo img{ height:420px; }
  .ih-badge{ width:230px; }
  .ifcar-hero2-bar{ grid-template-columns:1fr 1fr; gap:26px; padding:30px 30px; }
  .ih-quote{ grid-column:1 / -1; padding-left:0; }
  .ih-quote::before{ display:none; }
  .ih-quote-mark{ left:0; }
}
@media (max-width:575px){
  .ih-title{ font-size:33px; }
  .ih-features{ gap:20px; }
  .ih-feat + .ih-feat{ border-left:0; padding-left:0; }
  .ih-photo{ clip-path:none; }
  .ih-photo img{ height:340px; }
  .ih-badge{ position:static; width:auto; right:auto; margin-top:14px; animation:none; }
  .ifcar-hero2-bar{ grid-template-columns:1fr; }
}

/* kill the template's colored ::after overlay + center on the reused call-back section */
.ifcar-hero2-area::after, .ifcar-hero2-area::before{ display:none !important; content:none !important; background:none !important; }
.ifcar-hero2-area{ text-align:left !important; }

/* ===== Contact page redesign (/contact-us) ===== */
html.ifcar-page-contact-us .maps-area{ display:none !important; }
.ifcar-contact2-area{ background:#eef3f9 !important; }
.ifcar-contact2{ display:grid; grid-template-columns:.86fr 1.14fr; background:#fff; border-radius:26px; overflow:hidden; box-shadow:0 40px 90px -42px rgba(12,34,68,.42); }
/* left navy panel */
.c2-info{ position:relative; overflow:hidden; background:linear-gradient(160deg,#0a1e3d,#0c2748); padding:56px 46px; }
.c2-dots{ position:absolute; top:22px; left:22px; width:150px; height:120px; opacity:.55; pointer-events:none; background-image:radial-gradient(rgba(140,198,63,.65) 1.6px, transparent 1.7px); background-size:16px 16px; animation:c2Dots 6s ease-in-out infinite; }
@keyframes c2Dots{ 0%,100%{ opacity:.35 } 50%{ opacity:.7 } }
.c2-eyebrow{ display:inline-block; color:#8cc63f; font-weight:800; letter-spacing:.14em; text-transform:uppercase; font-size:13px; margin-bottom:16px; position:relative; z-index:1; }
.c2-title{ color:#fff; font-size:34px; line-height:1.2; font-weight:800; margin:0 0 16px; position:relative; z-index:1; }
.c2-underline{ display:block; width:60px; height:4px; border-radius:4px; background:#8cc63f; margin-bottom:22px; }
.c2-sub{ color:#c4d0e2; font-size:14.5px; line-height:1.7; margin:0 0 26px; max-width:410px; }
.c2-list{ list-style:none; margin:0; padding:0; }
.c2-list li{ display:flex; align-items:center; gap:16px; padding:15px 0; border-bottom:1px solid rgba(255,255,255,.1); }
.c2-list li:last-child{ border-bottom:0; }
.c2-ic{ flex:0 0 auto; width:46px; height:46px; border-radius:13px; display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg,#8cc63f,#22a58f); box-shadow:0 8px 18px -6px rgba(34,165,143,.6); transition:transform .25s; }
.c2-list li:hover .c2-ic{ transform:translateY(-3px) scale(1.05); }
.c2-ic i{ color:#fff; font-size:18px; }
.c2-list b{ display:block; color:#8fa3bd; font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; margin-bottom:3px; }
.c2-list div>span{ color:#fff; font-size:14.5px; font-weight:600; }
/* right form */
.c2-form-wrap{ padding:48px 46px; }
.c2-form-head{ display:flex; align-items:flex-start; gap:18px; margin-bottom:26px; }
.c2-form-ic{ flex:0 0 auto; width:60px; height:60px; border-radius:50%; background:#eaf5db; display:flex; align-items:center; justify-content:center; animation:c2Bob 3s ease-in-out infinite; }
.c2-form-ic i{ color:#8cc63f; font-size:23px; }
@keyframes c2Bob{ 0%,100%{transform:translateY(0)} 50%{transform:translateY(-5px)} }
.c2-form-head h3{ color:#0c2244; font-size:26px; font-weight:800; margin:6px 0 0; }
.c2-form-underline{ display:block; width:70px; height:3px; border-radius:3px; background:#8cc63f; margin:8px 0 12px; }
.c2-form-head p{ color:#6b7b90; font-size:14px; line-height:1.6; margin:0; }
.c2-grid{ display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:16px; }
.c2-field{ position:relative; margin-bottom:0; }
.c2-select, .c2-area{ margin-top:16px; }
.c2-field>i:first-child{ position:absolute; left:16px; top:50%; transform:translateY(-50%); color:#9aa7b8; font-size:15px; z-index:1; pointer-events:none; }
.c2-field input, .c2-field select, .c2-field textarea{ width:100%; border:1.5px solid #e3e8ef; border-radius:12px; background:#fbfcfe; padding:16px 16px 16px 44px; font-size:15px; color:#0c2244; outline:none; transition:border-color .2s, box-shadow .2s, background .2s; font-family:inherit; }
.c2-area textarea{ padding-left:16px; resize:vertical; min-height:130px; display:block; }
.c2-select select{ padding-left:16px; appearance:none; -webkit-appearance:none; cursor:pointer; }
.c2-field input:focus, .c2-field select:focus, .c2-field textarea:focus{ border-color:#8cc63f; box-shadow:0 0 0 3px rgba(140,198,63,.16); background:#fff; }
.c2-field label{ position:absolute; left:44px; top:50%; transform:translateY(-50%); color:#9aa7b8; font-size:15px; pointer-events:none; transition:all .17s ease; }
.c2-area label, .c2-select label{ left:16px; }
.c2-area label{ top:20px; transform:none; }
.c2-field label em{ color:#e0483b; font-style:normal; }
.c2-field input:focus + label, .c2-field input:not(:placeholder-shown) + label,
.c2-field textarea:focus + label, .c2-field textarea:not(:placeholder-shown) + label,
.c2-select select:focus + label, .c2-select select:valid + label{ top:-9px; left:12px; transform:none; font-size:11.5px; color:#6fb62e; background:#fff; padding:0 6px; }
.c2-select select:required:invalid{ color:#9aa7b8; }
.c2-select>i.fa-chevron-down{ position:absolute; right:18px; top:50%; transform:translateY(-50%); color:#9aa7b8; pointer-events:none; }
.c2-check{ display:flex; align-items:flex-start; gap:11px; margin:20px 0 24px; color:#6b7b90; font-size:13.5px; line-height:1.5; cursor:pointer; position:relative; }
.c2-check input{ position:absolute; opacity:0; width:0; height:0; }
.c2-check span{ flex:0 0 auto; width:20px; height:20px; border:1.6px solid #cfd8e3; border-radius:6px; margin-top:1px; position:relative; transition:all .2s; }
.c2-check input:checked + span{ background:#8cc63f; border-color:#8cc63f; }
.c2-check input:checked + span::after{ content:""; position:absolute; left:6px; top:2px; width:5px; height:10px; border:solid #fff; border-width:0 2px 2px 0; transform:rotate(45deg); }
.c2-actions{ display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; }
.c2-submit{ position:relative; overflow:hidden; display:inline-flex; align-items:center; gap:10px; border:0; cursor:pointer; padding:16px 30px; border-radius:50px; background:linear-gradient(120deg,#8cc63f,#6fb62e); color:#fff; font-weight:800; font-size:15.5px; box-shadow:0 14px 30px -10px rgba(140,198,63,.7); transition:transform .25s, box-shadow .25s; }
.c2-submit:hover{ transform:translateY(-3px); box-shadow:0 20px 42px -10px rgba(140,198,63,.9); }
.c2-submit .fa-arrow-right{ transition:transform .25s; }
.c2-submit:hover .fa-arrow-right{ transform:translateX(5px); }
.c2-submit::after{ content:""; position:absolute; top:0; left:-60%; width:34%; height:100%; transform:skewX(-20deg); background:linear-gradient(100deg,rgba(255,255,255,0),rgba(255,255,255,.5),rgba(255,255,255,0)); animation:ihShine 3.6s ease-in-out infinite; }
.c2-callback{ display:inline-flex; align-items:center; gap:12px; text-decoration:none; }
.c2-cb-ic{ flex:0 0 auto; width:48px; height:48px; border-radius:50%; background:#eef2f7; display:flex; align-items:center; justify-content:center; color:#8fa0b4; font-size:18px; transition:all .25s; }
.c2-callback:hover .c2-cb-ic{ background:#1c9ad6; color:#fff; }
.c2-cb-txt{ display:flex; flex-direction:column; color:#6b7b90; font-size:12.5px; }
.c2-cb-txt b{ color:#1c9ad6; font-weight:800; font-size:14.5px; }
.c2-cb-txt b i{ font-size:11px; margin-left:2px; }
.c2-ok{ display:none; margin-top:22px; padding:16px 20px; border-radius:12px; background:#eaf7dd; color:#4e8a1e; font-weight:600; }
.c2-form.sent .c2-grid, .c2-form.sent .c2-select, .c2-form.sent .c2-area, .c2-form.sent .c2-check, .c2-form.sent .c2-actions{ display:none; }
.c2-form.sent .c2-ok{ display:block; }
/* entrance */
.c2-info, .c2-form-wrap{ opacity:0; transform:translateY(26px); transition:opacity .7s ease, transform .7s ease; }
.ifcar-contact2.in .c2-info{ opacity:1; transform:none; }
.ifcar-contact2.in .c2-form-wrap{ opacity:1; transform:none; transition-delay:.14s; }
.ifcar-contact2.in .c2-list li{ animation:c2ItemIn .5s ease backwards; }
.ifcar-contact2.in .c2-list li:nth-child(1){ animation-delay:.30s }
.ifcar-contact2.in .c2-list li:nth-child(2){ animation-delay:.38s }
.ifcar-contact2.in .c2-list li:nth-child(3){ animation-delay:.46s }
.ifcar-contact2.in .c2-list li:nth-child(4){ animation-delay:.54s }
.ifcar-contact2.in .c2-list li:nth-child(5){ animation-delay:.62s }
.ifcar-contact2.in .c2-list li:nth-child(6){ animation-delay:.70s }
@keyframes c2ItemIn{ from{ opacity:0; transform:translateX(-14px) } to{ opacity:1; transform:none } }
/* responsive */
@media (max-width:991px){
  .ifcar-contact2{ grid-template-columns:1fr; }
  .c2-info, .c2-form-wrap{ padding:40px 30px; }
  .c2-grid{ grid-template-columns:1fr; }
  .c2-actions{ flex-direction:column; align-items:stretch; }
  .c2-callback{ justify-content:center; }
}

/* ===== HOME "Nos domaines" > Recrutement: ifcarjob.com boost banner (light) ===== */
.ifcar-job-boost-wrap{ margin-top:34px; }
.ifcar-job-boost{ position:relative; overflow:hidden; border-radius:18px; padding:16px 26px;
  background:linear-gradient(120deg,#ffffff 0%,#f5f9fd 100%); isolation:isolate;
  box-shadow:0 18px 44px -22px rgba(12,34,68,.28), inset 0 0 0 1px #eef2f7; }
/* flowing lines on the right */
.ijb-lines{ position:absolute; right:0; top:0; width:52%; height:100%; z-index:0; pointer-events:none; }
.ijb-lines path{ fill:none; stroke:#dbe4ef; stroke-width:1.6; stroke-linecap:round; stroke-dasharray:6 10;
  animation:ijbFlow 9s linear infinite; }
.ijb-lines path:nth-child(2){ animation-duration:12s; }
.ijb-lines path:nth-child(3){ animation-duration:7.5s; stroke:#e4ebf3; }
@keyframes ijbFlow{ to{ stroke-dashoffset:-160; } }
.ijb-lines-dot{ fill:#8cc63f; animation:ijbDotPulse 2.4s ease-in-out infinite; }
@keyframes ijbDotPulse{ 0%,100%{ opacity:.5; r:3.5px } 50%{ opacity:1; r:5px } }
/* layout */
.ijb-inner{ position:relative; z-index:2; display:flex; align-items:center; gap:20px; }
/* rocket + rotating arcs */
.ijb-rocket-wrap{ flex:0 0 auto; position:relative; width:78px; height:78px; }
.ijb-ring{ position:absolute; inset:6px; border-radius:50%; border:1.6px dashed #cfdae7;
  animation:ijbSpin 16s linear infinite; }
.ijb-arcs{ position:absolute; inset:0; width:100%; height:100%; overflow:visible;
  animation:ijbSpin 5.5s linear infinite; transform-origin:50% 50%; }
@keyframes ijbSpin{ to{ transform:rotate(360deg); } }
.ijb-rocket{ position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:48px; height:48px;
  border-radius:50%; background:#fff; display:flex; align-items:center; justify-content:center;
  box-shadow:0 10px 22px -8px rgba(45,155,240,.5), inset 0 0 0 1px #eef2f7;
  animation:ijbBob 3s ease-in-out infinite; z-index:2; }
.ijb-rocket i{ color:#1c9ad6; font-size:20px; transform:rotate(45deg); }
@keyframes ijbBob{ 0%,100%{ transform:translate(-50%,-50%) } 50%{ transform:translate(-50%,-58%) } }
.ijb-dot{ position:absolute; left:50%; bottom:11px; transform:translateX(-50%); width:8px; height:8px;
  border-radius:50%; background:#8cc63f; box-shadow:0 0 0 4px rgba(140,198,63,.18); z-index:3;
  animation:ijbDotPulse 2.2s ease-in-out infinite; }
/* text */
.ijb-txt{ flex:1 1 auto; min-width:0; }
.ijb-eyebrow{ display:inline-flex; align-items:center; gap:7px; font-size:11px; font-weight:800;
  letter-spacing:.13em; text-transform:uppercase; color:#1c9ad6; margin-bottom:7px; }
.ijb-eyebrow i{ color:#8cc63f; font-size:13px; }
.ijb-title{ color:#0c2244; font-size:18px; line-height:1.28; font-weight:800; margin:0; }
.ijb-title em{ font-style:normal; color:#6fb62e; position:relative; white-space:nowrap; }
.ijb-title em:after{ content:""; position:absolute; left:0; right:0; bottom:-4px; height:3px; border-radius:3px;
  background:#8cc63f; transform:scaleX(0); transform-origin:left; animation:ijbUnder 4.5s ease-in-out infinite; }
@keyframes ijbUnder{ 0%,12%{ transform:scaleX(0); transform-origin:left } 34%,74%{ transform:scaleX(1); transform-origin:left } 92%,100%{ transform:scaleX(0); transform-origin:right } }
/* CTA */
.ijb-cta{ flex:0 0 auto; position:relative; overflow:hidden; display:inline-flex; align-items:center; gap:12px;
  padding:12px 24px; border-radius:50px; white-space:nowrap; text-decoration:none; font-weight:800; font-size:14px;
  color:#fff; background:linear-gradient(120deg,#8cc63f,#6fb62e); box-shadow:0 14px 30px -10px rgba(140,198,63,.7);
  transition:transform .25s ease, box-shadow .25s ease; }
.ijb-cta:hover{ transform:translateY(-3px); box-shadow:0 20px 42px -10px rgba(140,198,63,.9); color:#fff; }
.ijb-cta i{ transition:transform .25s ease; }
.ijb-cta:hover i{ transform:translateX(5px); }
.ijb-shine{ position:absolute; top:0; left:-60%; width:38%; height:100%; transform:skewX(-20deg);
  background:linear-gradient(100deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.55) 50%, rgba(255,255,255,0) 100%);
  animation:ijbShine 3.4s ease-in-out infinite; }
@keyframes ijbShine{ 0%{ left:-60% } 55%,100%{ left:140% } }
@media (max-width:767px){
  .ifcar-job-boost{ padding:26px 22px; }
  .ijb-lines{ display:none; }
  .ijb-inner{ flex-direction:column; text-align:center; gap:18px; }
  .ijb-eyebrow{ justify-content:center; }
  .ijb-title{ font-size:19px; }
}

/* ===== HOME contact section (replaces .home-blog-area "Un besoin ? Une demande ?") ===== */
.ifcar-hcontact-area{ background:#eef3f9 !important; }
.ifcar-hcontact-area::before, .ifcar-hcontact-area::after{ display:none !important; content:none !important; }
.ifcar-hcontact{ display:grid; grid-template-columns:.92fr 1.08fr; gap:40px; align-items:stretch; }
/* left */
.hc-left{ position:relative; opacity:0; transform:translateY(26px); transition:opacity .7s ease, transform .7s ease; }
.ifcar-hcontact.in .hc-left{ opacity:1; transform:none; }
.hc-dots{ position:absolute; top:-6px; left:-8px; width:120px; height:96px; opacity:.5; pointer-events:none; background-image:radial-gradient(rgba(28,154,214,.5) 1.5px, transparent 1.6px); background-size:15px 15px; animation:c2Dots 6s ease-in-out infinite; }
.hc-eyebrow{ display:inline-block; color:#6fb62e; font-weight:800; letter-spacing:.14em; text-transform:uppercase; font-size:13px; margin-bottom:14px; position:relative; z-index:1; }
.hc-title{ color:#0c2244; font-size:36px; line-height:1.15; font-weight:800; margin:0 0 16px; position:relative; z-index:1; }
.hc-underline{ display:block; width:60px; height:4px; border-radius:4px; background:#8cc63f; margin-bottom:20px; }
.hc-sub{ color:#5b6b7f; font-size:15px; line-height:1.7; margin:0 0 26px; max-width:440px; }
.hc-card{ background:#fff; border-radius:18px; padding:8px 24px; box-shadow:0 22px 50px -30px rgba(12,34,68,.35); }
.hc-list{ list-style:none; margin:0; padding:0; }
.hc-list li{ display:flex; align-items:center; gap:16px; padding:15px 0; border-bottom:1px solid #eef2f7; }
.hc-list li:last-child{ border-bottom:0; }
.hc-ic{ flex:0 0 auto; width:44px; height:44px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg,#8cc63f,#6fb62e); box-shadow:0 8px 16px -6px rgba(140,198,63,.6); transition:transform .25s; }
.hc-list li:hover .hc-ic{ transform:scale(1.08); }
.hc-ic i{ color:#fff; font-size:17px; }
.hc-list b{ display:block; color:#8fa0b4; font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; margin-bottom:2px; }
.hc-list div>span{ color:#0c2244; font-size:14.5px; font-weight:600; }
.hc-callback{ display:flex; align-items:center; gap:16px; margin-top:20px; padding:20px 24px; border-radius:16px; background:linear-gradient(120deg,#0a1e3d,#0c2748); box-shadow:0 20px 46px -24px rgba(10,30,61,.6); }
.hc-cb-ic{ flex:0 0 auto; width:48px; height:48px; border-radius:50%; background:rgba(140,198,63,.16); display:flex; align-items:center; justify-content:center; color:#8cc63f; font-size:19px; animation:c2Bob 3s ease-in-out infinite; }
.hc-cb-txt{ flex:1 1 auto; min-width:0; }
.hc-cb-txt b{ display:block; color:#fff; font-size:15px; font-weight:700; }
.hc-cb-txt span{ display:block; color:#a9b7cc; font-size:12.5px; margin-top:2px; }
.hc-cb-btn{ flex:0 0 auto; display:inline-flex; align-items:center; gap:8px; background:#fff; color:#0c2244; font-weight:800; font-size:13.5px; padding:11px 20px; border-radius:50px; text-decoration:none; white-space:nowrap; transition:transform .2s, box-shadow .2s; }
.hc-cb-btn:hover{ transform:translateY(-2px); box-shadow:0 12px 24px -8px rgba(0,0,0,.35); color:#0c2244; }
.hc-cb-btn i{ transition:transform .2s; }
.hc-cb-btn:hover i{ transform:translateX(4px); }
/* right white card (reuses .c2-form* field styles) */
.hc-right{ background:#fff; border-radius:24px; padding:44px 42px; box-shadow:0 34px 80px -44px rgba(12,34,68,.42); opacity:0; transform:translateY(26px); transition:opacity .7s ease .14s, transform .7s ease .14s; }
.ifcar-hcontact.in .hc-right{ opacity:1; transform:none; }
.hc-form-ic{ flex:0 0 auto; position:relative; width:64px; height:64px; border-radius:50%; background:#eaf5db; display:flex; align-items:center; justify-content:center; }
.hc-form-ic::before{ content:""; position:absolute; inset:-6px; border-radius:50%; border:1.5px dashed #b9d98c; animation:ijbSpin 12s linear infinite; }
.hc-form-ic i{ color:#6fb62e; font-size:24px; animation:hcPlane 3s ease-in-out infinite; }
@keyframes hcPlane{ 0%,100%{ transform:translate(0,0) rotate(0) } 50%{ transform:translate(2px,-4px) rotate(-8deg) } }
.hc-actions{ display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; }
.hc-note{ display:flex; align-items:center; gap:12px; max-width:280px; color:#8090a3; font-size:12.5px; line-height:1.5; }
.hc-note-ic{ flex:0 0 auto; width:46px; height:46px; border-radius:50%; background:#eef7e3; display:flex; align-items:center; justify-content:center; color:#8cc63f; font-size:18px; }
/* entrance stagger for the contact rows */
.ifcar-hcontact.in .hc-list li{ animation:c2ItemIn .5s ease backwards; }
.ifcar-hcontact.in .hc-list li:nth-child(1){ animation-delay:.28s }
.ifcar-hcontact.in .hc-list li:nth-child(2){ animation-delay:.35s }
.ifcar-hcontact.in .hc-list li:nth-child(3){ animation-delay:.42s }
.ifcar-hcontact.in .hc-list li:nth-child(4){ animation-delay:.49s }
.ifcar-hcontact.in .hc-list li:nth-child(5){ animation-delay:.56s }
.ifcar-hcontact.in .hc-list li:nth-child(6){ animation-delay:.63s }
@media (max-width:991px){
  .ifcar-hcontact{ grid-template-columns:1fr; gap:30px; }
  .hc-right{ padding:36px 26px; }
  .hc-title{ font-size:30px; }
  .hc-actions{ flex-direction:column; align-items:flex-start; }
  .c2-grid{ grid-template-columns:1fr; }
}

/* ===== HOME new hero (replaces the image slider) ===== */
html.ifcar-home .ifcar-hero3-area{ background:linear-gradient(180deg,#ffffff 0%,#f1f6fb 100%) !important; }
.ifcar-hero3-area::before, .ifcar-hero3-area::after{ display:none !important; content:none !important; }
.ifcar-hero3{ position:relative; padding:168px 0 72px; }
.ifcar-hero3 .container{ max-width:1240px; }
.h3-grid{ display:grid; grid-template-columns:1fr 1fr; gap:50px; align-items:center; }
/* left */
.h3-left{ opacity:0; transform:translateY(26px); transition:opacity .7s ease, transform .7s ease; }
.ifcar-hero3.in .h3-left{ opacity:1; transform:none; }
.h3-eyebrow{ display:inline-block; color:#6fb62e; font-weight:800; letter-spacing:.15em; text-transform:uppercase; font-size:13px; margin-bottom:15px; }
.h3-title{ color:#0c2244; font-size:46px; line-height:1.12; font-weight:800; letter-spacing:-.01em; margin:0 0 20px; }
.h3-accent{ color:#6fb62e; }
.h3-underline{ display:block; width:64px; height:4px; border-radius:4px; background:#8cc63f; margin-bottom:22px; }
.h3-sub{ color:#5b6b7f; font-size:16px; line-height:1.75; max-width:520px; margin:0 0 34px; }
.h3-sub b{ color:#0c2244; font-weight:700; }
.h3-stats{ display:flex; flex-wrap:wrap; gap:24px 34px; }
.h3-stat{ display:flex; align-items:center; gap:13px; }
.h3-stat-ic{ flex:0 0 auto; width:46px; height:46px; border-radius:14px; display:flex; align-items:center; justify-content:center; font-size:20px; }
.h3-stat-ic.blue{ background:#e8f4fb; color:#1c9ad6; }
.h3-stat-ic.green{ background:#eef7e3; color:#6fb62e; }
.h3-stat-t b{ display:block; font-size:24px; font-weight:800; color:#0c2244; line-height:1; }
.h3-stat-t span{ display:block; color:#7a889b; font-size:13px; margin-top:4px; }
/* right */
.h3-right{ opacity:0; transform:translateX(30px); transition:opacity .8s ease .12s, transform .8s ease .12s; }
.ifcar-hero3.in .h3-right{ opacity:1; transform:none; }
.h3-conf{ position:relative; text-align:center; color:#0c2244; font-size:30px; font-weight:800; margin:0 0 34px; text-transform:uppercase; letter-spacing:.04em; }
.h3-conf span{ color:#6fb62e; }
.h3-conf::after{ content:""; display:block; width:60px; height:4px; border-radius:4px; background:#8cc63f; margin:14px auto 0; }
.h3-refs{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.h3-ref{ position:relative; display:flex; flex-direction:column; align-items:center; }
.h3-ref:not(:last-child)::before{ content:""; position:absolute; right:-9px; top:2px; height:120px; width:1px; background:#e3e9f1; }
.h3-ref-ic{ display:flex; align-items:center; justify-content:center; height:44px; margin-bottom:10px; font-size:30px; color:#1c9ad6; }
.ifcar-hero3 .h3-ref-ic, .ifcar-hero3 .h3-ref-ic i{ color:#1c9ad6 !important; }
.h3-ref-cat{ text-align:center; color:#173a6b; font-weight:700; font-size:12px; line-height:1.3; margin-bottom:18px; min-height:32px; text-transform:uppercase; letter-spacing:.02em; display:flex; align-items:flex-start; justify-content:center; }
.h3-ref-circle{ position:relative; width:100%; aspect-ratio:1/1; border-radius:50%; background:#fff; overflow:hidden; box-shadow:0 18px 40px -20px rgba(12,34,68,.35), inset 0 0 0 1px #f0f4f9; }
/* the blue/navy arc lines stay removed */
.h3-ref-ring{ display:none !important; }
/* ---- logos rotate as faces of a 3D cube/prism, centred inside the circle ---- */
.h3-ref-circle .ifcar-cube3{ position:absolute !important; top:50% !important; left:50% !important; width:74% !important; height:74% !important; transform:translate(-50%,-50%) !important; z-index:2; perspective:620px; }
.ifcar-cube3-in{ position:relative; width:100%; height:100%; transform-style:preserve-3d; }
.ic3-fc{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; backface-visibility:hidden; -webkit-backface-visibility:hidden; }
.ic3-fc img, .ic3-fc > *{ max-width:92% !important; max-height:76% !important; width:auto !important; height:auto !important; object-fit:contain; margin:auto !important; }
/* ALL circles rotate on the SAME 3s beat (da9a wahda): they start together (no delay)
   and every flip lands on a 3s boundary, so the 3 columns turn simultaneously. */
.ifcar-cube3.n2 .ic3-fc:nth-child(1){ transform:rotateY(0deg); }
.ifcar-cube3.n2 .ic3-fc:nth-child(2){ transform:rotateY(180deg); }
.ifcar-cube3.n2 .ifcar-cube3-in{ animation:ic3flip 6s cubic-bezier(.66,0,.34,1) infinite; }
@keyframes ic3flip{ 0%,40%{transform:rotateY(0deg)} 50%,90%{transform:rotateY(180deg)} 100%{transform:rotateY(360deg)} }
.ifcar-cube3.n3 .ic3-fc:nth-child(1){ transform:rotateY(0deg)   translateZ(34px); }
.ifcar-cube3.n3 .ic3-fc:nth-child(2){ transform:rotateY(120deg) translateZ(34px); }
.ifcar-cube3.n3 .ic3-fc:nth-child(3){ transform:rotateY(240deg) translateZ(34px); }
.ifcar-cube3.n3 .ifcar-cube3-in{ animation:ic3spin 9s cubic-bezier(.66,0,.34,1) infinite; }
@keyframes ic3spin{ 0%,26.6%{transform:rotateY(0deg)} 33.3%,60%{transform:rotateY(-120deg)} 66.6%,93.3%{transform:rotateY(-240deg)} 100%{transform:rotateY(-360deg)} }
.ifcar-cube3.n1 .ifcar-cube3-in{ animation:none; }
@media (prefers-reduced-motion:reduce){ .ifcar-cube3-in{ animation:none !important; } }
/* header: dark menu text over the light home hero */
html.ifcar-home nav.navbar .navbar-nav > li > a{ color:#0c2244 !important; }
html.ifcar-home nav.navbar .navbar-nav > li.active > a{ color:#1c9ad6 !important; }
/* responsive */
@media (max-width:991px){
  .ifcar-hero3{ padding:140px 0 50px; }
  .h3-grid{ grid-template-columns:1fr; gap:42px; }
  .h3-title{ font-size:36px; }
}
@media (max-width:575px){
  .h3-title{ font-size:28px; }
  .h3-refs{ gap:10px; }
  .h3-ref-cat{ font-size:10.5px; min-height:44px; }
  .h3-stats{ gap:18px; }
}

/* ===== HOME hero fixes (constrain container, colors, circle size) ===== */
.ifcar-hero3-area{ min-height:auto !important; height:auto !important; }
.ifcar-hero3 > .container{ max-width:1240px !important; width:100% !important; margin-left:auto !important; margin-right:auto !important; padding-left:15px; padding-right:15px; }
.h3-left, .h3-right{ min-width:0; }
.ifcar-hero3 .h3-title, .ifcar-hero3 .h3-title *{ color:#0c2244 !important; }
.ifcar-hero3 .h3-accent{ color:#6fb62e !important; }
/* "ILS NOUS FONT CONFIANCE" -> match "NOS DOMAINES D'EXPERTISE": all navy, ExtraBold 800 */
.ifcar-hero3 .h3-conf{ color:#0c2244 !important; font-weight:800 !important; letter-spacing:.02em !important; }
.ifcar-hero3 .h3-conf span{ color:#6fb62e !important; -webkit-text-fill-color:#6fb62e !important; }
.ifcar-hero3 .h3-eyebrow{ color:#6fb62e !important; }
.ifcar-hero3 .h3-ref-cat{ color:#173a6b !important; }
.ifcar-hero3 .h3-sub{ color:#5b6b7f !important; }
.ifcar-hero3 .h3-sub b{ color:#0c2244 !important; }
.ifcar-hero3 .h3-stat-t b{ color:#0c2244 !important; }
.ifcar-hero3 .h3-stat-t span{ color:#7a889b !important; }
.h3-refs{ align-items:start; }
.h3-ref-circle{ max-width:195px; margin:0 auto; }

/* ===== HOME hero fixes v2: round circles, compact stats ===== */
.h3-ref-circle{ width:178px !important; height:178px !important; max-width:100%; aspect-ratio:auto !important; flex:0 0 auto; }
.h3-stats{ gap:16px 26px; }
.h3-stat-ic{ width:42px; height:42px; font-size:18px; border-radius:12px; }
.h3-stat-t b{ font-size:21px; }
.h3-stat-t span{ font-size:12px; }
.h3-conf{ font-size:26px; }
@media (max-width:991px){ .h3-ref-circle{ width:140px !important; height:140px !important; } }
@media (max-width:575px){ .h3-ref-circle{ width:120px !important; height:120px !important; } }

/* ===== HOME hero fixes v3: unhide the confiance h2, stats in one row ===== */
.ifcar-hero3 .h3-conf{ visibility:visible !important; }
.ifcar-hero3 .h3-stats{ display:grid !important; grid-template-columns:repeat(4,1fr); gap:22px 16px; }
.ifcar-hero3 .h3-stat{ align-items:flex-start; }
.ifcar-hero3 .h3-stat-t b{ white-space:nowrap; }
@media (max-width:575px){ .ifcar-hero3 .h3-stats{ grid-template-columns:repeat(2,1fr); } }

/* ===== HOME hero fixes v4: force the confiance heading fully visible ===== */
.ifcar-hero3 .h3-conf{ opacity:1 !important; transform:none !important; visibility:visible !important; font-size:26px !important; line-height:1.25 !important; }

/* ===== HOME "Nos services" (4 cards, injected after the hero) ===== */
.ifcar-svc4-area{ background:#fff; position:relative; padding-bottom:40px !important; }
/* navy wave under the cards removed */
.ifcar-svc4-area::after{ display:none !important; }
.ifcar-svc4{ position:relative; z-index:1; }
.svc4-head{ text-align:center; margin-bottom:44px; }
.svc4-title{ color:#0c2244; font-size:34px; font-weight:800; margin:0; }
.svc4-title span{ color:#6fb62e; }
.svc4-underline{ display:inline-block; width:56px; height:4px; border-radius:4px; background:#8cc63f; margin-top:14px; }
.svc4-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:26px; }
.svc4-card{ position:relative; background:#fff; border:1px solid #eaf0f7; border-radius:18px; padding:32px 26px 28px; box-shadow:0 18px 44px -30px rgba(12,34,68,.4); transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;
  opacity:0; transform:translateY(28px); }
.ifcar-svc4.in .svc4-card{ opacity:1; transform:none; transition:opacity .6s ease, transform .6s ease, box-shadow .3s ease; }
.ifcar-svc4.in .svc4-card:nth-child(1){ transition-delay:.05s; }
.ifcar-svc4.in .svc4-card:nth-child(2){ transition-delay:.15s; }
.ifcar-svc4.in .svc4-card:nth-child(3){ transition-delay:.25s; }
.ifcar-svc4.in .svc4-card:nth-child(4){ transition-delay:.35s; }
.svc4-card:hover{ transform:translateY(-8px); box-shadow:0 30px 60px -28px rgba(12,34,68,.5); }
.svc4-ic{ display:flex; align-items:center; justify-content:center; width:64px; height:64px; border-radius:50%; margin-bottom:22px; font-size:26px; color:#fff; transition:transform .3s ease; }
.svc4-card:hover .svc4-ic{ transform:translateY(-4px) scale(1.06); }
.svc4-card.blue .svc4-ic{ background:linear-gradient(135deg,#1c3a63,#0c2244); box-shadow:0 12px 24px -8px rgba(12,34,68,.55); }
.svc4-card.green .svc4-ic{ background:linear-gradient(135deg,#8cc63f,#6fb62e); box-shadow:0 12px 24px -8px rgba(140,198,63,.7); }
.svc4-t{ font-size:19px; font-weight:800; margin:0 0 12px; }
.svc4-card.blue .svc4-t{ color:#0c2244; } /* Recrutement + Conseil titles -> navy (same as Conseil) */
.svc4-card.green .svc4-t{ color:#6fb62e; }
/* idea2: 3rd card (Conseil) title in navy */
.svc4-grid .svc4-card:nth-child(3) .svc4-t{ color:#0c2244; }
.svc4-d{ color:#5b6b7f; font-size:14px; line-height:1.7; margin:0 0 20px; }
.svc4-more{ display:inline-flex; align-items:center; gap:8px; font-weight:800; font-size:13.5px; text-decoration:none; }
.svc4-card.blue .svc4-more, .svc4-card.green .svc4-more{ color:#1c9ad6 !important; } /* all "En savoir plus" -> blue */
.svc4-more i{ transition:transform .25s ease; }
.svc4-more:hover i{ transform:translateX(5px); }
@media (max-width:991px){ .svc4-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:575px){ .svc4-grid{ grid-template-columns:1fr; } .svc4-title{ font-size:27px; } }

/* ===== HOME hero v5: unhide paragraph, compact spacing (match v1 mockup) ===== */
.ifcar-hero3 .h3-sub{ visibility:visible !important; }
.ifcar-hero3 .h3-eyebrow, .ifcar-hero3 .h3-title, .ifcar-hero3 .h3-underline, .ifcar-hero3 .h3-stats, .ifcar-hero3 .h3-ref-cat, .ifcar-hero3 .h3-conf, .ifcar-hero3 .svc4-title{ visibility:visible !important; }
.ifcar-hero3{ padding:132px 0 54px !important; }
.ifcar-hero3 .h3-title{ font-size:50px !important; line-height:1.1 !important; margin-bottom:20px !important; max-width:380px; }
.ifcar-hero3 .h3-sub{ margin:0 0 26px !important; }
.ifcar-hero3 .h3-stats{ margin-top:6px; gap:20px 18px; }
.ifcar-hero3 .h3-stat-t span{ font-size:11.5px; line-height:1.3; }
.h3-grid{ align-items:center; }
/* pull "Nos services" up closer to the hero */
.ifcar-svc4-area{ padding-top:56px !important; padding-bottom:70px !important; }
.svc4-head{ margin-bottom:36px; }

/* ===== HOME hero v6: fully reveal the paragraph (template sets opacity:0/transform on banner p) ===== */
.ifcar-hero3 .h3-sub{ opacity:1 !important; transform:none !important; visibility:visible !important; }

/* ===== HOME: fit hero + "Nos services" in one screen (no scroll) ===== */
.ifcar-hero3{ padding:116px 0 26px !important; }
.ifcar-hero3 .h3-eyebrow{ margin-bottom:9px !important; font-size:12px !important; }
.ifcar-hero3 .h3-title{ font-size:35px !important; line-height:1.13 !important; margin-bottom:13px !important; }
.ifcar-hero3 .h3-underline{ margin-bottom:15px !important; width:56px; height:4px; }
.ifcar-hero3 .h3-sub{ font-size:13.5px !important; line-height:1.6 !important; margin:0 0 16px !important; max-width:485px; }
.ifcar-hero3 .h3-stats{ margin-top:2px !important; gap:12px 16px !important; }
.ifcar-hero3 .h3-stat-ic{ width:40px; height:40px; font-size:17px; border-radius:12px; }
.ifcar-hero3 .h3-stat-t b{ font-size:20px; }
.ifcar-hero3 .h3-stat-t span{ font-size:11px; }
.ifcar-hero3 .h3-conf{ font-size:23px !important; margin-bottom:18px !important; }
.ifcar-hero3 .h3-ref-cat{ font-size:11.5px !important; min-height:28px; margin-bottom:10px; }
.h3-ref-circle{ width:126px !important; height:126px !important; }
/* Nos services compact */
.ifcar-svc4-area{ padding-top:30px !important; padding-bottom:34px !important; }
.svc4-head{ margin-bottom:22px !important; }
.svc4-title{ font-size:27px !important; }
.svc4-underline{ margin-top:9px !important; }
.svc4-grid{ gap:18px !important; }
.svc4-card{ padding:20px 20px 18px !important; }
.svc4-ic{ width:50px !important; height:50px !important; font-size:21px !important; margin-bottom:14px !important; }
.svc4-t{ font-size:16.5px !important; margin-bottom:8px !important; }
.svc4-d{ font-size:12.5px !important; line-height:1.55 !important; margin-bottom:12px !important; }
.svc4-more{ font-size:12.5px !important; }

/* ===== HOME: tighten further so the whole "Nos services" is above the fold ===== */
.ifcar-hero3{ padding:82px 0 20px !important; }
.ifcar-hero3 .h3-sub{ margin:0 0 13px !important; }
.ifcar-svc4-area{ padding-top:22px !important; padding-bottom:30px !important; }
.svc4-head{ margin-bottom:16px !important; }
.svc4-d{ margin-bottom:10px !important; }


/* ===== HOME: single uniform background across hero + Nos services (no colour difference) ===== */
html.ifcar-home .ifcar-hero3-area{ background:#eef3f9 !important; }
/* NOS DOMAINES D'EXPERTISE section -> white background */
.ifcar-svc4-area{ background:#ffffff !important; }

/* ===== Compact the Accueil first screen: hero + confiance + NOS DOMAINES fit with no scroll ===== */
html.ifcar-home .ifcar-hero3{ padding:54px 0 14px !important; }
html.ifcar-home .h3-eyebrow{ margin-bottom:7px !important; }
html.ifcar-home .ifcar-hero3 .h3-title{ font-size:40px !important; line-height:1.08 !important; margin-bottom:12px !important; }
html.ifcar-home .h3-underline{ margin-bottom:12px !important; height:4px !important; }
html.ifcar-home .ifcar-hero3 .h3-sub{ font-size:14px !important; line-height:1.5 !important; margin-bottom:16px !important; }
html.ifcar-home .h3-stats{ gap:10px 22px !important; }
html.ifcar-home .h3-stat-ic{ width:38px !important; height:38px !important; font-size:16px !important; }
html.ifcar-home .ifcar-hero3 .h3-conf{ font-size:24px !important; margin-top:0 !important; margin-bottom:26px !important; }
html.ifcar-home .h3-conf::after{ margin-top:11px !important; }
html.ifcar-home .h3-ref-ic{ height:42px !important; font-size:30px !important; margin-bottom:10px !important; }
html.ifcar-home .h3-ref-cat{ min-height:50px !important; margin-bottom:16px !important; font-size:12.5px !important; align-items:flex-start !important; }
html.ifcar-home .h3-ref-circle{ width:162px !important; height:162px !important; }
/* nudge the whole confiance block down to fill the empty space under the circles */
html.ifcar-home .h3-right{ padding-top:10px !important; }
html.ifcar-home .ifcar-svc4-area{ padding-top:8px !important; padding-bottom:12px !important; }
html.ifcar-home .svc4-head{ margin-bottom:14px !important; }
html.ifcar-home .ifcar-hero3 .svc4-title, html.ifcar-home .svc4-title{ font-size:23px !important; }
html.ifcar-home .svc4-underline{ margin-top:10px !important; }
html.ifcar-home .svc4-card{ padding:15px 15px 13px !important; }
html.ifcar-home .svc4-ic{ width:44px !important; height:44px !important; font-size:18px !important; margin-bottom:9px !important; }
html.ifcar-home .svc4-t{ font-size:15px !important; margin-bottom:5px !important; }
html.ifcar-home .svc4-d{ font-size:11.5px !important; line-height:1.45 !important; margin-bottom:9px !important; }
html.ifcar-home .svc4-more{ font-size:12px !important; }

/* width-scaling fills the viewport, so full-width section backgrounds span the screen
   natively — no letterbox / centring hacks needed. */
html.ifcar-home{ overflow-x:hidden; }
html.ifcar-home nav.navbar:not(.sticked){
  left:calc(0px - var(--lb, 0px)) !important;
  width:calc(100% + 2 * var(--lb, 0px)) !important;
}

/* ===== HOME: enlarge + lower the "Ils nous font confiance" block to fill the right column ===== */
.ifcar-hero3 .h3-conf{ font-size:28px !important; margin-top:6px !important; margin-bottom:34px !important; }
.ifcar-hero3 .h3-ref-cat{ font-size:13px !important; min-height:36px; margin-bottom:18px !important; }
.h3-ref-circle{ width:182px !important; height:182px !important; }
.h3-refs{ gap:22px !important; }



/* ===== Header: topbar + logo-box diagonal shape share ONE solid colour ===== */
.top-bar-area.top-bar-style-one, .top-bar-area{ background-color:#0c2244 !important; }
.navbar-header::before{ background-color:#0c2244 !important; }
/* ===== Menu: green underline on hover ===== */
#navbar-menu .navbar-nav > li > a{ position:relative; }
#navbar-menu .navbar-nav > li > a::after{ content:""; position:absolute; left:6px; right:6px; top:50%; bottom:auto; height:2px; border-radius:2px; background:#1c9ad6; transform:translateY(13px) scaleX(0); transform-origin:center; transition:transform .25s ease; }
#navbar-menu .navbar-nav > li:hover > a::after{ transform:translateY(13px) scaleX(1); }
/* uppercase menu + persistent green underline & green text on the active item (idea2 design) */
#navbar-menu .navbar-nav > li > a{ text-transform:uppercase !important; letter-spacing:.01em !important; font-weight:600 !important; }
/* active item = BLUE text + persistent BLUE underline (the .active class sits on the <a>) */
#navbar-menu .navbar-nav > li.active > a::after,
#navbar-menu .navbar-nav > li > a.active::after{ transform:translateY(13px) scaleX(1) !important; background:#1c9ad6 !important; }
#navbar-menu .navbar-nav > li.active > a,
#navbar-menu .navbar-nav > li > a.active,
html.ifcar-home nav.navbar .navbar-nav > li.active > a,
html.ifcar-home nav.navbar .navbar-nav > li > a.active{ color:#1c9ad6 !important; }
/* ===== "Prendre Conseil" button: UPPERCASE + turns green on hover ===== */
.navbar .button > a, nav.navbar .button a{ text-transform:uppercase !important; letter-spacing:.03em !important; }
/* smaller "Prendre Conseil" button (beat the template's high-specificity rule) */
.navbar .attr-right .attr-nav li.button a,
.navbar .button > a, nav.navbar .button a{ font-size:13px !important; padding:10px 24px !important; border-radius:7px !important; }
/* white background behind the menu row (home, non-sticky) */
html.ifcar-home nav.navbar:not(.sticked){ background:#ffffff !important; }
.navbar .button > a{ transition:background-color .25s ease, box-shadow .25s ease !important; }
.navbar .button > a:hover{ background-color:#8cc63f !important; color:#fff !important; }

/* stronger override for the Prendre Conseil button hover (beats template bg) */
html body nav.navbar .button > a:hover,
html body nav.navbar .button a:hover{ background-color:#8cc63f !important; background-image:none !important; color:#fff !important; border-color:#8cc63f !important; }

/* button hover: the expanding ::after fill overlay is what shows on hover -> make it green */
.navbar .button > a::after, .navbar .button a::after{ background:#8cc63f !important; background-color:#8cc63f !important; }
.navbar .button > a:hover, .navbar .button a:hover{ color:#ffffff !important; }


/* ===== HOME: remove NOS DOMAINES D'EXPERTISE + NOS RÉFÉRENCES sections and their decorative shapes ===== */
html.ifcar-home .services-style-one-area,
html.ifcar-home .process-style-one-area{ display:none !important; }
html.ifcar-home .triangle-shape,
html.ifcar-home .center-shape,
html.ifcar-home .large-shape{ display:none !important; }

/* ===== Home hero-band ("Vous méritez…") bg = MEMBRES DE L'ÉQUIPE bg colour ===== */
html.ifcar-home .ifcar-hero2-area, .ifcar-hero2-area{ background:#f7f7f7 !important; }

/* ===== /home2 "Accueil 2": 3-column dashboard hero ===== */
html.ifcar-page-home2 .banner-area.ifcar-h2-area{ background:#eef3f9 !important; min-height:auto !important; height:auto !important; }
html.ifcar-page-home2 .ifcar-h2-area::before, html.ifcar-page-home2 .ifcar-h2-area::after{ display:none !important; content:none !important; }
/* hide every other template section on home2 */
html.ifcar-page-home2 .feature-style-one-area,
html.ifcar-page-home2 .services-style-two-area,
html.ifcar-page-home2 .partner-style-one-area,
html.ifcar-page-home2 .about-style-two-area,
html.ifcar-page-home2 .faq-style-one-area,
html.ifcar-page-home2 .testimonials-style-two-area,
html.ifcar-page-home2 .project-style-two-area,
html.ifcar-page-home2 .contact-style-one-area,
html.ifcar-page-home2 .fun-factor-style-one-area,
html.ifcar-page-home2 .home-blog-area{ display:none !important; }
/* readable dark menu on the light home2 hero */
html.ifcar-page-home2 nav.navbar .navbar-nav > li > a{ color:#0c2244 !important; }
html.ifcar-page-home2 nav.navbar .navbar-nav > li.active > a{ color:#1c9ad6 !important; }
.ifcar-h2{ padding:116px 0 58px; }
.ifcar-h2 .h2-inner{ max-width:1340px; margin:0 auto; padding:0 26px; display:grid; grid-template-columns:.95fr 1.35fr 1fr; gap:28px; align-items:start; }
/* shared eyebrow */
.ifcar-h2 .h2-eyebrow{ display:inline-block; position:relative; font-weight:800; letter-spacing:.14em; text-transform:uppercase; font-size:13px; padding-bottom:12px; margin-bottom:18px; }
.ifcar-h2 .h2-eyebrow.green{ color:#6fb62e; } .ifcar-h2 .h2-eyebrow.blue{ color:#1c9ad6; }
.ifcar-h2 .h2-eyebrow::after{ content:""; position:absolute; left:0; bottom:0; width:30px; height:3px; border-radius:3px; background:currentColor; }
.ifcar-h2 .h2-eyebrow.center{ display:block; text-align:center; }
.ifcar-h2 .h2-eyebrow.center::after{ left:50%; transform:translateX(-50%); }
/* left: WHO WE ARE */
.h2-who{ opacity:0; transform:translateY(26px); transition:opacity .7s ease, transform .7s ease; }
.ifcar-h2.in .h2-who{ opacity:1; transform:none; }
.h2-title{ color:#0c2244; font-size:36px; line-height:1.16; font-weight:800; margin:0 0 18px; }
.h2-title span{ color:#6fb62e; }
.h2-underline{ display:block; width:56px; height:4px; border-radius:4px; background:#8cc63f; margin-bottom:22px; }
.h2-sub{ color:#5b6b7f; font-size:15px; line-height:1.7; margin:0 0 20px; }
.h2-list{ list-style:none; margin:0; padding:0; }
.h2-list li{ display:flex; align-items:center; gap:14px; padding:15px 0; border-bottom:1px solid #e2e8f0; color:#0c2244; font-weight:700; font-size:16px; }
.h2-list li:last-child{ border-bottom:0; }
.h2-li-ic{ flex:0 0 auto; width:34px; text-align:center; color:#6fb62e; font-size:20px; }
/* center: CLIENTS / TRUST */
.h2-clients{ position:relative; overflow:hidden; background:#fff; border-radius:22px; padding:34px 30px; box-shadow:0 30px 70px -40px rgba(12,34,68,.45); opacity:0; transform:translateY(26px); transition:opacity .7s ease .12s, transform .7s ease .12s; }
.ifcar-h2.in .h2-clients{ opacity:1; transform:none; }
.h2-clients::after{ content:""; position:absolute; top:0; left:-45%; width:32%; height:100%; transform:skewX(-20deg); pointer-events:none; background:linear-gradient(100deg,rgba(255,255,255,0),rgba(140,198,63,.10),rgba(255,255,255,0)); animation:h2Shine 6.5s ease-in-out infinite; }
@keyframes h2Shine{ 0%{ left:-45% } 60%,100%{ left:135% } }
.h2-cols{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:26px; position:relative; z-index:1; }
.h2-col{ text-align:center; }
.h2-cat{ display:block; color:#173a6b; font-weight:700; font-size:12.5px; line-height:1.3; min-height:34px; }
.h2-cat-line{ display:block; width:32px; height:3px; border-radius:3px; background:#e2e8f0; margin:9px auto 18px; }
.h2-circles{ display:flex; flex-direction:column; gap:16px; align-items:center; }
.h2c-circle{ position:relative; width:94px; height:94px; border-radius:50%; background:#fff; overflow:hidden; display:flex; align-items:center; justify-content:center; box-shadow:0 12px 26px -16px rgba(12,34,68,.5), inset 0 0 0 1px #eef2f7; transition:transform .25s, box-shadow .25s; }
.h2c-circle:hover{ transform:translateY(-4px) scale(1.05); box-shadow:0 20px 40px -16px rgba(12,34,68,.6), inset 0 0 0 1px #e2eaf3; }
.h2c-circle img{ max-width:76%; max-height:60%; object-fit:contain; position:relative; z-index:1; }
.h2c-ph{ position:absolute; color:#cbd6e4; font-size:26px; z-index:0; }
.ifcar-h2.in .h2c-circle{ animation:h2Pop .5s ease backwards; }
.ifcar-h2.in .h2-col:nth-child(1) .h2c-circle:nth-child(1){ animation-delay:.30s } .ifcar-h2.in .h2-col:nth-child(1) .h2c-circle:nth-child(2){ animation-delay:.38s } .ifcar-h2.in .h2-col:nth-child(1) .h2c-circle:nth-child(3){ animation-delay:.46s } .ifcar-h2.in .h2-col:nth-child(1) .h2c-circle:nth-child(4){ animation-delay:.54s }
.ifcar-h2.in .h2-col:nth-child(2) .h2c-circle:nth-child(1){ animation-delay:.38s } .ifcar-h2.in .h2-col:nth-child(2) .h2c-circle:nth-child(2){ animation-delay:.46s } .ifcar-h2.in .h2-col:nth-child(2) .h2c-circle:nth-child(3){ animation-delay:.54s } .ifcar-h2.in .h2-col:nth-child(2) .h2c-circle:nth-child(4){ animation-delay:.62s }
.ifcar-h2.in .h2-col:nth-child(3) .h2c-circle:nth-child(1){ animation-delay:.46s } .ifcar-h2.in .h2-col:nth-child(3) .h2c-circle:nth-child(2){ animation-delay:.54s } .ifcar-h2.in .h2-col:nth-child(3) .h2c-circle:nth-child(3){ animation-delay:.62s } .ifcar-h2.in .h2-col:nth-child(3) .h2c-circle:nth-child(4){ animation-delay:.70s }
@keyframes h2Pop{ from{ opacity:0; transform:scale(.7) } to{ opacity:1; transform:none } }
/* right: NOS SERVICES */
.h2-services{ opacity:0; transform:translateY(26px); transition:opacity .7s ease .24s, transform .7s ease .24s; }
.ifcar-h2.in .h2-services{ opacity:1; transform:none; }
.h2-svc-list{ display:flex; flex-direction:column; gap:15px; margin-top:20px; }
.h2-svc-card{ display:flex; align-items:center; gap:15px; background:#fff; border-radius:16px; padding:18px 20px; box-shadow:0 20px 46px -32px rgba(12,34,68,.42); text-decoration:none; transition:transform .25s, box-shadow .25s; }
.h2-svc-card:hover{ transform:translateY(-4px); box-shadow:0 28px 56px -30px rgba(12,34,68,.5); }
.h2-svc-ic{ flex:0 0 auto; width:52px; height:52px; border-radius:50%; display:flex; align-items:center; justify-content:center; color:#fff; font-size:22px; }
.h2-svc-card.blue .h2-svc-ic{ background:linear-gradient(135deg,#1c9ad6,#166fb8); }
.h2-svc-card.green .h2-svc-ic{ background:linear-gradient(135deg,#8cc63f,#6fb62e); }
.h2-svc-t{ flex:1 1 auto; min-width:0; }
.h2-svc-t h4{ margin:0 0 5px; font-size:16px; font-weight:800; }
.h2-svc-card.blue .h2-svc-t h4{ color:#1c9ad6; } .h2-svc-card.green .h2-svc-t h4{ color:#6fb62e; }
.h2-svc-t p{ margin:0; color:#5b6b7f; font-size:12.5px; line-height:1.55; }
.h2-svc-arw{ flex:0 0 auto; color:#9aa7b8; transition:transform .25s, color .25s; }
.h2-svc-card:hover .h2-svc-arw{ transform:translateX(5px); }
.h2-svc-card.blue:hover .h2-svc-arw{ color:#1c9ad6; } .h2-svc-card.green:hover .h2-svc-arw{ color:#6fb62e; }
/* responsive */
@media (max-width:1100px){ .ifcar-h2 .h2-inner{ grid-template-columns:1fr; gap:34px; } .ifcar-h2{ padding:130px 0 50px; } }
@media (max-width:575px){ .h2-cols{ grid-template-columns:1fr; } .h2-title{ font-size:30px; } .h2c-circle{ width:84px; height:84px; } }

/* ===== home2 fixes: reveal hidden title/text, force round logo circles ===== */
.ifcar-h2 .h2-title, .ifcar-h2 .h2-sub, .ifcar-h2 .h2-list, .ifcar-h2 .h2-list li,
.ifcar-h2 h2, .ifcar-h2 h4, .ifcar-h2 p{ visibility:visible !important; opacity:1 !important; transform:none !important; }
.h2c-circle{ width:94px !important; height:94px !important; aspect-ratio:1/1 !important; flex:0 0 auto; }
@media (max-width:575px){ .h2c-circle{ width:84px !important; height:84px !important; } }

/* ===== home2 header parity with the main Accueil (topbar injected + navbar below it) ===== */
html.ifcar-page-home2 nav.navbar:not(.sticked){ top:50px !important; }
html.ifcar-page-home2 nav.navbar li.contact{ display:none !important; }

/* home2 injected topbar = fixed overlay so it never disturbs the navbar DOM/layout */

/* home2: push hero content below the fixed topbar (50) + navbar (~88) */
html.ifcar-page-home2 .ifcar-h2{ padding-top:150px !important; }

/* ===== home2 header: match the main Accueil's white-box + logo exactly ===== */
html.ifcar-page-home2 .navbar-header::before,
html.ifcar-page-home2 .navbar-header::after{ height:104px !important; }
html.ifcar-page-home2 nav.navbar .logo{ position:relative !important; top:-48px !important; }

/* home2 topbar = absolute overlay at document top (scrolls away; no flow push, robust vs hydration) */
html.ifcar-page-home2 .ifcar-h2-topbar{ position:absolute !important; top:0 !important; left:0 !important; right:0 !important; width:100% !important; z-index:20 !important; }

/* home2: sticky navbar sits flush at the top like the main Accueil */
html.ifcar-page-home2 nav.navbar.sticked{ top:0 !important; }

/* home2: keep the navbar in place (absolute) so it scrolls away cleanly — no floating sticky bar */
html.ifcar-page-home2 nav.navbar,
html.ifcar-page-home2 nav.navbar.sticked{ position:absolute !important; top:50px !important; box-shadow:none !important; }

/* home2: force the white logo box + slate shape via stable selectors (independent of React class reverts) */
html.ifcar-page-home2 .navbar-header::after{ background:#ffffff !important; }
html.ifcar-page-home2 .navbar-header::before{ background:#0c2244 !important; }

/* ===== home2 header: STATIC FLOW (bulletproof) — topbar + navbar stack in normal flow, zero absolute positioning ===== */
html.ifcar-page-home2 .ifcar-h2-topbar{ position:static !important; width:auto !important; z-index:auto !important; }
html.ifcar-page-home2 nav.navbar,
html.ifcar-page-home2 nav.navbar.sticked,
html.ifcar-page-home2 nav.navbar:not(.sticked){ position:static !important; top:auto !important; left:auto !important; right:auto !important; transform:none !important; box-shadow:none !important; }
html.ifcar-page-home2 nav.navbar .logo{ position:relative !important; top:0 !important; }
html.ifcar-page-home2 .ifcar-h2{ padding-top:34px !important; }

/* ===== home2: header (topbar + logo + menu) removed per request — content only ===== */
html.ifcar-page-home2 .top-bar-area,
html.ifcar-page-home2 .ifcar-h2-topbar,
html.ifcar-page-home2 nav.navbar,
html.ifcar-page-home2 header{ display:none !important; }
html.ifcar-page-home2 .ifcar-h2{ padding-top:56px !important; }

/* ===== home2: hide the floating lang switcher + animated "back to Accueil" home button ===== */
html.ifcar-page-home2 #lang-switcher{ display:none !important; }
.ifcar-h2-home{ position:fixed; top:22px; right:26px; z-index:200; display:inline-flex; align-items:center; height:56px; border-radius:50px; text-decoration:none; overflow:hidden;
  background:linear-gradient(135deg,#1c9ad6,#166fb8); color:#fff !important; box-shadow:0 14px 32px -8px rgba(28,154,214,.7);
  transition:box-shadow .3s ease, transform .3s ease; }
.ifcar-h2-home i{ flex:0 0 auto; width:56px; height:56px; display:flex; align-items:center; justify-content:center; font-size:21px; transition:transform .35s ease; }
.ifcar-h2-home .ifcar-h2-home-t{ max-width:0; opacity:0; white-space:nowrap; font-weight:800; font-size:15px; letter-spacing:.01em; overflow:hidden; transition:max-width .32s ease, opacity .32s ease, padding .32s ease; }
.ifcar-h2-home:hover{ transform:translateY(-3px); box-shadow:0 20px 44px -8px rgba(28,154,214,.92); color:#fff !important; }
.ifcar-h2-home:hover .ifcar-h2-home-t{ max-width:130px; opacity:1; padding-right:24px; }
.ifcar-h2-home:hover i{ transform:scale(1.12) rotate(-6deg); }
.ifcar-h2-home::before{ content:""; position:absolute; inset:0; border-radius:50px; pointer-events:none; animation:ifcarHomePulse 2.2s ease-out infinite; }
@keyframes ifcarHomePulse{ 0%{ box-shadow:0 0 0 0 rgba(28,154,214,.5) } 70%,100%{ box-shadow:0 0 0 18px rgba(28,154,214,0) } }
@media (max-width:575px){ .ifcar-h2-home{ top:14px; right:14px; height:50px; } .ifcar-h2-home i{ width:50px; height:50px; } }

/* ================= MOBILE — Accueil (match the mockup) ================= */
@media (max-width:767px){
  /* hero: centered */
  .ifcar-hero3 .h3-grid{ text-align:center; }
  .ifcar-hero3 .h3-left{ text-align:center; }
  .ifcar-hero3 .h3-eyebrow{ display:inline-block; }
  .ifcar-hero3 .h3-title{ font-size:33px !important; }
  .ifcar-hero3 .h3-underline{ margin-left:auto !important; margin-right:auto !important; }
  .ifcar-hero3 .h3-sub{ margin-left:auto !important; margin-right:auto !important; max-width:100% !important; }
  /* stats: 4 across, icon stacked on top, centered, with dividers */
  .ifcar-hero3 .h3-stats{ display:grid !important; grid-template-columns:repeat(4,1fr) !important; gap:0 !important; margin-top:22px; }
  .ifcar-hero3 .h3-stat{ flex-direction:column !important; align-items:center !important; text-align:center; gap:8px; padding:4px 6px; }
  .ifcar-hero3 .h3-stat + .h3-stat{ border-left:1px solid #dbe4ef; }
  .ifcar-hero3 .h3-stat-ic{ width:44px !important; height:44px !important; font-size:19px !important; }
  .ifcar-hero3 .h3-stat-t{ min-width:0; }
  .ifcar-hero3 .h3-stat-t b{ font-size:18px !important; white-space:nowrap; }
  .ifcar-hero3 .h3-stat-t span{ font-size:10px !important; line-height:1.25; }
  /* confiance: 3 circles across (fit the width) */
  .ifcar-hero3 .h3-conf{ text-align:center; margin-top:34px; }
  .ifcar-hero3 .h3-refs{ grid-template-columns:repeat(3,1fr) !important; gap:8px !important; }
  .ifcar-hero3 .h3-ref-circle{ width:100% !important; height:auto !important; max-width:110px; aspect-ratio:1/1 !important; }
  .ifcar-hero3 .h3-ref-cat{ font-size:10px !important; min-height:40px; }
  /* Nos services: 2 x 2 grid */
  .svc4-grid{ grid-template-columns:1fr 1fr !important; gap:14px !important; }
  .svc4-card{ padding:18px 16px 16px !important; }
  .svc4-ic{ width:46px !important; height:46px !important; font-size:19px !important; }
  .svc4-t{ font-size:15px !important; }
  .svc4-d{ font-size:12px !important; }
}

/* ================= MOBILE — header (logo left + button + hamburger right) ================= */
@media (max-width:767px){
  nav.navbar{ position:relative !important; top:0 !important; min-height:66px; background:#fff !important; }
  nav.navbar .container{ display:block !important; width:100% !important; max-width:100% !important; }
  nav.navbar .navbar-header{ position:static !important; display:block !important; height:66px; }
  nav.navbar .navbar-header::before, nav.navbar .navbar-header::after{ display:none !important; }
  /* logo left (force over the desktop "poke-up" rules) */
  nav.navbar .navbar-header .navbar-brand{ position:absolute !important; left:14px !important; top:11px !important; right:auto !important; bottom:auto !important; transform:none !important; margin:0 !important; padding:0 !important; width:auto !important; }
  nav.navbar .navbar-header .navbar-brand img.logo{ height:44px !important; width:auto !important; max-width:160px !important; object-fit:contain; object-position:left center; position:static !important; top:auto !important; left:auto !important; transform:none !important; }
  /* hamburger far right */
  nav.navbar .navbar-header .navbar-toggle{ position:absolute !important; right:14px; top:16px; background:transparent; border:0; font-size:24px; color:#0c2244; padding:2px 4px; z-index:3; }
  /* CTA before the hamburger */
  nav.navbar .navbar-header .ifcar-m-cta{ position:absolute !important; right:58px; top:16px; display:inline-flex !important; align-items:center; white-space:nowrap; background:linear-gradient(120deg,#1c9ad6,#166fb8); color:#fff !important; font-weight:800; font-size:12.5px; line-height:1; padding:10px 15px; border-radius:50px; text-decoration:none; box-shadow:0 8px 20px -8px rgba(28,154,214,.7); z-index:3; }
}

/* mobile CTA hidden on desktop, shown only in the mobile header */
.ifcar-m-cta{ display:none; }
@media (max-width:767px){ nav.navbar .navbar-header .ifcar-m-cta{ display:inline-flex !important; } }

/* mobile: confiance heading smaller + tidy circles (match V1-mobile) */
@media (max-width:767px){
  .ifcar-hero3 .h3-conf{ font-size:23px !important; margin-top:28px !important; margin-bottom:20px !important; }
  .ifcar-hero3 .h3-ref-cat{ font-size:10.5px !important; min-height:38px; margin-bottom:10px; }
  .ifcar-hero3 .h3-refs{ grid-template-columns:repeat(3,1fr) !important; gap:8px !important; align-items:start; }
  .ifcar-hero3 .h3-ref-circle{ width:100% !important; max-width:none !important; height:auto !important; aspect-ratio:1/1 !important; }
}

/* Home hero eyebrow "IFCAR SOLUTIONS" -> same blue as "Membres de l'équipe" */
.ifcar-hero3 .h3-eyebrow{ color:#1c9ad6 !important; }

/* Home hero eyebrow "IFCAR SOLUTIONS" -> solid green with a short dash to the right (idea2) */
.ifcar-hero3 .h3-eyebrow{
  display:inline-flex !important; align-items:center !important;
  background:none !important; -webkit-text-fill-color:#6fb62e !important; color:#6fb62e !important;
}
.ifcar-hero3 .h3-eyebrow::after{ content:""; display:inline-block; width:34px; height:3px; border-radius:3px; background:#8cc63f; margin-left:12px; }

/* Home "Nos domaines d'expertise" heading -> solid navy (idea2) */
.svc4-title{
  display:inline-block !important;
  background:none !important;
  -webkit-text-fill-color:#0c2244 !important; color:#0c2244 !important;
}
/* "D'EXPERTISE" in green */
.svc4-title span{ -webkit-text-fill-color:#6fb62e !important; color:#6fb62e !important; }

/* "Nos domaines d'expertise" heading: uppercase + green underline centered BELOW it */
.svc4-title{ text-transform:uppercase !important; letter-spacing:.02em !important; }
.svc4-head .svc4-underline{ display:block !important; width:60px !important; height:4px !important; margin:14px auto 0 !important; background:#8cc63f !important; border-radius:4px; }

/* home2 left eyebrow "IFCAR SOLUTIONS" -> same blue→green gradient as the Accueil eyebrow */
.h2-eyebrow-grad{
  background:linear-gradient(90deg,#1c9ad6 0%,#8cc63f 100%) !important;
  -webkit-background-clip:text !important; background-clip:text !important;
  -webkit-text-fill-color:transparent !important; color:transparent !important;
}
.h2-eyebrow-grad::after{ display:block !important; background:#1c9ad6 !important; }

/* home2 "Ils nous font confiance" -> "confiance" in green */
.h2-clients .h2-eyebrow .h2-grn{ color:#8cc63f !important; -webkit-text-fill-color:#8cc63f !important; }

/* =====================================================================
   Businessman value-prop hero — replaces the "Vous méritez le meilleur
   partenaire RH" band (.request-call-back-area -> .ifcar-nhero-area).
   ===================================================================== */
html.ifcar-home .ifcar-nhero-area{ background:linear-gradient(180deg,#f6fafd 0%,#e9f1f8 100%) !important; padding:60px 0 !important; margin:0 !important; min-height:auto !important; height:auto !important; overflow:hidden; position:relative; }
html.ifcar-home .ifcar-nhero-area::before, html.ifcar-home .ifcar-nhero-area::after{ display:none !important; }
html.ifcar-home .ifcar-nhero{ position:relative; }
html.ifcar-home .ifcar-nhero > .container{ max-width:1240px !important; position:relative; z-index:2; }
html.ifcar-home .ifcar-nhero, html.ifcar-home .ifcar-nhero *{ box-sizing:border-box; }

html.ifcar-home .nh-grid{ display:grid !important; grid-template-columns:1.06fr .94fr; gap:34px; align-items:center !important; }
/* Neutralise any template flex/slide-reveal (stretched children / visibility:hidden <p>). */
html.ifcar-home .ifcar-nhero *{ visibility:visible !important; }
html.ifcar-home .ifcar-nhero .nh-left{ display:block !important; height:auto !important; align-self:center !important; }
html.ifcar-home .ifcar-nhero .nh-left > *{ height:auto !important; min-height:0 !important; flex:0 0 auto !important; }
html.ifcar-home .ifcar-nhero .nh-right{ align-self:center !important; }

/* left column */
html.ifcar-home .nh-left{ min-width:0; }
html.ifcar-home .nh-eyebrow{ display:flex; align-items:center; gap:12px; color:#6fb62e !important; font-size:14px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; margin:0 0 18px; }
html.ifcar-home .nh-eb-line{ width:40px; height:3px; border-radius:2px; background:#6fb62e; display:inline-block; }
html.ifcar-home .nh-title{ color:#0c2244 !important; font-size:52px; line-height:1.04; font-weight:800; margin:0 0 20px !important; letter-spacing:-.015em; }
html.ifcar-home .nh-title .nh-accent{ color:#1c9ad6 !important; }
html.ifcar-home .nh-title .nh-dot{ color:#6fb62e !important; }
html.ifcar-home .nh-tags{ display:flex; align-items:center; gap:14px; margin:0 0 20px; flex-wrap:wrap; }
html.ifcar-home .nh-tags span{ color:#0c2244 !important; font-size:20px; font-weight:800; }
html.ifcar-home .nh-tags i{ width:8px; height:8px; border-radius:50%; background:#6fb62e; display:inline-block; }
html.ifcar-home .nh-sub{ color:#54657c !important; font-size:16px; line-height:1.62; max-width:520px; margin:0 0 28px !important; }
html.ifcar-home .nh-cta{ display:inline-flex; align-items:center; gap:14px; background:#1c9ad6; color:#fff !important; font-size:16px; font-weight:700; padding:17px 34px; border-radius:40px; text-decoration:none; box-shadow:0 18px 32px -12px rgba(28,154,214,.6); transition:transform .25s ease, box-shadow .25s, background-color .25s; }
html.ifcar-home .nh-cta i{ transition:transform .3s ease; }
html.ifcar-home .nh-cta:hover{ background:#178bc4; transform:translateY(-2px); box-shadow:0 22px 38px -12px rgba(28,154,214,.72); }
html.ifcar-home .nh-cta:hover i{ transform:translateX(5px); }
html.ifcar-home .nh-badges{ display:flex; gap:24px; margin-top:34px; }
html.ifcar-home .nh-badge{ display:flex; align-items:center; gap:12px; }
html.ifcar-home .nh-badge + .nh-badge{ padding-left:24px; border-left:1px solid #d6e0ec; }
html.ifcar-home .nh-badge-ic{ width:46px; height:46px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:18px; flex:0 0 auto; }
html.ifcar-home .nh-badge-ic.green{ background:rgba(111,182,46,.13); color:#6fb62e; }
html.ifcar-home .nh-badge-ic.blue{ background:rgba(28,154,214,.13); color:#1c9ad6; }
html.ifcar-home .nh-badge-t{ color:#0c2244 !important; font-size:14px; font-weight:700; line-height:1.25; }

/* right column — full businessman-on-blue-circle graphic (self-contained) */
html.ifcar-home .nh-right{ min-width:0; display:flex; justify-content:center; align-items:flex-end; position:relative; }
html.ifcar-home .nh-stage{ position:relative; width:500px; max-width:100%; display:flex; justify-content:center; }
html.ifcar-home .nh-man{ position:relative; display:block; width:100%; max-width:490px; height:auto; z-index:2; }
html.ifcar-home .nh-ring{ position:absolute; left:-4px; top:56px; width:124px; height:124px; border:2px solid #c9d9e8; border-radius:50%; z-index:1; }
html.ifcar-home .nh-dots{ position:absolute; right:-4px; top:10px; width:118px; height:88px; z-index:1;
  background-image:radial-gradient(#9fc3e0 1.6px, transparent 1.7px); background-size:15px 15px; opacity:.7; }

/* stats card */
html.ifcar-home .nh-stats{ margin-top:36px; background:#fff; border-radius:22px; box-shadow:0 34px 74px -34px rgba(12,34,68,.34); display:grid; grid-template-columns:repeat(4,1fr); padding:26px 12px; position:relative; z-index:2; }
html.ifcar-home .nh-stat{ display:flex; align-items:center; gap:16px; justify-content:center; padding:6px 16px; }
html.ifcar-home .nh-stat + .nh-stat{ border-left:1px solid #eef2f7; }
html.ifcar-home .nh-stat-ic{ width:56px; height:56px; border-radius:16px; display:flex; align-items:center; justify-content:center; font-size:22px; flex:0 0 auto; }
html.ifcar-home .nh-stat-ic.blue{ background:rgba(28,154,214,.11); color:#1c9ad6; }
html.ifcar-home .nh-stat-ic.green{ background:rgba(111,182,46,.13); color:#6fb62e; }
html.ifcar-home .nh-stat-b{ display:flex; flex-direction:column; min-width:0; }
html.ifcar-home .nh-stat-b b{ font-size:33px; font-weight:800; line-height:1; letter-spacing:-.01em; }
html.ifcar-home .nh-stat-b b.blue{ color:#1c9ad6 !important; }
html.ifcar-home .nh-stat-b b.green{ color:#6fb62e !important; }
html.ifcar-home .nh-stat-b span{ color:#54657c !important; font-size:13px; margin-top:5px; line-height:1.3; }

/* WOW entrance + ambient motion (root gets .in via setupHero2 on scroll into view) */
html.ifcar-home .ifcar-nhero .nh-left > *{ opacity:0; transform:translateY(22px); transition:opacity .6s ease, transform .6s cubic-bezier(.22,.61,.36,1); }
html.ifcar-home .ifcar-nhero.in .nh-left > *{ opacity:1; transform:none; }
html.ifcar-home .ifcar-nhero.in .nh-eyebrow{ transition-delay:.05s; }
html.ifcar-home .ifcar-nhero.in .nh-title{ transition-delay:.14s; }
html.ifcar-home .ifcar-nhero.in .nh-tags{ transition-delay:.26s; }
html.ifcar-home .ifcar-nhero.in .nh-sub{ transition-delay:.38s; }
html.ifcar-home .ifcar-nhero.in .nh-cta{ transition-delay:.5s; }
html.ifcar-home .ifcar-nhero.in .nh-badges{ transition-delay:.62s; }
html.ifcar-home .ifcar-nhero .nh-right{ opacity:0; transform:scale(.92); transition:opacity .8s ease .28s, transform .85s cubic-bezier(.22,.61,.36,1) .28s; }
html.ifcar-home .ifcar-nhero.in .nh-right{ opacity:1; transform:none; }
html.ifcar-home .ifcar-nhero .nh-stats{ opacity:0; transform:translateY(26px); transition:opacity .7s ease .55s, transform .7s cubic-bezier(.22,.61,.36,1) .55s; }
html.ifcar-home .ifcar-nhero.in .nh-stats{ opacity:1; transform:none; }
@keyframes nhFloat{ 0%,100%{ transform:translateY(0);} 50%{ transform:translateY(-14px);} }
@keyframes nhSpin{ to{ transform:rotate(360deg);} }
@media (prefers-reduced-motion:reduce){
  html.ifcar-home .nh-man{ animation:none !important; }
  html.ifcar-home .ifcar-nhero .nh-left > *, html.ifcar-home .ifcar-nhero .nh-right, html.ifcar-home .ifcar-nhero .nh-stats{ transition:none !important; opacity:1 !important; transform:none !important; }
}
@media (max-width:991px){
  html.ifcar-home .nh-grid{ grid-template-columns:1fr; gap:26px; }
  html.ifcar-home .nh-right{ order:-1; }
  html.ifcar-home .nh-stage{ width:330px; }
  html.ifcar-home .nh-man{ max-width:330px; }
  html.ifcar-home .nh-title{ font-size:38px; }
  html.ifcar-home .nh-stats{ grid-template-columns:repeat(2,1fr); gap:10px 0; }
  html.ifcar-home .nh-stat:nth-child(3){ border-left:0; }
}
@media (max-width:575px){
  html.ifcar-home .nh-stats{ grid-template-columns:1fr; }
  html.ifcar-home .nh-stat + .nh-stat{ border-left:0; border-top:1px solid #eef2f7; }
  html.ifcar-home .nh-badges{ flex-wrap:wrap; gap:14px; }
  html.ifcar-home .nh-badge + .nh-badge{ padding-left:0; border-left:0; }
}

/* =====================================================================
   Home accent words: turn the green highlight words on the Accueil
   ("performantes", "confiance", "d'expertise") into the same blue→green
   gradient used by the section eyebrows / "Membres de l'équipe".
   Placed last so it overrides the earlier solid-green !important rules.
   ===================================================================== */
.h3-eyebrow, .ifcar-hero3 .h3-eyebrow,
.h3-accent, .ifcar-hero3 .h3-accent,
.h3-conf span, .ifcar-hero3 .h3-conf span,
.svc4-title span{
  background:linear-gradient(90deg,#1c9ad6 0%,#8cc63f 100%) !important;
  -webkit-background-clip:text !important; background-clip:text !important;
  -webkit-text-fill-color:transparent !important; color:transparent !important;
}
/* keep the little dash after the "IFCAR SOLUTIONS" eyebrow solid (not clipped) */
.ifcar-hero3 .h3-eyebrow::after{ -webkit-text-fill-color:initial !important; }

/* "Ils nous font confiance" category icons -> same navy as the Recrutement
   icon in "Nos domaines d'expertise" (.svc4-card.blue .svc4-ic gradient). */
.h3-ref-ic, .h3-ref-ic i,
.ifcar-hero3 .h3-ref-ic, .ifcar-hero3 .h3-ref-ic i{
  background:linear-gradient(135deg,#1c3a63,#0c2244) !important;
  -webkit-background-clip:text !important; background-clip:text !important;
  -webkit-text-fill-color:transparent !important; color:transparent !important;
}

/* "Nos domaines d'expertise": Recrutement + Conseil (blue cards) -> blue title
   + blue icon circle; ALL "En savoir plus" -> the navy of the old Recrutement icon. */
.svc4-card.blue .svc4-ic{
  background:linear-gradient(135deg,#29abe2,#1c76c9) !important;
  box-shadow:0 12px 24px -8px rgba(28,154,214,.5) !important;
}
.svc4-card.blue .svc4-t,
.svc4-grid .svc4-card:nth-child(3) .svc4-t{ color:#1c9ad6 !important; }
.svc4-card.blue .svc4-more, .svc4-card.green .svc4-more, .svc4-more{ color:#0c2244 !important; }

/* NOS EXPERTS: role/function under each name -> gray (was green). */
.ifcar-exp-job{ color:#5b6b7f !important; }

/* "PLUS DE 18 ANS D'EXPERTISE RH" + "CONTACTEZ-NOUS" eyebrows -> same blue→green
   gradient as the "Nos experts" eyebrow (.sub-heading / --bg-gradient-secondary). */
html.ifcar-home .nh-eyebrow, .c2-eyebrow, .hc-eyebrow{
  background:linear-gradient(90deg,#1c9ad6 0%,#8cc63f 100%) !important;
  -webkit-background-clip:text !important; background-clip:text !important;
  -webkit-text-fill-color:transparent !important; color:transparent !important;
}
html.ifcar-home .nh-eyebrow .nh-eb-line{ background:linear-gradient(90deg,#1c9ad6,#8cc63f) !important; -webkit-text-fill-color:initial !important; }

/* "Réserver un diagnostic gratuit" -> same shine sweep as "Envoyer le message". */
html.ifcar-home .nh-cta{ position:relative; overflow:hidden; }
html.ifcar-home .nh-cta::after{
  content:""; position:absolute; top:0; left:-60%; width:34%; height:100%;
  transform:skewX(-20deg); pointer-events:none;
  background:linear-gradient(100deg,rgba(255,255,255,0),rgba(255,255,255,.5),rgba(255,255,255,0));
  animation:ihShine 3.6s ease-in-out infinite;
}

/* Contact coordinates icons (ICE, Téléphone, Fax…) -> alternate blue / green.
   Home uses .hc-ic (buildContactForm); /contact-us page uses .c2-ic. */
.c2-list li:nth-child(odd) .c2-ic,
.hc-list li:nth-child(odd) .hc-ic{ background:linear-gradient(135deg,#29abe2,#1c76c9) !important; box-shadow:0 8px 18px -6px rgba(28,154,214,.55) !important; }
.c2-list li:nth-child(even) .c2-ic,
.hc-list li:nth-child(even) .hc-ic{ background:linear-gradient(135deg,#8cc63f,#6fb62e) !important; box-shadow:0 8px 18px -6px rgba(140,198,63,.6) !important; }

/* =====================================================================
   About "Notre promesse" — orbital SOLUTIONS hub (replaces the 3 cards).
   ===================================================================== */
.ifcar-promise-area{ position:relative; overflow:hidden; }
.ifcar-promise-area .ifcar-sol-card, .ifcar-promise-area .process-style-one{ display:none !important; }
.ifcar-promise{ position:relative; }
.ifcar-promise-head{ max-width:780px; margin:0 auto; text-align:center; }
.ifcar-promise-eyebrow{ display:inline-block; text-transform:uppercase; letter-spacing:.16em; font-weight:800; font-size:13px;
  background:linear-gradient(90deg,#8cc63f,#6fb62e); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:transparent; }
.ifcar-promise-eyebrow::after{ content:""; display:block; width:34px; height:3px; border-radius:3px; margin:11px auto 20px; background:linear-gradient(90deg,#8cc63f,#6fb62e); }
.ifcar-promise-title{ color:#0c2244; font-weight:800; font-size:34px; line-height:1.3; margin:0; }
.ifcar-promise-title span{ background:linear-gradient(90deg,#29abe2,#1c9ad6); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:transparent; }
.ifcar-promise-title::after{ content:""; display:block; width:40px; height:3px; border-radius:3px; margin:18px auto 0; background:linear-gradient(90deg,#29abe2,#1c9ad6); }
.ifcar-promise-sub{ max-width:640px; margin:22px auto 0; color:#5b6b7f; font-size:16px; line-height:1.75; }

/* the stage (fixed size for deterministic absolute positioning) */
.ifcar-hub{ position:relative; width:1000px; max-width:1000px; height:680px; margin:16px auto 0; }
.ifcar-hub-svg{ position:absolute; inset:0; width:100%; height:100%; overflow:visible; }
.hub-orbit{ fill:none; stroke:#cfe0ef; stroke-width:1.4; stroke-dasharray:3 9; transform-box:fill-box; transform-origin:center; animation:hubSpin 60s linear infinite; }
.hub-orbit.o2{ stroke:#e2ecf5; animation-duration:44s; animation-direction:reverse; }
.hub-link{ fill:none; stroke-width:2; stroke-linecap:round; stroke-dasharray:240; stroke-dashoffset:240; transition:stroke-dashoffset 1.1s ease .35s; }
.hub-link.l1{ stroke:#1c9ad6; } .hub-link.l2, .hub-link.l3{ stroke:#8cc63f; }
.ifcar-promise.in .hub-link{ stroke-dashoffset:0; }
.hub-dot{ opacity:0; transition:opacity .4s ease .9s; }
.hub-dot.d1{ fill:#1c9ad6; } .hub-dot.d2, .hub-dot.d3{ fill:#8cc63f; }
.ifcar-promise.in .hub-dot{ opacity:1; }

/* center SOLUTIONS badge */
.hub-core{ position:absolute; left:50%; top:320px; transform:translate(-50%,-50%) scale(.7); opacity:0;
  width:170px; height:184px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; z-index:3;
  transition:opacity .7s ease .15s, transform .7s cubic-bezier(.22,1.2,.36,1) .15s; }
.ifcar-promise.in .hub-core{ opacity:1; transform:translate(-50%,-50%) scale(1); }
.hub-core-hex{ position:absolute; inset:0; background:#fff; clip-path:polygon(50% 1%,95% 26%,95% 74%,50% 99%,5% 74%,5% 26%);
  filter:drop-shadow(0 22px 40px rgba(12,34,68,.16)); z-index:-1; animation:hubFloat 6s ease-in-out infinite; }
.hub-core-logo{ width:52px; height:50px; object-fit:cover; object-position:left center; }
.hub-core b{ color:#0c2244; font-weight:800; letter-spacing:.06em; font-size:16px; }
.hub-core-line{ width:34px; height:3px; border-radius:3px; background:linear-gradient(90deg,#1c9ad6,#8cc63f); }

/* icon nodes on the orbit */
.hub-ic{ position:absolute; width:86px; height:86px; border-radius:50%; background:#fff; display:flex; align-items:center; justify-content:center;
  box-shadow:0 16px 34px -14px rgba(12,34,68,.4); transform:translate(-50%,-50%) scale(.4); opacity:0; z-index:2;
  transition:opacity .6s ease, transform .6s cubic-bezier(.22,1.2,.36,1); }
.ifcar-promise.in .hub-ic{ opacity:1; transform:translate(-50%,-50%) scale(1); }
.hub-ic i{ font-size:28px; }
.hub-ic.blue i{ color:#1c9ad6; } .hub-ic.green i{ color:#6fb62e; }
.hub-ic-ring{ position:absolute; inset:-9px; border-radius:50%; border:2px solid transparent; }
.hub-ic.blue .hub-ic-ring{ border-top-color:#1c9ad6; border-right-color:#29abe2; animation:hubSpin 5s linear infinite; }
.hub-ic.green .hub-ic-ring{ border-top-color:#6fb62e; border-right-color:#8cc63f; animation:hubSpin 6s linear infinite reverse; }
.pi1{ left:336px; top:205px; } .pi3{ left:664px; top:205px; } .pi2{ left:500px; top:520px; }
.ifcar-promise.in .pi1{ transition-delay:.35s; } .ifcar-promise.in .pi2{ transition-delay:.5s; } .ifcar-promise.in .pi3{ transition-delay:.65s; }

/* text blocks */
.hub-txt{ position:absolute; opacity:0; transform:translateY(18px); transition:opacity .6s ease, transform .6s ease; }
.ifcar-promise.in .hub-txt{ opacity:1; transform:none; }
.hub-txt .hub-num{ display:block; font-size:40px; font-weight:800; line-height:1; opacity:.4; margin-bottom:6px; }
.hub-txt.blue .hub-num{ color:#1c9ad6; } .hub-txt.green .hub-num{ color:#8cc63f; }
.hub-txt h4{ color:#0c2244; font-weight:800; font-size:18px; margin:0 0 8px; }
.hub-txt h4 span{ color:#1c9ad6; }
.hub-txt p{ color:#5b6b7f; font-size:14px; line-height:1.65; margin:0; }
.pt1{ left:36px; top:150px; width:250px; text-align:right; }
.pt3{ left:714px; top:150px; width:250px; text-align:left; }
.pt2{ left:350px; top:558px; width:300px; text-align:center; transform:translateY(18px); }
.ifcar-promise.in .pt2{ transform:none; }
.ifcar-promise.in .pt1{ transition-delay:.5s; } .ifcar-promise.in .pt3{ transition-delay:.7s; } .ifcar-promise.in .pt2{ transition-delay:.85s; }

@keyframes hubSpin{ to{ transform:rotate(360deg); } }
@keyframes hubFloat{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-9px); } }
@media (prefers-reduced-motion:reduce){ .hub-orbit,.hub-ic-ring,.hub-core-hex{ animation:none !important; } }

/* responsive: stack the hub into a simple vertical list */
@media (max-width:1199px){
  .ifcar-promise-title{ font-size:26px; }
  .ifcar-hub{ width:auto; height:auto; max-width:560px; margin-top:20px; }
  .ifcar-hub-svg{ display:none; }
  .hub-core{ position:relative; left:auto; top:auto; transform:none !important; opacity:1; margin:0 auto 30px; }
  .hub-ic{ position:relative; left:auto !important; top:auto !important; transform:none !important; opacity:1; margin:0 auto 12px; flex:0 0 auto; }
  .hub-txt{ position:relative; left:auto !important; right:auto; top:auto; width:auto !important; text-align:center !important; transform:none !important; opacity:1; margin:0 auto 34px; max-width:420px; }
  .hub-txt .hub-num{ margin:0 auto 4px; }
  .ifcar-hub{ display:flex; flex-direction:column; align-items:center; }
  /* order: core, then 01 icon+text, 02, 03 */
  .hub-core{ order:0; } .pi1{ order:1; } .pt1{ order:2; } .pi2{ order:3; } .pt2{ order:4; } .pi3{ order:5; } .pt3{ order:6; }
}

/* =====================================================================
   About "NOS ATOUTS" — POURQUOI IFCAR SOLUTIONS (4 animated columns).
   Overrides the older .ifcar-atout(s)-* styling (this block comes later).
   ===================================================================== */
.ifcar-atouts-area{ background:#fbfdff !important; position:relative; overflow:hidden; }
.ifcar-atouts-head{ text-align:center; margin-bottom:56px; }
.ifcar-atouts-eyebrow{ display:inline-flex; align-items:center; gap:14px; text-transform:uppercase; letter-spacing:.22em; font-weight:800; font-size:13px;
  background:none !important; -webkit-text-fill-color:#243b5e !important; color:#243b5e !important; margin-bottom:16px; }
.ifcar-atouts-eyebrow i{ display:block; width:40px; height:2px; border-radius:2px; background:#1c9ad6 !important; }
.ifcar-atouts-eyebrow i:last-of-type{ background:#8cc63f !important; }
.ifcar-atouts-title{ font-size:clamp(28px,3.4vw,46px); font-weight:800; line-height:1.18; color:#0c2244; margin:0 auto; max-width:960px; text-transform:uppercase; letter-spacing:.01em; }
.ifcar-atouts-title span{ color:inherit; }
.ifcar-atouts-title .t-blue{ color:#1c9ad6 !important; } .ifcar-atouts-title .t-green{ color:#6fb62e !important; }
.ifcar-atouts-conn{ display:block; width:120px; height:2px; border-radius:2px; margin:20px auto 0; position:relative; background:linear-gradient(90deg,#1c9ad6,#8cc63f); }
.ifcar-atouts-conn::before, .ifcar-atouts-conn::after{ content:""; position:absolute; top:50%; width:9px; height:9px; border-radius:50%; transform:translateY(-50%); }
.ifcar-atouts-conn::before{ left:-4px; background:#1c9ad6; } .ifcar-atouts-conn::after{ right:-4px; background:#8cc63f; }
.ifcar-atouts-sub{ max-width:620px; margin:24px auto 0; color:#5b6b7f; font-size:16px; line-height:1.7; }
.ifcar-atouts-row{ align-items:flex-start; }

/* per-column accent colour */
.at-col{ --ac:#6fb62e; }
.at-col.blue{ --ac:#1c9ad6; } .at-col.teal{ --ac:#14a89e; } .at-col.green{ --ac:#6fb62e; }

/* number + circle + arc + end-dot */
.at-top{ position:relative; width:100%; height:190px; }
.at-num{ position:absolute; left:0; top:2px; font-size:72px; font-weight:800; line-height:1; color:transparent; -webkit-text-stroke:2px var(--ac); }
.at-circle{ position:absolute; left:82px; top:56px; width:104px; height:104px; border-radius:50%; background:#fff;
  box-shadow:0 20px 42px -16px rgba(20,40,80,.28); display:flex; align-items:center; justify-content:center; }
.at-circle i{ font-size:36px; color:var(--ac); }
.at-arc{ position:absolute; left:0; top:0; width:214px; height:190px; max-width:none; color:var(--ac); overflow:visible; }
.at-enddot{ position:absolute; left:196px; top:126px; width:13px; height:13px; border-radius:50%; background:var(--ac); }

/* title + bullets */
.at-title{ margin:8px 0 16px; font-size:17px; font-weight:800; text-transform:uppercase; letter-spacing:.02em; color:var(--ac); }
.at-title::after{ content:""; display:block; width:38px; height:3px; border-radius:3px; margin-top:11px; background:var(--ac); }
.at-list{ list-style:none; margin:0; padding:0; }
.at-list li{ display:flex; gap:11px; margin-bottom:16px; font-size:14.5px; line-height:1.6; color:#5a6a7a; }
.at-dot{ flex:0 0 auto; width:9px; height:9px; border-radius:50%; margin-top:7px; background:var(--ac); }

/* wow reveal */
.ifcar-atouts-head > *{ opacity:0; transform:translateY(22px); transition:opacity .7s ease, transform .7s cubic-bezier(.22,.61,.36,1); }
.ifcar-atouts.in .ifcar-atouts-head > *{ opacity:1; transform:none; }
.ifcar-atouts.in .ifcar-atouts-eyebrow{ transition-delay:.05s; }
.ifcar-atouts.in .ifcar-atouts-title{ transition-delay:.15s; }
.ifcar-atouts.in .ifcar-atouts-conn{ transition-delay:.25s; }
.ifcar-atouts.in .ifcar-atouts-sub{ transition-delay:.35s; }
.at-col{ opacity:0; transform:translateY(36px); transition:opacity .6s ease var(--ad,0s), transform .6s cubic-bezier(.22,.7,.3,1) var(--ad,0s); }
.ifcar-atouts.in .at-col{ opacity:1; transform:none; }
.at-circle{ opacity:0; transform:scale(.6); transition:opacity .5s ease, transform .55s cubic-bezier(.22,1.3,.36,1); transition-delay:calc(var(--ad,0s) + .18s); }
.ifcar-atouts.in .at-circle{ opacity:1; transform:scale(1); }
.at-arc path{ stroke-dasharray:230; stroke-dashoffset:230; transition:stroke-dashoffset 1s ease; transition-delay:calc(var(--ad,0s) + .3s); }
.ifcar-atouts.in .at-arc path{ stroke-dashoffset:0; }
.at-enddot{ opacity:0; transition:opacity .3s ease; transition-delay:calc(var(--ad,0s) + 1s); }
.ifcar-atouts.in .at-enddot{ opacity:1; }
.at-col:hover .at-circle{ transform:translateY(-5px) scale(1.05); }
@media (prefers-reduced-motion:reduce){ .at-col,.at-circle,.at-arc path,.at-enddot,.ifcar-atouts-head > *{ transition:none !important; opacity:1 !important; transform:none !important; stroke-dashoffset:0 !important; } }

/* =====================================================================
   RECRUTEMENT page (/services-details/1) — full rebuild to match the
   "GROUPES ET ENTREPRISES PRIVÉES" mockup. Overrides older .ifcar-recr*.
   ===================================================================== */
.ifcar-recr-hero{ position:relative; overflow:hidden; display:flex; align-items:center; min-height:460px !important; padding:0 !important; background:#f2f6fb !important; }
.ifcar-recr-hero .rh-bg{ position:absolute; top:0; right:0; bottom:0; width:66%; }
.ifcar-recr-hero .rh-bg img{ width:100%; height:100%; object-fit:cover; object-position:center; }
.ifcar-recr-hero::after{ content:""; position:absolute; inset:0; z-index:1;
  background:linear-gradient(90deg,#f2f6fb 32%, rgba(242,246,251,.92) 44%, rgba(242,246,251,.35) 56%, rgba(242,246,251,0) 66%); }
.rh-inner{ position:relative; z-index:2; max-width:560px; padding:40px 0; }
.rh-eyebrow{ display:inline-block; text-transform:uppercase; letter-spacing:.2em; font-weight:800; font-size:14px; color:#6fb62e; position:relative; padding-left:44px; margin-bottom:20px; }
.rh-eyebrow::before{ content:""; position:absolute; left:0; top:50%; width:34px; height:3px; border-radius:3px; background:#6fb62e; transform:translateY(-50%); }
.rh-title{ margin:0; font-weight:800; line-height:1.05; text-transform:uppercase; letter-spacing:.01em; }
.rh-title .n{ display:block; color:#0c2244; font-size:clamp(34px,4.4vw,58px); }
.rh-title .b{ display:block; color:#1c9ad6; font-size:clamp(34px,4.4vw,58px); }
.rh-title .b::after{ content:""; display:block; width:60px; height:3px; border-radius:3px; background:#6fb62e; margin-top:18px; }
.rh-sub{ margin:26px 0 0; color:#4a5a6b; font-size:18px; line-height:1.7; max-width:500px; }
.rh-sub .bl{ color:#1c9ad6; font-weight:700; } .rh-sub .gr{ color:#6fb62e; font-weight:700; }

.ifcar-recr2-area{ background:#fbfdff !important; padding:74px 0 84px !important; }
.rappr{ margin-bottom:26px; }
.rappr + .rappr{ margin-top:70px; }
.rappr-head{ margin-bottom:8px; }
.rappr-eyebrow{ display:inline-block; text-transform:uppercase; letter-spacing:.16em; font-weight:800; font-size:13px; color:#6fb62e; position:relative; padding-left:44px; margin-bottom:16px; }
.rappr-eyebrow::before{ content:""; position:absolute; left:0; top:50%; width:34px; height:3px; border-radius:3px; background:#6fb62e; transform:translateY(-50%); }
.rappr-title{ margin:0 0 16px; color:#0c2244; font-weight:800; font-size:clamp(28px,3.2vw,40px); text-transform:uppercase; line-height:1.15; }
.rappr-desc{ color:#5b6b7f; font-size:15.5px; line-height:1.75; margin:0 0 10px; max-width:960px; }

/* horizontal 5-step process */
.rsteps{ display:grid; grid-template-columns:repeat(5,1fr); gap:12px; position:relative; margin:44px 0 10px; }
.rsteps::before{ content:""; position:absolute; top:82px; left:10%; right:10%; height:2px; background:#e0e8f1; z-index:0; }
.rstep{ position:relative; z-index:1; text-align:center; padding:0 6px; }
.rstep-num{ display:block; font-weight:800; font-size:19px; color:#a7b3c1; margin:0 0 12px; }
.rstep.active .rstep-num{ color:#1c9ad6; }
.rstep-circ{ position:relative; width:96px; height:96px; border-radius:50%; margin:0 auto 20px; background:#fff; border:2px solid #e2e8f0;
  display:flex; align-items:center; justify-content:center; font-size:32px; color:#aab6c4; box-shadow:0 12px 28px -14px rgba(20,40,80,.25); transition:transform .3s ease; }
.rstep-circ::after{ content:""; position:absolute; bottom:-7px; left:50%; transform:translateX(-50%); width:12px; height:12px; border-radius:50%; background:#d3dce6; border:2px solid #fbfdff; }
.rstep.active .rstep-circ{ border-color:#1c9ad6; color:#1c9ad6; box-shadow:0 16px 32px -12px rgba(28,154,214,.45); }
.rstep.active .rstep-circ::after{ background:#1c9ad6; }
.rstep:hover .rstep-circ{ transform:translateY(-5px); }
.rstep-t{ margin:0 0 8px; color:#0c2244; font-weight:800; font-size:15px; line-height:1.3; }
.rstep-d{ margin:0; color:#7a8899; font-size:13px; line-height:1.6; }

/* missions card */
.rmiss{ position:relative; background:#fff; border-radius:24px; padding:34px 40px 42px; margin-top:46px; overflow:hidden;
  box-shadow:0 30px 66px -38px rgba(20,40,80,.32); border:1px solid #eef3f9; }
.rmiss-head{ display:flex; align-items:center; gap:22px; flex-wrap:wrap; margin-bottom:30px; }
.rmiss-pill{ display:inline-flex; align-items:center; gap:12px; background:linear-gradient(120deg,#0a1e3d,#0c2748); color:#fff; font-weight:800; font-size:15px; padding:10px 24px 10px 10px; border-radius:44px; }
.rmiss-pic{ width:38px; height:38px; border-radius:50%; background:linear-gradient(135deg,#1c9ad6,#8cc63f); display:flex; align-items:center; justify-content:center; color:#fff; font-size:16px; }
.rmiss-script{ font-family:"Dancing Script","Segoe Script",cursive; font-size:30px; font-weight:700; color:#0c2244; line-height:1; }
.rmiss-script em{ font-style:normal; color:#6fb62e; }
.rmiss-dots{ position:absolute; top:30px; right:34px; width:96px; height:44px; background-image:radial-gradient(#bfe0a8 1.7px, transparent 1.7px); background-size:13px 13px; opacity:.8; }
.rmiss-grid{ position:relative; display:grid; grid-template-columns:1fr 1fr; grid-template-rows:repeat(3,auto); grid-auto-flow:column; gap:30px 54px; }
.rmiss-grid::before{ content:""; position:absolute; left:50%; top:8px; bottom:8px; transform:translateX(-50%); border-left:2px dotted #c3d3e2; }
.rmis{ position:relative; display:flex; align-items:center; gap:18px; padding:8px 26px 8px 0; }
/* faint chevron/arrow outline behind each mission */
.rmis::before{ content:""; position:absolute; left:74px; right:-6px; top:0; bottom:0; border:1.5px solid #edf1f6; border-radius:8px;
  clip-path:polygon(0 0, calc(100% - 22px) 0, 100% 50%, calc(100% - 22px) 100%, 0 100%); z-index:0; }
/* green dot on the centre dotted line, aligned with each left-column row */
.rmis:nth-child(-n+3)::after{ content:""; position:absolute; right:-30px; top:50%; transform:translateY(-50%); width:11px; height:11px; border-radius:50%; background:#6fb62e; box-shadow:0 0 0 4px #fff; z-index:2; }
.rmis-hex{ position:relative; z-index:1; flex:0 0 auto; width:60px; height:66px; display:flex; align-items:center; justify-content:center; color:#0c2244; font-size:23px; }
.rmis-hex::after{ content:""; position:absolute; inset:0; transform:translate(-3px,4px); background:linear-gradient(135deg,#8cc63f,#6fb62e);
  clip-path:polygon(50% 1%,95% 25%,95% 75%,50% 99%,5% 75%,5% 25%); z-index:0; }
.rmis-hex::before{ content:""; position:absolute; inset:0; background:#fff;
  clip-path:polygon(50% 1%,95% 25%,95% 75%,50% 99%,5% 75%,5% 25%); box-shadow:0 0 0 2px #0c2244 inset; z-index:1; }
.rmis-hex i{ position:relative; z-index:2; }
.rmis-n{ position:relative; z-index:1; flex:0 0 auto; font-weight:800; font-size:30px; line-height:1; color:#6fb62e; }
.rmis-b{ position:relative; z-index:1; flex:1; }
.rmis-b b{ display:block; color:#0c2244; font-weight:800; font-size:14.5px; line-height:1.35; margin-bottom:5px; }
.rmis-b p{ margin:0; color:#6a7889; font-size:12.5px; line-height:1.6; }

/* CTA */
.rcta{ position:relative; overflow:hidden; display:flex; align-items:center; gap:22px; margin-top:52px; padding:26px 34px;
  background:linear-gradient(120deg,#0a1e3d,#0c2748); border-radius:18px; box-shadow:0 26px 56px -30px rgba(10,30,61,.6); }
.rcta-ic{ flex:0 0 auto; width:52px; height:52px; border-radius:50%; background:#fff; color:#0c2244; display:flex; align-items:center; justify-content:center; font-size:21px; }
.rcta-txt{ flex:1; color:#fff; }
.rcta-txt span{ display:block; font-size:14px; opacity:.85; margin-bottom:2px; }
.rcta-txt b{ font-size:22px; font-weight:800; }
.rcta-txt em{ font-style:normal; color:#8cc63f; border-bottom:2px solid #8cc63f; }
.rcta-glob{ flex:0 0 auto; width:54px; height:54px; border-radius:50%; background:linear-gradient(135deg,#1c9ad6,#8cc63f); color:#fff !important; display:flex; align-items:center; justify-content:center; font-size:22px; transition:transform .3s ease; }
.rcta-glob:hover{ transform:rotate(18deg) scale(1.06); }

/* reveal */
.rappr-head > *{ opacity:0; transform:translateY(20px); transition:opacity .6s ease, transform .6s cubic-bezier(.22,.61,.36,1); }
.rappr-head.in > *{ opacity:1; transform:none; }
.rappr-head.in .rappr-title{ transition-delay:.1s; } .rappr-head.in .rappr-desc{ transition-delay:.2s; }
.rstep{ opacity:0; transform:translateY(26px); transition:opacity .55s ease var(--sd,0s), transform .55s cubic-bezier(.22,.7,.3,1) var(--sd,0s); }
.rsteps.in .rstep{ opacity:1; transform:none; }
.rmiss{ opacity:0; transform:translateY(26px); transition:opacity .6s ease, transform .6s ease; }
.rmiss.in{ opacity:1; transform:none; }
.rmis{ opacity:0; transform:translateY(16px); transition:opacity .5s ease var(--md,0s), transform .5s ease var(--md,0s); }
.rmiss.in .rmis{ opacity:1; transform:none; }
.rcta{ opacity:0; transform:translateY(22px); transition:opacity .6s ease, transform .6s ease; }
.rcta.in{ opacity:1; transform:none; }

@media (max-width:991px){
  .ifcar-recr-hero{ min-height:auto !important; padding:46px 0 !important; }
  .ifcar-recr-hero .rh-bg{ width:100%; }
  .ifcar-recr-hero::after{ background:linear-gradient(90deg,#f2f6fb 6%, rgba(242,246,251,.8) 46%, rgba(242,246,251,.55) 100%); }
  .rh-inner{ max-width:100%; }
  .rmiss-grid{ grid-template-columns:1fr; grid-auto-flow:row; grid-template-rows:none; }
  .rmiss-grid::before{ display:none; }
  .rmis:nth-child(-n+3)::after{ display:none; }
  .rsteps{ grid-template-columns:repeat(2,1fr); gap:28px 12px; }
  .rsteps::before{ display:none; }
  .rmiss-grid{ grid-template-columns:1fr; grid-auto-flow:row; grid-template-rows:none; }
  .rmiss-dots{ display:none; }
  .rcta{ flex-wrap:wrap; }
}
@media (max-width:575px){ .rsteps{ grid-template-columns:1fr; } }

/* custom 2-tone step & mission icons (inline SVG) */
.rstep-circ svg{ width:42px; height:42px; display:block; }
.rmis-hex svg{ position:relative; z-index:2; width:30px; height:30px; display:block; }

/* mission hexagon = real SVG (pseudo clip-path borders were invisible) */
.rmis-hex::before, .rmis-hex::after{ content:none !important; }
.rmis-hex{ width:74px; height:82px; }
.rmis-hex svg.hexbg{ position:absolute; inset:0; width:100%; height:100%; z-index:0; }
.rmis-hex svg:not(.hexbg){ width:34px; height:34px; }

/* CONTACTEZ-NOUS (home) — make the whole block a bit more compact */
html.ifcar-home .ifcar-hcontact-area{ padding-top:72px !important; padding-bottom:72px !important; }
.ifcar-hcontact{ max-width:1120px; margin:0 auto; gap:34px !important; }
.hc-title{ font-size:30px !important; margin-bottom:12px !important; }
.hc-sub{ font-size:14px !important; margin-bottom:20px !important; }
.hc-card{ padding:4px 22px !important; }
.hc-list li{ padding:11px 0 !important; gap:14px !important; }
.hc-ic{ width:40px !important; height:40px !important; }
.hc-ic i{ font-size:15px !important; }
.hc-list b{ font-size:10.5px !important; }
.hc-list div>span{ font-size:13.5px !important; }
.hc-right{ padding:32px 32px !important; }
.hc-form-ic{ width:54px !important; height:54px !important; }
.hc-form-ic i{ font-size:21px !important; }

/* ADN section: gradient eyebrow + "IFCAR" (like "nos experts"), + more compact */
.ifcar-adn-eyebrow, .ifcar-adn-title span{
  background:linear-gradient(90deg,#1c9ad6,#8cc63f) !important;
  -webkit-background-clip:text !important; background-clip:text !important;
  -webkit-text-fill-color:transparent !important; color:transparent !important;
}
.ifcar-adn-area{ padding:54px 0 48px !important; }
.ifcar-adn-grid{ gap:26px !important; grid-template-columns:1fr 176px 1.1fr !important; }
.ifcar-adn-title{ font-size:clamp(30px,3.3vw,46px) !important; }
.ifcar-adn-title::after{ margin-top:15px !important; }
.ifcar-adn-intro{ font-size:14.5px !important; line-height:1.65 !important; margin:18px 0 20px !important; }
.ifcar-adn-stat{ padding:12px 16px !important; margin-bottom:13px !important; }
.ifcar-adn-stat .ic{ flex:0 0 46px !important; width:46px !important; height:46px !important; }
.ifcar-adn-stat h5{ font-size:17px !important; }
.ifcar-adn-stat p{ font-size:12.5px !important; }
.ifcar-adn-helix{ width:150px !important; height:366px !important; }
.ifcar-adn-cap b{ font-size:19px !important; }
.ifcar-adn-card{ padding:15px 22px 15px 18px !important; gap:14px !important; }
.ifcar-adn-cic{ flex:0 0 52px !important; width:52px !important; height:52px !important; }
.ifcar-adn-ctx h4{ font-size:16px !important; }
.ifcar-adn-ctx p{ font-size:12.5px !important; }
.ifcar-adn-cnum{ font-size:26px !important; }

/* Qui sommes-nous — remove decorative diagonal shapes on the "Des solutions pour
   votre développement" (about-style-one) section */
.about-style-one-area .thumb-shape-bottom,
.about-style-one-area .shape-animated-left,
.about-style-one-area .shape-animated-right,
.about-style-one-area .thumb-shape-top{ display:none !important; }

/* NOTRE PROMESSE: hide the template large chevron shape + make the block smaller */
.ifcar-promise-area .large-shape, .process-style-one-area .large-shape{ display:none !important; }
.ifcar-promise-area{ padding-top:54px !important; padding-bottom:34px !important; }
.ifcar-promise-title{ font-size:28px !important; }
.ifcar-promise-sub{ font-size:15px !important; margin-top:16px !important; }
.ifcar-hub{ transform:scale(.82); transform-origin:top center; margin-top:6px !important; margin-bottom:-118px !important; }

/* NOS ATOUTS: numbers faded-solid like NOTRE PROMESSE (not outline) + whole section smaller */
.at-num{ color:var(--ac) !important; -webkit-text-stroke:0 !important; opacity:.4 !important; }
.ifcar-atouts-area{ padding-top:54px !important; padding-bottom:52px !important; }
.ifcar-atouts-head{ margin-bottom:36px !important; }
.ifcar-atouts-title{ font-size:clamp(24px,2.9vw,38px) !important; }
.ifcar-atouts-sub{ font-size:15px !important; margin-top:18px !important; }
.at-top{ transform:scale(.84); transform-origin:top left; height:156px !important; }
.at-title{ font-size:15.5px !important; margin-top:0 !important; }
.at-title::after{ margin-top:9px !important; }
.at-list li{ font-size:13.5px !important; margin-bottom:13px !important; }
.at-dot{ margin-top:6px !important; }

/* NOS ATOUTS eyebrow -> blue->green gradient (like "nos experts") */
.ifcar-atouts-eyebrow{
  background:linear-gradient(90deg,#1c9ad6,#8cc63f) !important;
  -webkit-background-clip:text !important; background-clip:text !important;
  -webkit-text-fill-color:transparent !important; color:transparent !important;
}

/* =====================================================================
   ARABIC RTL (html[dir=rtl]) — flip body content to the right, but keep
   the header/nav in its working LTR layout (a full RTL flip breaks the
   theme's absolute/offset header decorations).
   ===================================================================== */
[dir="rtl"] body{ text-align:right; }
/* only the language switcher stays LTR (FR / EN / ع pills) */
[dir="rtl"] #lang-switcher{ direction:ltr; }

/* ===== Arabic: header stays exactly like FRENCH (LTR) — logo left, topbar (email/phone
   left, social/lang right), "Prendre Conseil" button right. ONLY the nav MENU flows RTL. ===== */
[dir="rtl"] .top-bar-area, [dir="rtl"] nav.navbar, [dir="rtl"] .navbar-area,
[dir="rtl"] .navbar-header, [dir="rtl"] .attr-nav, [dir="rtl"] .attr-right{ direction:ltr !important; }
[dir="rtl"] #navbar-menu, [dir="rtl"] #navbar-menu .navbar-nav{ direction:rtl !important; }
/* the header itself carries dir="ltr" (set in JS) so the logo-box renders exactly like FR;
   the nav menu carries dir="rtl". */

/* =====================================================================
   NOTRE PROMESSE — 3-card redesign (circle+arc, "— 01 —", title, chevron).
   Replaces the orbital hub. Appended last so it wins.
   ===================================================================== */
.ifcar-promise-area .ifcar-hub{ display:none !important; }
.ifcar-promise-title{ font-size:clamp(28px,3.2vw,40px) !important; transform:none !important; }
.ipr-conn{ display:block; width:130px; height:2px; border-radius:2px; margin:20px auto 0; position:relative;
  background:linear-gradient(90deg,#1c9ad6,#8cc63f); }
.ipr-conn::after{ content:""; position:absolute; left:62%; top:50%; width:9px; height:9px; border-radius:50%; background:#1c9ad6; transform:translate(-50%,-50%); box-shadow:0 0 0 3px #fff; }
.ipr-cards{ position:relative; display:grid; grid-template-columns:repeat(3,1fr); background:#fff; border-radius:22px; margin-top:26px;
  box-shadow:0 34px 80px -44px rgba(20,40,80,.34); overflow:hidden; }
.ipr-card{ --ac:#1c9ad6; position:relative; text-align:center; padding:46px 34px 52px; }
.ipr-card.blue{ --ac:#1c9ad6; } .ipr-card.green{ --ac:#6fb62e; } .ipr-card.teal{ --ac:#16a89c; }
.ipr-card + .ipr-card{ border-left:1px solid #eef2f7; }
.ipr-card::after{ content:""; position:absolute; left:0; right:0; bottom:0; height:6px; background:var(--ac); }
.ipr-ic-wrap{ position:relative; width:112px; height:112px; margin:0 auto 28px; color:var(--ac); }
.ipr-arc{ position:absolute; inset:0; width:100%; height:100%; overflow:visible; }
.ipr-arc circle{ stroke-dasharray:206 289; stroke-dashoffset:206; transition:stroke-dashoffset 1.1s ease calc(var(--cd,0s) + .3s); }
.ipr-card.blue .ipr-arc{ transform:rotate(-140deg); } .ipr-card.green .ipr-arc{ transform:rotate(-90deg); } .ipr-card.teal .ipr-arc{ transform:rotate(-40deg); }
.ipr-ic{ position:absolute; inset:9px; border-radius:50%; background:#fff; box-shadow:0 16px 32px -14px rgba(20,40,80,.28);
  display:flex; align-items:center; justify-content:center; font-size:34px; color:var(--ac); transition:transform .4s ease; }
.ipr-card:hover .ipr-ic{ transform:scale(1.07); }
.ipr-num{ display:flex; align-items:center; justify-content:center; gap:14px; font-size:40px; font-weight:800; color:var(--ac); line-height:1; margin-bottom:16px; }
.ipr-num::before, .ipr-num::after{ content:""; width:22px; height:2px; border-radius:2px; background:var(--ac); opacity:.8; }
.ipr-t{ margin:0; font-size:19px; font-weight:800; color:#0c2244; }
.ipr-t span{ color:var(--ac); }
.ipr-line{ display:block; width:36px; height:3px; border-radius:3px; background:var(--ac); margin:13px auto 16px; }
.ipr-d{ margin:0 auto; max-width:290px; color:#5b6b7f; font-size:14px; line-height:1.7; }
.ipr-chev{ position:absolute; left:50%; bottom:0; transform:translateX(-50%); width:46px; height:30px; background:var(--ac);
  border-radius:14px 14px 0 0; display:flex; align-items:center; justify-content:center; color:#fff; font-size:13px; z-index:1; }
/* reveal */
.ifcar-promise-head > *{ opacity:0; transform:translateY(20px); transition:opacity .7s ease, transform .7s cubic-bezier(.22,.61,.36,1); }
.ifcar-promise.in .ifcar-promise-head > *{ opacity:1; transform:none; }
.ifcar-promise.in .ifcar-promise-title{ transition-delay:.1s; } .ifcar-promise.in .ipr-conn{ transition-delay:.2s; } .ifcar-promise.in .ifcar-promise-sub{ transition-delay:.3s; }
.ipr-card{ opacity:0; transform:translateY(32px); transition:opacity .6s ease var(--cd,0s), transform .6s cubic-bezier(.22,.7,.3,1) var(--cd,0s); }
.ifcar-promise.in .ipr-card{ opacity:1; transform:none; }
.ifcar-promise.in .ipr-arc circle{ stroke-dashoffset:0; }
.ipr-chev{ opacity:0; transform:translate(-50%,10px); transition:opacity .5s ease, transform .5s ease; transition-delay:calc(var(--cd,0s) + .5s); }
.ifcar-promise.in .ipr-chev{ opacity:1; transform:translateX(-50%); }
@media (max-width:860px){ .ipr-cards{ grid-template-columns:1fr; } .ipr-card + .ipr-card{ border-left:0; border-top:1px solid #eef2f7; } }

/* NOTRE PROMESSE — gradient eyebrow (like nos experts) + a bit more compact */
.ifcar-promise-eyebrow{
  background:linear-gradient(90deg,#1c9ad6,#8cc63f) !important;
  -webkit-background-clip:text !important; background-clip:text !important;
  -webkit-text-fill-color:transparent !important; color:transparent !important;
}
.ifcar-promise-area{ padding-top:52px !important; padding-bottom:44px !important; }
.ifcar-promise-title{ font-size:clamp(23px,2.7vw,34px) !important; }
.ifcar-promise-sub{ font-size:14px !important; margin-top:14px !important; }
.ipr-cards{ margin-top:22px !important; }
.ipr-card{ padding:36px 28px 42px !important; }
.ipr-ic-wrap{ width:94px !important; height:94px !important; margin-bottom:22px !important; }
.ipr-ic{ font-size:28px !important; }
.ipr-num{ font-size:34px !important; margin-bottom:12px !important; }
.ipr-t{ font-size:17px !important; }
.ipr-line{ margin:11px auto 14px !important; }
.ipr-d{ font-size:13px !important; max-width:260px !important; }

/* keep centered headings centered in Arabic (they're text-align:center in French) */
[dir="rtl"] .site-heading, [dir="rtl"] .site-heading.text-center, [dir="rtl"] .text-center,
[dir="rtl"] .ifcar-promise-head, [dir="rtl"] .svc4-head, [dir="rtl"] .ifcar-atouts-head,
[dir="rtl"] .h3-conf, [dir="rtl"] .ipr-card, [dir="rtl"] .ipr-num, [dir="rtl"] .ipr-t, [dir="rtl"] .ipr-d,
[dir="rtl"] .rstep, [dir="rtl"] .at-title, [dir="rtl"] .rappr-head{ text-align:center !important; }



/* AR: shift the nav menu a bit to the right (visual only, doesn't disturb the CTA) */
html[dir="rtl"] nav.navbar #navbar-menu .navbar-nav{ position:relative !important; left:80px !important; }
html[dir="rtl"] nav.navbar .attr-nav, html[dir="rtl"] nav.navbar .attr-right{ position:relative !important; z-index:6 !important; }

/* AR: centre the Équipe + Experts headings; make the businessman + contact eyebrows
   use the same font as the "Nos experts" (.sub-heading) eyebrow (weight 600, no tracking). */
[dir="rtl"] .team-style-one-area .site-heading, [dir="rtl"] .team-style-one-area .site-heading *,
[dir="rtl"] .ifcar-experts-area .site-heading, [dir="rtl"] .ifcar-experts-area .site-heading *{ text-align:center !important; }
[dir="rtl"] .nh-eyebrow, [dir="rtl"] .hc-eyebrow, html[dir="rtl"].ifcar-home .nh-eyebrow{
  font-weight:600 !important; letter-spacing:normal !important; text-transform:none !important; }

/* AR fix: Bootstrap offset-lg-2 hard-codes margin-left, which un-centres the Équipe
   + Experts heading columns under RTL. Neutralise it with auto side margins so the
   col-8 stays centred (16.66% each side) like in French. */
[dir="rtl"] .team-style-one-area .row > [class*="offset-"],
[dir="rtl"] .ifcar-experts-area .row > [class*="offset-"]{
  margin-left:auto !important; margin-right:auto !important; }

/* AR (Qui sommes-nous): match ADN / Promesse / Atouts eyebrows to the "Membres de
   l'équipe" (.sub-heading) font — weight 600, no letter-spacing (Arabic letters
   shouldn't be tracked apart). */
[dir="rtl"] .ifcar-adn-eyebrow,
[dir="rtl"] .ifcar-promise-eyebrow,
[dir="rtl"] .ifcar-atouts-eyebrow{
  font-weight:600 !important; letter-spacing:normal !important; }

/* AR: centre the "POURQUOI IFCAR SOLUTIONS" title (it was inheriting text-align:right)
   and slightly enlarge the ADN / Promesse / Atouts eyebrows. */
[dir="rtl"] .ifcar-atouts-title{ text-align:center !important; }
[dir="rtl"] .ifcar-adn-eyebrow,
[dir="rtl"] .ifcar-promise-eyebrow,
[dir="rtl"] .ifcar-atouts-eyebrow{ font-size:17px !important; }
