.active-nav-link { color: var(--navy); border-bottom-color: var(--orange) !important; }
.cases-hero { min-height: 430px; display: flex; align-items: center; padding: 70px clamp(18px,7vw,110px); color: var(--white); background: linear-gradient(90deg,rgba(8,31,49,.92),rgba(8,31,49,.55)),url("assets/scenario-logistics-cargo.webp") center / cover no-repeat; }
.cases-hero > div { max-width: 850px; }
.cases-hero h1 { margin-bottom: 20px; }
.cases-hero p:not(.section-kicker) { max-width: 720px; margin: 0; color: #dbe8ef; font-size: 18px; }
.case-library-heading { display: flex; justify-content: space-between; gap: 35px; align-items: end; margin-bottom: 34px; }
.case-library-heading h2 { margin-bottom: 0; }
.case-library-heading > p { max-width: 360px; margin: 0; color: var(--muted); font-size: 14px; text-align: right; }
.case-framework-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 22px; }
.case-framework-card { overflow: hidden; border: 1px dashed #b9c8d2; border-radius: 6px; background: #f8fafb; transition: transform .2s ease,border-color .2s ease,box-shadow .2s ease; }
.case-framework-card:hover { border-color: var(--orange); box-shadow: 0 16px 34px rgba(12,34,51,.12); transform: translateY(-4px); }
.case-framework-card[hidden] { display: none; }
.case-card-link { display: block; height: 100%; color: inherit; }
.case-media-slot { min-height: 235px; display: grid; place-items: center; color: #8799a6; background: repeating-linear-gradient(135deg,#edf2f5,#edf2f5 12px,#f5f8fa 12px,#f5f8fa 24px); font-size: 12px; font-weight: 850; text-transform: uppercase; }
.case-content-slot { padding: 23px; }
.case-content-slot span { color: var(--orange); font-size: 10px; font-weight: 900; text-transform: uppercase; }
.case-content-slot h3 { margin-top: 8px; color: #607482; }
.case-content-slot p { margin: 0; color: #8999a5; font-size: 13px; }
.case-content-slot strong { display: inline-block; margin-top: 22px; color: var(--navy); border-bottom: 2px solid var(--orange); font-size: 12px; font-weight: 900; }
.case-content-slot strong span { color: inherit; font-size: inherit; }
.case-pagination { display: flex; justify-content: center; gap: 8px; margin-top: 42px; }
.case-pagination button { min-width: 42px; height: 42px; padding: 0 14px; border: 1px solid var(--border); color: var(--navy); background: var(--white); font: inherit; font-size: 12px; font-weight: 850; cursor: pointer; }
.case-pagination button:hover,.case-pagination button.active { color: var(--white); border-color: var(--navy); background: var(--navy); }
.case-pagination button:disabled { cursor: not-allowed; opacity: .38; }
.case-contact-band { display: grid; grid-template-columns: 1fr auto; gap: 35px; align-items: center; padding: 58px clamp(18px,6vw,90px); color: var(--white); background: var(--navy); }
.case-contact-band h2 { color: var(--white); }
.case-contact-band p:not(.section-kicker) { margin: 0; color: #d4e1e9; }

@media (max-width:1100px) {
  .case-framework-grid { grid-template-columns: repeat(2,1fr); }
}

@media (max-width:720px) {
  .cases-hero { min-height: 420px; padding: 55px 18px; }
  .cases-hero h1 { font-size: 39px; }
  .cases-hero p:not(.section-kicker) { font-size: 16px; }
  .case-library-heading,.case-contact-band { display: block; }
  .case-library-heading > p { margin-top: 15px; text-align: left; }
  .case-framework-grid { grid-template-columns: 1fr; }
  .case-pagination { justify-content: flex-start; overflow-x: auto; padding-bottom: 6px; }
  .case-pagination button { flex: 0 0 auto; }
  .case-contact-band .btn { width: 100%; margin-top: 22px; }
}
