/* Études de cas : modules (hero empilé, chapitres, galeries). Dépend de home.css. */
.case-page{--cs-radius:10px}
.case-page img{display:block;width:100%;height:auto}
.cs-hero{padding-block:44px 84px;overflow:hidden}
.cs-crumb{display:flex;flex-wrap:wrap;gap:10px;font:12px/1.7 var(--mono);color:var(--hp-muted)}
.cs-crumb a:hover{color:var(--hp-paper);text-decoration:underline;text-underline-offset:4px}
.cs-hero-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.2fr);gap:clamp(32px,5vw,72px);align-items:center;margin-top:42px}
.cs-stage{display:flex;align-items:center;gap:12px;color:var(--hp-tonic)}
.cs-hero h1{font-size:clamp(58px,7.4vw,112px);line-height:.98;letter-spacing:-.065em;font-weight:600;margin-top:22px}
.cs-claim{font-size:clamp(22px,2.3vw,32px)!important;line-height:1.28;letter-spacing:-.03em;font-weight:500;margin-top:22px!important;max-width:540px}
.cs-lede{font-size:16px;line-height:1.85;color:#ced2c9;margin-top:22px!important;max-width:500px}
.cs-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:30px}
.cs-tags span{border:1px solid var(--hp-border);border-radius:40px;padding:7px 14px;font:12px/1.4 var(--mono);color:var(--hp-paper)}

/* Pile de frames : décalées au chargement, alignées à l’entrée dans l’écran */
.cs-stack{position:relative;aspect-ratio:16/12.5}
.cs-stack figure{position:absolute;width:74%;border-radius:var(--cs-radius);overflow:hidden;box-shadow:0 34px 70px -18px rgba(0,0,0,.65);border:1px solid #2b302b;transition:transform 1s cubic-bezier(.2,.75,.15,1),opacity .6s}
.cs-stack figure:nth-child(1){left:0;top:0;transform:translate(10%,14%) rotate(-5deg)}
.cs-stack figure:nth-child(2){left:13%;top:16%;transform:translate(0,6%) rotate(3deg)}
.cs-stack figure:nth-child(3){left:26%;top:32%;transform:translate(-8%,-4%) rotate(-1.5deg)}
.cs-stack.is-aligned figure{transform:none}
.cs-stack.is-tall figure{width:58%}
.cs-stack.is-tall figure:nth-child(2){left:21%;top:8%}
.cs-stack.is-tall figure:nth-child(3){left:42%;top:18%}

.cs-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--hp-border);border-bottom:1px solid var(--hp-border)}
.cs-facts>div{padding:24px 24px 26px 0}
.cs-facts>div+div{padding-left:24px;border-left:1px solid var(--hp-border)}
.cs-facts dt{font:12px/1.7 var(--mono);text-transform:uppercase;letter-spacing:.045em;color:var(--hp-tonic)}
.cs-facts dd{margin:8px 0 0;font-size:15px;line-height:1.6}

