/* A single, permanent brand node. Both suffixes reserve the same line box. */
.capability-headline {
  position:relative; display:flex; align-items:baseline; gap:.22em;
  width:max-content; margin-inline:auto; white-space:nowrap;
  font-size:clamp(1rem,5.05vw,4.75rem); line-height:1.18; color:#000;
}
.capability-brand { display:block; flex:none; }
.capability-suffix { display:grid; align-items:start; }
.capability-main,.capability-finale { grid-area:1 / 1; height:1.18em; line-height:1.18; }
.capability-main { flex-direction:row; justify-content:flex-start; align-items:baseline; gap:.22em; }
.capability-finale { text-align:left; white-space:nowrap; }
.capability-window { width:3.65em; text-align:left; }
.capability-headline::after {
  content:""; position:absolute; left:0; right:0; bottom:-.055em;
  height:max(1px,.025em); background:#000; opacity:var(--capability-underline,0);
  pointer-events:none;
}
@media(max-width:760px) {
  .capability-headline { font-size:clamp(1rem,6.1vw,2.9rem); }
  .capability-stage { padding-inline:16px; }
  .capability-main { flex-direction:row; gap:.22em; }
  .capability-window { width:3.65em; text-align:left; }
  .orbit-icon { width:24px; height:24px; margin:-12px; }
  .orbit-icon svg { width:20px; height:20px; }
}
@media(prefers-reduced-motion:reduce) {
  .capability-headline::after { opacity:1; }
}

/* v14: only permission is red; the accepted geometry and motion stay intact. */
.capability-finale .permission-red { color:#d92d35; }
.capability-headline::after { display:none; }
