/* Inline application previews retain the presentation's existing visual style. */
.air-image {
  opacity: 0;
  transition: opacity .3s ease;
}

.air-image.is-visible { opacity: 1; }

.air-content h2 { min-height: 2.6em; }

.air-description { min-height: 5.55em; }

.air-applications button[aria-pressed="true"] {
  color: #fff;
  border-bottom-color: #8ed8bc;
}

.air-applications button:focus-visible {
  outline-color: #8ed8bc;
}

/* Keep all four service targets stationary as their descriptions switch. */
.service-accordion {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: repeat(4, auto) 1fr;
  align-content: start;
}

.service-item { display: contents; }

.service-item > button {
  grid-column: 1;
  border-top: 1px solid var(--line);
}

.service-item:nth-child(1) > button { grid-row: 1; }
.service-item:nth-child(2) > button { grid-row: 2; }
.service-item:nth-child(3) > button { grid-row: 3; }
.service-item:nth-child(4) > button {
  grid-row: 4;
  border-bottom: 1px solid var(--line);
}

.service-body {
  grid-column: 1;
  grid-row: 5;
  min-height: 130px;
  padding-top: 20px;
}

@media print {
  .service-accordion, .service-item { display: block; }
  .service-body { min-height: 0; }
}

@media (max-width: 650px) {
  .air-description { min-height: 7.4em; }
}

@media (prefers-reduced-motion: reduce) {
  .air-image { transition: none; }
}
