*, *::before, *::after { box-sizing: border-box; }
html { color-scheme: light; }
body { margin: 0; color: var(--color-text); background: var(--color-bg); font-family: var(--font-sans); font-size: var(--text-md); line-height: var(--leading-body); }
main { max-width: 76rem; margin-inline: auto; padding: var(--space-12) var(--space-6) var(--space-16); }
h1, h2, h3, p { margin-block-start: 0; }
h1, h2, h3 { line-height: var(--leading-heading); }
h1 { font-size: var(--text-4xl); max-width: none; margin-block-end: var(--space-4); }
h2 { font-size: var(--text-2xl); margin-block-end: var(--space-4); }
h3 { font-size: var(--text-xl); margin-block-end: var(--space-2); }
p { max-width: var(--measure); }
a { color: var(--color-brand); text-underline-offset: .2em; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
:focus-visible { outline: var(--focus-ring); outline-offset: var(--space-1); }
.skip-link { position: absolute; z-index: 10; inset-inline-start: var(--space-4); inset-block-start: -5rem; color: var(--color-on-brand); background: var(--color-brand); padding: var(--space-2) var(--space-4); }
.skip-link:focus { inset-block-start: var(--space-2); }
.eyebrow { color: var(--color-text-muted); font-size: var(--text-sm); font-weight: 700; margin-block-end: var(--space-2); }
.lead { font-size: var(--text-lg); max-width: 90ch; }
.intro { padding-block-end: var(--space-8); }
.intro-copy > p:last-child { margin-block-end: 0; }
.review-focus { max-width: none; margin-block: var(--space-4) 0; padding: var(--space-4) var(--space-6); background: color-mix(in srgb, var(--color-highlight) 50%, var(--color-bg)); font-weight: 700; }
.service-scope { margin-block-start: var(--space-3); }
.service-scope summary { cursor: pointer; color: var(--color-text-muted); font-weight: 600; line-height: var(--leading-body); text-decoration: underline; text-underline-offset: .2em; }
.service-scope summary:hover { color: var(--color-brand); }
.service-scope summary h2 { display: inline; font-size: var(--text-md); margin: 0; }
.service-scope summary:focus-visible { outline: var(--focus-ring); outline-offset: var(--space-1); }
.scope-content { padding-block-start: var(--space-4); }
.scope-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: var(--space-6); }
.service-scope h3 { font-size: var(--text-md); margin-block-end: var(--space-1); }
.service-scope p { margin-block-end: var(--space-3); }
.service-scope .scope-note { margin-block-start: var(--space-2); }
.service-scope a { display: inline-block; margin-block-start: var(--space-2); }
section + section { border-block-start: 1px solid var(--color-border); padding-block-start: var(--space-8); }
section { margin-block-end: var(--space-8); }
.main-finding { padding-block: var(--space-6) var(--space-4); margin-block-end: var(--space-4); }
.main-finding h2 { margin-block-end: var(--space-3); }
.main-finding p:last-child { margin-block-end: 0; }
.main-finding p { max-width: 82ch; }
.highlight-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: var(--space-4); margin-block: var(--space-4); }
.highlight-grid > div { padding-inline-start: var(--space-4); border-inline-start: 3px solid var(--color-brand); }
.highlight-grid h3 { font-size: var(--text-md); margin-block-end: var(--space-1); }
.highlight-grid p { margin: 0; }
.work-grid, .evidence-grid, .input-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--space-4); }
.work-card { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; padding: var(--space-6); background: var(--color-surface); border-block-start: var(--highlight-bar); }
.work-card p { margin-block-end: var(--space-6); }
.work-card a { margin-block-start: auto; font-weight: 700; }
.evidence-grid { gap: var(--space-6); }
.evidence-grid > div { min-width: 0; }
.input-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--space-3); }
.input-grid article { border: 1px solid var(--color-border); padding: var(--space-4); }
.input-grid article p { margin: 0; }
@media (max-width: 70rem) { .highlight-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 46rem) {
  main { padding: var(--space-8) var(--space-4) var(--space-12); }
  h1 { font-size: var(--text-3xl); }
  .scope-grid, .work-grid, .evidence-grid, .input-grid, .highlight-grid { grid-template-columns: minmax(0,1fr); }
  .review-focus { padding-inline: var(--space-4); }
}
