:root {
  color-scheme: light;
  font-family: system-ui, sans-serif;
  color: #172721;
  background: #f8faf7;
  --ink-muted: #465d53;
  --accent: #126044;
  --rule: #d6e0d7;
}
* { box-sizing: border-box; }
body { margin: 0; }
.site-header, main, .site-footer { width: min(100% - 2.5rem, 70rem); margin-inline: auto; }
.site-header, nav { display: flex; align-items: center; flex-wrap: wrap; gap: .8rem 1.25rem; }
.site-header { justify-content: space-between; padding: 1.15rem 0; border-bottom: 1px solid var(--rule); }
.brand { font-weight: 750; color: inherit; }
.brand small { margin-left: .35rem; font: 600 .68rem ui-monospace, monospace; letter-spacing: .08em; color: var(--ink-muted); }
nav a, .brand { text-decoration: none; }
nav a:hover, .brand:hover { text-decoration: underline; }
main { padding-block: 2.5rem 4rem; line-height: 1.75; }
body:not(.home) main { max-width: 48rem; }
h1, h2, h3 { line-height: 1.3; margin: 0; }
a { color: var(--accent); text-underline-offset: .2em; }
a:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }
.skip { position: absolute; inset: .5rem auto auto .5rem; padding: .5rem; background: white; transform: translateY(-150%); }
.skip:focus { transform: none; }
.hero { display: grid; grid-template-columns: 1.4fr 1fr; align-items: center; gap: clamp(1.5rem, 5vw, 4rem); padding: clamp(1.4rem, 4vw, 3.5rem); background: #eaf3eb; border: 1px solid var(--rule); border-radius: 1.25rem; }
.eyebrow { margin: 0 0 .65rem; color: var(--accent); font-size: .87rem; font-weight: 700; }
.hero h1 { max-width: 12ch; font-size: clamp(2.3rem, 5.6vw, 4.35rem); letter-spacing: -.045em; }
.intro { color: var(--ink-muted); max-width: 37rem; }
.actions { display: flex; align-items: center; flex-wrap: wrap; gap: .7rem 1.15rem; margin-top: 1.25rem; }
.button { display: inline-block; padding: .58rem 1rem; background: #145b43; color: white; border-radius: .45rem; text-decoration: none; font-weight: 650; }
.button:hover { background: #103e30; }
.secondary { font-weight: 650; }
.brief { background: #fff; border: 1px solid var(--rule); border-radius: .8rem; padding: 1.35rem; }
.brief h2 { font-size: 1.28rem; }
.brief ol { margin: .9rem 0 0; padding-left: 1.5rem; }
.brief li { border-top: 1px solid var(--rule); padding: .5rem 0; }
.home-section { margin-top: 2.75rem; }
.section-heading { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; margin-bottom: 1rem; }
.topic-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.topic-card { background: white; border: 1px solid var(--rule); border-radius: .8rem; padding: 1.2rem 1.35rem; }
.topic-card p, .case-list p { color: var(--ink-muted); margin: .4rem 0 0; }
.case-list { list-style: none; margin: 0; padding: 0; }
.case-list li { padding: 1rem 0; border-top: 1px solid var(--rule); }
.site-footer { border-top: 1px solid var(--rule); padding: 1.2rem 0; color: var(--ink-muted); }
article table { display: block; overflow-x: auto; border-collapse: collapse; }
th, td { padding: .5rem .65rem; border-bottom: 1px solid var(--rule); text-align: left; vertical-align: top; }
@media (max-width: 700px) {
  .hero, .topic-grid { grid-template-columns: 1fr; }
  main { padding-block: 1.4rem 3rem; }
}
