/* Shared layout for customer case detail pages. */

.case-study {
  --case-accent: #1677ff;
  --case-accent-soft: #e9f3ff;
  --case-hero: none;
}

.case-study--senseauto { --case-accent: #1677ff; --case-hero: url("/assets/images/cases/detail-heroes/senseauto-hero.webp"); }
.case-study--robot { --case-accent: #1a78f2; --case-hero: url("/assets/images/cases/detail-heroes/daxiao-robot-hero.webp"); }
.case-study--tobacco { --case-accent: #1473ec; --case-hero: url("/assets/images/cases/detail-heroes/henan-tobacco-hero.webp"); }
.case-study--aviation { --case-accent: #126dde; --case-hero: url("/assets/images/cases/detail-heroes/china-eastern-hero.webp"); }
.case-study--restaurant { --case-accent: #126fe8; --case-hero: url("/assets/images/cases/detail-heroes/mcdonalds-hero.webp"); }
.case-study--idc-sre { --case-accent: #126fe8; --case-hero: url("/assets/images/cases/detail-heroes/mcdonalds-idc-sre-hero.webp"); }
.case-study--idc-msp { --case-accent: #126fe8; --case-hero: url("/assets/images/cases/detail-heroes/idc-msp-hero.webp"); }

.case-study__hero {
  height: 430px;
  min-height: 430px;
  overflow: hidden;
  color: #fff;
  background-color: #03183e;
  background-image: var(--case-hero);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.case-study__hero-inner {
  height: 430px;
  min-height: 430px;
  display: flex;
  align-items: center;
}

.case-study__hero-copy {
  position: relative;
  z-index: 1;
  width: min(670px, 47%);
  text-shadow: 0 3px 18px rgba(0, 12, 39, .34);
}

.case-study__eyebrow {
  display: block;
  color: #78bdff;
  font-weight: 700;
  letter-spacing: .12em;
}

.case-study__tag {
  min-height: 26px;
  margin-top: 12px;
  display: inline-flex;
  align-items: center;
  padding: 3px 12px;
  color: #fff;
  border-radius: 16px;
  background: var(--case-accent);
  font-style: normal;
  font-weight: 700;
}

.case-study__hero h1 {
  margin: 13px 0 10px;
  line-height: 1.3;
}

.case-study__hero h2 {
  margin: 0;
  font-weight: 500;
  line-height: 1.55;
}

.case-study__hero p {
  max-width: 610px;
  margin: 17px 0 0;
  color: #c8daef;
  line-height: 1.8;
}

.case-study__section {
  padding: 64px 0 70px;
  background: #fff;
}

.case-study__section--soft {
  background:
    radial-gradient(circle at 0 0, rgba(47, 139, 255, .08), transparent 28%),
    linear-gradient(180deg, #f3f8ff, #eaf4ff 58%, #f6faff);
}

.case-study__section--deep {
  color: #fff;
  background:
    radial-gradient(circle at 84% 16%, rgba(28, 128, 255, .24), transparent 34%),
    linear-gradient(135deg, #05275f, #031a43);
}

.case-study__heading {
  margin-bottom: 36px;
  text-align: center;
}

.case-study__heading h2 {
  margin: 0;
  color: #142f5b;
}

.case-study__heading h2::before,
.case-study__heading h2::after {
  width: 54px;
  height: 1px;
  margin: 0 18px 6px;
  display: inline-block;
  content: "";
  background: linear-gradient(90deg, transparent, var(--case-accent));
}

.case-study__heading h2::after {
  transform: rotate(180deg);
}

.case-study__heading--no-leading h2::before {
  display: none;
}

.case-study__heading p {
  margin: 13px 0 0;
  color: #7a899d;
  line-height: 1.75;
}

.case-study__section--deep .case-study__heading h2 { color: #fff; }
.case-study__section--deep .case-study__heading p { color: #adc5e2; }

.case-study__intro {
  display: grid;
  grid-template-columns: minmax(0, 47fr) minmax(0, 53fr);
  gap: 24px;
}

.case-study__profile,
.case-study__panel,
.case-study__card {
  border: 1px solid #d4e2f3;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(26, 76, 139, .07);
}

.case-study__profile {
  min-height: 100%;
  position: relative;
  overflow: hidden;
  padding: 30px 32px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background:
    radial-gradient(circle at 0 0, rgba(18, 111, 232, .07), transparent 38%),
    linear-gradient(145deg, #fff 35%, #f8fbff);
}

.case-study__profile-mark {
  margin-bottom: 18px;
  padding-bottom: 16px;
  display: flex;
  align-items: center;
  gap: 12px;
  border-bottom: 1px solid #e3edf8;
}

.case-study__profile-mark::before {
  width: 4px;
  height: 22px;
  flex: 0 0 auto;
  border-radius: 999px;
  content: "";
  background: linear-gradient(180deg, var(--case-accent), #5ca9ff);
}

.case-study__profile-mark b {
  width: 62px;
  height: 62px;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  color: #fff;
  border-radius: 17px;
  background: linear-gradient(145deg, var(--case-accent), #09b8ef);
  box-shadow: 0 10px 24px rgba(20, 111, 229, .2);
}

.case-study__profile h3 {
  margin: 0;
  color: #173965;
  font-size: 20px;
  line-height: 1.4;
  letter-spacing: .01em;
}

.case-study__profile p {
  margin: 0;
  color: #5f7289;
  font-size: 15px;
  line-height: 1.88;
  text-indent: 2em;
}

.case-study__profile p + p {
  margin-top: 12px;
}

.case-study__facts {
  display: grid;
  gap: 12px;
}

.case-study__fact {
  min-height: 86px;
  padding: 17px 21px;
  display: grid;
  grid-template-columns: 44px minmax(150px, .75fr) 1.25fr;
  align-items: center;
  gap: 15px;
  border: 1px solid #d8e5f5;
  border-radius: 10px;
  background: linear-gradient(135deg, #fff, #f8fbff);
}

.case-study__fact i,
.case-study__mini-icon {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  color: var(--case-accent);
  border: 1px solid #a9cefb;
  border-radius: 10px;
  background: #f4f9ff;
  font-style: normal;
  font-weight: 700;
}

.case-study__fact strong { color: #193b6a; }
.case-study__fact span { color: #74859a; line-height: 1.65; }

.case-study__fact--plain {
  grid-template-columns: minmax(150px, .75fr) 1.25fr;
}

.case-study__stat-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 13px;
}

.case-study__stat {
  min-height: 134px;
  padding: 21px 12px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  border: 1px solid #d2e2f5;
  border-radius: 11px;
  background: #fff;
  box-shadow: 0 10px 25px rgba(27, 78, 142, .06);
}

.case-study__stat strong { color: var(--case-accent); line-height: 1.1; }
.case-study__stat span { margin-top: 10px; color: #435a78; line-height: 1.55; }

.case-study__grid {
  display: grid;
  gap: 18px;
}

.case-study__grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.case-study__grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.case-study__grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.case-study__grid--5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }

.case-study__card {
  min-width: 0;
  padding: 25px;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.case-study__card:hover {
  transform: translateY(-4px);
  border-color: #9fc8fa;
  box-shadow: 0 17px 34px rgba(28, 83, 151, .12);
}

.case-study__card-top {
  min-height: 48px;
  display: flex;
  align-items: center;
  gap: 13px;
}

.case-study__card h3 { margin: 0; color: #173866; line-height: 1.45; }
.case-study__card p { margin: 13px 0 0; color: #708197; line-height: 1.75; }
.case-study__card ul { margin: 16px 0 0; padding: 0; list-style: none; }
.case-study__card li { position: relative; margin: 9px 0; padding-left: 18px; color: #667991; line-height: 1.65; }
.case-study__card li::before { position: absolute; top: .65em; left: 0; width: 6px; height: 6px; content: ""; border-radius: 50%; background: var(--case-accent); }

.case-study__number {
  color: #b9d4f6;
  font-style: italic;
  font-weight: 800;
}

.case-study__architecture {
  overflow: hidden;
  border: 1px solid #bdd6f5;
  border-radius: 12px;
  background: rgba(255, 255, 255, .84);
  box-shadow: 0 13px 32px rgba(26, 79, 145, .08);
}

.case-study__architecture--overview {
  overflow: visible;
  display: grid;
  gap: 38px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.case-study__architecture--overview .case-study__layer {
  position: relative;
  min-height: 88px;
  border: 1px solid #b9d3f3;
  border-radius: 10px;
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 8px 22px rgba(28, 80, 145, .06);
}

.case-study__architecture--overview .case-study__layer:not(:last-child)::after {
  position: absolute;
  z-index: 2;
  bottom: -31px;
  left: calc(50% - 16px);
  width: 32px;
  height: 25px;
  content: "";
  background: linear-gradient(180deg, #83c0ff, #1a78ee);
  clip-path: polygon(31% 0, 69% 0, 69% 45%, 100% 45%, 50% 100%, 0 45%, 31% 45%);
  filter: drop-shadow(0 3px 4px rgba(21, 105, 216, .2));
}

.case-study__architecture--overview .case-study__layer > strong {
  height: 100%;
  min-height: 64px;
  justify-content: center;
  text-align: center;
  background: linear-gradient(90deg, #eaf4ff, #f7fbff);
}

.case-study__architecture--overview .case-study__layer--active {
  background: rgba(255, 255, 255, .96);
}

.case-study__architecture--overview .case-study__layer--active > strong {
  background: linear-gradient(90deg, #dcecff, #edf6ff);
}

.case-study__architecture--overview .case-study__chip {
  min-height: 42px;
  background: #f4f8fd;
}

.case-study__architecture--overview .case-study__layer--active .case-study__chip {
  color: #156bd8;
  border-color: #75aff5;
  background: #fff;
  box-shadow: inset 0 0 0 1px #b9d7fa;
}

.case-study__layer {
  min-height: 72px;
  padding: 11px 16px;
  display: grid;
  grid-template-columns: 220px 1fr;
  align-items: center;
  gap: 18px;
  border-bottom: 1px solid #d7e5f6;
}

.case-study__layer:last-child { border-bottom: 0; }

.case-study__layer > strong {
  height: 46px;
  display: flex;
  align-items: center;
  padding: 0 18px;
  color: #156bd8;
  border-radius: 7px;
  background: linear-gradient(90deg, #dcecff, #f0f7ff);
}

.case-study__layer--active {
  background: linear-gradient(90deg, rgba(210, 232, 255, .62), rgba(255, 255, 255, .9));
}

.case-study__chips {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 9px;
}

.case-study__chips--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.case-study__chips--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.case-study__chips--6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }

.case-study__chip {
  min-height: 38px;
  padding: 7px 10px;
  display: grid;
  place-items: center;
  color: #526a88;
  text-align: center;
  border: 1px solid #d5e3f3;
  border-radius: 6px;
  background: #fff;
  line-height: 1.5;
}

.case-study__service {
  min-height: 278px;
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(190px, .8fr);
  gap: 18px;
  align-items: center;
}

.case-study__service-visual {
  min-height: 190px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background:
    radial-gradient(circle at 50% 46%, rgba(38, 139, 255, .28), transparent 44%),
    linear-gradient(145deg, #f6faff, #e7f2ff);
}

.case-study__service-visual b {
  width: 112px;
  height: 112px;
  display: grid;
  place-items: center;
  color: #fff;
  border: 12px solid rgba(255, 255, 255, .75);
  border-radius: 29px;
  background: linear-gradient(145deg, #29a6ff, #0a5ed9);
  box-shadow: 0 16px 35px rgba(18, 104, 222, .26);
}

.case-study__service-image,
.case-study__card-image,
.case-study__module-image {
  display: block;
  max-width: 100%;
  object-fit: contain;
  border: 1px solid #d8e7f7;
  border-radius: 12px;
  background: #fff;
}

.case-study__service-image {
  width: 100%;
  height: 190px;
}

.case-study__card-image {
  width: 100%;
  height: 145px;
  margin-top: 18px;
}

.case-study__module-image {
  width: 100%;
  max-height: 340px;
  margin: 0 auto 24px;
  box-shadow: 0 13px 32px rgba(26, 79, 145, .08);
}

.case-study__module-image--architecture {
  width: min(100%, 920px);
  max-height: none;
  margin-bottom: 0;
}

.case-study__module-image--operations {
  width: min(100%, 920px);
  max-height: none;
  margin-bottom: 0;
}

.case-study__module-image--continuity {
  width: min(100%, 1100px);
  max-height: none;
  margin-bottom: 0;
}

.case-study__module-image--financial {
  width: min(100%, 1100px);
  max-height: none;
  margin-bottom: 0;
}

.case-study__chain-image {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
}

.case-study__chain-image--managed-service {
  max-width: 900px;
  margin-right: auto;
  margin-left: auto;
}

.case-study--restaurant .case-study__module-image,
.case-study--restaurant .case-study__chain-image {
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.case-study--idc-sre .case-study__module-image {
  width: min(100%, 1120px);
  max-height: none;
  margin-bottom: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.case-study__flow {
  position: relative;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(var(--flow-count, 5), minmax(0, 1fr));
  list-style: none;
}

.case-study__flow--6 { --flow-count: 6; }

.case-study__flow::before {
  position: absolute;
  z-index: 0;
  top: 26px;
  right: calc(50% / var(--flow-count, 5));
  left: calc(50% / var(--flow-count, 5));
  height: 2px;
  content: "";
  background: linear-gradient(90deg, #a4c9f8, var(--case-accent), #a4c9f8);
}

.case-study__flow li {
  position: relative;
  z-index: 1;
  padding: 0 10px;
  text-align: center;
}

.case-study__flow b {
  width: 54px;
  height: 54px;
  margin: 0 auto 14px;
  display: grid;
  place-items: center;
  color: #fff;
  border: 6px solid #fff;
  border-radius: 50%;
  background: var(--case-accent);
  box-shadow: 0 0 0 1px #a9cdf8;
}

.case-study__flow h3 { margin: 0 0 8px; color: #193965; line-height: 1.55; }
.case-study__flow p { margin: 0; color: #7a8a9e; line-height: 1.65; }

.case-study__capability-flow {
  display: grid;
  grid-template-columns: repeat(var(--cap-count, 5), minmax(0, 1fr));
  align-items: stretch;
  gap: 12px;
}

.case-study__capability-flow--3 { --cap-count: 3; }
.case-study__capability-flow--4 { --cap-count: 4; }
.case-study__support-grid { margin-top: 20px; }
.case-study__note { margin: 18px 0 0; color: #7a899d; }

.case-study__capability-flow article {
  position: relative;
  min-height: 160px;
  padding: 22px 14px;
  text-align: center;
  border: 1px solid #d2e2f5;
  border-radius: 11px;
  background: #fff;
}

.case-study__capability-flow article:not(:last-child)::after {
  position: absolute;
  top: 50%;
  right: -17px;
  width: 22px;
  height: 2px;
  content: "";
  background: var(--case-accent);
}

.case-study__capability-flow i { margin: 0 auto 14px; }
.case-study__capability-flow h3 { margin: 0 0 8px; color: #173965; }
.case-study__capability-flow p { margin: 0; color: #78899e; line-height: 1.65; }

.case-study__matrix {
  width: 100%;
  overflow: hidden;
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid #c8dcf4;
  border-radius: 10px;
  background: #fff;
}

.case-study__matrix th,
.case-study__matrix td {
  padding: 15px 18px;
  text-align: center;
  border-right: 1px solid #dce8f6;
  border-bottom: 1px solid #dce8f6;
  line-height: 1.65;
}

.case-study__matrix th {
  color: #fff;
  background: linear-gradient(90deg, #1677ff, #0c65dd);
}

.case-study__matrix td { color: #5e718b; }
.case-study__matrix td:first-child { color: #244a79; font-weight: 700; }
.case-study__matrix tr:last-child td { border-bottom: 0; }
.case-study__matrix th:last-child,
.case-study__matrix td:last-child { border-right: 0; }

.case-study__value {
  min-height: 185px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.case-study__value .case-study__mini-icon {
  width: 52px;
  height: 52px;
  margin-bottom: 15px;
}

/* China Eastern / OceanBase case */
.case-study__aviation-requirements,
.case-study__aviation-values {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.case-study__aviation-requirements article,
.case-study__aviation-values article {
  min-height: 208px;
  padding: 28px 22px;
  text-align: center;
  border: 1px solid #d6e5f6;
  border-radius: 12px;
  background: rgba(255, 255, 255, .92);
  box-shadow: 0 12px 28px rgba(26, 79, 145, .06);
  transition: transform .2s ease, border-color .2s ease;
}

.case-study__aviation-requirements article:hover,
.case-study__aviation-values article:hover {
  transform: translateY(-4px);
  border-color: #9fc9f8;
}

.case-study__aviation-requirements h3,
.case-study__aviation-values h3 {
  margin: 17px 0 0;
  color: #173a68;
}

.case-study__aviation-requirements p,
.case-study__aviation-values p {
  margin: 10px 0 0;
  color: #74869c;
  line-height: 1.7;
}

.case-study__aviation-requirements--plain article {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.case-study__aviation-requirements--plain h3 {
  margin-top: 0;
}

.case-study__aviation-icon {
  position: relative;
  width: 54px;
  height: 54px;
  margin: 0 auto;
  display: block;
  border: 1px solid #a8cff9;
  border-radius: 14px;
  background: linear-gradient(145deg, #f7fbff, #e8f4ff);
  box-shadow: 0 8px 18px rgba(19, 111, 225, .12);
}

.case-study__aviation-icon::before,
.case-study__aviation-icon::after {
  position: absolute;
  content: "";
}

.case-study__aviation-icon--globe::before {
  inset: 13px;
  border: 2px solid var(--case-accent);
  border-radius: 50%;
  background:
    linear-gradient(90deg, transparent 45%, var(--case-accent) 46% 54%, transparent 55%),
    linear-gradient(0deg, transparent 45%, var(--case-accent) 46% 54%, transparent 55%);
}

.case-study__aviation-icon--globe::after {
  top: 13px;
  bottom: 13px;
  left: 21px;
  width: 10px;
  border-right: 1px solid var(--case-accent);
  border-left: 1px solid var(--case-accent);
  border-radius: 50%;
}

.case-study__aviation-icon--pulse::before {
  top: 25px;
  right: 9px;
  left: 9px;
  height: 2px;
  background: var(--case-accent);
}

.case-study__aviation-icon--pulse::after {
  top: 18px;
  left: 15px;
  width: 22px;
  height: 15px;
  border-bottom: 3px solid var(--case-accent);
  border-left: 3px solid var(--case-accent);
  transform: skew(-28deg) rotate(-27deg);
}

.case-study__aviation-icon--shield::before {
  top: 11px;
  left: 15px;
  width: 24px;
  height: 29px;
  border: 2px solid var(--case-accent);
  border-radius: 11px 11px 15px 15px;
  clip-path: polygon(50% 0, 100% 18%, 88% 75%, 50% 100%, 12% 75%, 0 18%);
}

.case-study__aviation-icon--shield::after {
  top: 24px;
  left: 22px;
  width: 10px;
  height: 6px;
  border-bottom: 2px solid var(--case-accent);
  border-left: 2px solid var(--case-accent);
  transform: rotate(-45deg);
}

.case-study__aviation-icon--expand::before {
  inset: 14px;
  border: 2px solid var(--case-accent);
  border-radius: 5px;
}

.case-study__aviation-icon--expand::after {
  inset: 9px;
  background:
    linear-gradient(135deg, var(--case-accent) 0 2px, transparent 2px) left top / 12px 12px no-repeat,
    linear-gradient(-135deg, var(--case-accent) 0 2px, transparent 2px) right top / 12px 12px no-repeat,
    linear-gradient(45deg, var(--case-accent) 0 2px, transparent 2px) left bottom / 12px 12px no-repeat,
    linear-gradient(-45deg, var(--case-accent) 0 2px, transparent 2px) right bottom / 12px 12px no-repeat;
}

.case-study__aviation-solution-image,
.case-study__aviation-platform-image,
.case-study__aviation-migration-image,
.case-study__aviation-fallback-image,
.case-study__aviation-ha-image {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
}

.case-study__aviation-pair {
  display: grid;
  grid-template-columns: minmax(0, 1.14fr) minmax(0, .86fr);
  gap: 22px;
}

.case-study__aviation-module {
  min-width: 0;
  padding: 28px;
  border: 1px solid #ccdef3;
  border-radius: 13px;
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 13px 30px rgba(26, 79, 145, .07);
}

.case-study__aviation-optimization {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
}

.case-study__aviation-optimization article {
  min-height: 132px;
  padding: 20px 14px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
  border: 1px solid #d3e3f5;
  border-radius: 11px;
  background: linear-gradient(180deg, #fff, #f7fbff);
  box-shadow: 0 10px 24px rgba(25, 78, 143, .06);
}

.case-study__aviation-optimization h3 { margin: 0; color: #173b69; line-height: 1.5; }
.case-study__aviation-optimization p { margin: 8px 0 0; color: #7a8a9f; line-height: 1.6; }

.case-study__aviation-values article {
  min-height: 165px;
  padding: 24px 20px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: #fff;
}

.case-study__aviation-values h3 { margin-top: 0; }

.case-study__cta {
  padding: 42px 0;
  color: #fff;
  background:
    radial-gradient(circle at 15% 50%, rgba(37, 143, 255, .2), transparent 28%),
    linear-gradient(100deg, #06265b, #074caa);
}

.case-study__cta-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
}

.case-study__cta h2 { margin: 0; line-height: 1.45; }
.case-study__cta p { margin: 8px 0 0; color: #c4daf2; line-height: 1.7; }
.case-study__cta .button { color: #126ee7; background: #fff; }

@media (max-width: 960px) {
  .case-study__hero-copy { width: 55%; }
  .case-study__stat-grid { grid-template-columns: repeat(3, 1fr); }
  .case-study__grid--4,
  .case-study__grid--5 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .case-study__service { grid-template-columns: 1fr; }
  .case-study__service-visual { min-height: 160px; }
  .case-study__service-image { height: auto; max-height: 270px; }
  .case-study__layer { grid-template-columns: 175px 1fr; }
  .case-study__chips--5,
  .case-study__chips--6 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .case-study__flow li { padding-right: 5px; padding-left: 5px; }
  .case-study__aviation-requirements,
  .case-study__aviation-values { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .case-study__aviation-pair { grid-template-columns: 1fr; }
  .case-study__aviation-optimization { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 700px) {
  .case-study__hero,
  .case-study__hero-inner {
    height: 430px;
    min-height: 430px;
  }

  .case-study__hero {
    background-image:
      linear-gradient(180deg, rgba(2, 20, 54, .98) 0, rgba(2, 20, 54, .94) 61%, rgba(2, 20, 54, .3) 82%),
      var(--case-hero);
    background-position: center, 73% bottom;
    background-size: 100% 100%, auto 205px;
  }

  .case-study__hero-inner { align-items: flex-start; }
  .case-study__hero-copy { width: 100%; padding-top: 28px; text-shadow: none; }
  .case-study__tag { margin-top: 8px; }
  .case-study__hero h1 { margin: 9px 0 7px; }
  .case-study__hero p { max-width: 98%; margin-top: 10px; line-height: 1.65; }
  .case-study__section { padding: 52px 0 56px; }
  .case-study__heading { margin-bottom: 29px; }
  .case-study__heading h2::before,
  .case-study__heading h2::after { width: 26px; margin-right: 8px; margin-left: 8px; }
  .case-study__intro,
  .case-study__grid--2,
  .case-study__grid--3,
  .case-study__grid--4,
  .case-study__grid--5 { grid-template-columns: 1fr; }
  .case-study__profile { padding: 24px 21px; }
  .case-study__fact { grid-template-columns: 40px 1fr; padding: 15px; }
  .case-study__fact span { grid-column: 2; }
  .case-study__fact--plain { grid-template-columns: 1fr; }
  .case-study__fact--plain span { grid-column: 1; }
  .case-study__stat-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
  .case-study__stat { min-height: 124px; padding: 18px 8px; }
  .case-study__card { padding: 21px 19px; }
  .case-study__layer { grid-template-columns: 1fr; gap: 9px; padding: 12px; }
  .case-study__layer > strong { justify-content: center; }
  .case-study__architecture--overview { gap: 42px; }
  .case-study__architecture--overview .case-study__layer { gap: 12px; }
  .case-study__architecture--overview .case-study__layer > strong { min-height: 52px; }
  .case-study__architecture--overview .case-study__layer:not(:last-child)::after { bottom: -34px; }
  .case-study__chips,
  .case-study__chips--3,
  .case-study__chips--4,
  .case-study__chips--6 { grid-template-columns: 1fr 1fr; }
  .case-study__service { min-height: 0; }
  .case-study__service-visual { min-height: 140px; }
  .case-study__service-visual b { width: 96px; height: 96px; }
  .case-study__service-image,
  .case-study__card-image,
  .case-study__module-image { height: auto; max-height: none; }
  .case-study__flow { display: block; padding-left: 62px; }
  .case-study__flow::before { top: 27px; right: auto; bottom: 42px; left: 27px; width: 2px; height: auto; }
  .case-study__flow li { min-height: 112px; padding: 4px 0 24px 16px; text-align: left; }
  .case-study__flow b { position: absolute; top: 0; left: -62px; margin: 0; }
  .case-study__capability-flow { grid-template-columns: 1fr; gap: 10px; }
  .case-study__capability-flow article { min-height: 0; padding: 18px; text-align: left; }
  .case-study__capability-flow article:not(:last-child)::after { top: auto; right: 50%; bottom: -11px; width: 2px; height: 11px; }
  .case-study__capability-flow i { margin: 0 0 10px; }
  .case-study__matrix { display: block; overflow-x: auto; }
  .case-study__matrix table { min-width: 620px; }
  .case-study__matrix th,
  .case-study__matrix td { min-width: 145px; padding: 12px; }
  .case-study__cta-inner { display: block; text-align: center; }
  .case-study__cta .button { margin-top: 22px; }
  .case-study__aviation-requirements,
  .case-study__aviation-values { grid-template-columns: 1fr; }
  .case-study__aviation-requirements article,
  .case-study__aviation-values article { min-height: 0; padding: 23px 20px; }
  .case-study__aviation-module { padding: 21px 17px; }
  .case-study__aviation-optimization { grid-template-columns: 1fr; }
  .case-study__aviation-optimization article { min-height: 0; padding: 21px 17px; }
}
