/* /sitemap (Pages/Sitemap): every public page, in groups. Builds on homepage-styles.css (tokens, the site header). */
.sm-main { max-width: 960px; margin: 0 auto; padding-inline: 24px; padding-block: calc(var(--nav-h) + 48px) 80px; }
.sm-main h1 { font-size: 34px; font-weight: 900; color: var(--navy); margin: 0 0 10px; text-wrap: balance; }
.sm-sub { font-size: 15px; color: var(--ink-2); margin: 0 0 40px; max-width: 60ch; line-height: 1.6; }
.sm-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 36px 28px; }
.sm-grid h2 { font-size: 12px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; color: var(--ink-2); margin: 0 0 8px; }
.sm-grid ul { list-style: none; margin: 0; padding: 0; display: grid; }
/* Each link a 44px row: a comfortable tap on a phone */
.sm-link {
  display: flex; align-items: center; min-height: 44px; width: 100%;
  background: none; border: 0; padding: 0; text-align: left; cursor: pointer;
  font: inherit; font-size: 15px; font-weight: 500; color: var(--navy); text-decoration: none;
}
.sm-link:hover { color: var(--red); text-decoration: underline; }
@media (max-width: 560px) {
  .sm-main { padding-inline: 16px; padding-block: calc(var(--nav-h) + 32px) 56px; }
  .sm-main h1 { font-size: 28px; }
}
