.button { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:14px 18px; border:1px solid transparent; border-radius:2px; font:700 .73rem/1 var(--sans); letter-spacing:.08em; text-transform:uppercase; text-decoration:none; transition:background .2s, color .2s, transform .2s; }
.button:hover { transform:translateY(-2px); }
.button:focus-visible, a:focus-visible, button:focus-visible { outline:3px solid var(--focus); outline-offset:4px; }
.button--primary { background:var(--accent-strong); color:var(--inverse); }
.button--primary:hover { background:var(--accent-strong); }
.button--quiet { border-color:var(--line); color:var(--ink); background:transparent; }
.button--quiet:hover { border-color:var(--ink); background:var(--surface); }
.eyebrow { color:var(--accent-strong); font:700 .68rem/1.2 var(--sans); letter-spacing:.14em; text-transform:uppercase; }
.rule-list { border-top:1px solid var(--line); }
.rule-list__item { display:grid; grid-template-columns:42px 1fr auto; gap:16px; align-items:baseline; padding:18px 0; border-bottom:1px solid var(--line); }
.rule-list__number { color:var(--accent); font:700 .72rem/1 var(--sans); letter-spacing:.08em; }
.rule-list__item a { color:var(--ink); font:500 clamp(1.15rem, 1.8vw, 1.6rem)/1.1 var(--serif); text-decoration:none; }
.rule-list__item a:hover { color:var(--accent-strong); }
.rule-list__meta { color:var(--ink-muted); font:700 .65rem/1.2 var(--sans); letter-spacing:.08em; text-transform:uppercase; }
