/* ══════ Pages études de cas (cas-client-*.html) ══════ */
.cs-page { padding:112px 0 0; background:#f5f5f5; }
.cs-wrap { max-width:820px; margin:0 auto; padding:0 40px; }

.cs-breadcrumb { display:flex; flex-wrap:wrap; align-items:center; gap:8px; font-family:'Inter',-apple-system,sans-serif; font-size:13px; color:rgba(0,0,0,0.45); margin-bottom:40px; }
.cs-breadcrumb a { color:rgba(0,0,0,0.55); text-decoration:none; border-radius:4px; }
.cs-breadcrumb a:hover { color:#1c3a6c; text-decoration:underline; text-underline-offset:3px; }
.cs-breadcrumb [aria-current] { color:#292929; }

.cs-hero { margin-bottom:36px; }
html body .cs-hero .cs-logo { display:block; height:40px !important; width:auto !important; max-width:180px !important; object-fit:contain; object-position:left; margin:0 0 28px; }
.cs-eyebrow { font-family:'IBM Plex Mono',ui-monospace,Menlo,monospace; font-size:12px; font-weight:500; letter-spacing:.06em; text-transform:uppercase; color:#1c3a6c; margin:0 0 12px; }
.cs-title { font-family:'Inter',-apple-system,sans-serif; font-size:clamp(28px,3.4vw,40px); font-weight:700; line-height:1.2; letter-spacing:-.02em; color:#292929; margin:0 0 24px; }
.cs-facts { display:flex; flex-wrap:wrap; gap:12px 32px; margin:0; }
.cs-facts div { display:flex; flex-direction:column; gap:4px; }
.cs-facts dt { font-family:'Inter',-apple-system,sans-serif; font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:#b94d10; }
.cs-facts dd { margin:0; font-family:'Inter',-apple-system,sans-serif; font-size:15px; color:#292929; }

.cs-kpis { display:grid; grid-template-columns:1fr 1fr; gap:12px; position:relative; isolation:isolate; overflow:hidden; border-radius:20px; background:#E8EEF7; padding:28px; }
.cs-kpis::before { content:''; position:absolute; top:-10%; left:44%; width:260px; height:120%; z-index:-1; background:rgba(255,255,255,.5); transform:skewX(-24deg); pointer-events:none; }
.cs-kpi { background:#fff; border-radius:12px; padding:24px 28px; box-shadow:0 10px 30px -18px rgba(16,24,40,.3); }
.cs-kpi-num { font-family:'Helvetica Neue',Helvetica,Arial,sans-serif; font-size:40px; font-weight:500; letter-spacing:-.035em; color:#292929; line-height:1; margin:0 0 8px; }
.cs-kpi-label { font-family:'Inter',-apple-system,sans-serif; font-size:14px; color:#666; line-height:1.45; margin:0; }
.cs-kpi-note { font-family:'Inter',-apple-system,sans-serif; font-size:12.5px; color:rgba(0,0,0,0.45); margin:10px 0 48px; }

.cs-section { margin-bottom:36px; }
.cs-section h2 { font-family:'Inter',-apple-system,sans-serif; font-size:22px; font-weight:700; line-height:1.3; color:#292929; margin:0 0 12px; }
.cs-section p { font-family:'Inter',-apple-system,sans-serif; font-size:16px; line-height:1.7; color:#3a3a3a; margin:0; }

.cs-others { border-top:1px solid rgba(0,0,0,0.08); padding-top:36px; margin-top:12px; }
.cs-others h2 { font-family:'Inter',-apple-system,sans-serif; font-size:18px; font-weight:700; color:#292929; margin:0 0 16px; }
.cs-others ul { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.cs-others a { display:flex; flex-direction:column; gap:6px; height:100%; padding:18px 20px; border-radius:14px; background:#fff; border:1px solid rgba(0,0,0,0.07); text-decoration:none; transition:border-color .18s; }
.cs-others a:hover { border-color:rgba(28,58,108,0.35); }
.cs-other-name { font-family:'Inter',-apple-system,sans-serif; font-size:14px; font-weight:700; color:#1c3a6c; }
.cs-other-title { font-family:'Inter',-apple-system,sans-serif; font-size:13px; line-height:1.45; color:rgba(0,0,0,0.6); }

.cs-cta-row { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:12px 24px; }
.cs-cta-link { font-family:'Inter',-apple-system,sans-serif; font-size:15px; font-weight:500; color:#1c3a6c; text-decoration:underline; text-underline-offset:3px; }

.cs-page a:focus-visible, .cs-cta-row a:focus-visible { outline:2px solid #1c3a6c; outline-offset:3px; }

@media (max-width:768px) {
  .cs-page { padding-top:96px; }
  .cs-wrap { padding:0 20px; }
  .cs-breadcrumb { margin-bottom:28px; }
  .cs-kpis { grid-template-columns:1fr; }
  .cs-kpis::before { width:170px; left:40%; }
  .cs-kpis { padding:14px; }
  .cs-kpi { padding:20px 22px; }
  .cs-kpi-num { font-size:34px; }
  .cs-section p { font-size:15px; }
  .cs-others ul { grid-template-columns:1fr; }
}
