/* ===== Cas clients ===== */
.cases-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:clamp(32px,4vw,56px)}
.case-card{display:flex;flex-direction:column;text-decoration:none;color:inherit;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.02);transition:border-color .25s,transform .25s}
.case-card:hover{border-color:var(--blanc);transform:translateY(-3px)}
.case-card .cc-visu{aspect-ratio:16/9;overflow:hidden;background:#111}
.case-card .cc-visu img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}
.case-card:hover .cc-visu img{transform:scale(1.03)}
.case-card .cc-txt{padding:22px 24px 26px}
.case-card .cc-type{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--casse);margin:0 0 8px}
.case-card .cc-name{font-size:22px;font-weight:800;margin:0 0 6px;letter-spacing:-.01em}
.case-card .cc-hook{margin:0;color:var(--casse);font-size:15px;line-height:1.5}
.case-card .cc-go{margin-top:14px;font-size:13px;letter-spacing:.12em;text-transform:uppercase;font-weight:600}
.case-card .cc-go span{border-bottom:1px solid currentColor;padding-bottom:2px}
@media(max-width:820px){.cases-grid{grid-template-columns:1fr}}

/* ===== Pages cas ===== */
.c-hero{padding:clamp(90px,12vw,150px) 0 clamp(40px,5vw,64px)}
.c-hero .c-meta{display:flex;flex-wrap:wrap;gap:10px 28px;margin-top:26px;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--casse)}
.c-visu{margin:clamp(28px,4vw,48px) 0}
.c-visu img{width:100%;display:block;border:1px solid rgba(255,255,255,.12)}
.c-visu figcaption{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--casse);margin-top:10px}
.c-block{padding:clamp(36px,5vw,64px) 0;border-top:1px solid rgba(255,255,255,.12)}
.c-block .c-label{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--casse);margin:0 0 18px}
.c-block h2{font-size:clamp(28px,4vw,44px);line-height:1.05;letter-spacing:-.02em;margin:0 0 22px;max-width:20ch}
.c-block p{max-width:62ch;font-size:17px;line-height:1.65;color:#d9d9d9}
.c-block p+p{margin-top:14px}
.c-block ul.c-list{margin:18px 0 0;padding:0;list-style:none;max-width:62ch}
.c-block ul.c-list li{padding:10px 0 10px 22px;position:relative;font-size:16px;line-height:1.55;color:#d9d9d9;border-top:1px solid rgba(255,255,255,.08)}
.c-block ul.c-list li::before{content:"";position:absolute;left:0;top:19px;width:8px;height:8px;background:var(--blanc)}
.c-avap{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:stretch}
.c-avap .avap-cell{border:1px solid rgba(255,255,255,.14);background:#fff;display:flex;flex-direction:column}
.c-avap .avap-cell .avap-top{padding:34px;display:flex;align-items:center;justify-content:center;flex:1;min-height:220px}
.c-avap .avap-cell img{max-width:100%;max-height:220px;object-fit:contain}
.c-avap .avap-cell .avap-tag{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#111;padding:12px 18px;border-top:1px solid rgba(0,0,0,.12);font-weight:600}
.c-avap .avap-cell.dark{background:#111}
.c-avap .avap-cell.dark .avap-tag{color:#fff;border-top-color:rgba(255,255,255,.14)}
.c-duo{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.c-duo img{width:100%;display:block;border:1px solid rgba(255,255,255,.12)}
@media(max-width:820px){.c-avap,.c-duo{grid-template-columns:1fr}}
.c-cta{border-top:1px solid rgba(255,255,255,.12);padding:clamp(48px,7vw,90px) 0;text-align:center}
.c-cta h2{font-size:clamp(30px,4.6vw,52px);letter-spacing:-.02em;margin:0 0 28px}
.c-cta .ctas{justify-content:center}
.c-next{display:flex;justify-content:space-between;align-items:center;gap:18px;border-top:1px solid rgba(255,255,255,.12);padding:30px 0 60px;text-decoration:none;color:inherit}
.c-next .n-label{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--casse)}
.c-next .n-name{font-size:clamp(22px,3vw,34px);font-weight:800;letter-spacing:-.01em}
.c-next:hover .n-name{text-decoration:underline}

/* ===== v2 : impact visuel ===== */
.c-visu.full{margin:0}
.c-visu.full img{border:none;width:100%;max-height:78vh;object-fit:cover}
.c-visu.full figcaption{padding:10px 0 0}
.c-visu.full .cap{width:min(1180px,92vw);margin:0 auto}
.c-gammes{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:clamp(28px,4vw,44px)}
.c-gammes .g-cell{background:#fff;border:1px solid rgba(255,255,255,.14);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:34px 24px;gap:18px;min-height:220px}
.c-gammes .g-cell img{max-width:70%;max-height:110px;object-fit:contain}
.c-gammes .g-cell p{margin:0;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#111;font-weight:600;text-align:center}
@media(max-width:820px){.c-gammes{grid-template-columns:repeat(2,1fr)}.c-gammes .g-cell{min-height:180px}}
.c-avap .avap-sub{margin:0;padding:0 34px 26px;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:#444;text-align:center}
.c-avap .avap-cell.dark .avap-sub{color:#bbb}
.c-duo figure{margin:0}
.c-duo figcaption{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--casse);margin-top:10px}

/* ===== v3 : document centré ===== */
.c-doc{max-width:720px;margin-left:auto;margin-right:auto}

/* Avant/après photos (Emna) */
.avap-kicker{font-size:13px;letter-spacing:.06em;color:#d9d9d9;margin:0 0 18px}
.avap-kicker .tag-av,.avap-kicker .tag-ap{display:inline-block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;border:1px solid rgba(255,255,255,.3);padding:3px 10px;margin-right:10px;color:var(--casse)}
.avap-kicker .tag-ap{margin-left:26px}
.avap-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.avap-photos figure{margin:0}
.avap-photos img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 25%;display:block;border:1px solid rgba(255,255,255,.14);filter:grayscale(1)}
.avap-photos figcaption{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--casse);margin-top:8px}
.avap-apres{margin:26px 0 0}
.avap-apres img{width:100%;aspect-ratio:21/9;object-fit:cover;object-position:center 30%;display:block;border:1px solid rgba(255,255,255,.14)}
.avap-apres figcaption{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--casse);margin-top:8px}
@media(max-width:820px){.avap-photos{grid-template-columns:1fr}.avap-photos img{aspect-ratio:4/3}}
