/* itmmslabs.com layout, on top of tokens.css and components.css (ADR-0001). Roles only: no literal colours. */
html, body { margin: 0; }
body { min-height: 100vh; display: flex; flex-direction: column; }
main { flex: 1; }
a { color: var(--link); }

.site-band .ib-band__bar { justify-content: space-between; max-width: 960px; margin: 0 auto; }
.site-brand { display: inline-flex; align-items: center; gap: var(--space-3); color: inherit; text-decoration: none; }
.site-lang { color: inherit; font: var(--type-label); text-decoration: underline; text-underline-offset: 3px; }
.site-band .ib-band__hello { max-width: 960px; margin: 0 auto; }

.site-content { box-sizing: border-box; width: 100%; max-width: 960px; margin: calc(-1 * var(--space-12)) auto 0; padding: 0 var(--space-6) var(--space-12); }
.site-content .ib-card { padding: var(--space-8); }
.site-content p { font: var(--type-body-lg); margin: 0 0 var(--space-4); }
.site-content p:last-child { margin-bottom: 0; }

.site-footer { border-top: 1px solid var(--border); color: var(--text-muted); }
.site-footer__inner { max-width: 960px; margin: 0 auto; padding: var(--space-6); font: var(--type-body-sm); }
.site-footer__inner p { margin: 0 0 var(--space-2); }

/* Text pages: headings, lists, tables (legal pages, ENG-135). */
.site-prose { font: var(--type-body-lg); }
.site-prose h2 { font: var(--type-title); margin: var(--space-8) 0 var(--space-3); }
.site-prose h2:first-child, .site-prose .site-draft + h2 { margin-top: 0; }
.site-prose h3 { font: var(--type-title-sm); margin: var(--space-6) 0 var(--space-2); }
.site-prose ul, .site-prose ol { margin: 0 0 var(--space-4); padding-left: var(--space-6); }
.site-prose li { margin-bottom: var(--space-2); }
.site-prose code { font-size: 0.9em; overflow-wrap: anywhere; }
.site-draft { margin-bottom: var(--space-6); }
.site-draft .ib-alert__title { margin-bottom: var(--space-1); }
.site-table { width: 100%; border-collapse: collapse; margin: 0 0 var(--space-4); font: var(--type-body-sm); }
.site-table th, .site-table td { text-align: left; vertical-align: top; padding: var(--space-2) var(--space-3) var(--space-2) 0; border-top: 1px solid var(--border); }
.site-table th { font-weight: 600; color: var(--text-muted); }
@media (max-width: 600px) {
  .site-table, .site-table tbody, .site-table tr, .site-table td { display: block; }
  .site-table thead { display: none; }
  .site-table tr { border-top: 1px solid var(--border); padding: var(--space-2) 0; }
  .site-table td { border: 0; padding: 2px 0; }
}
.site-prose .site-services { list-style: none; padding: 0; margin: 0 0 var(--space-6); display: grid; gap: var(--space-4); }
.site-prose .site-services li { margin: 0; padding: var(--space-4) var(--space-5); border-radius: var(--radius-md); background: var(--surface-sunken); }
.site-services h3 { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); margin: 0 0 var(--space-1); }
.site-services p { margin: 0; }
.site-footer__links { list-style: none; padding: 0; margin: 0 0 var(--space-4); display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-5); }
.site-footer__links a { color: var(--text); }
