/* ==================================================================
   clariteam/_tpl/blocs.css - GENERE par _build_clt_tpl.py
   CSS des blocs du catalogue TEMPLATES/liste-blocs.html, repris tel
   quel puis scope sous .cltpb. Ne pas editer a la main : relancer le
   script. Seules les valeurs de variables sont recolorisees.
   ================================================================== */
/* ---- variables : famille cas client / expertise ---- */
.cltpb, .cltpb [data-theme="light"]{
  --bg:             #ffffff;
  --bg-alt:         #f2f2fb;
  --bg-hero:        #10066F;
  --bg-hero-mid:    #10066F;
  --bg-card:        #ffffff;
  --bg-glass:       rgba(255,255,255,0.70);
  --bg-glass-hover: rgba(255,255,255,0.90);
  --border:         rgba(16,6,111,0.10);
  --border-hover:   rgba(57,43,211,0.22);
  --text:           #2a3550;
  --text-strong:    #1f2340;
  --text-muted:     #3f4665;
  --text-on-dark:   #ffffff;
  --text-hero-sub:  rgba(255,255,255,0.72);
  --teal:           #392BD3;
  --teal-lt:        #392BD3;
  --teal-glow:      rgba(57,43,211,0.10);
  --teal-dim:       rgba(57,43,211,0.06);
  --cta-bg-btn:     #ffffff;
  --cta-text-btn:   #10066F;
  --cta-hover-btn:  #f0f0f5;
  --shadow-card:    0 4px 32px rgba(16,6,111,0.08);
  --shadow-hover:   0 20px 56px rgba(16,6,111,0.16);
  --shadow-glow:    0 0 24px rgba(255,255,255,0.15), 0 4px 20px rgba(16,6,111,0.10);
  --shadow-glow-h:  0 0 40px rgba(255,255,255,0.25), 0 8px 32px rgba(16,6,111,0.15);
  --marquee-filter: grayscale(100%) brightness(0.25);
  --marquee-hover:  grayscale(0%) brightness(1);
  --marquee-opacity: 0.22;
  --marquee-bg:     rgba(16,6,111,0.015);
  --marquee-border: rgba(16,6,111,0.04);
  --pill-bg:        var(--bg-alt);
  --pill-border:    var(--border);
  --pill-list-border: rgba(16,6,111,0.05);
  --pill-num:       rgba(16,6,111,0.05);
  --stat-lbl:       var(--text-muted);
  --cta-bg:         linear-gradient(160deg, #10066F 0%, #180a8f 100%);
  --ft-bg:          #10066F;
  --ft-text:        rgba(255,255,255,0.78);
  --ft-heading:     rgba(255,255,255,0.78);
  --ft-border:      rgba(255,255,255,0.08);
  --toggle-bg:      var(--bg-alt);
  --toggle-icon:    var(--text-muted);
}
/* ---- variables : famille accueil / institutionnel ---- */
.cltpb{
  --c-primary:#392BD3;
  --c-primary-hover:#2d21a8;
  --c-primary-soft:#392BD3;      
  --c-accent:#a99ff7;
  --c-navy:#10066F;
  --c-ink:#1f2340;
  --c-text:#2a3550;
  --c-text-2:#3f4665;
  --c-muted:#7A8084;
  --c-border:#ECEEF0;
  --c-border-strong:#DDE1E3;
  --c-bg:#FFFFFF;
  --c-bg-alt:#f2f2fb;
  --c-tint:#f2f2fb;
  --c-card:#FFFFFF;
  --c-surface:#FFFFFF;
  --c-surface-hover:#F1F5F9;
  --c-nav-bg:rgba(255,255,255,.92);
  --c-hero-card:rgba(255,255,255,.82);
  --c-footer-bg:#10066F;
  --c-btn-on-primary:#FFFFFF;
  --shadow-card:0 1px 2px rgba(45,52,54,.04),0 10px 30px rgba(45,52,54,.07);
  --radius-card:8px;   
  --radius-btn:8px;
}
/* ---- utilitaires partages (styles.css) ---- */
.cltpb .wrap{max-width:1200px;margin:0 auto;padding:0 clamp(20px,5vw,72px)}
.cltpb .btn{display:inline-flex;align-items:center;gap:10px;padding:17px 40px;border-radius:100px;font-size:15px;font-weight:600;border:none;transition:all .4s cubic-bezier(.22,1.2,.36,1)}
.cltpb .btn-glow{background:var(--cta-bg-btn);color:var(--cta-text-btn);box-shadow:var(--shadow-glow);font-weight:600}
.cltpb .btn-glow:hover{background:var(--cta-hover-btn);box-shadow:var(--shadow-glow-h);transform:translateY(-3px) scale(1.02)}
.cltpb .btn-ghost{background:rgba(255,255,255,0.04);color:rgba(255,255,255,0.82);border:1px solid rgba(255,255,255,0.18)}
.cltpb .btn-ghost:hover{color:#fff;border-color:rgba(255,255,255,0.35);background:rgba(255,255,255,0.07)}
.cltpb .sec-label{font-size:13px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--teal);margin-bottom:14px}
.cltpb .sec-title{font-size:clamp(24px, 3vw, 34px);font-weight:600;letter-spacing:-.005em;line-height:1.3;color:var(--text-strong);margin-bottom:32px}
.cltpb .rv{opacity:0;transform:translateY(44px);transition:opacity 1s cubic-bezier(.22,1.2,.36,1),transform 1s cubic-bezier(.22,1.2,.36,1)}
.cltpb .rv.fl{transform:translateX(-44px)}
.cltpb .rv.fr{transform:translateX(44px)}
.cltpb .rv.fs{transform:scale(.93)}
.cltpb .rv.vis{opacity:1;transform:none}
.cltpb .rd1{transition-delay:.06s}
.cltpb .rd2{transition-delay:.14s}
.cltpb .rd3{transition-delay:.22s}
.cltpb .rd4{transition-delay:.30s}
@media(prefers-reduced-motion:reduce){
.cltpb .rv{transition:none!important;opacity:1!important;transform:none!important}
}
/* ---- utilitaires (tokens.css) ---- */
.cltpb *, .cltpb *::before, .cltpb *::after{ box-sizing:border-box; }
.cltpb{ -webkit-text-size-adjust:100%; }
.cltpb{
  margin:0; font-family:'Poppins', sans-serif;
  color:var(--c-text); background:var(--c-bg);
  font-size:15px; line-height:1.65;
  transition:background .25s,color .25s;
}
.cltpb img{ max-width:100%; height:auto; }
.cltpb a{ color:var(--c-primary-soft); }
.cltpb h1, .cltpb h2, .cltpb h3, .cltpb h4{ line-height:1.3; letter-spacing:-.005em; color:var(--c-ink); margin:0 0 18px; font-weight:600; }
.cltpb h1{ font-size:clamp(30px, 5vw, 45px); }
.cltpb h2{ font-size:clamp(24px, 3vw, 34px); }
.cltpb h3{ font-size:20px; }
.cltpb .container{ max-width:1200px; margin:0 auto; padding:0 24px; }
.cltpb .section-alt{ background:var(--c-bg-alt); }
.cltpb .grid-2{ display:grid; grid-template-columns:repeat(2,1fr); gap:26px; }
.cltpb .grid-3{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
.cltpb .grid-4{ display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
@media (max-width:980px){
.cltpb .grid-4{grid-template-columns:repeat(2,1fr);}
.cltpb .grid-3{grid-template-columns:repeat(2,1fr);}
}
.cltpb .badge{
  display:inline-flex; align-items:center; gap:8px;
  font-size:13px; font-weight:700; letter-spacing:.14em; text-transform:uppercase;
  color:var(--c-primary-soft); background:var(--c-tint);
  padding:7px 14px; border-radius:999px; margin-bottom:22px;
}
.cltpb .kicker{
  font-size:13px; font-weight:600; letter-spacing:.1em; text-transform:uppercase;
  color:var(--c-primary-soft); margin-bottom:14px;
}
.cltpb .btn-primary{
  display:inline-flex; align-items:center; gap:9px;
  font-size:15px; font-weight:600; color:var(--c-btn-on-primary);
  background:var(--c-primary); text-decoration:none;
  padding:13px 22px; border-radius:var(--radius-btn);
  border:1px solid transparent; cursor:pointer; transition:background .2s;
}
.cltpb .btn-primary:hover{ background:var(--c-primary-hover); }
.cltpb .stat{ text-align:center; }
.cltpb .stat .num{ font-size:44px; font-weight:700; color:var(--c-primary-soft); line-height:1.1; }
.cltpb .stat .lbl{ font-size:14px; color:var(--c-text-2); margin-top:6px; }
.cltpb .center{ text-align:center; }
.cltpb .mt-0{margin-top:0;}
.cltpb .mb-30{margin-bottom:30px;}
.cltpb .mb-40{margin-bottom:40px;}
/* ---- utilitaires (segments-extra.css) ---- */
.cltpb .stats-constellation{ background:transparent !important; }
.cltpb .grid-4{ grid-template-columns:repeat(2,1fr) !important; }
.cltpb .stats-constellation .grid-4{ grid-template-columns:repeat(4,1fr) !important; }
.cltpb .stat-ico{ width:52px; height:52px; border-radius:8px; background:var(--c-tint,#f2f2fb); color:var(--c-primary,#392BD3); display:inline-flex; align-items:center; justify-content:center; margin:0 auto 16px; }
.cltpb .stat-ico svg{ width:26px; height:26px; }
.cltpb .cta-dark{ background:#10066F; border-radius:8px; padding:56px 40px; text-align:center; box-shadow:0 20px 50px rgba(16,6,111,.18); }
@media(max-width:600px){
.cltpb .cta-dark{ padding:40px 24px; }
}
.cltpb .poles-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:24px; }
.cltpb .pole-card{ display:flex; flex-direction:column; background:var(--c-surface,#fff); border-radius:8px; overflow:hidden;
  box-shadow:0 10px 30px rgba(16,6,111,.08); text-decoration:none; color:inherit;
  border:1px solid var(--c-border,rgba(16,6,111,.08)); transition:transform .25s ease,box-shadow .25s ease; }
.cltpb .pole-card:hover{ transform:translateY(-6px); box-shadow:0 18px 44px rgba(16,6,111,.18); }
.cltpb .pole-head{ background:var(--pole,#10066F); color:#fff; padding:14px 24px; display:flex; align-items:center;
  justify-content:space-between; gap:16px; min-height:0; }
.cltpb .pole-head h3{ margin:0; color:#fff; font-size:20px; font-weight:600; line-height:1.22; }
.cltpb .pole-head svg{ flex-shrink:0; opacity:.92; }
.cltpb .pole-body{ padding:22px 24px 24px; display:flex; flex-direction:column; flex:1; }
.cltpb .pole-body p{ font-size:15px; color:var(--c-text-2); line-height:1.55; margin:0 0 18px; flex:1; }
.cltpb .pole-link{ font-weight:600; color:var(--c-ink); display:inline-flex; align-items:center; gap:8px; font-size:14px; }
.cltpb .pole-link svg{ transition:transform .2s ease; }
.cltpb .pole-card:hover .pole-link svg{ transform:translateX(4px); }
@media(max-width:720px){
.cltpb .poles-grid{ grid-template-columns:1fr; }
}
.cltpb .approach-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.cltpb .approach-item{ background:var(--c-card,#fff); border-radius:8px; padding:26px 24px 30px;
  box-shadow:0 10px 30px rgba(16,6,111,.06); border:1px solid var(--c-border,rgba(16,6,111,.06)); }
.cltpb .approach-head{ display:flex; align-items:center; gap:12px; margin-bottom:18px; }
.cltpb .approach-ic{ width:46px; height:46px; border-radius:8px; background:var(--c-ink,#10066F); color:var(--c-primary,#392BD3);
  display:grid; place-items:center; flex-shrink:0; }
.cltpb .approach-head h3{ margin:0; font-size:20px; font-weight:600; line-height:1.25; }
.cltpb .approach-item h3{ margin:0 0 8px; font-size:20px; font-weight:600; line-height:1.25; }
.cltpb .approach-item p{ font-size:15px; color:var(--c-text-2); line-height:1.55; margin:0; }
@media(max-width:720px){
.cltpb .approach-grid{ grid-template-columns:1fr; }
}
.cltpb .card, .cltpb .pole-card, .cltpb .approach-item, .cltpb .ia-band, .cltpb .cta-dark, .cltpb .hero-card{ border-radius:8px !important; }
.cltpb .section{ padding:56px 0; }
@media(max-width:640px){
.cltpb .section{ padding:44px 0; }
}
.cltpb .cta-dark{ padding:44px 40px; }
@media(max-width:600px){
.cltpb .cta-dark{ padding:36px 22px; }
}
.cltpb .grid-cols-2{ display:grid; grid-template-columns:repeat(2,1fr); gap:26px; }
.cltpb .grid-cols-3{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
@media(max-width:980px){
.cltpb .grid-cols-3{ grid-template-columns:repeat(2,1fr); }
}
/* ---- blocs : kap-developpement.html ---- */
.cltpb .kd-approche{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:44px;}
.cltpb .kd-pillar{background:var(--c-card,#fff);border:1px solid var(--c-border,rgba(16,6,111,.1));border-radius:18px;padding:26px 22px;transition:transform .3s,box-shadow .3s;}
.cltpb .kd-pillar:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(16,6,111,.14);}
.cltpb .kd-ic{width:46px;height:46px;border-radius:13px;background:var(--c-tint,rgba(57,43,211,.12));color:var(--c-primary);display:flex;align-items:center;justify-content:center;margin-bottom:16px;}
.cltpb .kd-pillar h3{font-size:20px;margin:0 0 8px;line-height:1.3;}
.cltpb .kd-pillar p{font-size:15px;color:var(--c-text-2);margin:0;line-height:1.6;}
.cltpb .kd-offers{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:44px;}
.cltpb .kd-offer{background:var(--c-card,#fff);border:1px solid var(--c-border,rgba(16,6,111,.1));border-radius:22px;padding:40px 36px;display:flex;flex-direction:column;transition:transform .3s,box-shadow .3s;}
.cltpb .kd-offer:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(16,6,111,.14);}
.cltpb .kd-offer h3{font-size:20px;margin:0 0 12px;}
.cltpb .kd-offer>p{color:var(--c-text-2);line-height:1.7;font-size:15px;margin:0 0 20px;}
.cltpb .kd-offer ul{list-style:none;padding:0;margin:0;flex:1;}
.cltpb .kd-offer li{position:relative;padding:8px 0 8px 20px;font-size:15px;color:var(--c-text);border-bottom:1px solid var(--c-border,rgba(16,6,111,.08));line-height:1.5;}
.cltpb .kd-offer li:last-child{border-bottom:none;}
.cltpb .kd-offer li::before{content:"";position:absolute;left:0;top:15px;width:5px;height:5px;border-radius:50%;background:var(--c-primary);}
.cltpb .kd-offer-note{font-size:14px;line-height:1.7;color:var(--c-primary);margin-top:20px;padding-top:16px;border-top:1px solid var(--c-border,rgba(16,6,111,.1));font-weight:400;}
.cltpb .kd-offer-cta{display:inline-flex;align-items:center;gap:7px;margin-top:18px;font-size:15px;font-weight:600;color:var(--c-primary);text-decoration:none;}
@media(max-width:1024px){
.cltpb .kd-approche{grid-template-columns:repeat(2,1fr);}
.cltpb .kd-offers{grid-template-columns:1fr;}
}
@media(max-width:600px){
.cltpb .kd-approche{grid-template-columns:1fr;}
}
/* ---- blocs : client-omsa.html ---- */
.cltpb .context-text p{
      font-size: 15px;
      line-height: 1.85;
      color: var(--text);
      margin-bottom: 24px;
    }
.cltpb .case-services{ padding: clamp(44px,6vw,80px) 0; }
.cltpb .services-grid{
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 16px;
      margin-top: 48px;
    }
.cltpb .service-item{
      background: var(--bg-glass);
      border: 1px solid var(--border);
      border-radius: 18px;
      padding: 28px 28px 28px 24px;
      display: flex;
      align-items: flex-start;
      gap: 18px;
      transition: all .4s cubic-bezier(.16,1,.3,1);
    }
.cltpb .service-item:hover{
      background: var(--bg-glass-hover);
      border-color: var(--border-hover);
      transform: translateY(-3px);
      box-shadow: var(--shadow-hover);
    }
.cltpb .service-num{
      width: 36px; height: 36px;
      flex-shrink: 0;
      border-radius: 10px;
      background: var(--teal-glow);
      display: flex; align-items: center; justify-content: center;
      font-size: 15px;
      font-weight: 700;
      color: var(--teal-lt);
    }
.cltpb .service-item h3{
      font-size: 20px;
      font-weight:600;
      color: var(--text-strong);
      margin-bottom: 6px;
      letter-spacing: -.01em;
      line-height: 1.35;
    }
.cltpb .service-item p{
      font-size: 15px;
      line-height: 1.65;
      color: var(--text-muted);
      margin: 0;
    }
.cltpb .case-results{ padding: clamp(44px,6vw,80px) 0; background: var(--bg-alt); transition: background .4s; }
.cltpb .results-kpis{
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 16px;
      margin-top: 48px;
    }
.cltpb .result-kpi{
      background: var(--bg-glass);
      border: 1px solid var(--border);
      border-radius: 18px;
      padding: 36px 28px;
      text-align: center;
      transition: all .4s cubic-bezier(.16,1,.3,1);
    }
.cltpb .result-kpi:hover{
      background: var(--bg-glass-hover);
      border-color: var(--border-hover);
      transform: translateY(-3px);
    }
.cltpb .result-kpi .rk-icon{
      width: 48px; height: 48px;
      border-radius: 14px;
      background: var(--teal-glow);
      display: flex; align-items: center; justify-content: center;
      margin: 0 auto 20px;
    }
.cltpb .result-kpi .rk-title{
      font-size: 15px;
      font-weight:600;
      color: var(--text-strong);
      margin-bottom: 8px;
      letter-spacing: -.01em;
    }
.cltpb .result-kpi .rk-desc{
      font-size: 15px;
      color: var(--text-muted);
      line-height: 1.55;
    }
@media (max-width: 900px){
.cltpb .services-grid{ grid-template-columns: 1fr; }
.cltpb .results-kpis{ grid-template-columns: 1fr; }
}
/* ---- blocs : client-ecf-cerca.html ---- */
.cltpb .case-context{ padding: clamp(44px, 6vw, 80px) 0; }
.cltpb .context-grid{
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 64px;
      align-items: start;
    }
.cltpb .context-sidebar{
      display: flex;
      flex-direction: column;
      gap: 16px;
    }
.cltpb .info-card{
      background: var(--bg-glass);
      border: 1px solid var(--border);
      border-radius: 18px;
      padding: 24px 28px;
    }
.cltpb .info-card-label{
      font-size: 13px;
      font-weight: 700;
      letter-spacing: .1em;
      text-transform: uppercase;
      color: var(--teal-lt);
      margin-bottom: 10px;
    }
.cltpb .info-card-value{
      font-size: 15px;
      font-weight: 600;
      color: var(--text-strong);
      line-height: 1.5;
    }
.cltpb .info-card-value.muted{
      font-weight: 400;
      color: var(--text-muted);
      font-size: 14px;
    }
@media (max-width: 900px){
.cltpb .context-grid, .cltpb .results-layout{ grid-template-columns: 1fr; gap: 40px; }
}
/* ---- blocs : kap-a-propos.html ---- */
.cltpb .about-mission{ padding: clamp(40px,5vw,64px) 0; background: var(--bg-alt); transition: background .4s }
.cltpb .mission-grid{
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 64px;
      align-items: start;
    }
.cltpb .mission-text p{
      font-size: 15px; line-height: 1.8;
      color: var(--text); margin-bottom: 28px;
    }
.cltpb .mission-stats{
      display: flex; gap: 40px; margin-top: 36px; flex-wrap: wrap;
    }
.cltpb .mission-stat .ms-num{
      font-size: 48px; font-weight: 700; letter-spacing: -.04em; line-height: 1;
      background: linear-gradient(135deg, var(--teal), var(--teal-lt));
      -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
    }
.cltpb .mission-stat .ms-lbl{
      font-size: 14px; color: var(--text-muted); margin-top: 8px;
    }
@media (max-width: 768px){
.cltpb .mission-grid{ grid-template-columns: 1fr; gap: 40px; }
}
/* ---- blocs : kap-eco-conception.html ---- */
.cltpb .eco-vision{ padding: clamp(48px,7vw,96px) 0 }
.cltpb .eco-vision-grid{
      display: grid; grid-template-columns: 1fr 1fr;
      gap: 64px; align-items: start;
    }
.cltpb .eco-vision-grid h2{
      font-size: clamp(24px, 3vw, 34px); font-weight:600;
      letter-spacing: -.035em; line-height: 1.1; color: var(--text-strong);
      margin-top: 14px; margin-bottom: 28px;
    }
.cltpb .eco-vision-grid p{
      font-size: 15px; line-height: 1.8; color: var(--text); margin-bottom: 20px;
    }
.cltpb .eco-action h3{
      font-size: 20px; font-weight:600; color: var(--text-strong); margin-bottom: 20px;
    }
.cltpb .eco-action-item{
      background: var(--bg-glass); border: 1px solid var(--border);
      border-radius: 16px; padding: 24px 28px; margin-bottom: 12px;
      transition: all .35s cubic-bezier(.16,1,.3,1);
    }
.cltpb .eco-action-item:hover{
      border-color: var(--border-hover); box-shadow: var(--shadow-card);
    }
.cltpb .eco-action-item strong{
      display: block; font-size: 15px; font-weight: 700;
      color: var(--text-strong); margin-bottom: 6px;
    }
.cltpb .eco-action-item p{
      font-size: 15px; line-height: 1.7; color: var(--text-muted); margin-bottom: 0;
    }
.cltpb .eco-cert{
      padding: clamp(48px,7vw,88px) 0;
      background: var(--bg-alt); transition: background .4s;
    }
.cltpb .eco-cert p{
      font-size: 15px; line-height: 1.7; color: var(--text);
      max-width: 760px; margin: 20px 0 36px;
    }
@media (max-width: 768px){
.cltpb .eco-vision-grid{ grid-template-columns: 1fr; gap: 40px; }
}
/* ---- blocs : kap-experience.html ---- */
.cltpb .xp-offers{ padding: clamp(40px,5vw,64px) 0 }
.cltpb .xp-offers-grid{
      display: grid; grid-template-columns: repeat(2, 1fr);
      gap: 20px; margin-top: 56px;
    }
.cltpb .xp-offer-card{
      background: var(--bg-glass); border: 1px solid var(--border);
      border-radius: 24px; padding: 44px 36px;
      transition: all .45s cubic-bezier(.16,1,.3,1);
    }
.cltpb .xp-offer-card:hover{
      background: var(--bg-glass-hover); border-color: var(--border-hover);
      transform: translateY(-4px); box-shadow: var(--shadow-hover);
    }
.cltpb .xp-offer-card .tag{
      font-size: 13px; font-weight: 700; letter-spacing: .14em;
      text-transform: uppercase; color: var(--teal-lt); margin-bottom: 12px;
    }
.cltpb .xp-offer-card h3{
      font-size: 20px; font-weight:600; color: var(--text-strong);
      margin-bottom: 10px; letter-spacing: -.01em;
    }
.cltpb .xp-offer-card p{
      font-size: 15px; line-height: 1.75; color: var(--text-muted);
    }
@media (max-width: 1024px){
.cltpb .xp-offers-grid, .cltpb .xp-experts-grid{ grid-template-columns: 1fr 1fr; }
}
@media (max-width: 768px){
.cltpb .xp-offers-grid, .cltpb .xp-experts-grid{ grid-template-columns: 1fr; }
}
/* ---- blocs : rag.html ---- */
.cltpb .quote-section{
      padding:clamp(40px,5vw,64px) 0;text-align:center;
      background:linear-gradient(160deg,var(--bg-hero) 0%,var(--bg-hero-mid) 50%,#180a8f 100%);color:#fff;
    }
/* ---- lead : declaration de tokens.css (.page-hero p.lead) rendue
       atteignable pour le <p class="lead"> du bloc 11 ---- */
.cltpb .lead{ font-size:17px; color:var(--c-text-2); max-width:760px; margin:0 0 18px; }

/* ---- ajouts (familles posees apres la generation initiale) ---- */
.cltpb .logo-strip{display:flex;align-items:center;justify-content:center;gap:clamp(24px,5vw,56px);flex-wrap:wrap;padding:48px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.cltpb .logo-strip img{height:32px;width:auto;object-fit:contain;filter:var(--marquee-filter);opacity:var(--marquee-opacity);transition:opacity .4s,filter .4s}
.cltpb .logo-strip img:hover{opacity:0.7;filter:var(--marquee-hover)}
.cltpb .logo-strip img[alt="SharePoint"]{height:24px}
.cltpb .logo-strip img[alt="Google Drive"]{height:22px}
.cltpb .logo-strip img[alt="Oracle"]{height:42px}
.cltpb .svc-intro{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
@media (max-width:900px){.cltpb .svc-intro{grid-template-columns:1fr;gap:48px}} /* CLT-SVCINTRO-MOBILE : colonnes empilees (ticket Floriane 12/10) */
.cltpb .svc-intro-text p{font-size:15px;line-height:1.8;color:var(--text);margin-bottom:16px}
.cltpb .btn-light{ background:#fff !important; color:#10066F !important; }
.cltpb .btn-light span{ color:#10066F !important; }
.cltpb .btn-light:hover{ background:#f0f2f5 !important; }
.cltpb .ia-band .btn-light, .cltpb .ia-band .btn-light span{ color:#10066F !important; }
.cltpb .ia-band{ background:linear-gradient(155deg,#10066F 0%,#0a0448 100%); border-radius:7px;
  padding:56px 54px; box-shadow:0 24px 60px rgba(16,6,111,.28); }
.cltpb .ia-split{ display:grid; grid-template-columns:0.92fr 1.08fr; gap:52px; align-items:center; }
.cltpb .ia-intro .kicker{ color:#a99ff7; }
.cltpb .ia-intro h2{ color:#fff; margin:0 0 18px; }
.cltpb .ia-intro p{ color:rgba(255,255,255,.74); font-size:15px; line-height:1.6; margin:0 0 28px; max-width:420px; }
.cltpb .ia-list{ display:flex; flex-direction:column; }
.cltpb .ia-row{ display:flex; gap:18px; padding:22px 0; border-top:1px solid rgba(255,255,255,.12); }
.cltpb .ia-row:first-child{ border-top:none; padding-top:0; }
.cltpb .ia-row:last-child{ padding-bottom:0; }
.cltpb .ia-ic2{ width:46px; height:46px; border-radius:7px; flex-shrink:0; display:grid; place-items:center;
  background:rgba(57,43,211,.16); color:#a99ff7; }
.cltpb .ia-row h3{ margin:0 0 5px; font-size:20px; font-weight:700; line-height:1.25; color:#fff; }
.cltpb .ia-row p{ margin:0; font-size:15px; line-height:1.5; color:rgba(255,255,255,.68); }
@media(max-width:880px){
.cltpb .ia-split{ grid-template-columns:1fr; gap:34px; }
.cltpb .ia-band{ padding:40px 26px; }
}
.cltpb .offer-slider{ position:relative; }
.cltpb .offer-slide{ display:none; }
.cltpb .offer-slide.is-active{ display:block; animation:offerFade .45s ease; }
@keyframes offerFade { from{opacity:0;transform:translateY(10px)} to{opacity:1;transform:none} }
.cltpb .offer-ctrl{ display:flex; align-items:center; justify-content:center; gap:16px; margin-top:26px; }
.cltpb .offer-nav{ width:46px; height:46px; border-radius:50%; border:1px solid var(--c-border,rgba(16,6,111,.14));
  background:var(--c-surface,#fff); color:var(--c-ink,#10066F); font-size:20px; line-height:1; cursor:pointer;
  display:grid; place-items:center; box-shadow:0 6px 18px rgba(16,6,111,.1); transition:transform .2s,box-shadow .2s; }
.cltpb .offer-nav:hover{ transform:translateY(-2px); box-shadow:0 10px 26px rgba(16,6,111,.18); }
.cltpb .offer-dots{ display:flex; gap:9px; }
.cltpb .offer-dot{ width:9px; height:9px; border-radius:50%; border:none; padding:0; cursor:pointer;
  background:rgba(16,6,111,.22); transition:background .2s,width .2s; }
.cltpb .offer-dot.on{ background:var(--c-primary,#5551CF); width:24px; border-radius:999px; }
