.industry-application {
  padding: clamp(85px, 8vw, 130px) clamp(24px, 6vw, 110px);
  background: #f4f7fb;
  color: var(--deep);
}

.industry-intro {
  display: grid;
  grid-template-columns: 1.25fr .75fr;
  gap: clamp(40px, 7vw, 100px);
  align-items: end;
  max-width: 1480px;
  margin: 0 auto;
}

.industry-heading h2 {
  margin: 0;
  font-size: clamp(3rem, 4.6vw, 4.9rem);
  line-height: 1.02;
  letter-spacing: -.045em;
}

.industry-heading h2 strong { color: var(--bright); }

.industry-lead {
  margin: 0;
  padding-left: 1.5rem;
  border-left: 3px solid var(--bright);
  color: var(--muted);
  font-size: 1.05rem;
  line-height: 1.7;
}

.industry-directions {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
  max-width: 1480px;
  margin: clamp(55px, 6vw, 85px) auto 0;
}

.industry-directions > a {
  position: relative;
  display: block;
  height: 430px;
  overflow: hidden;
  background: var(--deep);
  color: #fff;
  text-decoration: none;
}

.industry-directions img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(.75) brightness(.72);
  transition: transform .45s ease;
}

.industry-directions > a:nth-child(2) img { object-position: center 15%; }
.industry-directions > a:nth-child(4) img { object-position: center; }
.industry-directions > a:hover img,
.industry-directions > a:focus-visible img { transform: scale(1.035); }

.industry-directions > a::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(5,27,89,.05), rgba(5,27,89,.92));
}

.industry-directions span {
  position: absolute;
  z-index: 2;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 1.7rem;
}

