.btn {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 15px 22px;
  min-height: 56px;
  font-size: 18px;
  font-weight: 700;
  border-radius: 18px;
  background: var(--green);
  color: var(--deep);
  box-shadow: 0 5px 0 var(--ledge);
  text-decoration: none;
  border: 2px solid var(--green);
  transition: transform 90ms linear, box-shadow 90ms linear;
}
.btn:hover { background: var(--lime); border-color: var(--lime); }
.btn:active { transform: translateY(4px); box-shadow: 0 1px 0 var(--ledge); }
.btn > span { flex: 0 0 auto; }
.skip { position: absolute; top: 10px; left: 20px; z-index: 10; padding: 12px 18px; min-height: 48px; background: var(--paper); border: 2px solid var(--deep); border-radius: 12px; transform: translateY(-180%); }
.skip:focus { transform: none; }
.jump { align-self: start; border: 2px solid var(--line); border-radius: 20px; background: var(--paper); width: 100%; font-size: 17px; }
.jump summary { padding: 16px; min-height: 56px; cursor: pointer; font-weight: 700; }
.jump ul { list-style: none; padding: 0 8px 8px; }
.jump a { display: flex; align-items: center; padding: 12px; min-height: 48px; border-radius: 12px; text-decoration: none; }
.jump a:hover, .jump a.is-here { background: var(--tile); }
.jump a[aria-current="location"] { box-shadow: inset 4px 0 0 var(--ledge); font-weight: 700; }
.back { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 10px 16px; font-size: 18px; border-radius: 12px; }
.back:hover { background: var(--tile); }
@media (min-width: 920px) {
  .jump { position: sticky; top: 28px; }
}
@media (max-width: 640px) {
  .btn { width: 100%; padding: 15px 18px; }
}
