/* ============================================================
   APPLICATIONS — industry sections: sticky image left, scrolling content right,
   sections sticky-stack so each one is covered by the next on scroll.
   All ink grounds. App cards reuse .psvc-sub.
   ============================================================ */
.appx { position: sticky; top: 0; background: var(--ink); padding: 0; }
.appx-grid { display: grid; grid-template-columns: 0.95fr 1.05fr; gap: clamp(18px,2vw,40px);
  padding: 0 36px; align-items: start; }
.appx-media { position: sticky; top: var(--s6); align-self: stretch; margin: 36px 0; min-height: clamp(360px,46vw,560px); max-height: calc(100svh - 2 * var(--s6));
  border: 1px solid var(--line-d); overflow: hidden; background: rgba(255,255,255,.04); }
.appx-media image-slot { display: block; width: 100%; height: 100%; }
.appx-body { padding: 36px 0 36px clamp(28px,3vw,56px); border-left: 1px solid var(--line-d); display: flex; flex-direction: column; gap: var(--s5); min-width: 0; }
.appx-idx { font-family: var(--mono); font-size: 13px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--coral); }
.appx-name { font-family: var(--sans); font-weight: 600; font-stretch: 80%; font-size: clamp(36px,5vw,72px);
  line-height: 0.95; letter-spacing: -0.03em; color: var(--paper); }
.appx-lede { font-size: clamp(16px,1.3vw,20px); line-height: 1.45; color: rgba(255,255,255,.74); max-width: 44ch; text-wrap: pretty; }
.appx-body .btn { align-self: flex-start; }
.appx-apps { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--line-d); margin-top: var(--s4); margin-left: calc(-1 * clamp(28px,3vw,56px)); margin-right: -36px; }
.appx-apps .psvc-sub { border-right: 1px solid var(--line-d); border-bottom: 1px solid var(--line-d); min-height: clamp(104px,9vw,132px); justify-content: center; }
.appx-apps .psvc-sub:nth-child(2n) { border-right: 0; }
.appx-apps .psvc-sub { cursor: default; }
.appx-apps .psvc-sub:hover { background: transparent; }
.appx-apps .psvc-sub:hover .st { color: var(--paper); }
.appx-apps .psvc-sub:hover .sd { color: rgba(255,255,255,.55); }
@media (max-width: 860px){
  .appx { position: static; }
  .appx-grid { grid-template-columns: 1fr; gap: var(--s6); }
  .appx-media { position: static; height: clamp(280px,60vw,420px); }
  .appx-body { padding: var(--s7) 0; border-left: 0; }
  .appx-apps { margin-left: -36px; margin-right: -36px; }
}
@media (max-width: 520px){ .appx-apps { grid-template-columns: 1fr; } .appx-apps .psvc-sub { border-right: 0; border-left: 0; } }
/* lone final cell (odd count) spans full width so no divider dangles mid-row */
.appx-apps .psvc-sub:last-child:nth-child(odd) { grid-column: 1 / -1; border-right: 0; }

/* industries hero: content left, stats right; separator aligns with the section dividers below */
.wk-statement--ind { min-height: 50vh; }
.wk-statement--ind .wks-inner { position: relative; display: grid; grid-template-columns: 0.95fr 1.05fr; column-gap: clamp(18px,2vw,40px); align-items: stretch; min-height: 50vh; padding: 36px 36px 0; }
.wk-statement--ind .wks-vline { display: none; }
.wk-statement--ind .wks-main { grid-column: 1; grid-template-columns: 1fr; display: grid; align-content: center; }
.wk-statement--ind .wks-head { grid-column: 1; align-items: flex-start; text-align: left; padding-left: 0; }
.wk-statement--ind .wks-title { max-width: 16ch; margin-inline: 0; }
.wk-statement--ind .wks-lede { max-width: 42ch; margin-inline: 0; }
.wk-statement--ind .wks-band { grid-column: 2; display: flex; flex-direction: column; justify-content: flex-end; align-self: stretch; border-top: 0; border-left: 1px solid var(--line-d); margin-top: 0; padding: 0 0 36px clamp(28px,3vw,56px); }
.wk-statement--ind .wks-stats { grid-column: auto; align-self: flex-end; text-align: left; }
@media (max-width: 760px){
  .wk-statement--ind .wks-inner { display: flex; flex-direction: column; grid-template-columns: 1fr; min-height: 64vh; padding: clamp(86px,14vh,140px) 0 0; }
  .wk-statement--ind .wks-main { grid-column: 1; flex: 1 1 auto; padding-left: var(--s6); padding-right: var(--s6); }
  .wk-statement--ind .wks-band { grid-column: 1; margin-top: auto; border-left: 0; padding-left: 0;
    border-top: 1px solid rgba(255,255,255,.22); padding-top: clamp(18px,4vw,28px); }
  .wk-statement--ind .wks-stats { display: flex; flex-wrap: nowrap; width: 100%;
    padding-left: var(--s6); padding-right: var(--s6); gap: clamp(12px,3vw,28px); }
  .wk-statement--ind .wks-stat { flex: 1 1 0; min-width: 0; }
  .wk-statement--ind .wks-stat .n { font-size: clamp(26px,8vw,42px); }
}
