/* One download action across the desktop, landing sections and guides.
   Placement controls size; shape, colour and interaction stay consistent. */
:is(#hero, #below, body) a:is(.cta, .sh-buy, .btn)[href$=".dmg"] {
  border-radius: 999px;
  color: #fff;
  -webkit-text-fill-color: currentColor;
  background: linear-gradient(180deg, #408cff 0%, #007aff 46%, #0064d2 100%);
  box-shadow: 0 6px 20px #007aff30, inset 0 1px 0 #ffffff70, inset 0 0 0 1px #ffffff30;
  text-align: center;
  text-decoration: none;
  transition: filter .16s ease, box-shadow .16s ease;
}
:is(#hero, #below, body) a:is(.cta, .sh-buy, .btn)[href$=".dmg"]:hover {
  filter: brightness(1.07);
  box-shadow: 0 8px 24px #007aff40, inset 0 1px 0 #ffffff70, inset 0 0 0 1px #ffffff30;
}
:is(#hero, #below, body) a:is(.cta, .sh-buy, .btn)[href$=".dmg"]:active {
  filter: brightness(.94);
}
:is(#hero, #below, body) a:is(.cta, .sh-buy, .btn)[href$=".dmg"]:focus-visible {
  outline: 2px solid #007aff;
  outline-offset: 4px;
}
@media (prefers-reduced-motion: reduce) {
  :is(#hero, #below, body) a:is(.cta, .sh-buy, .btn)[href$=".dmg"] { transition: none; }
}
