/* Sitemap. Required from the template itself — see the note there for why the framework's
   automatic per-class stylesheet lookup cannot find this one. */

.rd-sm {
	font-family: var(--gm-font-body, 'IBM Plex Sans', sans-serif);
	color: var(--gm-ink, #16232b);
	background: var(--gm-bg, #fbfbfa);
}
.rd-sm-inner { max-width: 1100px; margin: 0 auto; padding: 22px 24px 76px; }

.rd-sm-kicker {
	font-family: var(--gm-font-mono, 'IBM Plex Mono', monospace);
	font-size: 11.5px; letter-spacing: 0.12em; text-transform: uppercase;
	color: var(--gm-muted, #5f6b72);
	margin-bottom: 10px;
}
.rd-sm-title {
	font-family: var(--gm-font-display, 'Space Grotesk', sans-serif);
	font-size: clamp(28px, 4vw, 40px); line-height: 1.14; font-weight: 700;
	margin: 0 0 10px;
}
.rd-sm-intro { font-size: 16.5px; line-height: 1.6; color: var(--gm-body, #3d4a52); margin: 0 0 26px; }

/* ---------------------------------------------------------------- the tree

   The module emits a plain nested <ul> with no classes on anything, so every rule here is a
   descendant selector from .rd-sm-tree. That is deliberate rather than lazy: adding classes
   would mean forking the module's generator, and this markup is regenerated from the page tree
   on every request.

   Multi-column rather than one long list: the tree is roughly 400 links, and as a single
   column it runs to several screens of near-empty page with a 20-character measure. Columns
   are `break-inside: avoid` at the top level so a section and its children stay together. */

.rd-sm-tree > ul {
	columns: 3 260px;
	column-gap: 40px;
	list-style: none;
	margin: 0;
	padding: 0;
}
.rd-sm-tree > ul > li {
	break-inside: avoid;
	page-break-inside: avoid;   /* older engines */
	margin: 0 0 22px;
	padding: 0;
}

/* Top-level entries are the site's sections and read as headings. */
.rd-sm-tree > ul > li > a {
	display: block;
	font-family: var(--gm-font-display, 'Space Grotesk', sans-serif);
	font-size: 16px;
	font-weight: 700;
	color: var(--gm-ink, #16232b);
	text-decoration: none;
	padding-bottom: 6px;
	margin-bottom: 6px;
	border-bottom: 1px solid var(--gm-border, #e6eaec);
}
.rd-sm-tree > ul > li > a:hover { color: var(--gm-navy, #003e69); }

/* Nested levels. A left rule rather than indentation alone, because the tree goes three deep
   and bullet indentation at that depth reads as noise. */
.rd-sm-tree ul ul {
	list-style: none;
	margin: 0;
	padding-left: 12px;
	border-left: 1px solid var(--gm-border-soft, #eef1f2);
}
.rd-sm-tree ul ul li { margin: 0 0 3px; }
.rd-sm-tree ul ul a {
	font-size: 14.5px;
	line-height: 1.45;
	color: var(--gm-body, #3d4a52);
	text-decoration: none;
}
.rd-sm-tree ul ul a:hover { color: var(--gm-navy, #003e69); text-decoration: underline; }

/* Any prose an editor has written above the tree. */
.rd-sm-tree > p { font-size: 16px; line-height: 1.65; color: var(--gm-body, #3d4a52); margin: 0 0 20px; }

@media (max-width: 620px) {
	.rd-sm-inner { padding: 18px 16px 56px; }
	/* One column below 620px. `columns: 3 260px` would already collapse to one here, but stating
	   it keeps the intent explicit rather than emergent from the min-width. */
	.rd-sm-tree > ul { columns: 1; }
}
