/* Utility pages: thank-you, privacy policy, HTML sitemap. Reuses home components. */

.rp-utility .rp-hero { padding-bottom: var(--s7); }
.rp-utility .rp-hero h1 { max-width: 820px; }

/* ---------------------------------------------------------------- thank you */
.rp-ty__mark { display: inline-flex; align-items: center; justify-content: center; width: 56px; height: 56px; border-radius: 50%; background: var(--success); color: #fff; font-size: 28px; margin-bottom: var(--s5); }
.rp-ty__next { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--line); counter-reset: ty; margin: 0; padding: 0; list-style: none; }
.rp-ty__next li { padding: var(--s5) var(--s5) var(--s5) 0; counter-increment: ty; }
.rp-ty__next li + li { padding-left: var(--s5); border-left: 1px solid var(--line); }
.rp-ty__next li::before { content: counter(ty, decimal-leading-zero); display: block; font-size: 14px; color: var(--ink-muted); margin-bottom: var(--s3); }
.rp-ty__next h3 { font-size: 18px; font-weight: 600; margin: 0 0 var(--s2); }
.rp-ty__next p { font-size: 14px; color: var(--ink-muted); margin: 0; }
.rp-ty-links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--line); }
.rp-ty-links .rp-line:first-child { padding-left: 0; }

/* ---------------------------------------------------------------- privacy policy (long text) */
.rp-legal { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: var(--s7); align-items: start; }
.rp-legal__toc { position: sticky; top: 96px; border-top: 1px solid var(--line); font-size: 14px; }
.rp-legal__toc ol { list-style: none; margin: 0; padding: 0; }
.rp-legal__toc li { border-bottom: 1px solid var(--line); }
.rp-legal__toc a { display: block; padding: var(--s3) 0; color: var(--ink-muted); }
.rp-legal__toc a:hover { color: var(--ink); }
.rp-legal__body { max-width: 760px; }
.rp-legal__body h2 { font-size: 24px; font-weight: 400; margin: var(--s7) 0 var(--s4); padding-top: var(--s5); border-top: 1px solid var(--line); scroll-margin-top: 96px; }
.rp-legal__body h2:first-child { margin-top: 0; }
.rp-legal__body p, .rp-legal__body li { color: var(--ink-muted); }
.rp-legal__body ul { padding-left: 1.2em; }
.rp-legal__body li { margin-bottom: var(--s2); }
.rp-legal__body strong { color: var(--ink); font-weight: 600; }
.rp-legal__body .rp-table-wrap { margin: var(--s4) 0; }

/* ---------------------------------------------------------------- html sitemap */
.rp-sitemap { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s6) var(--s7); }
.rp-sitemap__group { border-top: 1px solid var(--ink); padding-top: var(--s4); }
.rp-sitemap__group h2 { font-size: 22px; margin: 0 0 var(--s4); }
.rp-sitemap__group h3 { font-size: 16px; font-weight: 600; margin: var(--s4) 0 var(--s2); }
.rp-sitemap__group ul { list-style: none; margin: 0; padding: 0; }
.rp-sitemap__group ul ul { padding-left: var(--s4); border-left: 1px solid var(--line); margin: var(--s2) 0 var(--s2) var(--s1); }
.rp-sitemap__group li { padding: var(--s1) 0; font-size: 15px; }
.rp-sitemap__group a { color: var(--ink); }
.rp-sitemap__all { margin: 0 0 var(--s2); font-size: 14px; }
.rp-sitemap__all a { color: var(--ink-muted); text-decoration: underline; text-underline-offset: 3px; }

@media (max-width: 1024px) {
	.rp-sitemap { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.rp-legal { grid-template-columns: 1fr; gap: var(--s5); }
	.rp-legal__toc { position: static; }
}
@media (max-width: 760px) {
	.rp-sitemap, .rp-ty__next, .rp-ty-links { grid-template-columns: 1fr; }
	.rp-ty__next li, .rp-ty__next li + li { padding: var(--s4) 0; border-left: 0; }
	.rp-ty__next li + li { border-top: 1px solid var(--line); }
	.rp-ty-links .rp-line { padding-left: 0; }
}
