html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
body{margin:0;background:var(--background);color:var(--foreground);font-family:var(--font-body);font-size:var(--text-body-size);line-height:var(--text-body-line);letter-spacing:var(--letter-spacing)}
h1,h2,h3,h4,h5,h6{font-family:var(--font-display);margin:0;letter-spacing:var(--tracking-tight)}
h1{font-size:var(--text-h1-size);line-height:var(--text-h1-line);font-weight:800}
h2{font-size:var(--text-h2-size);line-height:var(--text-h2-line);font-weight:700}
h3{font-size:var(--text-h3-size);line-height:var(--text-h3-line);font-weight:600;letter-spacing:0}
p{margin:0 0 var(--space-4)}
a{color:var(--primary);text-decoration:none;transition:color var(--duration-fast) var(--ease-standard)}
a:hover{color:var(--af-orange-400);text-decoration:underline;text-underline-offset:3px}
a:active{color:var(--af-orange-600)}
:focus-visible{outline:2px solid var(--ring);outline-offset:2px}
::selection{background:var(--af-orange);color:#fff}
.af-eyebrow{font-family:var(--font-body);font-size:var(--text-caption-size);line-height:var(--text-caption-line);font-weight:600;letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--muted-foreground)}
.af-dotgrid{background-image:radial-gradient(circle,currentColor 1px,transparent 1px);background-size:12px 12px;opacity:.18}
