/* Les petites commandes doivent se reconnaître avant le premier survol.
   Cette couche affine la hiérarchie sans changer les scènes ou leurs états. */
.case-heading-top {flex-wrap:wrap;gap:24px}
.case-heading-top .text-link {display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-height:60px;padding:16px 24px;background:var(--ink);color:var(--paper);font-size:18px;border:1px solid var(--ink);transition:background .25s,color .25s,box-shadow .25s}
.case-heading-top .text-link::after {display:none}
.case-heading-top .text-link:is(:hover,:focus-visible) {background:var(--orange);color:var(--ink);box-shadow:5px 5px 0 var(--ink)}
.case-stages {gap:16px;padding:28px 0 20px;border:0}
.case-stages button {display:flex;flex-direction:column;justify-content:center;gap:8px;min-height:100px;padding:18px 24px;border:1px solid var(--ink);font-size:clamp(18px,1.6vw,24px);font-weight:600;line-height:1.15;transition:background .25s,color .25s,box-shadow .25s}
.case-stages button>span {font-size:13px;margin:0;color:inherit}
.case-stages button[aria-pressed=true] {background:var(--orange);color:var(--ink);box-shadow:5px 5px 0 var(--ink)}
.case-stages button[aria-pressed=true]::before {display:none}
.case-stages button:hover:not([aria-pressed=true]) {background:var(--ink);color:var(--paper)}
.case-stages button:focus-visible {outline:3px solid var(--ink);outline-offset:5px}
.case-stages .stage-line {display:none}
.project-topline {flex-wrap:wrap;gap:20px;align-items:center}
.layers {gap:10px;flex-wrap:wrap}
.layers-label {font-size:14px}
.layers button {min-height:52px;padding:12px 20px;font-size:17px;font-weight:500;border-color:#aaa69d;line-height:1.2}
.layers button::before {width:10px;height:10px}
.layers button:is(:hover,:focus-visible) {box-shadow:3px 3px 0 var(--paper)}

/* Un signe dessiné accompagne le surtitre. Le poster reste visible sans JS;
   le contrôleur Lottie existant gère visibilité et mouvement réduit. */
.overline,.services .section-heading>p,.contact-heading-copy>p {font-size:clamp(16px,1.3vw,19px);font-weight:500;letter-spacing:0;text-transform:none;gap:16px}
.overline::before,.services .section-heading>p::before,.contact-heading-copy>p::before {display:none}
.section-signature.lottie-mark {display:block;flex:none;width:64px;height:64px;margin:0;color:inherit;--lt-accent:#F2491C}

@media(max-width:760px) {
  .case-heading-top {align-items:flex-start;gap:18px}
  .case-heading-top .text-link {font-size:16px;min-height:52px;padding:14px 18px;gap:24px}
  .case-stages {gap:10px;padding-top:20px}
  .case-stages {grid-template-columns:1fr}
  .case-stages button {flex-direction:row;align-items:center;justify-content:flex-start;gap:18px;min-height:72px;padding:18px;font-size:18px}
  .case-stages button>span {font-size:12px}
  .layers {width:100%;gap:8px}
  .layers-label {width:100%;font-size:14px}
  .layers button {flex:1;min-height:50px;padding:12px 10px;font-size:15px;justify-content:center}
  .section-signature.lottie-mark {width:48px;height:48px}
  .overline,.services .section-heading>p,.contact-heading-copy>p {font-size:16px;gap:12px}
}
@media(prefers-reduced-motion:reduce) {
  .case-stages button,.case-heading-top .text-link {transition:none}
}
html[data-motion=reduce] .case-stages button,html[data-motion=reduce] .case-heading-top .text-link {transition:none}
