/* /site-map: the human site map (src/features/seo/sitemap-page.js). Class prefix sm-. */
.sm-kicker { margin: 0 0 0.4rem; font-size: var(--kicker-size); letter-spacing: var(--kicker-track); font-variant-caps: all-small-caps; color: var(--on-ink-muted); }
.sm-hero h1 { font-family: var(--font-serif); font-weight: var(--hed-weight); letter-spacing: var(--hed-track); }

.sm-toc { border-bottom: 1px solid var(--line); background: var(--mist); }
.sm-toc ul { display: flex; flex-wrap: wrap; gap: 0.35rem 0.5rem; margin: 0; padding: var(--s-2) 0; list-style: none; }
.sm-toc a { display: inline-flex; align-items: center; gap: 0.4rem; min-height: 2.25rem; padding: 0.3rem 0.8rem; border: 1px solid var(--line); border-radius: 999px; background: var(--paper); color: var(--ink); font-size: 0.92rem; text-decoration: none; }
.sm-toc a:hover, .sm-toc a:focus-visible { border-color: var(--accent); color: var(--accent-dark); }
.sm-n { color: var(--muted); font-size: 0.82em; font-variant-numeric: tabular-nums; font-weight: 400; }

.sm-body { padding-top: var(--s-4); padding-bottom: var(--s-5); }
.sm-group { padding: var(--s-3) 0; border-top: 1px solid var(--line); scroll-margin-top: calc(var(--header-h, 4rem) + 1rem); }
.sm-group:first-child { border-top: 0; padding-top: 0; }
.sm-group h2 { display: flex; align-items: baseline; flex-wrap: wrap; gap: 0.6rem; margin: 0 0 var(--s-2); font-family: var(--font-serif); font-weight: var(--hed-weight); font-size: clamp(1.4rem, 2.2vw, 1.85rem); letter-spacing: var(--hed-track); color: var(--ink); }
.sm-group h2 .sm-n { font-family: var(--font); font-size: 0.85rem; letter-spacing: 0; }

.sm-list { margin: 0; padding: 0; list-style: none; }
.sm-cols { columns: 3 17rem; column-gap: var(--s-4); }
.sm-list li { break-inside: avoid; }
.sm-list a { display: block; padding: 0.42rem 0; border-bottom: 1px solid transparent; color: var(--text); line-height: 1.35; text-decoration: none; }
.sm-list a:hover, .sm-list a:focus-visible { color: var(--accent-dark); text-decoration: underline; text-underline-offset: 3px; }
.sm-list .sm-d0 > a, .sm-list .sm-d1:first-child > a { font-weight: 600; color: var(--ink); }
.sm-list .sm-d2 > a { padding-left: 0.9rem; color: var(--muted); font-size: 0.95rem; }

.sm-machine { margin-top: var(--s-4); color: var(--muted); font-size: 0.92rem; }

