:root {
  --ink: #1f2a33;
  --muted: #5d6b76;
  --line: #dfe4e8;
  --paper: #fbfaf7;
  --blue: #315A78;
  --marigold: #E8A33D;
  --sans: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--paper); color: var(--ink); font: 17px/1.6 var(--sans); }
a { color: var(--blue); }
a:hover, a:focus-visible { text-decoration-thickness: 2px; }
.wrap { max-width: 720px; margin: 0 auto; padding: 0 20px; }
header.site { border-bottom: 1px solid var(--line); }
header.site .wrap { display: flex; align-items: center; gap: 12px; height: 72px; }
header.site img { width: 36px; height: 36px; }
header.site .name { font-weight: 700; font-size: 20px; letter-spacing: .01em; color: var(--ink); text-decoration: none; }
main { padding: 56px 0 72px; }
h1 { font-size: clamp(30px, 6vw, 44px); line-height: 1.15; margin: 0 0 20px; letter-spacing: -.01em; text-wrap: balance; }
h2 { font-size: 20px; margin: 40px 0 8px; }
p { margin: 0 0 14px; }
.lead { font-size: 19px; color: var(--muted); max-width: 34em; }
.rule { width: 48px; height: 4px; background: var(--marigold); border-radius: 2px; margin: 0 0 28px; }
.box { border: 1px solid var(--line); background: #fff; border-radius: 10px; padding: 20px 22px; margin-top: 36px; }
.box h2 { margin-top: 0; }
.small { font-size: 15px; color: var(--muted); }
footer.site { border-top: 1px solid var(--line); padding: 28px 0 40px; font-size: 14px; color: var(--muted); }
footer.site p { margin: 0 0 6px; }
footer.site nav a { margin-right: 16px; }
