/* GestaPro : copie du site Update IT recolorée aux couleurs du logo Gesta Pro (dégradés G chaud / P froid). */
/* Update IT & Training — page Contact (chargée uniquement sur la vue contact).
   Charte de l'accueil : bleu nuit #0B1044, rose #f61a74, dégradé CTA #FF2D7A→#fe5c4a, violet/bleu/cyan. */
.page-contact{--ct-ink:#0b1044;--ct-text:#535973;--ct-line:#e6e8f0;--ct-pink:#f61a74;--ct-pink-d:#c8105c;--ct-violet:#5134e3;--ct-blue:#2d9cdb;--ct-cyan:#22c3e6;--ct-cta:linear-gradient(90deg,#ff2d7a,#fe5c4a);--ct-err:#b3123d}
.page-contact main{overflow-x:hidden;overflow-x:clip}

/* ------------------------------------------------------------------ Hero */
.ct-hero{position:relative;isolation:isolate;padding:56px 0 72px;background:linear-gradient(120deg,#fff 0%,#fff5f8 48%,#f3f1ff 100%);overflow:hidden;overflow:clip}
.ct-orbs{position:absolute;inset:0;z-index:-1;pointer-events:none}
.ct-orb{position:absolute;display:block;border-radius:50%;filter:blur(60px)}
.ct-orb-1{width:420px;height:420px;top:-140px;inset-inline-start:-140px;background:#f61a7430;animation:uit-orb 22s ease-in-out infinite}
.ct-orb-2{width:360px;height:360px;bottom:-160px;inset-inline-end:28%;background:#fe5c4a26;animation:uit-orb 26s ease-in-out infinite reverse}
.ct-orb-3{width:300px;height:300px;top:10%;inset-inline-end:-80px;background:#5134e324;animation:uit-orb 30s ease-in-out infinite}
.ct-ribbon{position:absolute;z-index:-1;top:-40px;inset-inline-end:0;width:min(40vw,560px);height:calc(100% + 40px);background:url("../../img/ruban-rose-orange.svg") no-repeat 100% 0/100% 100%;opacity:.55;pointer-events:none;animation:uit-wave 16s ease-in-out infinite}
[dir=rtl] .ct-ribbon{transform:scaleX(-1)}
.ct-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.02fr);gap:56px;align-items:center}
.ct-hero-copy>*{animation:uit-up .8s cubic-bezier(.2,.7,.2,1) both}
.ct-hero-copy>:nth-child(2){animation-delay:.08s}.ct-hero-copy>:nth-child(3){animation-delay:.16s}
.ct-hero-copy>:nth-child(4){animation-delay:.24s}.ct-hero-copy>:nth-child(5){animation-delay:.32s}
.ct-hero h1{font-size:clamp(36px,4.4vw,62px);line-height:1.08;letter-spacing:-2.6px;color:var(--ct-ink)}
html[lang=ar] .ct-hero h1{letter-spacing:0;line-height:1.4}
.ct-accent{background-image:linear-gradient(90deg,#f61a74,#ff3f6c 45%,#fe5c4a);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:uit-gradient 6s ease-in-out infinite;padding-bottom:.08em}
.ct-lead{font-size:18px;line-height:1.65;margin-top:22px;max-width:560px}
.ct-chips{list-style:none;margin:26px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.ct-chips li{display:inline-flex;align-items:center;gap:8px;padding:8px 14px 8px 10px;background:#ffffffd9;border:1px solid var(--ct-line);border-radius:999px;font-size:13px;font-weight:700;color:var(--ct-ink);box-shadow:0 6px 18px #0b10440d}
[dir=rtl] .ct-chips li{padding:8px 10px 8px 14px}
.ct-chips .icon{width:18px;height:18px;color:var(--ct-pink-d)}
.ct-chips li:nth-child(2) .icon{color:var(--ct-violet)}
.ct-chips li:nth-child(3) .icon{color:#c4461a}
.ct-hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}
.ct-hero-actions .btn{font-size:15px;min-height:50px;padding:13px 24px}
.ct-hero-actions .btn-secondary .icon{width:20px;height:20px;color:var(--ct-pink-d)}
.ct-arrow-down,[dir=rtl] .btn .icon.ct-arrow-down{transform:rotate(90deg)}
.ct-hero-actions .btn-primary:hover .ct-arrow-down{animation:ct-down .9s ease-in-out infinite}
@keyframes ct-down{0%,100%{transform:rotate(90deg) translateX(0)}50%{transform:rotate(90deg) translateX(4px)}}

.ct-hero-art{position:relative;padding:34px 40px 46px 30px;animation:uit-zoom-in 1s cubic-bezier(.2,.7,.2,1) both}
[dir=rtl] .ct-hero-art{padding:34px 30px 46px 40px}
.ct-photo{margin:0;position:relative;border-radius:200px 28px 200px 28px;overflow:hidden;box-shadow:0 30px 60px #0b104424;aspect-ratio:1400/1000;background:#f3e9ee}
[dir=rtl] .ct-photo{border-radius:28px 200px 28px 200px}
.ct-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(160deg,#ff2d7a00 55%,#ff2d7a2e 80%,#fe5c4a66);pointer-events:none}
.ct-photo-img{width:100%;height:100%;object-fit:cover;animation:uit-breathe 14s ease-in-out infinite;transform-origin:60% 50%}
.ct-photo figcaption,.ct-faq-photo figcaption{position:absolute;z-index:1;top:14px;inset-inline-end:16px;max-width:80%;padding:4px 10px;border-radius:6px;background:#0b1044b3;color:#fff;font-size:11px;line-height:1.4}
.ct-float{position:absolute;z-index:2}
.ct-float-chat{width:min(46%,250px);top:-6px;inset-inline-start:-34px;filter:drop-shadow(0 18px 30px #0b104426);animation:uit-float 6s ease-in-out infinite}
.ct-float-chat .ct-illus{width:100%;height:auto;display:block}
.ct-float-card{bottom:4px;inset-inline-start:2%;display:flex;align-items:center;gap:12px;padding:14px 18px 14px 14px;background:#fff;border:1px solid var(--ct-line);border-radius:14px;box-shadow:0 18px 40px #0b10441f;animation:uit-float 5.5s ease-in-out infinite;animation-delay:-2s;max-width:290px}
[dir=rtl] .ct-float-card{padding:14px 14px 14px 18px}
.ct-float-card strong{display:block;font-size:14px;color:var(--ct-ink)}
.ct-float-card small{display:block;font-size:12px;color:var(--ct-text);line-height:1.4;margin-top:2px}
.ct-float-icon{flex:0 0 42px;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--ct-cta);color:#fff;animation:uit-pulse 2.4s ease-out infinite}
.ct-float-icon .icon{width:22px;height:22px;stroke-width:2.4}
.ct-float-bubble{top:24%;inset-inline-end:-8px;display:flex;align-items:center;gap:10px;max-width:220px;padding:12px 16px;background:var(--ct-ink);color:#fff;border-radius:16px 16px 4px 16px;font-size:13px;font-weight:700;line-height:1.4;box-shadow:0 16px 34px #0b104433;animation:uit-float-x 7s ease-in-out infinite}
[dir=rtl] .ct-float-bubble{border-radius:16px 16px 16px 4px}
.ct-float-bubble .icon{width:22px;height:22px;flex:0 0 22px;color:#ff8ab4}

/* Animations internes des illustrations SVG (classes posées dans les fichiers ct-*.svg) */
.ct-illus{overflow:visible}
.ct-illus .ct-a-float{animation:uit-float 5s ease-in-out infinite}
.ct-illus .ct-a-pop{transform-box:fill-box;transform-origin:0 50%;animation:ct-pop 6s cubic-bezier(.2,.7,.2,1) infinite}
.ct-illus .ct-a-dot{transform-box:fill-box;transform-origin:center;animation:ct-dot 1.2s ease-in-out infinite}
.ct-illus .ct-a-twinkle{transform-box:fill-box;transform-origin:center;animation:ct-twinkle 3s ease-in-out infinite}
.ct-illus .ct-a-type{transform-box:fill-box;transform-origin:0 50%;animation:ct-type 4s ease-in-out infinite}
[dir=rtl] .ct-illus .ct-a-type{transform-origin:0 50%}
.ct-illus .ct-a-write{animation:ct-write 4s ease-in-out infinite}
.ct-illus .ct-a-draw{stroke-dasharray:1;stroke-dashoffset:1;animation:ct-draw 4s ease-in-out infinite}
.ct-illus .ct-a-grow{transform-box:fill-box;transform-origin:50% 100%;animation:ct-grow 4s ease-in-out infinite alternate}
.ct-illus .ct-a-rocket{animation:ct-rocket 3.2s ease-in-out infinite}
.ct-illus .ct-a-ring{transform-box:fill-box;transform-origin:center;animation:ct-ring 2.8s ease-out infinite}
.ct-illus .ct-a-wave{animation:ct-wave 1.8s ease-in-out infinite}
.ct-illus .ct-d1{animation-delay:.2s}.ct-illus .ct-d2{animation-delay:.45s}.ct-illus .ct-d3{animation-delay:.7s}
.ct-illus .ct-a-pop.ct-d2{animation-delay:.9s}.ct-illus .ct-a-pop.ct-d3{animation-delay:1.6s}
@keyframes ct-pop{0%{opacity:0;transform:scale(.6)}10%,85%{opacity:1;transform:scale(1)}95%,100%{opacity:0;transform:scale(.9)}}
@keyframes ct-dot{0%,100%{transform:translateY(0);opacity:.45}50%{transform:translateY(-4px);opacity:1}}
@keyframes ct-twinkle{0%,100%{transform:scale(.6) rotate(0);opacity:.35}50%{transform:scale(1.15) rotate(25deg);opacity:1}}
@keyframes ct-type{0%{transform:scaleX(0)}35%,80%{transform:scaleX(1)}100%{transform:scaleX(0)}}
@keyframes ct-write{0%,100%{transform:translate(0,0)}25%{transform:translate(-8px,-14px)}50%{transform:translate(-2px,-24px)}75%{transform:translate(-10px,-30px)}}
@keyframes ct-draw{0%{stroke-dashoffset:1}40%,80%{stroke-dashoffset:0}100%{stroke-dashoffset:1}}
@keyframes ct-grow{from{transform:scaleY(.45)}to{transform:scaleY(1)}}
@keyframes ct-rocket{0%,100%{transform:translate(0,0)}50%{transform:translate(3px,-7px)}}
@keyframes ct-ring{0%{transform:scale(.8);opacity:.6}100%{transform:scale(1.15);opacity:0}}
@keyframes ct-wave{0%,100%{opacity:.25}50%{opacity:1}}

/* ---------------------------------------------------------------- Titres */
.ct-head{text-align:center;max-width:760px;margin:0 auto 46px}
.ct-head h2,.ct-faq-body h2{color:var(--ct-ink)}

/* ---------------------------------------------------------- 3 étapes */
.ct-steps-sec{padding:64px 0 40px;position:relative}
.ct-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;position:relative;counter-reset:none}
.ct-steps:before{content:'';position:absolute;top:92px;inset-inline:16%;height:2px;background:repeating-linear-gradient(90deg,#f61a7466 0 8px,#0000 8px 16px);background-size:32px 2px;animation:ct-dash 1.6s linear infinite;z-index:0}
[dir=rtl] .ct-steps:before{animation-direction:reverse}
@keyframes ct-dash{to{background-position:32px 0}}
.ct-step{position:relative;z-index:1;margin:0;padding:28px 26px 30px;background:#fff;border:1px solid var(--ct-line);border-radius:10px;text-align:center;transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease}
.ct-step:hover{transform:translateY(-6px);box-shadow:0 20px 44px #0b104417;border-color:#f3c3d6}
.js .ct-step.reveal.is-in:hover{transform:translateY(-6px)}
.ct-step-art{width:150px;max-width:100%;margin:0 auto 10px}
.ct-step-art .ct-illus{width:100%;height:auto;display:block}
.ct-step-num{display:inline-grid;place-items:center;min-width:44px;height:28px;padding:0 10px;border-radius:999px;background:var(--ct-cta);color:#fff;font-size:12px;font-weight:800;letter-spacing:1px;margin-bottom:14px;box-shadow:0 8px 18px #ff2d7a40}
.ct-step:nth-child(2) .ct-step-num{background:linear-gradient(90deg,#5134e3,#2d9cdb);box-shadow:0 8px 18px #5134e340}
.ct-step:nth-child(3) .ct-step-num{background:linear-gradient(90deg,#fe5c4a,#ff2d7a)}
.ct-step h3{font-size:20px;color:var(--ct-ink);letter-spacing:-.4px}
html[lang=ar] .ct-step h3{letter-spacing:0}
.ct-step p{font-size:14px;line-height:1.6;margin-top:10px}

/* ----------------------------------------------------- Formulaire + infos */
.ct-main{padding:48px 0 40px;position:relative;isolation:isolate}
.ct-main:before{content:'';position:absolute;z-index:-1;width:520px;height:520px;top:12%;inset-inline-start:-220px;border-radius:50%;background:#5134e314;filter:blur(70px);pointer-events:none;animation:uit-orb 28s ease-in-out infinite}
.ct-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:36px;align-items:start}
.ct-form-card{position:relative;border-radius:10px;padding:2px;background:linear-gradient(135deg,#ff2d7a,#fe5c4a 35%,#e6e8f0 60%,#5134e3);background-size:220% 220%;animation:uit-gradient 10s ease-in-out infinite;box-shadow:0 30px 70px #0b10441a}
.ct-form-card>*{background:#fff}
.ct-form-head{display:flex;gap:18px;align-items:flex-start;padding:34px 36px 0;border-radius:8px 8px 0 0}
.ct-form-icon{flex:0 0 56px;width:56px;height:56px;border-radius:14px;display:grid;place-items:center;background:var(--ct-cta);color:#fff;box-shadow:0 12px 26px #ff2d7a40;animation:uit-float 6s ease-in-out infinite}
.ct-form-icon .icon{width:28px;height:28px}
.ct-form-head .eyebrow{margin-bottom:8px}
.ct-form-head h2{font-size:clamp(26px,2.4vw,34px);letter-spacing:-1px;color:var(--ct-ink)}
.ct-form-head h2:focus{outline:none}
.ct-form-head h2:focus-visible{outline:3px solid #c8105c;outline-offset:4px}
.ct-form-head p:not(.eyebrow){font-size:14px;margin-top:8px}
.ct-sent{display:none;align-items:center;gap:14px;padding:22px 36px 0;color:#24553d}
.ct-form-card.is-sent .ct-sent{display:flex}
.ct-sent strong{font-size:18px}
.ct-sent-check{width:48px;height:48px;flex:0 0 48px;fill:none;stroke:#2e8b57;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.ct-sent-check circle,.ct-sent-check path{stroke-dasharray:1;stroke-dashoffset:1;animation:ct-check .7s ease-out forwards}
.ct-sent-check path{animation-delay:.45s}
@keyframes ct-check{to{stroke-dashoffset:0}}
.ct-form.form{border:0;border-radius:0 0 8px 8px;padding:26px 36px 34px;background:#fff}
.ct-form .form-status{margin:0 0 18px}
.ct-form .form-required{margin-bottom:20px}
.ct-form .form-grid{gap:20px 22px}
.ct-form label{font-size:13px;color:var(--ct-ink)}
.ct-form label span[aria-hidden]{color:var(--ct-pink-d)}
.ct-input{position:relative;display:block}
.ct-input .ct-fi{position:absolute;top:50%;inset-inline-start:14px;width:19px;height:19px;transform:translateY(-50%);color:#8a8fa8;pointer-events:none;transition:color .2s}
.ct-form .field input,.ct-form .field select,.ct-form .field textarea{min-height:52px;border:1.5px solid #c9cdda;border-radius:8px;background:#fbfbfe;font-size:15px;transition:border-color .2s,box-shadow .2s,background-color .2s}
.ct-form .ct-input input,.ct-form .ct-select select{padding-inline-start:44px}
.ct-form .ct-select select{appearance:none;-webkit-appearance:none;padding-inline-end:44px;cursor:pointer}
.ct-chev{position:absolute;top:50%;inset-inline-end:14px;width:18px;height:18px;transform:translateY(-50%) rotate(90deg);color:var(--ct-ink);pointer-events:none}
.ct-form .field textarea{min-height:150px;resize:vertical;line-height:1.6}
.ct-form .field input:hover,.ct-form .field select:hover,.ct-form .field textarea:hover{border-color:#9aa0b8}
.ct-form .field input:focus,.ct-form .field select:focus,.ct-form .field textarea:focus,.ct-form .antispam input:focus{outline:none;border-color:var(--ct-pink-d);background:#fff;box-shadow:0 0 0 4px #f61a7424}
.ct-form .field input:focus-visible,.ct-form .field select:focus-visible,.ct-form .field textarea:focus-visible,.ct-form .antispam input:focus-visible{outline:2px solid var(--ct-ink);outline-offset:2px}
.ct-input:focus-within .ct-fi{color:var(--ct-pink-d)}
.ct-form .field [aria-invalid=true],.ct-form .antispam input[aria-invalid=true]{border-color:var(--ct-err);background:#fff7f9;box-shadow:0 0 0 4px #b3123d14}
.ct-input:has([aria-invalid=true]) .ct-fi{color:var(--ct-err)}
.ct-form .field-error{display:flex;align-items:center;gap:6px;margin-top:4px;font-size:12.5px;color:var(--ct-err);animation:ct-shake .4s ease}
.ct-form .field-error:before{content:'!';flex:0 0 16px;width:16px;height:16px;border-radius:50%;display:grid;place-items:center;background:var(--ct-err);color:#fff;font-size:11px;font-weight:800;line-height:1}
.ct-form .field-error[hidden]{display:none}
@keyframes ct-shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}
.ct-counter{margin:4px 0 0;font-size:12px;color:var(--ct-text);text-align:end}
.ct-counter.is-ok{color:#24553d}
.ct-form .antispam{max-width:none;margin-top:22px;padding:16px 18px;border:1px dashed #d6d9e6;border-radius:10px;background:#f8f9fc}
.ct-form .antispam label{font-size:13px;color:var(--ct-ink)}
.ct-form .antispam label:before{content:'';flex:0 0 18px;width:18px;height:18px;background:var(--ct-cta);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l8 3v6c0 5-3.5 8-8 9-4.5-1-8-4-8-9V6z'/%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l8 3v6c0 5-3.5 8-8 9-4.5-1-8-4-8-9V6z'/%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3C/svg%3E") center/contain no-repeat}
.ct-form .antispam input{max-width:180px;min-height:48px;border:1.5px solid #c9cdda;border-radius:8px;font-size:16px;font-weight:700;text-align:center;letter-spacing:2px}
.ct-form .consent{font-size:13px;margin:22px 0 4px;color:var(--ct-text);line-height:1.5}
.ct-form .consent input{width:20px;height:20px;flex:0 0 20px;margin-top:0}
.ct-main a.accent{color:var(--ct-pink-d);background:none;-webkit-text-fill-color:currentColor;text-decoration:underline;text-underline-offset:3px;padding:0;font-weight:700}
.ct-submit{display:flex;flex-wrap:wrap;align-items:center;gap:14px 20px;margin-top:20px}
.ct-form .ct-submit .btn{margin:0;min-height:54px;padding:14px 30px;font-size:16px;box-shadow:0 14px 30px #ff2d7a3d}
.ct-form .ct-submit .btn:hover{box-shadow:0 18px 38px #ff2d7a59}
.ct-form .ct-submit .btn:hover .arrow{animation:uit-nudge .9s ease-in-out infinite}
.ct-secure{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:700;color:#24553d}
.ct-secure .icon{width:17px;height:17px}
.ct-form .form-note{font-size:12px;margin-top:16px}

/* Colonne d'infos */
.ct-aside{display:grid;gap:24px;position:sticky;top:110px}
.ct-card{border-radius:10px;padding:30px;border:1px solid var(--ct-line);background:#fff;box-shadow:0 18px 44px #0b104410}
.ct-card h2{font-size:22px;letter-spacing:-.5px;line-height:1.3}
html[lang=ar] .ct-card h2{letter-spacing:0}
.ct-card-dark{position:relative;overflow:hidden;isolation:isolate;border:0;color:#fff;background:linear-gradient(140deg,#0b1044 0%,#1b1f63 55%,#6d1a63 100%)}
.ct-card-dark:before{content:'';position:absolute;z-index:-1;width:260px;height:260px;top:-110px;inset-inline-end:-90px;border-radius:50%;background:radial-gradient(circle,#ff2d7a99,#fe5c4a33 55%,#0000 70%);animation:uit-orb 18s ease-in-out infinite}
.ct-card-dark h2{color:#fff;margin-top:6px}
.ct-card-art{width:84px;height:84px;margin-bottom:6px}
.ct-card-art .ct-illus{width:100%;height:100%}
.ct-card-dark .contact-info{margin-top:18px;padding-top:0;border:0}
.ct-card-dark .contact-info ul{gap:12px}
.ct-card-dark .contact-info li{align-items:center;gap:14px;padding:12px 14px;border-radius:10px;background:#ffffff12;border:1px solid #ffffff1f;transition:background-color .25s}
.ct-card-dark .contact-info li:hover{background:#ffffff1f}
.ct-ci{flex:0 0 40px;width:40px;height:40px;border-radius:10px;display:grid;place-items:center;background:var(--ct-cta)}
.ct-card-dark .contact-info .icon{width:20px;height:20px;margin:0;color:#fff}
.ct-card-dark .contact-info small{display:block;font-size:11px;letter-spacing:1px;text-transform:uppercase;color:#c9cbe6;font-weight:700}
html[lang=ar] .ct-card-dark .contact-info small{letter-spacing:0}
.ct-card-dark .contact-info a{color:#fff;font-weight:700;font-size:15px;text-decoration-color:#ff8ab4}
.ct-card-dark .contact-info a:hover{color:#ffd0e2}
.ct-card-dark .contact-info a:focus-visible{outline-color:#fff}
.ct-resp{display:flex;gap:12px;align-items:flex-start;margin-top:20px;padding-top:18px;border-top:1px solid #ffffff26}
.ct-resp p{color:#dfe0f0;font-size:13.5px;line-height:1.55}
.ct-resp strong{display:block;color:#fff;font-size:14px;margin-bottom:2px}
.ct-resp-dot{flex:0 0 12px;width:12px;height:12px;margin-top:5px;border-radius:50%;background:#3ddc97;box-shadow:0 0 0 0 #3ddc9766;animation:ct-live 2s ease-out infinite}
@keyframes ct-live{0%{box-shadow:0 0 0 0 #3ddc9780}70%{box-shadow:0 0 0 10px #3ddc9700}100%{box-shadow:0 0 0 0 #3ddc9700}}
.ct-trust ul{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:16px}
.ct-trust li{display:flex;gap:14px;align-items:flex-start;font-size:13.5px;line-height:1.55;color:var(--ct-text)}
.ct-trust li strong{display:block;color:var(--ct-ink);font-size:14.5px;margin-bottom:2px}
.ct-ti{flex:0 0 42px;width:42px;height:42px;border-radius:50%;display:grid;place-items:center}
.ct-ti .icon{width:20px;height:20px}
.ct-ti.tint-pink{background:#fdeaf1;color:var(--ct-pink-d)}
.ct-ti.tint-violet{background:#eeedfc;color:#4a3fc4}
.ct-ti.tint-orange{background:#ffeee6;color:#b54214}
.ct-trust li:hover .ct-ti{animation:uit-pulse 1.4s ease-out infinite}

/* ------------------------------------------------------------------ FAQ */
.ct-faq-sec{padding:80px 0 30px;position:relative;isolation:isolate}
.ct-faq-sec:after{content:'';position:absolute;z-index:-1;width:380px;height:380px;bottom:0;inset-inline-end:-120px;border-radius:50%;background:#fe5c4a22;filter:blur(60px);animation:uit-orb 24s ease-in-out infinite reverse}
.ct-faq-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:64px;align-items:center}
.ct-faq-visual{position:relative;padding:0 0 60px 0}
.ct-faq-photo{margin:0;position:relative;border-radius:10px;overflow:hidden;aspect-ratio:4/3.4;box-shadow:0 26px 56px #0b104421}
.ct-faq-photo:before{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(200deg,#0b104400 40%,#0b104466);pointer-events:none}
.ct-faq-img{width:100%;height:100%;object-fit:cover;animation:uit-breathe 16s ease-in-out infinite}
.ct-faq-photo figcaption{top:12px}
.ct-faq-illus{position:absolute;width:56%;max-width:270px;bottom:0;inset-inline-end:-26px;padding:14px;background:#fff;border-radius:10px;box-shadow:0 20px 44px #0b104424;animation:uit-float 6s ease-in-out infinite}
.ct-faq-illus .ct-illus{width:100%;height:auto;display:block}
.ct-faq-intro{margin-top:16px;font-size:16px;max-width:560px}
.ct-faq-list{margin-top:28px;display:grid;gap:12px}
.ct-faq-list details{border:1px solid var(--ct-line);border-radius:10px;background:#fff;transition:border-color .25s,box-shadow .25s}
.ct-faq-list details[open]{border-color:#f3c3d6;box-shadow:0 14px 34px #f61a7414}
.ct-faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;cursor:pointer;list-style:none;font-weight:700;color:var(--ct-ink);font-size:15.5px;border-radius:10px}
.ct-faq-list summary::-webkit-details-marker{display:none}
.ct-faq-list summary:hover{color:var(--ct-pink-d)}
.ct-faq-list summary:focus-visible{outline:3px solid #c8105c;outline-offset:2px}
.ct-faq-list summary i{position:relative;flex:0 0 30px;width:30px;height:30px;border-radius:50%;background:#fdeaf1;transition:transform .3s ease,background .3s}
.ct-faq-list summary i:before,.ct-faq-list summary i:after{content:'';position:absolute;top:50%;left:50%;width:12px;height:2px;margin:-1px 0 0 -6px;background:var(--ct-pink-d);border-radius:2px;transition:transform .3s ease}
.ct-faq-list summary i:after{transform:rotate(90deg)}
.ct-faq-list details[open] summary i{background:var(--ct-cta);transform:rotate(180deg)}
.ct-faq-list details[open] summary i:before,.ct-faq-list details[open] summary i:after{background:#fff}
.ct-faq-list details[open] summary i:after{transform:rotate(0)}
.ct-faq-a{padding:0 20px 18px}
.ct-faq-a p{font-size:14.5px;line-height:1.65}
.ct-faq-list details[open] .ct-faq-a{animation:uit-up .45s ease both}

/* ------------------------------------------------------------------ CTA */
.ct-cta-sec{padding:64px 0 20px}
.ct-cta{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;gap:30px;padding:44px 48px;border-radius:10px;color:#fff;background:linear-gradient(115deg,#11153f 30%,#b10c62 72%,#fe5c4a);background-size:180% 100%;animation:uit-gradient 14s ease-in-out infinite}
.ct-cta .ct-orb-1{background:#ff2d7a55;top:-200px;inset-inline-start:auto;inset-inline-end:-120px}
.ct-cta .ct-orb-2{background:#5134e355;bottom:-220px;inset-inline-end:auto;inset-inline-start:-100px}
.ct-cta-icon{flex:0 0 72px;width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:#ffffff1f;border:1px solid #ffffff40;animation:uit-float 5s ease-in-out infinite}
.ct-cta-icon .icon{width:34px;height:34px;color:#fff}
.ct-cta-copy{flex:1 1 auto;min-width:0}
.ct-cta h2{font-size:clamp(24px,2.4vw,32px);letter-spacing:-.8px;color:#fff}
html[lang=ar] .ct-cta h2{letter-spacing:0}
.ct-cta p{color:#f3eafa;margin-top:8px;font-size:15px}
.ct-cta-actions{display:flex;flex-wrap:wrap;gap:12px;flex-shrink:0}
.ct-cta .btn-light .icon{width:20px;height:20px;color:var(--ct-pink-d)}
.ct-cta .btn-light{animation:uit-pulse 2.6s ease-out infinite}
.ct-btn-ghost{background:transparent;color:#fff;border:1.5px solid #ffffffb3}
.ct-btn-ghost:hover{background:#ffffff1a}
[dir=rtl] .ct-btn-ghost .icon.arrow{transform:scaleX(-1)}
.ct-cta a:focus-visible{outline-color:#fff}

/* -------------------------------------------------------------- Responsive */
@media(max-width:1100px){
  .ct-hero-grid{gap:36px}
  .ct-grid{grid-template-columns:minmax(0,1fr) minmax(0,.85fr);gap:26px}
  .ct-form-head{padding:28px 26px 0}.ct-form.form{padding:22px 26px 28px}.ct-sent{padding:20px 26px 0}
  .ct-faq-grid{gap:44px}
  .ct-cta{flex-wrap:wrap;padding:38px}
}
@media(max-width:900px){
  .ct-hero{padding:34px 0 48px}
  .ct-hero-grid{grid-template-columns:1fr;gap:20px}
  .ct-hero-art{max-width:620px;width:100%;margin:0 auto}
  .ct-ribbon{width:70vw;opacity:.35}
  .ct-steps{grid-template-columns:1fr;gap:18px;max-width:560px;margin:0 auto}
  .ct-steps:before{top:40px;bottom:40px;inset-inline:auto;inset-inline-start:50%;width:2px;height:auto;background:repeating-linear-gradient(180deg,#f61a7466 0 8px,#0000 8px 16px)}
  .ct-steps-sec{padding:56px 0 24px}
  .ct-head{margin-bottom:30px}
  .ct-grid{grid-template-columns:1fr}
  .ct-aside{position:static;grid-template-columns:1fr 1fr;align-items:start}
  .ct-faq-grid{grid-template-columns:1fr}
  .ct-faq-visual{max-width:560px;width:100%;margin:0 auto}
  .ct-faq-sec{padding:56px 0 20px}
  .ct-cta-sec{padding:44px 0 10px}
}
@media(max-width:640px){
  .ct-hero h1{letter-spacing:-1.4px}
  .ct-lead{font-size:16px}
  .ct-chips li{font-size:12px}
  .ct-hero-actions .btn{width:100%}
  .ct-hero-art,[dir=rtl] .ct-hero-art{padding:26px 10px 54px}
  .ct-photo{border-radius:120px 20px 120px 20px}
  [dir=rtl] .ct-photo{border-radius:20px 120px 20px 120px}
  .ct-float-chat{width:40%;top:-4px;inset-inline-start:-4px}
  .ct-float-bubble{top:auto;bottom:66px;inset-inline-end:0;max-width:180px;font-size:12px;padding:10px 12px}
  .ct-float-card{inset-inline-start:0;max-width:250px;padding:10px 12px}
  .ct-float-card small{display:none}
  .ct-photo figcaption{max-width:52%;font-size:10px;top:10px;inset-inline-end:12px}
  .ct-hero{padding-top:44px}
  .ct-aside{grid-template-columns:1fr}
  .ct-steps:before{display:none}
  .ct-step{display:grid;grid-template-columns:96px minmax(0,1fr);gap:0 16px;align-items:center;text-align:start;padding:20px 18px}
  .ct-step-art{grid-row:1/4;width:96px;margin:0}
  .ct-step-num{justify-self:start;margin-bottom:8px}
  .ct-step h3{font-size:18px}
  .ct-step p{margin-top:6px}
  .ct-form-head{flex-direction:column;gap:14px;padding:24px 20px 0}
  .ct-form.form{padding:20px 20px 26px}
  .ct-sent{padding:18px 20px 0}
  .ct-form .form-grid{grid-template-columns:1fr}
  .ct-submit .btn{width:100%}
  .ct-card{padding:24px 20px}
  .ct-faq-illus{inset-inline-end:-6px;width:58%}
  .ct-faq-list summary{padding:16px;font-size:14.5px}
  .ct-faq-a{padding:0 16px 16px}
  .ct-cta{padding:30px 22px;gap:20px}
  .ct-cta-actions,.ct-cta-actions .btn{width:100%}
}
@media(max-width:380px){
  .ct-float-bubble{display:none}
  .ct-chips{gap:8px}
  .ct-card-dark .contact-info a{font-size:14px}
}

/* --------------------------------------------- Mouvement réduit / impression */
@media(prefers-reduced-motion:reduce){
  .ct-hero *,.ct-hero,.ct-steps:before,.ct-steps *,.ct-main *,.ct-main:before,.ct-faq-sec *,.ct-faq-sec:after,.ct-cta,.ct-cta *{animation:none!important;transition:none!important}
  .ct-illus .ct-a-pop,.ct-illus .ct-a-type,.ct-illus .ct-a-grow{opacity:1;transform:none}
  .ct-illus .ct-a-draw,.ct-sent-check circle,.ct-sent-check path{stroke-dashoffset:0}
}
@media(forced-colors:active){.ct-accent{color:CanvasText;background:none}.ct-form-card{border:2px solid CanvasText}}
#ct-form-title{scroll-margin-top:130px}
