/* "How it works" guides for pupils, teachers, parents and tutors (how-it-works-*.html). */
.hw-guide .lead { max-width: 62ch; }
.hw-jump { display: flex; flex-wrap: wrap; gap: 0.4rem; margin: 0.75rem 0 1.5rem; padding: 0; list-style: none; }
.hw-jump a { display: inline-block; padding: 0.3rem 0.75rem; border: 1px solid var(--line); border-radius: 999px; font-size: 0.9rem; text-decoration: none; background: #fff; }
.hw-jump a:hover, .hw-jump a:focus-visible { border-color: var(--accent); }
.hw-sec { border: 1px solid var(--line); border-radius: var(--r); background: #fff; padding: 1rem 1.15rem; margin: 0 0 0.9rem; scroll-margin-top: 1rem; }
.hw-sec h2 { font-size: 1.2rem; margin: 0 0 0.45rem; }
.hw-sec h3 { font-size: 1rem; margin: 0.9rem 0 0.3rem; }
.hw-sec p { margin: 0.35rem 0; }
.hw-sec ul, .hw-sec ol { margin: 0.35rem 0; padding-left: 1.25rem; }
.hw-sec li { margin: 0.25rem 0; }
.hw-sec--soft { background: var(--accent-soft); }
.hw-dl { display: grid; grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); gap: 0.6rem; margin: 0.6rem 0 0; padding: 0; list-style: none; }
.hw-dl li { margin: 0; border: 1px solid var(--line); border-radius: var(--r); padding: 0.7rem 0.85rem; background: #fff; }
.hw-dl strong { display: block; }
.hw-dl span { display: block; font-size: 0.88rem; color: var(--text-soft); margin: 0.15rem 0 0.4rem; }
.hw-copy { width: 100%; min-height: 7.5rem; font: inherit; font-size: 0.9rem; padding: 0.6rem; border: 1px solid var(--line); border-radius: var(--r); background: #fbfcfe; resize: vertical; box-sizing: border-box; }
.hw-guides { display: flex; flex-wrap: wrap; gap: 0.35rem 1rem; margin: 1.25rem 0 0; color: var(--text-soft); font-size: 0.95rem; }
.hw-pointer { margin: 0 0 0.75rem; font-size: 0.92rem; color: var(--text-soft); }
@media (max-width: 480px) {
  .hw-sec { padding: 0.85rem 0.9rem; }
  .hw-sec h2 { font-size: 1.1rem; }
}
