.hh-order-jump {
  display: inline-block;
  margin-top: 1.15rem;
  padding: .65rem 1rem;
  border: 1px solid #d7c6d7;
  border-radius: .65rem;
  background: #fff;
  color: #57374e;
  font-weight: 750;
}

.hh-order-demo {
  margin-bottom: clamp(2.6rem, 6vw, 5rem);
  padding: clamp(.9rem, 4vw, 2.4rem);
  scroll-margin-top: 105px;
  border: 1px solid #e5deea;
  border-radius: 1.25rem;
  background: #fbf9fc;
}

.hh-order-head > p { max-width: 65ch; color: var(--hh-guide-text); }
.hh-order-head .hh-order-kicker {
  margin-bottom: .4rem;
  color: #57374e;
  font-size: .82rem;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.hh-order-head .hh-order-note { margin-top: .4rem; font-size: .85rem; }

.hh-order-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .55rem;
  margin: 1.25rem 0;
}
.hh-order-metrics > div {
  padding: .75rem;
  border: 1px solid #e5deea;
  border-radius: .75rem;
  background: #fff;
}
.hh-order-metrics dt { font-size: .82rem; color: var(--hh-guide-text); }
.hh-order-metrics dd { font-weight: 800; font-variant-numeric: tabular-nums; }
.hh-order-metrics dd span {
  display: block;
  color: var(--hh-guide-text);
  font-size: .8rem;
  font-weight: 500;
}

.hh-order-steps { display: grid; gap: .45rem; }
.hh-order-steps details, .hh-order-cost {
  min-width: 0;
  border: 1px solid #e5deea;
  border-radius: .75rem;
  background: #fff;
}
.hh-order-demo summary {
  min-height: 44px;
  padding: .62rem .8rem;
  border-radius: .7rem;
  color: #57374e;
  cursor: pointer;
  font-weight: 750;
}
.hh-order-demo summary::marker { color: #714b67; }
.hh-order-steps details[open] > summary, .hh-order-demo summary:hover { background: #f5eef6; }
.hh-order-step-number {
  margin: 0 .4rem 0 .25rem;
  color: #714b67;
  font-size: .85em;
  font-variant-numeric: tabular-nums;
}
.hh-order-step-body, .hh-order-cost-body { padding: .8rem; color: var(--hh-guide-text); }
.hh-order-step-body dl {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr);
  gap: .6rem 1.3rem;
  margin-top: .65rem;
}
.hh-order-step-body dt { font-weight: 750; color: var(--hh-guide-ink); }

.hh-order-cost { margin-top: 1.1rem; border-color: #cbb6cb; }
.hh-order-cost > summary { background: #f5eef6; }
.hh-order-cell-label { display: none; }
.hh-order-table-wrap table {
  width: 100%;
  border-collapse: collapse;
  color: var(--hh-guide-ink);
  font-size: .9rem;
  font-variant-numeric: tabular-nums;
}
.hh-order-table-wrap caption { padding-bottom: .4rem; text-align: left; }
.hh-order-table-wrap th, .hh-order-table-wrap td {
  padding: .46rem .55rem;
  border-bottom: 1px solid #e5deea;
}
.hh-order-table-wrap th:first-child { text-align: left; }
.hh-order-table-wrap th:not(:first-child), .hh-order-table-wrap td {
  text-align: right;
  white-space: nowrap;
}
.hh-order-table-wrap thead, .hh-order-table-wrap tfoot { background: #f8f4f8; }
.hh-order-table-wrap tfoot td { font-weight: 800; }
.hh-order-evidence { margin: .85rem 0; padding-inline-start: 1.3rem; }
.hh-order-evidence li + li { margin-top: .28rem; }
.hh-order-method { margin-top: 1rem; }
.hh-order-method a { text-decoration: underline; text-underline-offset: .16em; }
.hh-order-jump:focus-visible, .hh-order-demo :focus-visible {
  outline: 2px solid #714b67;
  outline-offset: 2px;
}

@media (max-width: 640px) {
  .hh-order-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hh-order-step-body dl { grid-template-columns: minmax(0, 1fr); }
  .hh-order-table-wrap table { display: block; }
  .hh-order-table-wrap caption { display: block; }
  .hh-order-table-wrap thead {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
  }
  .hh-order-table-wrap tbody, .hh-order-table-wrap tfoot { display: block; }
  .hh-order-table-wrap tr {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    padding: .38rem .12rem .6rem;
    border-bottom: 1px solid #e5deea;
  }
  .hh-order-table-wrap th, .hh-order-table-wrap td { border: 0; }
  .hh-order-table-wrap th:first-child {
    grid-column: 1 / -1;
    padding: .1rem .2rem .35rem;
  }
  .hh-order-table-wrap td {
    padding: .05rem .2rem;
    font-size: clamp(.72rem, 2.8vw, .9rem);
    text-align: left;
    white-space: normal;
  }
  .hh-order-cell-label {
    display: block;
    color: var(--hh-guide-text);
    font-size: .71rem;
    font-weight: 500;
  }
}