.industry-directions small,
.industry-directions b,
.industry-directions em,
.industry-directions i { display: block; }
.industry-directions small { margin-bottom: .7rem; color: #8ec0ff; font-size: .72rem; font-weight: 800; }
.industry-directions b { font-size: 1.35rem; line-height: 1.18; }
.industry-directions em { min-height: 2.8em; margin-top: .55rem; color: #d4deed; font-size: .78rem; line-height: 1.4; font-style: normal; }
.industry-directions i { margin-top: 1rem; color: #fff; font-size: .62rem; font-weight: 800; letter-spacing: .07em; font-style: normal; }

.industry-cases {
  max-width: 1480px;
  margin: clamp(70px, 8vw, 120px) auto 0;
}

.industry-case {
  scroll-margin-top: 120px;
  display: grid;
  grid-template-columns: minmax(330px, .82fr) minmax(0, 1.8fr);
  margin-top: 1.25rem;
  background: #fff;
  border-top: 4px solid var(--bright);
  box-shadow: 0 18px 45px rgba(5, 27, 89, .08);
}

.industry-case header {
  position: relative;
  overflow: hidden;
  padding: clamp(2rem, 4vw, 3.5rem) clamp(2rem, 4vw, 3.5rem) clamp(5.2rem, 7vw, 6.5rem);
  background: var(--deep);
  color: #fff;
}

.industry-case header::after {
  content: attr(data-case);
  position: absolute;
  right: -.05em;
  bottom: -.24em;
  color: rgba(142, 192, 255, .09);
  font-size: clamp(9rem, 14vw, 15rem);
  font-weight: 900;
  line-height: 1;
  letter-spacing: -.08em;
  pointer-events: none;
}

.industry-case header span,
.industry-case header small { display: block; font-size: .65rem; font-weight: 800; letter-spacing: .1em; }
.industry-case header span { color: #8ec0ff; }
.industry-case header small { margin-top: .65rem; color: #d4deed; }
.industry-case h3 {
  position: relative;
  z-index: 1;
  max-width: 100%;
  margin: 2.2rem 0 0;
  font-size: clamp(1.65rem, 2.35vw, 2.65rem);
  line-height: 1.1;
  letter-spacing: -.035em;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}

.industry-case header em {
  position: absolute;
  z-index: 1;
  left: clamp(2rem, 4vw, 3.5rem);
  bottom: clamp(1.6rem, 3vw, 2.5rem);
  padding-left: 1.8rem;
  color: #8ec0ff;
  font-size: .59rem;
  font-weight: 900;
  letter-spacing: .14em;
  font-style: normal;
}
.industry-case header em::before { content: ""; position: absolute; left: 0; top: 50%; width: 1.2rem; height: 1px; background: #8ec0ff; }

.industry-case header span,
.industry-case header small {
  max-width: 100%;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
  line-height: 1.45;
}
.industry-case header em {
  right: clamp(2rem, 4vw, 3.5rem);
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
  line-height: 1.45;
}

.industry-case-body { padding: clamp(2rem, 4vw, 3.5rem); }
.case-facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0 0 2rem;
  background: #f2f6fb;
  border-left: 3px solid var(--bright);
}
.case-facts span { min-width: 0; padding: 1rem 1.15rem; border-right: 1px solid #dce4ef; }
.case-facts span:last-child { border-right: 0; }
.case-facts small,
.case-facts b { display: block; }
.case-facts small { margin-bottom: .38rem; color: var(--bright); font-size: .56rem; font-weight: 900; letter-spacing: .1em; }
.case-facts b { color: var(--deep); font-size: .75rem; line-height: 1.35; }
.case-brief { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(1.5rem, 3vw, 3.5rem); }
.case-brief b,
.case-results > b { color: var(--bright); font-size: .67rem; letter-spacing: .09em; }
.case-brief p { margin: .8rem 0 0; color: var(--muted); font-size: .88rem; line-height: 1.65; }

.before-after { display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; margin-top: 2rem; }
.before-after figure { margin: 0; overflow: hidden; background: #edf2f8; }
.before-after img { display: block; width: 100%; height: 270px; object-fit: cover; }
.before-after figcaption { min-height: 4.6rem; padding: 1rem 1.15rem; color: var(--muted); font-size: .72rem; line-height: 1.45; }
.before-after figcaption span { display: block; margin-bottom: .3rem; color: var(--deep); font-size: .64rem; font-weight: 900; letter-spacing: .09em; }
.equipment-evidence { grid-template-columns: 1.3fr 1fr 1fr; }
.equipment-evidence figure:first-child { background: #e8eef5; }
.equipment-evidence figure:first-child img { object-position: center; }
.equipment-evidence figure:last-child,
.process-evidence figure:last-child { box-shadow: inset 0 0 0 2px rgba(20, 111, 213, .34); }
.process-evidence { grid-template-columns: 1.3fr 1fr 1fr; }
.process-evidence figure:first-child img { object-position: center 47%; }
.process-evidence figure:nth-child(2) img { object-position: center; }
.process-evidence figure:nth-child(3) { background: var(--deep); }
.process-evidence figure:nth-child(3) img { object-fit: contain; }

.case-results { margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid #dce4ef; }
.case-results ul { display: grid; grid-template-columns: 1fr 1fr; gap: .65rem 2rem; margin: 1rem 0 0; padding: 0; list-style: none; }
.case-results li { position: relative; padding-left: 1rem; color: var(--muted); font-size: .79rem; line-height: 1.5; }
.case-results li::before { content: ""; position: absolute; left: 0; top: .52em; width: 5px; height: 5px; background: var(--bright); }
.case-source-note { margin: 1rem 0 0; color: #6b778b; font-size: .72rem; line-height: 1.55; }

.oilfield-case .industry-case-body { padding-bottom: clamp(2.5rem, 5vw, 4.5rem); }
.oilfield-module {
  margin-top: clamp(2.5rem, 5vw, 4.5rem);
  padding-top: clamp(2.2rem, 4vw, 3.5rem);
  border-top: 2px solid #d8e4f3;
}
.oilfield-module-heading {
  display: grid;
  grid-template-columns: 110px minmax(0, 1fr) auto;
  gap: 1.4rem;
  align-items: start;
  margin-bottom: 2rem;
}
.oilfield-module-heading > span,
.oilfield-module-heading > b {
  padding-top: .35rem;
  color: var(--bright);
  font-size: .62rem;
  font-weight: 900;
  letter-spacing: .1em;
}
.oilfield-module-heading > b {
  padding: .7rem .85rem;
  background: #eaf2fc;
  white-space: nowrap;
}
.oilfield-module-heading small {
  color: var(--bright);
  font-size: .62rem;
  font-weight: 900;
  letter-spacing: .1em;
}
.oilfield-module-heading h4 {
  margin: .5rem 0 0;
  color: var(--deep);
  font-size: clamp(1.55rem, 2.4vw, 2.4rem);
  line-height: 1.12;
  letter-spacing: -.035em;
}
.oilfield-summary {
  margin-top: 2.5rem;
  padding: 1.5rem 1.7rem;
  background: var(--deep);
  color: #fff;
  border-left: 5px solid #58a3ff;
}
.oilfield-summary b {
  color: #8ec0ff;
  font-size: .66rem;
  letter-spacing: .1em;
}
.oilfield-summary p {
  margin: .7rem 0 0;
  color: #d8e3f2;
  font-size: .86rem;
  line-height: 1.65;
}

.industry-note {
  display: grid;
  grid-template-columns: 220px 1fr auto;
  gap: 2rem;
  align-items: center;
  max-width: 1480px;
  margin: 1rem auto 0;
  padding: 1.5rem 1.8rem;
  background: #fff;
  border-left: 4px solid var(--bright);
}

.industry-note > span { color: var(--bright); font-size: .69rem; font-weight: 800; letter-spacing: .1em; }
.industry-note p { margin: 0; color: var(--muted); font-size: .82rem; line-height: 1.55; }
.industry-note a { padding: .9rem 1rem; background: var(--blue); color: #fff; text-decoration: none; font-size: .67rem; font-weight: 800; letter-spacing: .05em; white-space: nowrap; }

@media (max-width: 1100px) {
  .industry-intro { grid-template-columns: 1fr; }
  .industry-lead { padding-left: 0; border-left: 0; }
  .industry-directions { grid-template-columns: 1fr 1fr; }
  .industry-note { grid-template-columns: 1fr; }
  .industry-note a { justify-self: start; }
  .industry-case { grid-template-columns: 1fr; }
}

@media (max-width: 700px) {
  .industry-application { padding: 4.5rem 18px; }
  .industry-heading h2 { font-size: clamp(2.5rem, 11vw, 3.5rem); }
  .industry-directions { grid-template-columns: 1fr; }
  .industry-directions > a { height: 340px; }
  .case-brief,
  .before-after,
  .case-facts,
  .case-results ul { grid-template-columns: 1fr; }
  .case-facts span { border-right: 0; border-bottom: 1px solid #dce4ef; }
  .case-facts span:last-child { border-bottom: 0; }
  .before-after img { height: 230px; }
  .oilfield-module-heading { grid-template-columns: 1fr; gap: .65rem; }
  .oilfield-module-heading > b { justify-self: start; white-space: normal; }
}
