.global-nav a[aria-current="page"] { color: #23627a; }
.global-nav a[aria-current="page"]::after { right: 0; left: 0; }

.applications-hero { height: var(--hero-second-height); min-height: var(--hero-second-height); position: relative; background: #eaf4f8 url("../assets/applications/applications_hero_petri_dish.webp") center / cover no-repeat; }
.applications-hero::before { width: 57%; height: 100%; position: absolute; inset: 0 auto 0 0; content: ""; background: linear-gradient(90deg, rgba(235,246,250,.98), rgba(235,246,250,.78), transparent); }
.applications-hero__inner { max-width: var(--max); min-height: var(--hero-second-height); margin: 0 auto; padding: 44px 32px; position: relative; display: flex; align-items: center; justify-content: space-between; }
.applications-hero__inner > div, .applications-hero__side { position: relative; z-index: 1; }
.applications-kicker { margin: 0 0 11px; font-size: 13px; letter-spacing: .16em; }
.applications-hero h1 { margin: 0 0 10px; font-size: 34px; line-height: 1.35; font-weight: 400; letter-spacing: .08em; }
.applications-hero__inner > div > p:last-child { margin: 0; font-size: 14px; line-height: 1.7; letter-spacing: .04em; }
.applications-hero__side { margin: 0; padding-right: 18px; font-size: 10px; line-height: 1.55; letter-spacing: .1em; }
.applications-hero__side span { width: 22px; height: 1px; display: block; margin-top: 10px; background: #607b8d; }

.applications-shell { max-width: 940px; margin: 0 auto; }
.applications-row { min-height: 286px; padding: 26px 0; display: grid; grid-template-columns: .87fr 1.2fr; gap: 44px; align-items: center; border-bottom: 1px solid var(--line); }
.applications-row--image-copy { grid-template-columns: 1.2fr .87fr; }
.applications-copy { padding: 0 32px; }
.applications-copy h2 { margin: 0 0 12px; font-size: 29px; line-height: 1.45; font-weight: 400; letter-spacing: .035em; }
.applications-copy > p:not(.applications-kicker) { margin: 0 0 17px; color: #405c70; font-size: 14px; line-height: 1.85; }
.applications-link { min-width: 150px; min-height: 34px; padding: 0 17px; display: inline-flex; align-items: center; justify-content: space-between; border: 1px solid #7891a1; border-radius: 18px; font-size: 12px; transition: color .25s ease, background-color .25s ease, border-color .25s ease, box-shadow .25s ease, transform .25s ease; }
.applications-link span { margin-left: 24px; font: 14px var(--sans); }
.applications-image { min-height: 240px; position: relative; display: block; overflow: hidden; background-repeat: no-repeat; background-size: 105% auto; background-position: center; transition: filter .25s ease, box-shadow .25s ease, transform .25s ease; }
.applications-image--air { background-image: url("../assets/applications/applications_air_environment_city.webp"); }
.applications-image--beauty { background-image: url("../assets/applications/applications_beauty_skin_care.webp"); background-position: center 38%; }
.applications-image--future { background-image: url("../assets/applications/applications_future_water.webp"); }
.applications-image > span { position: absolute; color: rgba(255,255,255,.92); font: 10px/2 var(--sans); letter-spacing: .24em; text-shadow: 0 1px 5px rgba(17,45,55,.2); }
.applications-image--air > span { top: 72px; right: 26px; }
.applications-image--beauty > span { top: 92px; left: 35px; }
.applications-image--future > span { top: 91px; left: 52px; }

.applications-cta { min-height: 245px; position: relative; background: #eaf4f8 url("../assets/applications/applications_contact_mountains.webp") center / cover no-repeat; }
.applications-cta::before { position: absolute; inset: 0; content: ""; pointer-events: none; background: linear-gradient(90deg, rgba(239,248,250,.82) 0%, rgba(239,248,250,.68) 38%, rgba(239,248,250,.28) 66%, transparent 84%); }
.applications-cta__inner { max-width: var(--max); min-height: 245px; margin: 0 auto; padding: 46px 32px; position: relative; z-index: 1; }
.applications-cta h2 { margin: 0 0 14px; font-size: 25px; line-height: 1.45; font-weight: 400; letter-spacing: .04em; }
.applications-cta p { margin: 0 0 17px; color: #405c70; font-size: 14px; line-height: 1.75; }
.applications-cta a { min-width: 150px; min-height: 34px; padding: 0 17px; display: inline-flex; align-items: center; justify-content: space-between; border: 1px solid #7891a1; border-radius: 18px; font-size: 12px; transition: color .25s ease, background-color .25s ease, border-color .25s ease, box-shadow .25s ease, transform .25s ease; }
.applications-cta a span { margin-left: 26px; }
.applications-cta small { position: absolute; top: 104px; right: 44px; color: #7392a4; font: 9px/2 var(--sans); letter-spacing: .25em; }

@media (hover: hover) {
  .applications-link:hover, .applications-cta a:hover { color: #fff; background: #23627a; border-color: #23627a; box-shadow: 0 6px 16px rgba(22,65,84,.18); transform: translateY(-2px); }
  .applications-image[href]:hover { filter: saturate(1.06) brightness(1.02); box-shadow: 0 8px 20px rgba(22,65,84,.16); transform: translateY(-2px); }
}

@media (max-width: 900px) {
  .applications-shell { margin: 0 5vw; }
  .applications-row { gap: 24px; }
  .applications-copy { padding: 0 12px; }
}

@media (max-width: 680px) {
  .applications-hero { height: var(--hero-second-height); min-height: var(--hero-second-height); background-position: 64% center; }
  .applications-hero::before { width: 100%; background: linear-gradient(180deg, rgba(235,246,250,.96), rgba(235,246,250,.58) 58%, rgba(235,246,250,.12)); }
  .applications-hero__inner { height: var(--hero-second-height); min-height: var(--hero-second-height); padding: 42px 7vw; align-items: flex-start; }
  .applications-hero h1 { font-size: 32px; }
  .applications-hero__inner > div > p:last-child { font-size: 16px; }
  .applications-hero__side { display: none; }
  .applications-shell { margin: 0; }
  .applications-row, .applications-row--image-copy { padding: 38px 6vw 44px; display: flex; flex-direction: column; align-items: stretch; gap: 26px; }
  .applications-row--image-copy .applications-image { order: 2; }
  .applications-copy { padding: 0; }
  .applications-copy h2 { font-size: 27px; }
  .applications-copy > p:not(.applications-kicker) { font-size: 16px; }
  .applications-image { width: 100%; min-height: 0; aspect-ratio: 2 / 1; background-size: cover; }
  .applications-image--air > span { top: 26%; right: 5%; }
  .applications-image--beauty > span { top: 35%; left: 6%; }
  .applications-image--future > span { top: 36%; left: 7%; }
  .applications-cta { min-height: 330px; background-position: 62% center; }
  .applications-cta::before { background: linear-gradient(180deg, rgba(239,248,250,.88) 0%, rgba(239,248,250,.72) 62%, rgba(239,248,250,.24) 100%); }
  .applications-cta__inner { min-height: 330px; padding: 43px 7vw; }
  .applications-cta h2 { font-size: 25px; }
  .applications-cta p { max-width: 22em; font-size: 16px; }
  .applications-cta p br { display: none; }
  .applications-cta small { top: auto; right: 7vw; bottom: 25px; }
}
