.lubumbashi-page { background: #f4f3ef; }
.lubumbashi-page .lang-switch a { display: inline-flex; color: #fff; text-decoration: none; }
.lubumbashi-page .lang-switch a:focus-visible { outline: 2px solid #90eaf1; outline-offset: 2px; }
.lubumbashi-main { padding-top: 86px; }
.lubumbashi-hero { position: relative; display: flex; align-items: flex-end; min-height: 670px; overflow: hidden; color: #fff; background: #1d2e34; }
.lubumbashi-hero-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 36%; }
.lubumbashi-hero-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(11,29,37,.95) 0%, rgba(11,29,37,.83) 29%, rgba(11,29,37,.52) 55%, rgba(11,29,37,.10) 100%), linear-gradient(0deg, rgba(11,29,37,.52), transparent 50%); }
.lubumbashi-hero-content { position: relative; z-index: 1; width: min(760px, 65vw); padding: 60px 6vw 70px; }
.lubumbashi-hero .case-back { display: inline-block; margin-bottom: 33px; color: #e3f3f4; }
.lubumbashi-hero .eyebrow { color: #90eaf1; }
.lubumbashi-hero h1 { max-width: 720px; margin: 18px 0 22px; font-size: clamp(2.8rem, 5vw, 5.2rem); line-height: .99; letter-spacing: -.055em; }
.lubumbashi-hero-intro { max-width: 665px; margin: 0; color: rgba(255,255,255,.91); font-size: clamp(1.04rem, 1.35vw, 1.23rem); line-height: 1.55; }
.lubumbashi-facts { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); padding: 0 6vw; color: #fff; background: #1f3540; }
.lubumbashi-facts div { display: flex; flex-direction: column; gap: 8px; min-height: 140px; padding: 32px 28px; border-right: 1px solid rgba(255,255,255,.16); }
.lubumbashi-facts div:first-child { border-left: 1px solid rgba(255,255,255,.16); }
.lubumbashi-facts strong { color: #8de5eb; font: 400 clamp(1.45rem, 2.7vw, 2.65rem)/1.1 var(--mono); }
.lubumbashi-facts span { max-width: 280px; color: rgba(255,255,255,.75); font: .72rem/1.45 var(--mono); letter-spacing: .06em; text-transform: uppercase; }
.lubumbashi-context { background: #f4f3ef; }
.lubumbashi-context h2 { max-width: 670px; }
.lubumbashi-contribution { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: 8vw; padding: 104px 6vw; color: #fff; background: #172c35; }
.lubumbashi-section-heading h2 { max-width: 620px; margin: 17px 0 0; font-size: clamp(2.4rem, 4.5vw, 4.6rem); line-height: 1.04; letter-spacing: -.045em; }
.lubumbashi-steps { margin: 0; padding: 0; list-style: none; border-top: 1px solid rgba(255,255,255,.23); }
.lubumbashi-steps li { display: grid; grid-template-columns: 48px 1fr; gap: 18px; padding: 23px 0; border-bottom: 1px solid rgba(255,255,255,.23); }
.lubumbashi-steps span { color: #81dce4; font: .75rem/1.7 var(--mono); }
.lubumbashi-steps p { margin: 0; color: rgba(255,255,255,.83); font-size: 1.04rem; line-height: 1.55; }
.lubumbashi-lmp { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); gap: 5vw; align-items: center; padding: 104px 6vw; background: #fff; }
.lubumbashi-lmp h2 { max-width: 560px; margin: 17px 0 24px; font-size: clamp(2.6rem, 4.4vw, 4.8rem); line-height: 1.02; letter-spacing: -.048em; }
.lubumbashi-lmp p:not(.section-code) { max-width: 590px; color: var(--ink-3); font-size: 1.08rem; line-height: 1.6; }
.lubumbashi-lmp .lubumbashi-note { margin-top: 27px; padding: 18px 20px; border-left: 3px solid var(--cyan); background: #edf2f1; font-size: .95rem !important; }
.lubumbashi-lmp figure { margin: 0; background: #e9ecea; }
.lubumbashi-lmp figure img { display: block; width: 100%; height: auto; }
.lubumbashi-lmp figcaption { padding: 16px 18px; color: var(--ink-3); font: .68rem/1.5 var(--mono); letter-spacing: .06em; text-transform: uppercase; }
.lubumbashi-gallery { background: #e9ecea; }
.lubumbashi-gallery-grid { display: grid; grid-template-columns: 1.15fr .85fr; align-items: start; gap: 22px; }
.lubumbashi-gallery-grid figure { margin: 0; background: #fff; }
.lubumbashi-gallery-grid img { display: block; width: 100%; height: 360px; object-fit: cover; }
.lubumbashi-gallery-grid .room-photo { width: min(100%, clamp(427px, 37.333vw, 907px)); justify-self: center; }
.lubumbashi-gallery-grid .room-photo img { height: auto; object-fit: contain; }
.lubumbashi-gallery-grid .aas-photo { width: min(100%, 600px); justify-self: center; }
.lubumbashi-gallery-grid .aas-photo img { height: auto; background: #fff; }
.lubumbashi-gallery-grid .cover-photo { grid-column: 1 / -1; max-width: 760px; justify-self: center; width: 100%; }
.lubumbashi-gallery-grid .cover-photo img { height: auto; }
.lubumbashi-gallery-grid figcaption { padding: 18px 19px; color: var(--ink-3); font: .68rem/1.5 var(--mono); letter-spacing: .05em; text-transform: uppercase; }
.lubumbashi-outcome { display: grid; grid-template-columns: minmax(0,.95fr) minmax(0,1.05fr); gap: 8vw; padding: 110px 6vw; background: #fff; }
.lubumbashi-outcome h2 { max-width: 650px; margin: 18px 0 0; font-size: clamp(2.5rem, 4.4vw, 4.8rem); line-height: 1.05; letter-spacing: -.045em; }
.lubumbashi-outcome p:not(.section-code) { color: var(--ink-3); font-size: 1.08rem; line-height: 1.6; }
.lubumbashi-outcome .lubumbashi-confidential { margin-top: 35px; padding-top: 22px; border-top: 1px solid var(--line); font: .74rem/1.5 var(--mono) !important; letter-spacing: .07em; text-transform: uppercase; }

@media (max-width: 980px) {
  .lubumbashi-hero-content { width: min(760px, 80vw); }
  .lubumbashi-contribution, .lubumbashi-lmp, .lubumbashi-outcome { grid-template-columns: 1fr; gap: 34px; }
  .lubumbashi-gallery-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 760px) {
  .lubumbashi-main { padding-top: 72px; }
  .lubumbashi-hero { min-height: 750px; }
  .lubumbashi-hero-image { object-position: 59% center; }
  .lubumbashi-hero-shade { background: linear-gradient(180deg, rgba(11,29,37,.13) 0%, rgba(11,29,37,.50) 34%, rgba(11,29,37,.96) 70%, rgba(11,29,37,.98) 100%); }
  .lubumbashi-hero-content { width: 100%; padding: 270px 22px 44px; }
  .lubumbashi-hero .case-back { margin-bottom: 23px; }
  .lubumbashi-hero h1 { font-size: clamp(2.45rem, 10vw, 3.65rem); line-height: 1.03; }
  .lubumbashi-hero-intro { font-size: 1rem; }
  .lubumbashi-facts { grid-template-columns: 1fr 1fr; padding: 0 22px; }
  .lubumbashi-facts div { min-height: 120px; padding: 23px 14px; border-bottom: 1px solid rgba(255,255,255,.16); }
  .lubumbashi-facts div:first-child { border-left: 0; }
  .lubumbashi-facts div:last-child { grid-column: 1 / -1; min-height: 100px; }
  .lubumbashi-facts strong { font-size: 1.45rem; }
  .lubumbashi-facts span { font-size: .67rem; }
  .lubumbashi-contribution, .lubumbashi-lmp, .lubumbashi-outcome { padding: 78px 22px; }
  .lubumbashi-section-heading h2, .lubumbashi-lmp h2, .lubumbashi-outcome h2 { font-size: clamp(2.3rem, 8.5vw, 3.3rem); }
  .lubumbashi-steps p { font-size: 1rem; }
  .lubumbashi-lmp figure img { height: auto; }
  .lubumbashi-gallery-grid { grid-template-columns: 1fr; gap: 16px; }
  .lubumbashi-gallery-grid img { height: 280px; }
  .lubumbashi-gallery-grid .room-photo img { height: auto; }
  .lubumbashi-gallery-grid .aas-photo img { height: auto; }
  .lubumbashi-gallery-grid .cover-photo { grid-column: auto; }
  .lubumbashi-gallery-grid .cover-photo img { height: auto; }

}
