/* Terra Biga — Home CSS v2.0 */
:root {
    --g: #01C64A; --gd: #00a83d; --gl: #e8fdf0;
    --b: #004AAD; --bl: #eff6ff;
    --dk: #0a1628; --gr: #64748b;
    --g200: #e2e8f0; --g400: #94a3b8;
    --fd: 'Sora', sans-serif;
    --fb: 'DM Sans', sans-serif;
}
/* Boutons */
.tb-btn { display:inline-flex;align-items:center;gap:8px;font-family:var(--fb);font-size:14px;font-weight:700;padding:14px 28px;border-radius:10px;text-decoration:none;border:none;cursor:pointer;transition:all .22s;white-space:nowrap }
.tb-btn-vert  { background:var(--g);color:#fff }
.tb-btn-vert:hover  { background:var(--gd);transform:translateY(-2px);box-shadow:0 8px 24px rgba(1,198,74,.3);color:#fff }
.tb-btn-bleu  { background:var(--b);color:#fff }
.tb-btn-bleu:hover  { background:#003a9e;transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,74,173,.3);color:#fff }
.tb-btn-blanc { background:#fff;color:var(--b);box-shadow:0 4px 16px rgba(0,0,0,.15) }
.tb-btn-blanc:hover { transform:translateY(-2px);box-shadow:0 8px 28px rgba(0,0,0,.2);color:var(--b) }
.tb-btn-ghost { background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.25);backdrop-filter:blur(8px) }
.tb-btn-ghost:hover { background:rgba(255,255,255,.22);color:#fff }
.tb-btns-wrap { display:flex;align-items:center;gap:12px;flex-wrap:wrap }

/* ── HERO FOND ── */
.tb-hero-fond { position:absolute;inset:0;pointer-events:none;z-index:0 }
.tb-blob { position:absolute;pointer-events:none;filter:blur(35px) }
.tb-blob-1 { width:700px;height:700px;border-radius:60% 40% 55% 45%/50% 60% 40% 50%;background:radial-gradient(circle at 35% 45%,rgba(1,198,74,.32) 0%,rgba(1,198,74,.08) 50%,transparent 70%);top:-280px;right:-200px;animation:blob1 11s ease-in-out infinite alternate }
.tb-blob-2 { width:560px;height:560px;border-radius:45% 55% 40% 60%/60% 45% 55% 40%;background:radial-gradient(circle,rgba(0,74,173,.22) 0%,rgba(1,198,74,.06) 50%,transparent 70%);bottom:-100px;left:-130px;filter:blur(45px);animation:blob2 14s ease-in-out infinite alternate }
.tb-blob-3 { width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(1,198,74,.15) 0%,transparent 70%);top:40%;left:35%;filter:blur(28px);animation:blob3 8s ease-in-out infinite alternate }
.tb-hero-grid { position:absolute;inset:0;background-image:radial-gradient(rgba(0,0,0,.06) 1px,transparent 1px);background-size:30px 30px }
@keyframes blob1 { 0%{transform:translate(0,0) scale(1);border-radius:60% 40% 55% 45%/50% 60% 40% 50%} 50%{border-radius:40% 60% 45% 55%/60% 40% 55% 45%} 100%{transform:translate(-40px,30px) scale(1.1);border-radius:55% 45% 60% 40%/45% 55% 40% 60%} }
@keyframes blob2 { 0%{transform:translate(0,0) scale(1)} 100%{transform:translate(30px,-40px) scale(1.12)} }
@keyframes blob3 { 0%{transform:translate(0,0) scale(1)} 100%{transform:translate(20px,-20px) scale(1.1)} }

/* ── BADGE KICKER ── */
.tb-kicker { display:inline-flex;align-items:center;gap:8px;background:rgba(1,198,74,.1);border:1px solid rgba(1,198,74,.3);padding:6px 16px;border-radius:30px }
.tb-kicker-dot { width:6px;height:6px;border-radius:50%;background:var(--g);animation:blink 2s infinite }
@keyframes blink { 0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(1,198,74,.4)} 50%{opacity:.4;box-shadow:0 0 0 6px rgba(1,198,74,0)} }
.tb-kicker-txt { font-size:11px;font-weight:700;color:var(--g);text-transform:uppercase;letter-spacing:.6px;font-family:var(--fb) }

/* ── H1 ── */
.tb-h1 { font-family:var(--fd);font-size:clamp(40px,6vw,72px);font-weight:900;line-height:.9;letter-spacing:-3px;color:var(--dk);animation:fadeup .7s ease both }
.tb-h1 em { font-style:normal;color:var(--g) }
@keyframes fadeup { from{opacity:0;transform:translateY(24px)} to{opacity:1;transform:none} }

/* ── SOUS-TITRE ── */
.tb-sous-titre { font-family:var(--fb);font-size:17px;color:var(--gr);line-height:1.72;animation:fadeup .7s .1s ease both }
.tb-sous-titre strong { color:var(--dk) }

/* ── PREUVE SOCIALE ── */
.tb-proof { display:flex;align-items:center;gap:14px;animation:fadeup .7s .3s ease both }
.tb-proof-avts { display:flex }
.tb-avt { width:34px;height:34px;border-radius:50%;background:var(--gl);border:2px solid #fff;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:800;color:var(--g);margin-left:-8px;font-family:var(--fb) }
.tb-avt:first-child { margin-left:0 }
.tb-proof-txt { font-size:13px;color:var(--gr);font-family:var(--fb) }
.tb-proof-txt strong { color:var(--dk);font-weight:700 }

/* ── DASHBOARD 3D ── */
.tb-scene3d { position:relative;display:flex;align-items:center;justify-content:center;padding:40px 20px;overflow:visible }
.tb-3d-persp { perspective:1200px;animation:float-wrap 6s ease-in-out infinite alternate }
@keyframes float-wrap { 0%{transform:translateY(0)} 100%{transform:translateY(-16px)} }
.tb-3d-card { width:320px;background:#fff;border-radius:20px;padding:22px;box-shadow:0 40px 80px rgba(0,0,0,.18),0 20px 40px rgba(1,198,74,.1),0 0 0 1px rgba(0,0,0,.05);transform:rotateY(-12deg) rotateX(4deg);transform-style:preserve-3d;animation:card-breathe 8s ease-in-out infinite alternate;position:relative;overflow:hidden }
.tb-3d-card::before { content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--g),var(--b)) }
@keyframes card-breathe { 0%{transform:rotateY(-12deg) rotateX(4deg)} 50%{transform:rotateY(-10deg) rotateX(6deg)} 100%{transform:rotateY(-14deg) rotateX(3deg)} }
.tb-d3-header { display:flex;align-items:center;justify-content:space-between;margin-bottom:16px }
.tb-d3-logo { display:flex;align-items:center;gap:7px;font-family:var(--fd);font-size:13px;font-weight:800;color:var(--dk) }
.tb-d3-dot { width:22px;height:22px;border-radius:6px;background:var(--g) }
.tb-d3-status { display:flex;align-items:center;gap:5px;font-size:10px;font-weight:700;color:var(--g);font-family:var(--fb) }
.tb-d3-pulse { width:7px;height:7px;border-radius:50%;background:var(--g);animation:blink 2s infinite }
.tb-d3-group { font-family:var(--fd);font-size:12px;font-weight:800;color:var(--dk);margin-bottom:12px;line-height:1.3 }
.tb-d3-prog { margin-bottom:14px }
.tb-d3-prog-labels { display:flex;justify-content:space-between;font-size:10px;color:var(--g400);margin-bottom:5px;font-family:var(--fb) }
.tb-d3-bar { height:7px;background:var(--g200);border-radius:10px;overflow:hidden;margin-bottom:4px;position:relative }
.tb-d3-fill { height:100%;width:68%;background:linear-gradient(90deg,var(--g),#00e555);border-radius:10px;position:relative }
.tb-d3-fill::after { content:'';position:absolute;right:0;top:50%;transform:translateY(-50%);width:11px;height:11px;border-radius:50%;background:var(--g);box-shadow:0 0 0 3px rgba(1,198,74,.2) }
.tb-d3-pct { font-size:10px;color:var(--g);font-weight:700;font-family:var(--fb) }
.tb-d3-prix { display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px }
.tb-d3-prix-n { background:var(--gl);border:1px solid rgba(1,198,74,.2);border-radius:10px;padding:10px }
.tb-d3-prix-o { background:#fafafa;border:1px solid var(--g200);border-radius:10px;padding:10px }
.tb-d3-lbl { font-size:9px;text-transform:uppercase;letter-spacing:.5px;color:var(--g400);margin-bottom:4px;font-family:var(--fb) }
.tb-d3-val { font-family:var(--fd);font-size:13px;font-weight:900;color:var(--g);line-height:1;margin-bottom:4px }
.tb-d3-prix-o .tb-d3-val { color:var(--g400) }
.tb-barre { text-decoration:line-through }
.tb-d3-badge { display:inline-block;background:var(--g);color:#fff;font-size:9px;font-weight:800;padding:2px 7px;border-radius:20px;font-family:var(--fb) }
.tb-d3-eco { font-size:9px;color:var(--g);font-weight:600;font-family:var(--fb) }
.tb-d3-acompte { background:linear-gradient(135deg,var(--b),#0039a0);border-radius:10px;padding:11px 13px;margin-bottom:12px;display:flex;align-items:center;justify-content:space-between;gap:8px }
.tb-d3-ac-lbl { font-size:9px;color:rgba(255,255,255,.6);text-transform:uppercase;letter-spacing:.4px;font-family:var(--fb) }
.tb-d3-ac-sub { font-size:9px;color:rgba(255,255,255,.4);margin-top:2px;font-family:var(--fb) }
.tb-d3-ac-val { font-family:var(--fd);font-size:16px;font-weight:900;color:#fff;white-space:nowrap;flex-shrink:0 }
.tb-d3-cta { background:var(--g);color:#fff;font-family:var(--fd);font-size:12px;font-weight:800;padding:11px;border-radius:9px;text-align:center;margin-bottom:12px;box-shadow:0 4px 14px rgba(1,198,74,.4) }
.tb-d3-members { display:flex;align-items:center;gap:8px }
.tb-d3-avts { display:flex }
.tb-d3-avt { width:24px;height:24px;border-radius:50%;border:2px solid #fff;display:flex;align-items:center;justify-content:center;font-size:8px;font-weight:800;color:#fff;margin-left:-6px;box-shadow:0 2px 8px rgba(0,0,0,.15);font-family:var(--fb) }
.tb-d3-avt:first-child { margin-left:0 }
.tb-d3-members span { font-size:11px;color:var(--g400);font-family:var(--fb) }
/* Badges flottants 3D */
.tb-badge-float { position:absolute;background:#fff;border:1px solid var(--g200);border-radius:12px;padding:9px 13px;display:flex;align-items:center;gap:9px;box-shadow:0 8px 28px rgba(0,0,0,.12);z-index:10 }
.tb-bf-1 { top:10px;left:0;animation:fl1 4s ease-in-out infinite alternate }
.tb-bf-2 { bottom:30px;right:0;animation:fl2 5.5s ease-in-out infinite alternate }
.tb-bf-3 { top:50%;left:-5px;transform:translateY(-50%);animation:fl3 3.5s ease-in-out infinite alternate }
@keyframes fl1 { 0%{transform:translateY(0)} 100%{transform:translateY(-10px)} }
@keyframes fl2 { 0%{transform:translateY(0) rotate(-1deg)} 100%{transform:translateY(-8px) rotate(1deg)} }
@keyframes fl3 { 0%{transform:translateY(-50%)} 100%{transform:translateY(calc(-50% - 12px))} }
.tb-bf-ico { width:30px;height:30px;border-radius:7px;display:flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0 }
.tb-bf-t { font-size:11px;font-weight:700;color:var(--dk);font-family:var(--fb) }
.tb-bf-s { font-size:10px;color:var(--g400);font-family:var(--fb) }
.tb-bf-dot { width:7px;height:7px;border-radius:50%;flex-shrink:0;margin-left:auto }
.tb-dot-g { background:var(--g);animation:blink 2s infinite }
.tb-dot-b { background:var(--b);animation:blink 2.5s infinite }

/* ── PARTENAIRES ── */
.tb-partners { overflow:hidden }
.tb-partners-lbl { font-size:11px;color:var(--g400);font-weight:700;text-transform:uppercase;letter-spacing:.8px;text-align:center;margin-bottom:20px;font-family:var(--fb) }
.tb-partners-wrap { overflow:hidden;position:relative }
.tb-partners-wrap::before,.tb-partners-wrap::after { content:'';position:absolute;top:0;bottom:0;width:80px;z-index:2 }
.tb-partners-wrap::before { left:0;background:linear-gradient(to right,var(--bg,#fff),transparent) }
.tb-partners-wrap::after  { right:0;background:linear-gradient(to left,var(--bg,#fff),transparent) }
.tb-partners-track { display:flex;width:max-content;animation:scroll 22s linear infinite }
.tb-partners-track:hover { animation-play-state:paused }
@keyframes scroll { 0%{transform:translateX(0)} 100%{transform:translateX(-50%)} }
.tb-partners-item { padding:0 32px;border-right:1px solid var(--g200);display:flex;align-items:center;height:48px;white-space:nowrap }
.tb-partners-item span { font-family:var(--fd);font-size:12px;font-weight:800;color:#d1d5db;text-transform:uppercase;letter-spacing:.3px;transition:color .2s }
.tb-partners-track:hover .tb-partners-item span { color:var(--g400) }

/* ── SERVICES ── */
.tb-sv-card { background:#fff;border-radius:22px;padding:38px;position:relative;overflow:hidden;transition:transform .3s,box-shadow .3s;height:100% }
.tb-sv-card:hover { transform:translateY(-6px) }
.tb-sv-vert { border:1px solid #d1fae5;border-top:5px solid var(--g) }
.tb-sv-vert:hover { box-shadow:0 24px 64px rgba(1,198,74,.12) }
.tb-sv-bleu { border:1px solid #dbeafe;border-top:5px solid var(--b) }
.tb-sv-bleu:hover { box-shadow:0 24px 64px rgba(0,74,173,.1) }
.tb-sv-num { position:absolute;top:16px;right:20px;font-family:var(--fd);font-size:76px;font-weight:900;line-height:1;pointer-events:none;transition:color .3s }
.tb-sv-vert .tb-sv-num { color:#d1fae5 }
.tb-sv-bleu .tb-sv-num { color:#dbeafe }
.tb-sv-top { display:flex;align-items:center;justify-content:space-between;margin-bottom:20px }
.tb-sv-ico { width:54px;height:54px;border-radius:15px;display:flex;align-items:center;justify-content:center }
.tb-svi-g { background:var(--gl);border:1px solid rgba(1,198,74,.25) }
.tb-svi-b { background:var(--bl);border:1px solid rgba(0,74,173,.2) }
.tb-sv-badge { font-size:11px;font-weight:700;padding:5px 12px;border-radius:20px;text-transform:uppercase;letter-spacing:.4px;font-family:var(--fb) }
.tb-sv-badge-g { background:var(--gl);border:1px solid rgba(1,198,74,.2);color:var(--g) }
.tb-sv-badge-b { background:var(--bl);border:1px solid rgba(0,74,173,.15);color:var(--b) }
.tb-sv-nom { font-family:var(--fd);font-size:26px;font-weight:900;color:var(--dk);margin-bottom:4px;letter-spacing:-.4px }
.tb-sv-mooré { font-size:13px;font-style:italic;margin-bottom:14px;font-family:var(--fb) }
.tb-sv-desc { font-size:14px;color:var(--gr);line-height:1.75;margin-bottom:20px;font-family:var(--fb) }
.tb-sv-desc strong { color:var(--dk) }
.tb-sv-list { list-style:none;display:flex;flex-direction:column;gap:10px;margin-bottom:26px;padding:0 }
.tb-sv-li { display:flex;align-items:center;gap:10px;font-size:13px;font-weight:500;color:var(--dk);font-family:var(--fb) }
.tb-ck { width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;flex-shrink:0 }
.tb-ck-g { background:var(--gl);border:1px solid rgba(1,198,74,.3);color:var(--g) }
.tb-ck-b { background:var(--bl);border:1px solid rgba(0,74,173,.2);color:var(--b) }

/* ── TRUST ── */
.tb-trust { display:flex;align-items:stretch;background:#fff;border:1px solid #d1fae5;border-radius:14px;overflow:hidden }
.tb-trust-i { display:flex;align-items:center;gap:12px;padding:18px 22px;flex:1 }
.tb-trust-ico { font-size:22px;flex-shrink:0 }
.tb-trust-i strong { display:block;font-size:13px;font-weight:700;color:var(--dk);font-family:var(--fb) }
.tb-trust-i span { display:block;font-size:11px;color:var(--g400);margin-top:2px;font-family:var(--fb) }
.tb-trust-sep { width:1px;background:#d1fae5;flex-shrink:0 }

/* ── BLOG ── */
.tb-blog-grid { display:grid;grid-template-columns:1fr 1fr;gap:20px }
.tb-blog-col { display:flex;flex-direction:column;gap:16px }
.tb-blog-card { display:block;background:#fff;border:1px solid var(--g200);border-radius:18px;overflow:hidden;text-decoration:none;color:inherit;transition:all .28s }
.tb-blog-card:hover { border-color:var(--g);transform:translateY(-4px);box-shadow:0 16px 48px rgba(0,0,0,.07) }
.tb-blog-img { background:#f1f5f9;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden }
.tb-blog-img-big { aspect-ratio:16/9 }
.tb-blog-img-sm  { aspect-ratio:16/7 }
.tb-thumb { width:100%;height:100%;object-fit:cover }
.tb-blog-emoji { font-size:48px }
.tb-blog-date { position:absolute;bottom:12px;right:12px;background:var(--g);color:#fff;font-family:var(--fd);font-size:11px;font-weight:800;padding:7px 10px;border-radius:9px;text-align:center;line-height:1.2 }
.tb-date-sm { font-size:9px;padding:5px 8px }
.tb-blog-body { padding:20px 22px 22px }
.tb-blog-aut { display:flex;align-items:center;gap:8px;margin-bottom:10px }
.tb-blog-avt { width:22px;height:22px;border-radius:50%;background:var(--gl);display:flex;align-items:center;justify-content:center;font-size:8px;font-weight:800;color:var(--g);flex-shrink:0;font-family:var(--fb) }
.tb-blog-aut span { font-size:11px;font-weight:700;color:var(--g400);text-transform:uppercase;letter-spacing:.3px;font-family:var(--fb) }
.tb-blog-titre { font-family:var(--fd);font-size:17px;font-weight:800;color:var(--dk);line-height:1.25;letter-spacing:-.2px;margin-bottom:10px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden }
.tb-blog-titre-sm { font-size:14px }
.tb-blog-ex { font-size:13px;color:var(--gr);line-height:1.7;margin-bottom:12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-family:var(--fb) }
.tb-blog-lk { font-size:12px;font-weight:700;color:var(--g);text-transform:uppercase;letter-spacing:.4px;font-family:var(--fb) }

/* ── AVIS ── */
.tb-avis-grid { display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px }
.tb-avis-c { background:#f1f5f9;border:1px solid var(--g200);border-radius:20px;padding:28px;transition:all .28s }
.tb-avis-c:hover { border-color:var(--g);transform:translateY(-4px);box-shadow:0 16px 48px rgba(0,0,0,.07) }
.tb-avis-feat { background:var(--dk);border-color:var(--dk) }
.tb-avis-q { font-family:var(--fd);font-size:68px;font-weight:900;color:var(--g200);line-height:.65;margin-bottom:12px }
.tb-avis-feat .tb-avis-q { color:rgba(255,255,255,.07) }
.tb-avis-txt { font-size:14px;color:var(--gr);line-height:1.78;margin-bottom:18px;font-family:var(--fb) }
.tb-avis-feat .tb-avis-txt { color:rgba(255,255,255,.6) }
.tb-avis-auth { display:flex;align-items:center;gap:10px }
.tb-avis-avt { width:40px;height:40px;border-radius:50%;background:var(--gl);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;color:var(--g);flex-shrink:0;border:2px solid var(--g200);font-family:var(--fb) }
.tb-avis-feat .tb-avis-avt { background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.15) }
.tb-avis-nm { font-size:13px;font-weight:700;color:var(--dk);margin-bottom:2px;font-family:var(--fb) }
.tb-avis-feat .tb-avis-nm { color:#fff }
.tb-avis-rl { font-size:11px;color:var(--g400);font-family:var(--fb) }
.tb-avis-feat .tb-avis-rl { color:rgba(255,255,255,.35) }
.tb-avis-stars { font-size:13px;color:#fbbf24;margin-top:12px }

/* ── PARTICULES ── */
.tb-particles { position:relative;display:flex;align-items:center;justify-content:center;min-height:340px;overflow:hidden }
.tb-particles-bg { position:absolute;inset:0;display:flex;align-items:center;justify-content:center }
.tb-particle { position:absolute;border-radius:50%;opacity:0;will-change:transform,opacity;box-shadow:0 2px 2px rgba(0,0,0,.3),0 -4px 2px rgba(0,0,0,.1) inset,0 6px 2px rgba(255,255,255,.1) inset;animation:pdoit 2800ms infinite cubic-bezier(0.125,0,0.410,0) reverse }
@keyframes pdoit { 0%{opacity:0} 5%{opacity:1} 100%{opacity:1;transform:translateX(0) translateY(0) scale(0.08) !important} }
.tb-particles-txt { position:relative;z-index:2;text-align:center;padding:0 24px }
.tb-particles-tag { font-family:var(--fd);font-size:12px;font-weight:700;color:var(--g);text-transform:uppercase;letter-spacing:1px;margin-bottom:10px }
.tb-particles-titre { font-family:var(--fd);font-size:clamp(36px,6vw,52px);font-weight:900;color:#fff;line-height:1;letter-spacing:-2px }
.tb-particles-titre em { font-style:normal;color:var(--g) }
.tb-particles-sous { font-size:15px;color:rgba(255,255,255,.45);margin-top:10px;font-family:var(--fb) }

/* ── CTA éléments ── */
.tb-cta-titre { font-family:var(--fd);font-size:clamp(28px,4vw,44px);font-weight:900;color:#fff;letter-spacing:-1.5px;line-height:1.05;margin-bottom:10px }
.tb-cta-sous { font-size:15px;color:rgba(255,255,255,.65);font-family:var(--fb) }

/* ═══════════════════════════════
   RESPONSIVE TABLETTE (≤1024px)
   ═══════════════════════════════ */
@media(max-width:1024px) {
    /* Hero : réduire le titre */
    .tb-h1 { font-size:clamp(32px,5.5vw,56px);letter-spacing:-2px }

    /* Hero colonne droite plus petite */
    .tb-hero-in { gap:40px }

    /* Services */
    .tbsv-grid { grid-template-columns:1fr 1fr;gap:16px }
    .tbsv-card { padding:28px }
    .tbsv-nom { font-size:22px }

    /* Résultats */
    .tbrs-wrap { gap:48px }

    /* Avis */
    .tb-avis-grid { grid-template-columns:1fr 1fr }

    /* Blog */
    .tb-blog-grid { grid-template-columns:1fr }
    .tb-blog-col { display:grid;grid-template-columns:1fr 1fr;gap:16px }

    /* Trust */
    .tb-trust { flex-wrap:wrap }
    .tb-trust-i { flex:1 1 45% }
    .tb-trust-sep { display:none }

    /* CTA */
    .tbcta-titre { font-size:32px }
}

/* ═══════════════════════════════
   RESPONSIVE TABLETTE (≤900px)
   ═══════════════════════════════ */
@media(max-width:900px) {
    /* Hero : 1 colonne */
    .tb-hero-in { grid-template-columns:1fr;gap:0 }
    .tb-hero-right { display:none }
    .tb-hero-left { padding-bottom:60px;text-align:center }
    .tb-btns-wrap { justify-content:center }
    .tb-proof { justify-content:center }

    /* Titres */
    .tb-h1 { font-size:clamp(30px,7vw,48px);letter-spacing:-1.5px }
    .tb-h2 { font-size:34px;letter-spacing:-1px }

    /* Services */
    .tbsv-grid { grid-template-columns:1fr }
    .tbsv-titre { font-size:30px }
    .tbsv-btn { width:100%;justify-content:center }

    /* Résultats : 1 colonne */
    .tbrs-wrap { grid-template-columns:1fr;gap:40px }
    .tbrs-grid { max-width:500px }
    .tbrs-btn { width:100%;justify-content:center }

    /* Avis : 1 colonne */
    .tb-avis-grid { grid-template-columns:1fr }

    /* Blog : 1 colonne */
    .tb-blog-grid { grid-template-columns:1fr }
    .tb-blog-col { grid-template-columns:1fr }

    /* Trust */
    .tb-trust { flex-wrap:wrap }
    .tb-trust-i { flex:1 1 45%;border-bottom:1px solid #d1fae5 }
    .tb-trust-sep { display:none }

    /* CTA */
    .tbcta-inner { flex-direction:column;text-align:center }
    .tbcta-sous { margin:0 auto }
    .tbcta-btns { justify-content:center;width:100% }
    .tbcta-btn-w,.tbcta-btn-g { width:100%;justify-content:center }
    .tbcta-titre { font-size:28px;letter-spacing:-1px }

    /* Partenaires */
    .tb-partners-item { padding:0 20px }

    /* Particules */
    .tbpt-section { height:280px }
    .tbpt-titre { font-size:36px }
}

/* ═══════════════════════════════
   RESPONSIVE MOBILE (≤600px)
   ═══════════════════════════════ */
@media(max-width:600px) {
    .tb-h1 { font-size:clamp(28px,9vw,38px);letter-spacing:-1.5px }
    .tb-sous-titre { font-size:15px }
    .tb-kicker-txt { font-size:10px }
    .tb-btns-wrap { flex-direction:column;align-items:stretch }
    .tb-btn { justify-content:center;width:100% }
    .tb-trust-i { flex:1 1 100% }
    .tbsv-trust { flex-direction:column }
    .tbsv-trust-sep { display:none }
    .tb-avis-grid { grid-template-columns:1fr }
    .tb-wrap { padding-left:20px;padding-right:20px }
    .tbcta-section { padding:56px 0 }
    .tbpt-section { height:260px }
    .tbpt-titre { font-size:30px;letter-spacing:-1px }
}

/* ═══════════════════════════════
   RESPONSIVE PETIT MOBILE (≤400px)
   ═══════════════════════════════ */
@media(max-width:400px) {
    .tb-h1 { font-size:26px;letter-spacing:-1px }
    .tb-wrap { padding-left:14px;padding-right:14px }
    .tbsv-card { padding:22px }
}

/* ── VISUEL HERO DROITE (browser mockup) ── */
.hs-outer{position:relative;display:flex;align-items:flex-end;justify-content:center}
.hs-screen{width:100%;max-width:520px;background:#fff;border-radius:20px 20px 0 0;box-shadow:0 -4px 60px rgba(1,198,74,.15),0 0 0 1px #e2e8f0;overflow:hidden;position:relative}
.hs-bar{background:#f1f5f9;padding:10px 14px;display:flex;align-items:center;gap:8px;border-bottom:1px solid #e2e8f0}
.hs-dots{display:flex;gap:5px}
.hs-dot{width:10px;height:10px;border-radius:50%}
.hs-url{flex:1;background:#fff;border:1px solid #e2e8f0;border-radius:6px;padding:5px 10px;font-size:11px;color:#94a3b8;text-align:center;font-family:var(--fb)}
.hs-body{padding:20px}
.hs-ms-hero{background:linear-gradient(135deg,#004AAD,#0099cc);border-radius:10px;padding:20px;margin-bottom:14px;position:relative;overflow:hidden}
.hs-ms-hero::before{content:'';position:absolute;width:200px;height:200px;border-radius:50%;background:rgba(255,255,255,.08);top:-60px;right:-40px}
.hs-ms-badge{background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.25);color:#fff;font-size:9px;font-weight:700;padding:3px 9px;border-radius:20px;text-transform:uppercase;letter-spacing:.4px;margin-bottom:10px;display:inline-block;font-family:var(--fb)}
.hs-ms-t{font-family:var(--fd);font-size:18px;font-weight:900;color:#fff;line-height:1.1;margin-bottom:8px}
.hs-ms-sub{font-size:10px;color:rgba(255,255,255,.7);margin-bottom:14px;font-family:var(--fb)}
.hs-ms-btn{background:#fff;color:#01C64A;font-size:10px;font-weight:800;padding:6px 14px;border-radius:6px;display:inline-block;font-family:var(--fb)}
.hs-ms-stats{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-bottom:14px}
.hs-ms-stat{background:#f1f5f9;border-radius:8px;padding:10px;text-align:center}
.hs-ms-n{font-family:var(--fd);font-size:16px;font-weight:900}
.hs-ms-l{font-size:9px;color:#94a3b8;margin-top:2px;font-family:var(--fb)}
.hs-ms-prods{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}
.hs-ms-prod{background:#f1f5f9;border-radius:8px;overflow:hidden}
.hs-ms-prod-img{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:20px;background:#e8fdf0}
.hs-ms-prod-info{padding:6px}
.hs-ms-prod-n{font-size:9px;font-weight:700;color:#0a1628;font-family:var(--fb)}
.hs-ms-prod-p{font-size:9px;font-weight:800;color:#01C64A;font-family:var(--fb)}
/* Badges flottants */
.hs-float{position:absolute;background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:10px 14px;box-shadow:0 8px 32px rgba(0,0,0,.10);display:flex;align-items:center;gap:8px;z-index:10}
.hs-float-1{top:20px;left:-20px;animation:hsfl1 4s ease-in-out infinite alternate}
.hs-float-2{bottom:120px;right:-20px;animation:hsfl2 5s ease-in-out infinite alternate}
.hs-float-3{top:50%;left:-30px;transform:translateY(-50%);animation:hsfl3 3.5s ease-in-out infinite alternate}
@keyframes hsfl1{0%{transform:translateY(0)}100%{transform:translateY(-10px)}}
@keyframes hsfl2{0%{transform:translateY(0) rotate(-1deg)}100%{transform:translateY(-8px) rotate(1deg)}}
@keyframes hsfl3{0%{transform:translateY(-50%)}100%{transform:translateY(calc(-50% - 12px))}}
.hs-f-ico{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}
.hs-f-t{font-size:12px;font-weight:700;color:#0a1628;font-family:var(--fb)}
.hs-f-s{font-size:10px;color:#94a3b8;font-family:var(--fb)}

/* ── BADGES FLOTTANTS autour du widget Image ── */
.tb-badges-wrap {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 10;
}
.tb-badges-wrap .hs-float {
    pointer-events: all;
}

/* ── CLASSE 3D pour widget Image Elementor ──────────────────
   Dans Elementor : Widget Image → Avancé → Classes CSS → tb-img-3d
   ──────────────────────────────────────────────────────────── */
.tb-img-3d {
    perspective: 1000px;
    animation: img3d-float 6s ease-in-out infinite alternate;
    overflow: visible !important;
}
@keyframes img3d-float {
    0%   { transform: translateY(0); }
    100% { transform: translateY(-16px); }
}
.tb-img-3d img {
    display: block;
    width: 100%;
    border-radius: 20px;
    transform: rotateY(-14deg) rotateX(4deg);
    transform-style: preserve-3d;
    animation: img3d-breathe 8s ease-in-out infinite alternate;
    box-shadow:
        0 40px 80px rgba(0,0,0,.22),
        0 20px 40px rgba(1,198,74,.12),
        0 0 0 1px rgba(255,255,255,.1);
    transition: transform .35s ease, box-shadow .35s ease;
}
.tb-img-3d img:hover {
    transform: rotateY(-7deg) rotateX(2deg) scale(1.02);
    box-shadow:
        0 50px 100px rgba(0,0,0,.25),
        0 24px 48px rgba(1,198,74,.18);
}
@keyframes img3d-breathe {
    0%   { transform: rotateY(-14deg) rotateX(4deg); }
    50%  { transform: rotateY(-12deg) rotateX(6deg); }
    100% { transform: rotateY(-16deg) rotateX(3deg); }
}

/* Keyframe flottement 3D (utilisé par le JS) */
@keyframes tb3d-float {
    0%   { transform: translateY(0); }
    100% { transform: translateY(-16px); }
}

/* ── SECTION SERVICES COMPLÈTE ── */
.tb-services-section { width: 100%; }
.tb-sv-head { text-align:center;margin-bottom:48px }
.tb-sv-lead { font-size:16px;color:#64748b;line-height:1.75;margin-top:12px;max-width:520px;margin-left:auto;margin-right:auto;font-family:var(--fb) }
.tb-h2 { font-family:var(--fd);font-size:clamp(32px,5vw,50px);font-weight:900;line-height:1;letter-spacing:-2px;color:#0a1628 }
.tb-sv-duo { display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:20px }
@media(max-width:768px){ .tb-sv-duo { grid-template-columns:1fr } }

/* ── TB_SERVICES — CSS identique maquette ── */
.tb-sv-wrap { width:100% }
.tb-sv-head-center { text-align:center;margin-bottom:60px }
.tb-tag { font-size:10px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:#01C64A;display:inline-block;margin-bottom:14px;font-family:'DM Sans',sans-serif }
.tb-sv-h2 { font-family:'Sora',sans-serif;font-size:clamp(32px,4vw,50px);font-weight:900;line-height:.97;letter-spacing:-2px;color:#0a1628 }
.tb-sv-lead2 { font-size:16px;color:#64748b;margin-top:14px;max-width:520px;margin-left:auto;margin-right:auto;line-height:1.75;font-family:'DM Sans',sans-serif }

.tb-sv-duo-grid { display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:20px }

/* Classes maquette réutilisées */
.sv-duo-card { background:#fff;border-radius:24px;padding:40px;position:relative;overflow:hidden;transition:all .3s }
.sv-duo-card:hover { transform:translateY(-6px) }
.sv-green-card { border:1px solid #d1fae5;border-top:5px solid #01C64A }
.sv-green-card:hover { box-shadow:0 24px 64px rgba(1,198,74,.12) }
.sv-blue-card { border:1px solid #dbeafe;border-top:5px solid #004AAD }
.sv-blue-card:hover { box-shadow:0 24px 64px rgba(0,74,173,.1) }
.tb-sv-num-bg { position:absolute;top:18px;right:22px;font-family:'Sora',sans-serif;font-size:80px;font-weight:900;line-height:1;pointer-events:none }
.sv-duo-ico { width:56px;height:56px;border-radius:16px;display:flex;align-items:center;justify-content:center }
.sv-ico-g { background:#e8fdf0;border:1px solid rgba(1,198,74,.25) }
.sv-ico-b { background:#eff6ff;border:1px solid rgba(0,74,173,.2) }
.sv-duo-badge { font-size:11px;font-weight:700;padding:5px 13px;border-radius:20px;text-transform:uppercase;letter-spacing:.4px;font-family:'DM Sans',sans-serif }
.sv-badge-g { background:#e8fdf0;border:1px solid rgba(1,198,74,.2);color:#01C64A }
.sv-badge-b { background:#eff6ff;border:1px solid rgba(0,74,173,.15);color:#004AAD }
.sv-duo-name { font-family:'Sora',sans-serif;font-size:28px;font-weight:900;color:#0a1628;margin-bottom:4px;letter-spacing:-.5px }
.sv-duo-sub { font-size:13px;font-style:italic;margin-bottom:16px;font-family:'DM Sans',sans-serif }
.sv-sub-g { color:#01C64A }
.sv-sub-b { color:#004AAD }
.sv-duo-desc { font-size:14px;color:#64748b;line-height:1.75;margin-bottom:22px;font-family:'DM Sans',sans-serif }
.sv-duo-desc strong { color:#0a1628 }
.sv-duo-list { display:flex;flex-direction:column;gap:10px;margin-bottom:28px;list-style:none;padding:0 }
.sv-duo-li { display:flex;align-items:center;gap:10px;font-size:13px;font-weight:500;color:#0a1628;font-family:'DM Sans',sans-serif }
.sv-ck { width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0 }
.sv-ck-g { background:#e8fdf0;border:1px solid rgba(1,198,74,.3) }
.sv-ck-b { background:#eff6ff;border:1px solid rgba(0,74,173,.2) }
.sv-duo-btn { display:inline-flex;align-items:center;gap:8px;font-family:'DM Sans',sans-serif;font-size:14px;font-weight:700;padding:13px 24px;border-radius:10px;transition:all .2s;text-decoration:none;color:#fff }
.sv-btn-g { background:#01C64A }
.sv-btn-g:hover { background:#00a83d }
.sv-btn-b { background:#004AAD }
.sv-btn-b:hover { background:#003a9e }

/* Bande garanties */
.tb-trust-band { display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;background:#fff;border:1px solid #d1fae5;border-radius:16px;overflow:hidden }
.tb-trust-band-i { padding:20px 22px;display:flex;align-items:center;gap:12px }
.tb-trust-band-sep { width:1px;background:#d1fae5 }
.tb-trust-band-t { font-size:13px;font-weight:700;color:#0a1628;font-family:'DM Sans',sans-serif }
.tb-trust-band-s { font-size:11px;color:#94a3b8;margin-top:2px;font-family:'DM Sans',sans-serif }

@media(max-width:768px) {
    .tb-sv-duo-grid { grid-template-columns:1fr }
    .tb-trust-band { grid-template-columns:1fr 1fr }
    .tb-trust-band-sep { display:none }
}

/* ════════════════════════════════════════
   SECTION SERVICES — classes tbsv-
   ════════════════════════════════════════ */
.tbsv-wrap { width:100%;font-family:'DM Sans',sans-serif }

/* En-tête */
.tbsv-head { text-align:center;margin-bottom:60px }
.tbsv-tag { font-size:10px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:#01C64A;display:inline-block;margin-bottom:14px }
.tbsv-titre { font-family:'Sora',sans-serif;font-size:clamp(30px,4vw,50px);font-weight:900;line-height:.97;letter-spacing:-2px;color:#0a1628;margin-bottom:14px }
.tbsv-sous { font-size:16px;color:#64748b;line-height:1.75;max-width:520px;margin:0 auto }

/* Grille 2 colonnes */
.tbsv-grid { display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:20px }

/* Carte */
.tbsv-card { background:#fff;border-radius:24px;padding:40px;position:relative;overflow:hidden;transition:all .3s;cursor:default }
.tbsv-card:hover { transform:translateY(-6px) }
.tbsv-card-g { border:1px solid #d1fae5;border-top:5px solid #01C64A }
.tbsv-card-g:hover { box-shadow:0 24px 64px rgba(1,198,74,.12) }
.tbsv-card-b { border:1px solid #dbeafe;border-top:5px solid #004AAD }
.tbsv-card-b:hover { box-shadow:0 24px 64px rgba(0,74,173,.10) }

/* Numéro de fond */
.tbsv-num { position:absolute;top:18px;right:22px;font-family:'Sora',sans-serif;font-size:80px;font-weight:900;line-height:1;pointer-events:none }
.tbsv-card-g .tbsv-num { color:#d1fae5 }
.tbsv-card-b .tbsv-num { color:#dbeafe }

/* Top icône + badge */
.tbsv-card-top { display:flex;align-items:center;justify-content:space-between;margin-bottom:22px }
.tbsv-ico { width:56px;height:56px;border-radius:16px;display:flex;align-items:center;justify-content:center }
.tbsv-ico-g { background:#e8fdf0;border:1px solid rgba(1,198,74,.25) }
.tbsv-ico-b { background:#eff6ff;border:1px solid rgba(0,74,173,.20) }
.tbsv-badge { font-size:11px;font-weight:700;padding:5px 13px;border-radius:20px;text-transform:uppercase;letter-spacing:.4px }
.tbsv-badge-g { background:#e8fdf0;border:1px solid rgba(1,198,74,.2);color:#01C64A }
.tbsv-badge-b { background:#eff6ff;border:1px solid rgba(0,74,173,.15);color:#004AAD }

/* Nom + sous-titre */
.tbsv-nom { font-family:'Sora',sans-serif;font-size:28px;font-weight:900;color:#0a1628;margin-bottom:4px;letter-spacing:-.5px }
.tbsv-mooré { font-size:13px;font-style:italic;margin-bottom:16px }
.tbsv-mooré-g { color:#01C64A }
.tbsv-mooré-b { color:#004AAD }

/* Description */
.tbsv-desc { font-size:14px;color:#64748b;line-height:1.75;margin-bottom:22px }
.tbsv-desc strong { color:#0a1628 }

/* Liste */
.tbsv-list { list-style:none;padding:0;margin:0 0 28px;display:flex;flex-direction:column;gap:10px }
.tbsv-li { display:flex;align-items:center;gap:10px;font-size:13px;font-weight:500;color:#0a1628 }
.tbsv-ck { width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0 }
.tbsv-ck-g { background:#e8fdf0;border:1px solid rgba(1,198,74,.3) }
.tbsv-ck-b { background:#eff6ff;border:1px solid rgba(0,74,173,.2) }

/* Bouton */
.tbsv-btn { display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:700;padding:13px 24px;border-radius:10px;transition:all .2s;text-decoration:none;color:#fff }
.tbsv-btn-g { background:#01C64A }
.tbsv-btn-g:hover { background:#00a83d;transform:translateY(-2px) }
.tbsv-btn-b { background:#004AAD }
.tbsv-btn-b:hover { background:#003a9e;transform:translateY(-2px) }

/* Bande garanties */
.tbsv-trust { display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;background:#fff;border:1px solid #d1fae5;border-radius:16px;overflow:hidden }
.tbsv-trust-i { padding:20px 22px;display:flex;align-items:center;gap:12px }
.tbsv-trust-sep { width:1px;background:#d1fae5 }
.tbsv-trust-ico { font-size:22px;flex-shrink:0 }
.tbsv-trust-i strong { display:block;font-size:13px;font-weight:700;color:#0a1628 }
.tbsv-trust-i span { display:block;font-size:11px;color:#94a3b8;margin-top:2px }

/* Responsive */
@media(max-width:768px) {
    .tbsv-grid { grid-template-columns:1fr }
    .tbsv-trust { grid-template-columns:1fr 1fr }
    .tbsv-trust-sep { display:none }
}