*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--ag-ground);
  color: var(--ag-ink);
  font-family: var(--ag-font-body);
  font-size: 17px;
  line-height: 1.55;
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--ag-indigo); }
a:hover { color: var(--ag-indigo-dark); }
:focus-visible { outline: 3px solid var(--ag-indigo); outline-offset: 3px; border-radius: 4px; }
h1, h2, h3 { margin: 0; color: var(--ag-indigo); }
h1, h2 { font-family: var(--ag-font-display); font-weight: 700; letter-spacing: -0.015em; line-height: 1.05; }
h2 { font-size: clamp(30px, 3.4vw, 44px); }
p { margin: 0; }
.ag-wrap { max-width: var(--ag-wrap); margin-inline: auto; padding-inline: var(--ag-gutter); }
.ag-main { min-height: 50vh; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
