/* V7: compact controls and requested Production category. */
.lt-finish .xp-city-switch.xp-gallery-controls { display:flex; flex-wrap:nowrap; align-items:center; gap:.5rem; width:100%; margin-top:.75rem; }
.lt-finish .xp-gallery-controls .xp-arrow { flex:0 0 44px; width:44px; min-width:44px; height:44px; padding:.6rem; justify-content:center; }
.lt-finish .xp-gallery-controls #xp-motion { margin-left:auto; }
.lt-finish .xp-gallery-controls svg, .lt-finish .xp-enlarge svg { display:block; flex:none; }
.lt-finish .xp-stage > .xp-enlarge { display:grid; place-items:center; width:44px; height:44px; min-height:44px; padding:0; }
.lt-finish .xp-production > .wrap + .xp-production-content { margin-top:0; padding-block:1rem; }
.lt-finish .xp-production-feature { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:2rem; align-items:center; padding:1.25rem; border:var(--lt-line); border-radius:var(--lt-r-lg); background:var(--lt-white); box-shadow:var(--lt-shadow-1); }
.lt-finish .xp-production-text { max-width:34rem; }
.lt-finish .xp-production-text h2 { margin-bottom:1rem; font-size:clamp(1.5rem,2.5vw,2rem); }
.lt-finish .xp-production-text p { color:var(--lt-ink-2); }
.lt-finish .xp-production-text .xp-production-note { font-size:.875rem; color:var(--lt-ink-3); }
.lt-finish .xp-production-feature figure { margin:0; text-align:center; min-width:0; }
.lt-finish .xp-production-feature img { display:block; width:auto; max-width:100%; height:auto; max-height:23rem; margin-inline:auto; border-radius:var(--lt-r); border:1px solid var(--lt-gold-soft); }
.lt-finish .xp-production-feature figcaption { margin-top:.6rem; font-size:.8125rem; color:var(--lt-ink-3); }
@media(min-width:64rem) and (max-height:54rem) {
.lt-finish .xp-production .xp-head { padding-block:1.25rem 1rem; }
 .lt-finish .xp-production .xp-title { margin-bottom:.6rem; }
 .lt-finish .xp-production .xp-lead { margin-top:.5rem; font-size:1.0625rem; line-height:1.6; }
.lt-finish .xp-production-feature img { max-height:19rem; }
}
@media(max-width:63.99rem) {
.lt-finish .xp-production-feature { grid-template-columns:1fr; gap:1.25rem; padding:1rem; }
.lt-finish .xp-production-text { max-width:none; }
.lt-finish .xp-production-feature img { max-height:28rem; }
}

/* Final polish: compact controls and distinct, comfortable footer links. */
.lt-finish .xp-gallery-controls .xp-chip { font-family:var(--lt-sans); font-weight:500; gap:.45rem; }
.lt-finish .lang-switch > span[aria-hidden] { display:none; }
.lt-finish .site-footer { padding-block:.875rem; }
.lt-finish .footer-inner > .footer-links { display:flex; flex-wrap:wrap; align-items:center; gap:0 .8rem; font-size:.8125rem; }
.lt-finish .footer-links a { display:inline-flex; align-items:center; min-height:2rem; }
@media(max-width:63.99rem) {
 .lt-finish .footer-inner { row-gap:.6rem; }
 .lt-finish .footer-inner > .footer-links { gap:0 1rem; }
 .lt-finish .footer-links a { min-height:2.75rem; }
 .lt-finish .footer-links > a[href^="mailto:"] { flex-basis:100%; }
}

.lt-finish .xp-hero-figure { gap:.75rem; }
.lt-finish .xp-hero-figure > .xp-stage-caption, .lt-finish .xp-hero-figure > .xp-gallery-controls { margin-top:0; margin-bottom:0; }

/* Activity B: progressive reading with native, keyboard-operated details. */
.lt-finish .xp-role-detail { margin:1rem 0; max-width:38rem; border-block:1px solid var(--lt-gold-soft); }
.lt-finish .xp-role-detail > summary { min-height:44px; padding:.65rem .15rem; cursor:pointer; color:var(--lt-navy); font:600 .9375rem/1.45 var(--lt-sans); }
.lt-finish .xp-role-detail > summary:hover { color:var(--lt-ocean); }
.lt-finish .xp-role-detail > summary:focus-visible { outline:2px solid var(--lt-ocean); outline-offset:2px; border-radius:var(--lt-r-sm); }
.lt-finish .xp-role-body { padding:.15rem .25rem .9rem; }
.lt-finish .xp-role-body ul { display:grid; gap:.65rem; margin:0; padding-left:1.2rem; color:var(--lt-ink-2); font-size:.9375rem; line-height:1.55; }
.lt-finish .xp-role-body strong { color:var(--lt-navy); }
.lt-finish .xp-notebook-scope { margin:0 0 1rem; padding:.8rem 1rem; background:var(--lt-cream); border-left:2px solid var(--lt-gold); color:var(--lt-ink-2); font-size:.9375rem; line-height:1.5; }

.lt-finish .xp-production-projects { margin:.75rem 0 1rem; }
.lt-finish .xp-production-projects .xp-production-note { margin:.9rem 0 0; }

/* V19: distinct compositions for the three existing activity pages. */
.lt-finish .espace--technology .xp-hero-text .xp-title{font-size:clamp(2.35rem,3.8vw,3.5rem);line-height:1.08;max-width:22ch;text-wrap:balance}
.lt-finish .espace--technology .xp-hero-grid{align-items:center}
.lt-finish .espace--technology .xp-technology-detail{margin-block:1rem}
.lt-finish .espace--technology .xp-values{margin-block:1rem}
.lt-finish .xp-production-feature{align-items:start;border:0;box-shadow:none;border-radius:0;padding:1.25rem 0;gap:clamp(2rem,5vw,5rem);background:transparent}
.lt-finish .xp-production-text{max-width:38rem}
.lt-finish .xp-production-projects .xp-role-body ul{list-style:none;padding-left:0;gap:0}
.lt-finish .xp-production-projects .xp-role-body li{padding:.85rem 0;border-bottom:1px solid var(--lt-gold-soft)}
.lt-finish .xp-production-projects .xp-role-body li:last-child{border-bottom:0}
.lt-finish .xp-production-projects .xp-role-body li strong{display:block;margin-bottom:.25rem;font-family:var(--lt-serif);font-size:1.125rem;font-weight:400}
.lt-finish .xp-production-feature img{max-height:32rem;border:0}
.lt-finish .espace--services .xp-head{padding-bottom:.5rem}
.lt-finish .espace--services .xp-notebook{padding-top:.75rem}
.lt-finish .xp-catalogue-status{max-width:none;margin:0 0 1.5rem}
.lt-finish .xp-catalogue-status .panneau{margin-top:.5rem}
@media(max-width:63.99rem){
 .lt-finish .espace--technology .xp-hero-text .xp-title{max-width:21ch}
 .lt-finish .xp-production-feature{padding-top:.5rem;gap:1.5rem}
 .lt-finish .xp-production-feature img{max-height:23rem}
 .lt-finish .espace--services .xp-notebook-side{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:start;gap:1rem}
 .lt-finish .espace--services .xp-side-figure img{max-height:12rem}
 .lt-finish .espace--services .xp-process{margin-top:0}
}
@media(max-width:30rem){
 .lt-finish .espace--services .xp-notebook-side{grid-template-columns:1fr}
}
