  /* Hero: centered variant (industry template) */
  .cs-hero-overlay--center .wrap { text-align: center; }
  .cs-hero-overlay--center .cs-title { max-width: 22ch; margin-inline: auto; }
  .cs-hero-overlay--center .cs-title .cs-wipe-line { margin-inline: auto; }
  .cs-hero-overlay--center .cs-sub { margin-left: auto; margin-right: auto; }
  .cs-hero-overlay--center .cs-hero-cta { display: flex; justify-content: center; gap: 14px; flex-wrap: wrap; }

  /* Applications — full-bleed module: Service tabs + Discipline filter */
  .ind-apps { padding-bottom: 0; }
  .ind-apps > .wrap { max-width: none; }
  .ind-apps .appcat-tabs { display: flex; flex-wrap: wrap; gap: 20px clamp(18px,3vw,40px);
    border-top: 1px solid var(--line-d); border-bottom: 1px solid transparent;
    padding: clamp(22px,2.6vw,32px) var(--s6) 0; margin: clamp(28px,4vw,46px) 0 0;
    transition: border-color .3s ease; }
  .ind-apps.disc-open .appcat-tabs { border-bottom-color: var(--line-d); }
  .ind-apps .apptab { position: relative; background: none; border: 0; cursor: pointer; padding: 0 0 16px;
    font-family: var(--sans); font-weight: 600; font-size: clamp(16px,1.5vw,21px); letter-spacing: -0.01em;
    color: rgba(255,255,255,.5); transition: color .2s; display: inline-flex; align-items: baseline; gap: 7px; }
  .ind-apps .apptab:hover { color: var(--paper); }
  .ind-apps .apptab.on { color: var(--paper); }
  .ind-apps .apptab::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px;
    background: var(--coral); transform: scaleX(0); transform-origin: left; transition: transform .25s cubic-bezier(.16,.84,.3,1); }
  .ind-apps .apptab.on::after { transform: scaleX(1); }
  .ind-apps .apptab-n { font-family: var(--mono); font-weight: 400; font-size: 11px; letter-spacing: 0.04em; color: var(--coral); }
  .ind-apps .appcat-discrow { display: flex; flex-wrap: wrap; gap: 8px; align-items: center;
    padding: 0 var(--s6); max-height: 0; opacity: 0; overflow: hidden;
    transition: max-height .3s cubic-bezier(.16,.84,.3,1), opacity .3s ease, padding-top .3s cubic-bezier(.16,.84,.3,1); }
  .ind-apps .appcat-discrow.is-open { opacity: 1; padding-top: clamp(20px,2.6vw,28px); padding-bottom: clamp(20px,2.4vw,26px); }
  .ind-apps .appcat-disc-chips { display: flex; flex-wrap: wrap; gap: 8px; }
  .ind-apps .filter-label { font-family: var(--mono); font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: rgba(255,255,255,.45); }
  .ind-apps .fchip { font-family: var(--mono); font-size: 11px; letter-spacing: 0.06em; text-transform: uppercase;
    padding: 7px 12px; border: 1px solid rgba(255,255,255,.22); color: rgba(255,255,255,.78); background: transparent; cursor: pointer; transition: background .18s, color .18s, border-color .18s; }
  .ind-apps .fchip:hover { border-color: var(--paper); color: var(--paper); }
  .ind-apps .fchip.on { background: var(--coral); border-color: var(--coral); color: var(--ink); }
  .ind-apps .appcat-count { font-family: var(--mono); font-size: 11px; letter-spacing: 0.08em; color: rgba(255,255,255,.42); margin-left: 4px; }

  /* Split layout — sticky industry image left, formatted application list right */
  .appcat-split { display: grid; grid-template-columns: minmax(0,0.8fr) minmax(0,1fr);
    border-top: 1px solid var(--line-d); margin-top: 0; }
  .appcat-media { position: relative; border-right: 1px solid var(--line-d); }
  .appcat-media-inner { position: sticky; top: 0; height: 100vh; }
  .appcat-media image-slot { position: absolute; inset: 0; display: block; width: 100%; height: 100%;
    opacity: 0; pointer-events: none; transition: opacity .45s ease; }
  .appcat-media image-slot.is-active { opacity: 1; pointer-events: auto; }

  .appcat-list { display: flex; flex-direction: column; position: relative; }
  .appcat { position: relative; display: grid; grid-template-columns: 1fr 30px; column-gap: clamp(16px,1.6vw,26px);
    align-items: start; padding: clamp(17px,1.7vw,24px) clamp(22px,2vw,34px);
    border-bottom: 1px solid var(--line-d); text-decoration: none; background: var(--ink);
    transition: background .2s ease, opacity .34s ease, transform .34s cubic-bezier(.16,.84,.3,1); }
  .appcat.anim-in { opacity: 0; transform: translateY(8px); }
  .appcat.anim-out { opacity: 0; transform: translateY(5px); }
  .appcat--exiting { z-index: 1; width: 100%; }
  .appcat--flip { transition: transform .36s cubic-bezier(.16,.84,.3,1) !important; }
  .appcat:hover { background: rgba(255,255,255,.04); }
  .appcat h4 { grid-column: 1; font-weight: 600; font-size: clamp(17px,1.4vw,21px); letter-spacing: -0.01em;
    line-height: 1.1; color: var(--paper); transition: color .18s; }
  .appcat:hover h4 { color: var(--coral); }
  .appcat-desc { grid-column: 1; margin-top: 7px; font-size: 13px; line-height: 1.5; color: rgba(255,255,255,.56); text-wrap: pretty; }
  .appcat-meta { grid-column: 1; margin-top: 9px; font-family: var(--mono); font-size: 11px; letter-spacing: 0.03em; line-height: 1.5; color: rgba(255,255,255,.5); }
  .appcat-meta .meta-svc { color: var(--coral); }
  .appcat-meta .meta-sep { color: rgba(255,255,255,.3); }
  .appcat::after { content: "\2192"; grid-column: 2; grid-row: 1 / -1; align-self: center; justify-self: end;
    font-family: var(--mono); font-size: 15px; color: rgba(255,255,255,.3);
    transform: translateX(-5px); opacity: 0; transition: transform .2s cubic-bezier(.16,.84,.3,1), opacity .2s, color .2s; }
  .appcat:hover::after { opacity: 1; transform: translateX(0); color: var(--coral); }
  .appcat[hidden] { display: none; }
  /* "All" view — low-profile: drop the service/discipline meta line */
  .appcat-list.is-all .appcat-meta { display: none; }
  /* Service sub-headers — only shown in the "All" grouped view */
  .appcat-group { display: none; padding: clamp(20px,2vw,28px) clamp(22px,2vw,34px) 10px;
    border-bottom: 1px solid var(--line-d); background: var(--ink); }
  .appcat-list.is-all .appcat-group { display: block; }
  .appcat-list.is-all .appcat-group:first-child { padding-top: clamp(16px,1.6vw,22px); }
  .appcat-group span { font-family: var(--mono); font-size: 11px; letter-spacing: 0.16em;
    text-transform: uppercase; color: var(--coral); }
  /* Relevant Work — bottom border to close the section on this page */
  #work { border-bottom: 1px solid var(--line-d); }

  @media (max-width: 860px){
    .appcat-split { grid-template-columns: 1fr; }
    .appcat-media { border-right: 0; border-bottom: 1px solid var(--line-d); }
    .appcat-media-inner { position: relative; top: 0; height: clamp(220px,44vw,340px); }
    .ind-apps .filter-label { min-width: 0; width: 100%; }
  }
