:root {
  color-scheme: light;
  --ink: #111111;
  --muted: #6e6e73;
  --line: #e5e5e7;
  --soft: #f5f5f7;
  --blue: #0071e3;
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", Helvetica, Arial, sans-serif;
}

* { box-sizing: border-box; }
html { background: #fff; }
body { margin: 0; color: var(--ink); background: #fff; font-size: 17px; line-height: 1.55; }
a { color: var(--blue); text-decoration: none; }
a:hover { text-decoration: underline; }
.shell { width: min(920px, calc(100% - 40px)); margin: 0 auto; }
header { padding: 28px 0; border-bottom: 1px solid var(--line); }
.brand { color: var(--ink); font-weight: 600; letter-spacing: -.02em; }
nav { float: right; display: flex; gap: 22px; font-size: 15px; }
nav a { color: var(--muted); }
main { padding: 76px 0 96px; }
.eyebrow { color: var(--muted); text-transform: uppercase; letter-spacing: .12em; font-size: 12px; font-weight: 600; }
h1 { font-size: clamp(42px, 8vw, 72px); line-height: .98; letter-spacing: -.065em; margin: 14px 0 22px; max-width: 760px; }
h2 { font-size: 27px; line-height: 1.12; letter-spacing: -.035em; margin: 48px 0 12px; }
h3 { font-size: 19px; line-height: 1.2; margin: 30px 0 8px; }
.lede { color: var(--muted); font-size: 22px; line-height: 1.35; max-width: 690px; letter-spacing: -.02em; }
.grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin: 48px 0; }
.card { background: var(--soft); border-radius: 18px; padding: 24px; min-height: 170px; }
.card strong { display: block; font-size: 20px; letter-spacing: -.03em; margin-bottom: 8px; }
.card p { color: var(--muted); margin: 0; font-size: 15px; line-height: 1.45; }
.rule { border-top: 1px solid var(--line); margin: 52px 0 0; padding-top: 26px; }
.prose { max-width: 730px; }
.prose p, .prose li { color: #333336; }
.prose ul { padding-left: 22px; }
.meta { color: var(--muted); font-size: 14px; }
.callout { background: var(--soft); border-radius: 18px; padding: 22px 24px; margin: 28px 0; }
footer { border-top: 1px solid var(--line); padding: 26px 0 42px; color: var(--muted); font-size: 14px; }
footer a { color: var(--muted); }
@media (max-width: 680px) {
  .shell { width: min(100% - 32px, 920px); }
  header { padding: 20px 0; }
  nav { gap: 14px; }
  main { padding: 52px 0 70px; }
  .grid { grid-template-columns: 1fr; margin: 34px 0; }
  .lede { font-size: 20px; }
}
