.page-header { padding: 9rem var(--col-pad) 3rem; background: var(--paper); border-bottom: 1px solid var(--rule); }
  .page-header-inner { max-width: var(--max-wide); margin: 0 auto; }
  .page-label { font-family: var(--sans); font-size: 0.75rem; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: var(--ink-light); display: block; margin-bottom: 1rem; }
  .page-title { font-family: var(--serif); font-size: clamp(2.25rem, 4vw, 3.25rem); font-weight: 400; line-height: 1.1; letter-spacing: -0.02em; color: var(--ink); margin-bottom: 1rem; }
  .page-title em { font-style: italic; color: var(--accent); }
  .page-standfirst { font-size: 1.05rem; font-weight: 300; line-height: 1.8; color: var(--ink-mid); max-width: 620px; }
  .sitemap-section { padding: 4rem var(--col-pad) 6rem; background: var(--paper); }
  .sitemap-inner { max-width: var(--max-wide); margin: 0 auto; display: grid; grid-template-columns: repeat(3, 1fr); gap: 3rem; }
  .sitemap-group h2 { font-family: var(--sans); font-size: 0.75rem; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: var(--accent); border-top: 1px solid var(--rule); padding-top: 0.9rem; margin-bottom: 1.25rem; }
  .sitemap-group ul { list-style: none; }
  .sitemap-group li { margin-bottom: 0.75rem; }
  .sitemap-group a { font-size: 0.9375rem; color: var(--ink-mid); text-decoration: none; border-bottom: 1px solid transparent; transition: color 0.2s, border-color 0.2s; }
  .sitemap-group a:hover { color: var(--accent); border-color: var(--accent); }
@media (max-width: 860px) {
  .sitemap-inner { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 580px) {
  .sitemap-inner { grid-template-columns: 1fr; }
}
/* Former inline style attributes. Moved out so the CSP can drop
   'unsafe-inline' from style-src — a style="" attribute is blocked
   by that directive just as an inline <style> block is. */
  .x-sitemap-1.x-sitemap-1.x-sitemap-1 { margin-top:2.5rem; }
