.elementor-2225 .elementor-element.elementor-element-3f5bccd{width:100%;max-width:100%;}:root{--page-title-display:none;}@media(max-width:1024px){.elementor-2225 .elementor-element.elementor-element-3f5bccd{width:100%;max-width:100%;}}/* Start custom CSS *//* ── K2 — CARTE DES IMPLANTATIONS ── */
.ctc-map-section{padding:110px 0;background:var(--bg-light-alt);display:flex;justify-content:center;}
.ctc-map-grid{width:1440px;max-width:90%;display:grid;grid-template-columns:1.25fr 1fr;gap:64px;align-items:start;}

/* La carte reste fixe pendant que la colonne de droite défile */
.ctc-map-wrap{position:sticky;top:112px;}
.ctc-map{width:100%;height:auto;display:block;overflow:hidden;}

.ctc-map__ctx{fill:rgba(78,62,145,.055);stroke:rgba(78,62,145,.13);stroke-width:1;}
.ctc-map__pays{fill:rgba(78,62,145,.15);stroke:var(--plump-purple);stroke-width:1.5;
  stroke-linejoin:round;}
/* Tracé animé des frontières à l'apparition */
.ctc-map.is-in .ctc-map__pays{stroke-dasharray:4000;stroke-dashoffset:4000;
  animation:ctcDraw 2.6s cubic-bezier(.4,0,.2,1) forwards;}
@keyframes ctcDraw{to{stroke-dashoffset:0;}}

.ctc-link{stroke:url(#ctcGrad);stroke-width:1.8;fill:none;opacity:0;stroke-dasharray:6 7;}
.ctc-map.is-in .ctc-link{animation:ctcLink .9s ease forwards 1.5s, ctcDash 22s linear infinite 1.5s;}
@keyframes ctcLink{to{opacity:.85;}}
@keyframes ctcDash{to{stroke-dashoffset:-260;}}

.ctc-pt{cursor:pointer;opacity:0;}
.ctc-map.is-in .ctc-pt{animation:ctcPop .5s cubic-bezier(.2,1.4,.4,1) forwards;}
@keyframes ctcPop{from{opacity:0;transform:translateY(-8px);}to{opacity:1;transform:none;}}
.ctc-pt__halo{fill:rgba(175,68,119,.38);transform-origin:center;transform-box:fill-box;}
.ctc-map.is-in .ctc-pt__halo{animation:ctcPulse 2.6s ease-out infinite;}
@keyframes ctcPulse{0%{transform:scale(.55);opacity:.7;}70%{transform:scale(2.5);opacity:0;}100%{opacity:0;}}
.ctc-pt__dot{fill:var(--fandango);stroke:#fff;stroke-width:2.4;transition:r .25s;}
.ctc-pt__lbl{fill:var(--text-dark);font-size:15px;font-weight:600;
  paint-order:stroke;stroke:rgba(244,245,249,.92);stroke-width:5px;stroke-linejoin:round;
  opacity:0;transition:opacity .25s;pointer-events:none;}
.ctc-pt.is-on .ctc-pt__dot,.ctc-pt:hover .ctc-pt__dot{r:9;}
.ctc-pt.is-on .ctc-pt__lbl,.ctc-pt:hover .ctc-pt__lbl{opacity:1;}

.ctc-offices{display:flex;flex-direction:column;gap:22px;}
.ctc-offices__h{display:flex;flex-direction:column;gap:18px;align-items:flex-start;margin-bottom:8px;}
.ctc-offices__t{font-weight:700;font-size:2.2rem;color:var(--text-dark);letter-spacing:-.02em;
  line-height:1.25em;text-transform:uppercase;text-wrap:balance;}
.ctc-offices__p{font-size:1rem;color:var(--text-dark-muted);line-height:1.75em;}
.ctc-pays{display:flex;flex-direction:column;gap:12px;}
.ctc-pays__k{font-weight:600;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--fandango);}
.ctc-office{display:flex;gap:16px;align-items:center;padding:16px 20px;border-radius:14px;
  border:1px solid rgba(78,62,145,.1);background:var(--bg-white);
  box-shadow:0 12px 40px -34px rgba(78,62,145,.4);cursor:pointer;transition:all .25s;}
.ctc-office:hover,.ctc-office.is-on{border-color:rgba(175,68,119,.4);transform:translateX(4px);
  box-shadow:0 18px 44px -30px rgba(78,62,145,.45);}
.ctc-office__p{width:9px;height:9px;flex:0 0 auto;border-radius:50%;background:var(--fandango);
  box-shadow:0 0 0 0 rgba(175,68,119,.4);transition:box-shadow .25s;}
.ctc-office:hover .ctc-office__p,.ctc-office.is-on .ctc-office__p{box-shadow:0 0 0 6px rgba(175,68,119,.18);}
.ctc-office__n{font-weight:600;font-size:1.05rem;color:var(--text-dark);}
.ctc-office__m{margin-inline-start:auto;font-size:.8rem;color:var(--text-dark-muted);}

/* ── Responsive ── */
@media (max-width:1200px){
  .ctc-map-wrap{position:static;}
  .ctc-map{max-width:640px;margin:0 auto;}
}
@media (max-width:1024px){
  .ctc-offices__t{font-size:1.85rem;}
}

/* ── Accessibilité : arrêt des animations ── */
@media (prefers-reduced-motion:reduce){
  .ctc-map.is-in .ctc-map__pays,
  .ctc-map.is-in .ctc-pt,
  .ctc-map.is-in .ctc-pt__halo,
  .ctc-map.is-in .ctc-link{animation:none;}
  .ctc-map .ctc-pt{opacity:1;}
  .ctc-map .ctc-link{opacity:.6;}
  .ctc-map .ctc-map__pays{stroke-dashoffset:0;}
}/* End custom CSS */