/* ═══════════════════════════════════════════════
   RESET & VARIABLES
═══════════════════════════════════════════════ */
:root{
  --c1:#06b6d4; --c2:#0891b2; --c3:#0f766e;
  --ink:#0f172a; --body:#334155; --mu:#64748b;
  --bg:#f8fafc; --card:#ffffff;
  --line:#e2e8f0; --line2:#f1f5f9;
  --ease: cubic-bezier(.22,1,.36,1);
  --shadow-sm: 0 1px 3px rgba(15,23,42,.06), 0 1px 2px rgba(15,23,42,.04);
  --shadow-md: 0 4px 16px rgba(15,23,42,.08), 0 2px 6px rgba(15,23,42,.04);
  --shadow-lg: 0 12px 40px rgba(15,23,42,.10), 0 4px 12px rgba(15,23,42,.05);
  --shadow-xl: 0 24px 64px rgba(15,23,42,.12), 0 8px 24px rgba(15,23,42,.06);
  --r:20px; --r-sm:14px; --r-lg:28px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
.tp{font-family:Inter,sans-serif;color:var(--ink);background:var(--bg);overflow-x:hidden;}
.tp a:not(.tw-btn){color:inherit;text-decoration:none;}
.tp-wrap{max-width:1160px;margin:0 auto;padding:0 clamp(20px,5vw,48px);}

/* ═══ KEYFRAMES ═══════════════════════════════ */
@keyframes tp-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@keyframes tp-glow{0%,100%{box-shadow:0 0 0 0 rgba(6,182,212,0)}50%{box-shadow:0 0 0 10px rgba(6,182,212,.12)}}
@keyframes tp-spin{to{transform:rotate(360deg)}}
@keyframes tp-ping{0%{transform:scale(1);opacity:.8}70%{transform:scale(2.2);opacity:0}100%{transform:scale(1);opacity:0}}
@keyframes tp-shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}
@keyframes tp-slide-up{from{opacity:0;transform:translateY(36px)}to{opacity:1;transform:translateY(0)}}
@keyframes tp-fade{from{opacity:0}to{opacity:1}}
@keyframes tp-badge-in{from{opacity:0;transform:scale(.8) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}
@keyframes tp-gradient{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@keyframes tp-check{from{stroke-dashoffset:20}to{stroke-dashoffset:0}}
@keyframes tp-orbit{from{transform:rotate(0deg) translateX(28px) rotate(0deg)}to{transform:rotate(360deg) translateX(28px) rotate(-360deg)}}
@keyframes tp-number{from{opacity:0;transform:translateY(12px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes tp-border-glow{0%,100%{border-color:rgba(6,182,212,.2)}50%{border-color:rgba(6,182,212,.6)}}
@keyframes tp-dot{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.3;transform:scale(.6)}}

/* ═══ HERO ═══════════════════════════════════ */
/* ═══ HERO — 2 colonnes (identique aux autres pages) ═══ */
.trh{
  display:grid;grid-template-columns:1fr 1fr;align-items:center;max-width:1400px;margin:0 auto;width:100%;
  min-height:100vh;padding:130px max(5vw,40px) 80px;
  position:relative;overflow:hidden;background:var(--bg);gap:40px;
  border-bottom:1px solid var(--line);
}
.trh::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(ellipse 65% 70% at 70% 40%,rgba(6,182,212,.09) 0%,transparent 65%),
    radial-gradient(ellipse 40% 45% at 15% 85%,rgba(15,118,110,.06) 0%,transparent 60%);
}
/* Copie gauche */
.trh-copy{position:relative;z-index:2;max-width:560px;}
.trh-copy>*{opacity:0;}
.trh-copy h1{
  font-size:clamp(36px,4.6vw,60px);font-weight:900;
  letter-spacing:-.05em;line-height:1.04;color:var(--ink);margin:0 0 20px;
}
.trh-copy h1 span{
  background:linear-gradient(180deg,#5de7ff 0%,#27d3f3 35%,#06b6d4 65%,#0891b2 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
}
.trh-lead{
  font-size:clamp(15px,1.5vw,17px);line-height:1.65;
  color:#64748b;margin:0 0 30px;max-width:440px;
}
.trh-actions{display:flex;gap:14px;margin-bottom:26px;flex-wrap:wrap;}
.trh-actions .button{height:auto;min-height:46px;padding:12px 32px;}
.trh-trust{font-size:12px;color:#64748b;display:flex;align-items:center;gap:8px;}
.trh-trust span{
  display:inline-block;width:7px;height:7px;border-radius:50%;
  background:#10b981;box-shadow:0 0 8px rgba(16,185,129,.6);
}
/* Visuel droite */
.trh-visual{position:relative;height:650px;perspective:1300px;}
.trh-wrap{
  position:absolute;width:min(440px,85%);height:500px;
  left:10%;top:70px;
  transform:rotateY(-10deg) rotateX(5deg) rotateZ(-4deg);
  transform-style:preserve-3d;opacity:0;
}
/* Panel glassmorphism */
.trh-panel{
  height:100%;border:1px solid rgba(6,182,212,.22);border-radius:30px;
  background:rgba(255,255,255,.88);backdrop-filter:blur(22px);
  box-shadow:0 50px 100px rgba(15,23,42,.16),inset 0 1px #fff;
  position:relative;overflow:hidden;
  display:flex;flex-direction:column;
}
.trh-panel::before{
  content:'';position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,#06b6d4,#0f766e);border-radius:30px 30px 0 0;
}
/* Top bar */
.trh-topbar{
  display:flex;align-items:center;justify-content:space-between;
  padding:12px 16px;border-bottom:1px solid rgba(6,182,212,.1);flex-shrink:0;
}
.trh-brand{display:flex;align-items:center;gap:8px;}
.trh-logo{
  width:26px;height:26px;border-radius:7px;flex-shrink:0;
  background:linear-gradient(135deg,#06b6d4,#0f766e);
  display:flex;align-items:center;justify-content:center;color:#fff;font-size:11px;
}
.trh-brand-title{font-size:11px;font-weight:800;color:#0f172a;}
.trh-brand-sub{font-size:9px;color:#94a3b8;margin-top:1px;}
.trh-live-dot{
  display:flex;align-items:center;gap:5px;padding:3px 9px;border-radius:99px;
  background:rgba(245,158,11,.1);font-size:10px;font-weight:700;color:#d97706;
}
.trh-live-dot span{
  width:6px;height:6px;border-radius:50%;background:#f59e0b;
  animation:trhPulse 1.6s ease-in-out infinite;
}
@keyframes trhPulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}

/* Zone centrale — animation */
.trh-stage{
  flex:1;display:flex;flex-direction:column;
  align-items:center;justify-content:center;
  padding:20px;position:relative;overflow:hidden;
}
/* ── Zone transactions ── */
.trh-balance-zone{
  padding:14px 16px 10px;border-bottom:1px solid rgba(6,182,212,.1);flex-shrink:0;
}
.trh-balance-label{font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#94a3b8;margin-bottom:4px;}
.trh-balance-row{display:flex;align-items:baseline;gap:6px;}
.trh-balance-val{
  font-size:26px;font-weight:900;letter-spacing:-.05em;
  background:linear-gradient(135deg,#059669,#10b981);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  transition:all .3s;
}
.trh-balance-arrow{font-size:11px;color:#10b981;font-weight:800;}
.trh-balance-change{
  font-size:10px;font-weight:700;color:#10b981;
  background:rgba(16,185,129,.1);padding:2px 7px;border-radius:99px;
  opacity:0;transition:opacity .4s;
}
.trh-balance-change.show{opacity:1;}

/* Feed de transactions */
.trh-feed-header{
  display:flex;justify-content:space-between;align-items:center;
  padding:10px 16px 6px;flex-shrink:0;
}
.trh-feed-title{font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#64748b;}
.trh-feed-badge{
  font-size:9px;font-weight:800;padding:2px 8px;border-radius:99px;
  background:rgba(6,182,212,.1);color:#0891b2;
}
.trh-feed{flex:1;overflow:hidden;padding:0 10px 10px;display:flex;flex-direction:column;gap:6px;}
/* Transaction row */
.trh-tx{
  display:flex;align-items:center;gap:10px;
  padding:9px 10px;border-radius:12px;
  background:#fff;border:1px solid rgba(15,23,42,.06);
  box-shadow:0 2px 8px rgba(15,23,42,.04);
  animation:trhTxIn .45s cubic-bezier(.22,1,.36,1) both;
  flex-shrink:0;
}
@keyframes trhTxIn{
  from{opacity:0;transform:translateY(-24px) scale(.96);}
  to{opacity:1;transform:none;}
}
.trh-tx-icon{
  width:34px;height:34px;border-radius:10px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;font-size:13px;
}
.trh-tx-body{flex:1;min-width:0;}
.trh-tx-name{font-size:11.5px;font-weight:800;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.trh-tx-sub{font-size:9.5px;color:#94a3b8;margin-top:1px;}
.trh-tx-right{display:flex;flex-direction:column;align-items:flex-end;gap:3px;flex-shrink:0;}
.trh-tx-amount{font-size:13px;font-weight:900;color:#059669;letter-spacing:-.02em;}
.trh-tx-status{
  font-size:8.5px;font-weight:800;padding:2px 6px;border-radius:99px;white-space:nowrap;
}
.trh-tx-ok{background:rgba(16,185,129,.12);color:#059669;}
.trh-tx-new{background:rgba(6,182,212,.12);color:#0891b2;}
.trh-tx-pending{background:rgba(245,158,11,.12);color:#d97706;}
/* reveal-up pour sections */
.reveal-up{opacity:0;transform:translateY(28px);transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s;}
.reveal-up.vis{opacity:1;transform:none;}
/* ── Mini stats en bas du panel ── */
.trh-mini-stats{
  display:grid;grid-template-columns:repeat(3,1fr);
  border-top:1px solid rgba(6,182,212,.1);flex-shrink:0;
}
.trh-mstat{padding:10px;text-align:center;border-right:1px solid rgba(6,182,212,.06);}
.trh-mstat:last-child{border-right:none;}
.trh-mstat strong{display:block;font-size:15px;font-weight:900;color:#0891b2;letter-spacing:-.03em;}
.trh-mstat span{font-size:9px;color:#94a3b8;display:block;margin-top:1px;}
/* ── Orbit badges ── */
.trh-oc{
  position:absolute;padding:10px 16px;
  border:1px solid rgba(6,182,212,.2);border-radius:14px;
  background:rgba(255,255,255,.92);backdrop-filter:blur(12px);
  font-size:12px;font-weight:800;color:var(--ink);
  box-shadow:0 8px 24px rgba(15,23,42,.07);
  display:flex;align-items:center;gap:5px;white-space:nowrap;
  opacity:0;
}
.trh-oc i{color:#06b6d4;font-size:10px;}
.trh-oc1{left:2%;top:8%;animation:trhOc1 2.5s ease-in-out infinite alternate;}
.trh-oc2{right:-2%;top:20%;animation:trhOc2 2.8s ease-in-out infinite alternate;}
.trh-oc3{right:-2%;bottom:26%;animation:trhOc3 2.6s ease-in-out infinite alternate;}
.trh-oc4{left:2%;bottom:22%;animation:trhOc4 2.9s ease-in-out infinite alternate;}
@keyframes trhOc1{from{transform:translateY(0)}to{transform:translateY(-10px)}}
@keyframes trhOc2{from{transform:translateY(0)}to{transform:translateY(10px)}}
@keyframes trhOc3{from{transform:translateY(0)}to{transform:translateY(-10px)}}
@keyframes trhOc4{from{transform:translateY(0)}to{transform:translateY(10px)}}
/* Responsive */
@media(max-width:1024px){.trh{grid-template-columns:1fr;min-height:auto;padding-bottom:60px;}.trh-visual{display:none;}}
@media(max-width:640px){.trh{padding:120px 20px 50px;}.trh-copy h1{font-size:40px;}.trh-lead{font-size:15px;}.trh-actions{flex-direction:column;align-items:stretch;}}

/* stats bar */
.tp-kpis{
  width:min(1000px,calc(100% - 48px));
  margin:36px auto;
  background:#e8edf3;
  border-radius:20px;
  box-shadow:0 8px 48px rgba(15,23,42,.10),0 2px 8px rgba(15,23,42,.04);
  border:1px solid rgba(226,232,240,.8);
  display:grid;grid-template-columns:repeat(5,1fr);
  gap:1px;overflow:hidden;
}
@media(max-width:900px){.tp-kpis{grid-template-columns:repeat(3,1fr);}}
@media(max-width:520px){.tp-kpis{width:calc(100% - 32px);grid-template-columns:1fr 1fr;border-radius:16px;margin:24px auto;}}
.tp-kpi{
  background:#fff;
  text-align:center;padding:22px 16px;
}
@media(max-width:520px){.tp-kpi{padding:18px 12px;}}
.tp-kpi-val{
  font-size:clamp(22px,2.8vw,36px);font-weight:900;
  letter-spacing:-.04em;line-height:1;color:#0f172a;
}
.tp-kpi-lbl{font-size:11px;color:#64748b;margin-top:4px;line-height:1.4;}

/* ═══ STICKY NAV ═══════════════════════════ */
.tp-nav{
  position:sticky;top:68px;z-index:80;
  background:rgba(255,255,255,.95);backdrop-filter:blur(20px);
  border-bottom:1px solid var(--line);
  box-shadow:0 1px 0 var(--line),0 4px 12px rgba(15,23,42,.04);
}
.tp-nav-inner{
  display:flex;gap:0;overflow-x:auto;scrollbar-width:none;
  max-width:1160px;margin:0 auto;padding:0 clamp(20px,5vw,48px);
}
.tp-nav-inner::-webkit-scrollbar{display:none;}
.tp-nav-link{
  flex-shrink:0;padding:14px 16px;
  font-size:12.5px;font-weight:700;color:var(--mu);
  border-bottom:2.5px solid transparent;
  transition:color .2s,border-color .2s;white-space:nowrap;
  display:flex;align-items:center;gap:6px;
}
.tp-nav-link i{font-size:11px;transition:transform .2s;}
.tp-nav-link:hover,.tp-nav-link.tpa{color:var(--c1);border-bottom-color:var(--c1);}
.tp-nav-link:hover i{transform:translateY(-1px);}

/* ═══ SECTIONS ═══════════════════════════════ */
.tp-sec{padding:80px 0;}
.tp-sec:nth-child(even){background:#fff;}

/* Section header */
.tp-sh{text-align:center;margin-bottom:52px;}
.tp-sh-icon{
  width:64px;height:64px;border-radius:20px;
  display:inline-flex;align-items:center;justify-content:center;
  font-size:26px;margin-bottom:18px;position:relative;
  animation:tp-float 3s ease-in-out infinite;
}
.tp-sh-icon::after{
  content:'';position:absolute;inset:-4px;border-radius:24px;
  border:2px solid currentColor;opacity:.15;
}
.tp-sh-eyebrow{
  display:inline-flex;align-items:center;gap:6px;
  font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
  color:var(--c1);margin-bottom:12px;
}
.tp-sh-eyebrow::before,.tp-sh-eyebrow::after{
  content:'';flex:1;height:1px;background:linear-gradient(90deg,transparent,rgba(6,182,212,.3),transparent);
  width:32px;
}
.tp-sh h2{
  font-size:clamp(28px,3.5vw,44px);font-weight:900;letter-spacing:-.04em;
  color:var(--ink);margin-bottom:12px;
}
.tp-sh p{font-size:15px;color:var(--mu);max-width:520px;margin:0 auto;}
.tp-sh-link{
  display:inline-flex;align-items:center;gap:5px;
  font-size:12px;font-weight:800;color:var(--c1);margin-top:10px;
  transition:gap .2s;
}
.tp-sh-link:hover{gap:8px;}
.tp-sh-link i{font-size:10px;}

/* ═══ CARD GRID — prix alignés ══════════════ */
.tp-grid{display:grid;gap:20px;align-items:stretch;}
.tp-grid-2{grid-template-columns:repeat(2,1fr);}
.tp-grid-3{grid-template-columns:repeat(3,1fr);}
.tp-grid-4{grid-template-columns:repeat(4,1fr);}
@media(max-width:1000px){.tp-grid-4{grid-template-columns:repeat(2,1fr);}.tp-grid-3{grid-template-columns:repeat(2,1fr);}}
@media(max-width:600px){.tp-grid-2,.tp-grid-3,.tp-grid-4{grid-template-columns:1fr;}}

/* ══ CARD ══ */
.tp-card{
  background:var(--card);
  border:1.5px solid var(--line);
  border-radius:var(--r);
  padding:26px 24px 22px;
  display:flex;flex-direction:column;
  position:relative;overflow:hidden;
  transition:transform .3s var(--ease),box-shadow .3s,border-color .3s;
  /* Reveal reveal animation */
  opacity:0;transform:translateY(24px);
}
.tp-card.tp-visible{
  animation:tp-slide-up .55s var(--ease) both;
}
.tp-card::before{
  content:'';position:absolute;inset:0;border-radius:var(--r);
  background:linear-gradient(135deg,rgba(6,182,212,0),rgba(6,182,212,0));
  transition:background .35s;pointer-events:none;
}
.tp-card:hover{
  transform:translateY(-5px);
  box-shadow:var(--shadow-xl);
  border-color:rgba(6,182,212,.3);
}
.tp-card:hover::before{
  background:linear-gradient(145deg,rgba(6,182,212,.03) 0%,transparent 60%);
}

/* Featured card */
.tp-card-feat{border-color:var(--c1);box-shadow:0 0 0 1px rgba(6,182,212,.12),var(--shadow-md);}
.tp-card-feat::after{
  content:'Recommandé';position:absolute;top:16px;right:16px;
  font-size:9.5px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;
  color:#fff;background:linear-gradient(135deg,var(--c1),var(--c2));
  padding:4px 10px;border-radius:99px;
  box-shadow:0 3px 10px rgba(6,182,212,.35);
}

/* Shimmer border on hover */
.tp-card:hover .tp-card-shimmer{opacity:1;}
.tp-card-shimmer{
  position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,transparent,rgba(6,182,212,.8),rgba(15,118,110,.6),rgba(6,182,212,.8),transparent);
  background-size:200% 100%;
  opacity:0;transition:opacity .3s;
  animation:tp-shimmer 2.5s linear infinite;
}

/* Card icon */
.tp-cico{
  width:48px;height:48px;border-radius:14px;
  display:flex;align-items:center;justify-content:center;
  font-size:20px;margin-bottom:14px;flex-shrink:0;
  position:relative;transition:transform .3s;
}
.tp-card:hover .tp-cico{transform:scale(1.1) rotate(6deg);}

/* tag */
.tp-tag{
  display:inline-flex;align-items:center;gap:5px;
  font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  padding:4px 10px;border-radius:99px;margin-bottom:10px;
  border:1px solid currentColor;
}

/* card content */
.tp-cname{font-size:17px;font-weight:800;color:var(--ink);margin-bottom:6px;line-height:1.3;}
.tp-cdesc{font-size:13px;color:var(--mu);line-height:1.6;flex:1;margin-bottom:0;}

/* PRICE — always at bottom thanks to flex */
.tp-price-area{
  margin-top:auto;padding-top:20px;
  border-top:1px solid var(--line2);
}
.tp-price-row{display:flex;align-items:baseline;gap:4px;margin-bottom:4px;}
.tp-price-from{font-size:11px;color:var(--mu);font-weight:600;}
.tp-amount{
  font-size:clamp(20px,2.2vw,26px);font-weight:900;letter-spacing:-.04em;
  background:linear-gradient(135deg,var(--c1),var(--c2));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
  line-height:1;
}
.tp-amount-plain{
  font-size:clamp(18px,2vw,24px);font-weight:900;letter-spacing:-.04em;
  color:var(--ink);line-height:1;
}
.tp-period{font-size:13px;color:var(--mu);font-weight:500;}
.tp-price-hint{font-size:11.5px;color:var(--mu);margin-bottom:14px;line-height:1.45;}

/* features */
.tp-feats{list-style:none;display:flex;flex-direction:column;gap:7px;margin-top:14px;}
.tp-feats li{
  display:flex;align-items:flex-start;gap:8px;
  font-size:12.5px;color:var(--body);line-height:1.4;
}
.tp-feats li .tp-check{
  width:16px;height:16px;border-radius:5px;flex-shrink:0;margin-top:1px;
  background:linear-gradient(135deg,var(--c1),var(--c2));
  display:flex;align-items:center;justify-content:center;
}
.tp-feats li .tp-check i{font-size:7px;color:#fff;}

/* ═══ SECTION RECRUTEMENT ══════════════════ */
.tp-recruit-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;}
@media(max-width:700px){.tp-recruit-grid{grid-template-columns:1fr;}}
.tp-recruit-panel{
  background:#fff;border:1.5px solid var(--line);border-radius:var(--r);
  overflow:hidden;
  opacity:0;
}
.tp-recruit-panel.tp-visible{animation:tp-slide-up .6s var(--ease) both;}
.tp-recruit-head{
  padding:22px 24px 18px;
  border-bottom:1px solid var(--line2);
  display:flex;align-items:center;gap:14px;
}
.tp-recruit-head-ico{
  width:44px;height:44px;border-radius:13px;
  display:flex;align-items:center;justify-content:center;
  font-size:18px;flex-shrink:0;
  animation:tp-float 3.5s ease-in-out infinite;
}
.tp-recruit-head-title{font-size:15px;font-weight:800;color:var(--ink);}
.tp-recruit-head-sub{font-size:12px;color:var(--mu);margin-top:2px;}

.tp-recruit-row{
  display:grid;grid-template-columns:1fr auto auto;align-items:center;
  padding:15px 24px;border-bottom:1px solid var(--line2);
  gap:12px;transition:background .2s;
}
.tp-recruit-row:last-child{border-bottom:none;}
.tp-recruit-row:hover{background:rgba(6,182,212,.03);}
.tp-recruit-role{font-size:14px;font-weight:700;color:var(--ink);}
.tp-recruit-sub{font-size:11.5px;color:var(--mu);margin-top:2px;}
.tp-recruit-price{
  font-size:22px;font-weight:900;letter-spacing:-.04em;
  background:linear-gradient(135deg,var(--c1),var(--c2));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
  white-space:nowrap;text-align:right;
}
.tp-recruit-price span{font-size:11px;color:var(--mu);font-weight:500;display:block;}
.tp-saving{
  display:inline-flex;align-items:center;gap:3px;
  font-size:10.5px;font-weight:800;color:#059669;
  background:#d1fae5;padding:3px 8px;border-radius:99px;white-space:nowrap;
}

/* réductions */
.tp-disc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:26px;}
@media(max-width:500px){.tp-disc-grid{grid-template-columns:1fr;}}
.tp-disc-item{
  text-align:center;padding:18px 12px;border-radius:16px;
  border:1.5px solid #a7f3d0;background:#f0fdf4;
  transition:transform .25s,box-shadow .25s;
  opacity:0;
}
.tp-disc-item.tp-visible{animation:tp-slide-up .5s var(--ease) both;}
.tp-disc-item:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(5,150,105,.12);}
.tp-disc-pct{font-size:30px;font-weight:900;color:#059669;letter-spacing:-.05em;}
.tp-disc-lbl{font-size:12px;color:#065f46;font-weight:600;margin-top:3px;}

/* ═══ DÉLOCALISATION ══════════════════════ */
.tp-delo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
@media(max-width:860px){.tp-delo-grid{grid-template-columns:1fr;max-width:480px;margin:0 auto;}}
.tp-delo-card{
  border-radius:var(--r);padding:28px 24px;
  border:2px solid transparent;
  display:flex;flex-direction:column;
  position:relative;overflow:hidden;
  transition:transform .3s,box-shadow .3s;
  opacity:0;
}
.tp-delo-card.tp-visible{animation:tp-slide-up .6s var(--ease) both;}
.tp-delo-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-xl);}
.tp-delo-0{background:linear-gradient(145deg,#f0f9ff,#e0f2fe);border-color:#bae6fd;}
.tp-delo-1{background:linear-gradient(145deg,#fdf4ff,#f3e8ff);border-color:#ddd6fe;}
.tp-delo-2{background:linear-gradient(145deg,#fff7ed,#ffedd5);border-color:#fed7aa;}
.tp-delo-ico{font-size:32px;margin-bottom:14px;animation:tp-float 3s ease-in-out infinite;}
.tp-delo-title{font-size:19px;font-weight:800;color:var(--ink);margin-bottom:8px;}
.tp-delo-desc{font-size:13px;color:var(--mu);line-height:1.6;flex:1;margin-bottom:0;}
.tp-delo-price-area{margin-top:auto;padding-top:18px;border-top:1px solid rgba(0,0,0,.06);}
.tp-delo-amount{font-size:30px;font-weight:900;letter-spacing:-.04em;}
.tp-delo-hint{font-size:11.5px;color:var(--mu);margin:3px 0 14px;}
.tp-delo-feats{list-style:none;display:flex;flex-direction:column;gap:6px;}
.tp-delo-feats li{font-size:12.5px;color:var(--body);display:flex;align-items:flex-start;gap:7px;}
.tp-delo-feats li i{font-size:9px;margin-top:4px;flex-shrink:0;}

/* ═══ CTA BANNER ═══════════════════════════ */
.tp-cta-banner{
  background:linear-gradient(135deg,#0c1829 0%,#0f2240 50%,#0c1829 100%);
  position:relative;overflow:hidden;
  padding:clamp(72px,10vw,120px) clamp(20px,5vw,48px);
  text-align:center;
}
.tp-cta-banner::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse 70% 80% at 50% 50%,rgba(6,182,212,.13) 0%,transparent 65%);
}
.tp-cta-banner::after{
  content:'';position:absolute;inset:0;pointer-events:none;
  background-image:radial-gradient(rgba(6,182,212,.055) 1px,transparent 1px);
  background-size:32px 32px;
}
.tp-cta-wrap{position:relative;z-index:2;max-width:700px;margin:0 auto;}
.tp-cta-ey{font-size:10.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.35);margin-bottom:12px;}
.tp-cta-banner h2{
  font-size:clamp(30px,5vw,60px);font-weight:900;letter-spacing:-.04em;line-height:1.05;
  color:#fff;margin-bottom:16px;
}
.tp-cta-banner h2 span{
  background:linear-gradient(135deg,#5de7ff,#22d3ee);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.tp-cta-banner p{font-size:15px;color:rgba(255,255,255,.45);margin-bottom:40px;}
.tp-cta-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}
/* ── Boutons tw-btn (identiques acquisition / recrutement) ── */
.tw-btn{
  display:inline-flex;align-items:center;gap:12px;
  padding:14px 28px;border-radius:16px;
  text-decoration:none;cursor:pointer;border:none;
  position:relative;overflow:hidden;
  transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s;
  white-space:nowrap;font-family:inherit;
}
.tw-btn:hover{transform:translateY(-4px) scale(1.025);}
.tw-btn::after{
  content:'';position:absolute;top:0;left:-80%;width:55%;height:100%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.16),transparent);
  transform:skewX(-18deg);transition:left .5s ease;pointer-events:none;
}
.tw-btn:hover::after{left:130%;}
.tw-btn-ico{
  width:36px;height:36px;border-radius:10px;
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;font-size:16px;
}
.tw-btn-lbl{display:flex;flex-direction:column;line-height:1.25;text-align:left;}
.tw-btn-lbl strong{font-size:14.5px;font-weight:800;letter-spacing:-.01em;}
.tw-btn-lbl small{font-size:9.5px;font-weight:600;letter-spacing:.04em;opacity:.6;}
.tw-btn-devis{
  background:linear-gradient(135deg,#06b6d4 0%,#0891b2 50%,#0f766e 100%);
  background-size:200% 200%;color:#fff;
  box-shadow:0 4px 22px rgba(6,182,212,.35),inset 0 1px 0 rgba(255,255,255,.18);
}
.tw-btn-devis .tw-btn-ico{background:rgba(255,255,255,.15);}
.tw-btn-devis .tw-btn-ico i{filter:drop-shadow(0 0 6px rgba(255,255,255,.35));}
.tw-btn-devis:hover{color:#fff;background-position:right center;box-shadow:0 8px 40px rgba(6,182,212,.5),inset 0 1px 0 rgba(255,255,255,.18);}
.tw-btn-contact{
  background:linear-gradient(145deg,#152e47,#1a3d5c);color:#fff;
  border:1.5px solid rgba(6,182,212,.6);
  box-shadow:0 4px 22px rgba(0,0,0,.35),0 0 0 1px rgba(6,182,212,.22),inset 0 1px 0 rgba(255,255,255,.08);
}
.tw-btn-contact .tw-btn-ico{background:rgba(6,182,212,.12);}
.tw-btn-contact .tw-btn-ico i{color:#06b6d4;filter:drop-shadow(0 0 6px rgba(6,182,212,.55));}
.tw-btn-contact:hover{border-color:rgba(6,182,212,.65);color:#fff;box-shadow:0 0 0 3px rgba(6,182,212,.12),0 10px 36px rgba(0,0,0,.38),0 0 28px rgba(6,182,212,.18);}
@media(max-width:520px){.tw-btn{padding:12px 20px;}.tw-btn-lbl strong{font-size:13px;}}

/* ═══ RESPONSIVE ════════════════════════════ */
@media(max-width:640px){
  .tp-sec{padding:56px 0;}
  .tp-sh{margin-bottom:36px;}
}
.tw-btn-visio{background:linear-gradient(145deg,#152e47,#1a3d5c);color:#fff;border:1.5px solid rgba(6,182,212,.6);box-shadow:0 4px 22px rgba(0,0,0,.35),0 0 0 1px rgba(6,182,212,.22),inset 0 1px 0 rgba(255,255,255,.08);}
.tw-btn-visio .tw-btn-ico{background:rgba(6,182,212,.12);}
.tw-btn-visio .tw-btn-ico i{color:#06b6d4;filter:drop-shadow(0 0 6px rgba(6,182,212,.55));}
.tw-btn-visio:hover{border-color:rgba(6,182,212,.65);color:#fff;box-shadow:0 0 0 3px rgba(6,182,212,.12),0 10px 36px rgba(0,0,0,.38),0 0 28px rgba(6,182,212,.18);}
.tw-btn-crm{background:linear-gradient(135deg,#06b6d4 0%,#0891b2 50%,#0f766e 100%);background-size:200% 200%;color:#fff;box-shadow:0 4px 22px rgba(6,182,212,.35),inset 0 1px 0 rgba(255,255,255,.18);}
.tw-btn-crm .tw-btn-ico{background:rgba(255,255,255,.15);}
.tw-btn-crm .tw-btn-ico i{filter:drop-shadow(0 0 6px rgba(255,255,255,.35));}
.tw-btn-crm:hover{color:#fff;background-position:right center;box-shadow:0 8px 40px rgba(6,182,212,.5),inset 0 1px 0 rgba(255,255,255,.18);}