/* Chapitres */
.cs-chapter{padding-block:clamp(72px,9vw,128px)}
.cs-chapter.hp-light{--hp-border:#c9cec1;--hp-muted:#5b6354}
.cs-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,96px);align-items:start;margin-bottom:clamp(40px,5vw,64px)}
.cs-num{display:flex;gap:14px;align-items:center;color:var(--hp-tonic);margin-bottom:22px}
.hp-light .cs-num{color:#435714}
.cs-head h2{font-size:clamp(34px,4.1vw,60px);line-height:1.08;letter-spacing:-.045em;font-weight:500}
.cs-copy p{font-size:16px;line-height:1.85;color:#ced2c9}
.cs-copy p+p{margin-top:16px}
.hp-light .cs-copy p{color:#3f463a}
.cs-copy strong{font-weight:600;color:inherit}
.hp-light .cs-copy strong{color:var(--hp-dark)}

/* Médias */
.cs-media{display:grid;gap:clamp(14px,1.6vw,24px)}
.cs-media+.cs-media{margin-top:clamp(14px,1.6vw,24px)}
.cs-duo{grid-template-columns:repeat(2,minmax(0,1fr))}
.cs-trio{grid-template-columns:repeat(3,minmax(0,1fr))}
.cs-duo.is-wide-left{grid-template-columns:1.5fr 1fr}
.cs-fig{min-width:0}
.cs-fig a{display:block;border-radius:var(--cs-radius);overflow:hidden;border:1px solid var(--hp-border);background:#161a17;transition:transform .35s,border-color .35s}
.hp-light .cs-fig a{background:#e8e7e0}
.cs-fig a:hover{transform:translateY(-3px);border-color:var(--hp-tonic)}
.hp-light .cs-fig a:hover{border-color:#435714}
.cs-fig figcaption{display:flex;gap:12px;align-items:baseline;margin-top:12px;font:12px/1.7 var(--mono);color:var(--hp-muted)}
.cs-fig figcaption b{font-weight:500;color:var(--hp-tonic)}
.hp-light .cs-fig figcaption b{color:#435714}
.cs-fig.is-pad a{padding:clamp(18px,3vw,44px)}
.cs-fig.is-pad img{border-radius:6px;box-shadow:0 20px 50px -20px rgba(0,0,0,.35)}
.cs-scroll a{overflow-x:auto;overscroll-behavior-x:contain}
.cs-scroll img{min-width:900px}

/* Carte de complexité (texte, pas d’UI) */
.cs-map{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
.cs-map span{border:1px solid var(--hp-border);border-radius:40px;padding:10px 16px;font-size:14px}
.cs-map span:nth-child(3n+1){border-color:var(--hp-tonic)}

.cs-quote{padding:clamp(28px,4vw,48px) 0 0;border-top:1px solid var(--hp-border);margin-top:clamp(40px,5vw,64px)}
.cs-quote p{font-size:clamp(24px,2.8vw,40px);line-height:1.25;letter-spacing:-.035em;max-width:980px}
.cs-quote small{display:block;margin-top:16px;font:12px/1.7 var(--mono);color:var(--hp-muted)}

.cs-points{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,40px);border-top:1px solid var(--hp-border);padding-top:30px}
.cs-points h3{font-size:19px;line-height:1.35;font-weight:600;margin-top:10px}
.cs-points p{font-size:15px;line-height:1.75;color:var(--hp-muted);margin-top:10px}
.cs-points .hp-label{color:var(--hp-tonic)}
.hp-light .cs-points .hp-label{color:#435714}

.cs-takeaway{padding-block:clamp(80px,10vw,140px);border-top:1px solid var(--hp-border)}
.cs-takeaway p{font-size:clamp(34px,4.6vw,68px);line-height:1.08;letter-spacing:-.05em;font-weight:500;max-width:1100px;margin-top:22px}
.cs-next{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-block:36px;border-top:1px solid var(--hp-border)}
.cs-next strong{display:block;font-size:clamp(30px,3.6vw,52px);letter-spacing:-.045em;font-weight:500;margin-top:6px}
.cs-next .hp-case-arrow{width:62px;height:62px}
.cs-next:hover .hp-case-arrow{background:var(--hp-tonic);color:var(--hp-dark)}
.cs-note{font:12px/1.8 var(--mono);color:var(--hp-muted);margin-top:18px!important}

/* Apparition */
.cs-js .cs-reveal{opacity:0;transform:translateY(28px);transition:opacity .7s,transform .8s cubic-bezier(.2,.75,.15,1)}
.cs-js .cs-reveal.is-in{opacity:1;transform:none}

@media (prefers-reduced-motion:reduce){
 .cs-stack figure,.cs-reveal,.cs-fig a{transition:none!important}
 .cs-stack figure{transform:none!important}
 .cs-js .cs-reveal{opacity:1;transform:none}
}
@media (max-width:1000px){
 .cs-hero-grid,.cs-head{grid-template-columns:1fr}
 .cs-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
 .cs-facts>div:nth-child(3){padding-left:0;border-left:0}
 .cs-facts>div:nth-child(n+3){border-top:1px solid var(--hp-border)}
 .cs-trio{grid-template-columns:1fr 1fr}
 .cs-points{grid-template-columns:1fr}
}
@media (max-width:640px){
 .cs-duo,.cs-duo.is-wide-left,.cs-trio{grid-template-columns:1fr}
 .cs-facts{grid-template-columns:1fr}
 .cs-facts>div,.cs-facts>div+div{padding:18px 0;border-left:0}
 .cs-facts>div+div{border-top:1px solid var(--hp-border)}
 .cs-stack{aspect-ratio:16/11.5}
 .cs-stack figure{width:80%}
 .cs-next .hp-case-arrow{width:48px;height:48px}
}

/* Modules de contenu (pages Expertises, Audit, À propos, accueil) */
.cs-points.is-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.cs-points+.cs-points{margin-top:clamp(28px,3vw,40px)}
.cs-map+.cs-points,.cs-flow+.cs-points{margin-top:clamp(36px,4vw,56px)}
.cs-map{margin-bottom:clamp(36px,4vw,56px)}
.cs-head+.cs-points{margin-top:0}
.cs-band{display:flex;justify-content:space-between;align-items:center;gap:40px;margin-top:clamp(40px,5vw,64px);padding:clamp(26px,3.4vw,44px);border:1px solid var(--hp-tonic);border-radius:10px;background:linear-gradient(120deg,rgba(217,255,98,.09),rgba(217,255,98,0) 60%)}
.cs-band h3{font-size:clamp(24px,2.6vw,36px);line-height:1.15;letter-spacing:-.035em;font-weight:500;margin-top:14px;max-width:760px}
.cs-band p:not(.hp-label){font-size:15px;line-height:1.8;color:var(--hp-muted);margin-top:14px;max-width:720px}
.cs-band .hp-button{flex-shrink:0}
.cs-cta{margin-top:clamp(32px,4vw,48px)!important}
.hp-light .cs-cta .hp-link,.hp-light .cs-note{color:var(--hp-dark)}
.hp-light .hp-button-lime{color:var(--hp-dark)}
.cs-flow{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border-top:1px solid var(--hp-border)}
.cs-flow li{padding:22px 18px 4px 0;position:relative}
.cs-flow li+li{padding-left:18px;border-left:1px solid var(--hp-border)}
.cs-flow .hp-label{color:var(--hp-tonic)}
.cs-flow strong{display:block;font-size:19px;font-weight:600;margin-top:10px}
.cs-flow p{font-size:14px;line-height:1.7;color:var(--hp-muted);margin-top:8px}
.cs-flow small{display:inline-block;margin-top:14px;font:11px/1.6 var(--mono);color:var(--hp-dark);background:var(--hp-tonic);padding:4px 8px;border-radius:30px}
.hp-steps li p{font-size:14px;line-height:1.7;color:var(--hp-muted);margin-top:8px}
@media (max-width:1000px){.cs-points.is-4{grid-template-columns:repeat(2,minmax(0,1fr))}.cs-flow{grid-template-columns:repeat(3,minmax(0,1fr))}.cs-flow li:nth-child(4){padding-left:0;border-left:0}.cs-flow li:nth-child(n+4){border-top:1px solid var(--hp-border)}.cs-band{flex-direction:column;align-items:flex-start}}
@media (max-width:640px){.cs-points.is-4{grid-template-columns:1fr}.cs-flow{grid-template-columns:1fr}.cs-flow li,.cs-flow li+li{padding:18px 0;border-left:0}.cs-flow li+li{border-top:1px solid var(--hp-border)}}
