/* Artycle base: reset and element defaults. Load after brand/tokens.css. */
*, *::before, *::after { box-sizing: border-box; }
body {
  margin: 0;
  background: var(--a-bg);
  color: var(--a-text);
  font-family: var(--a-font-sans);
  font-size: var(--a-text-body);
  line-height: var(--a-leading-relaxed);
  font-weight: var(--a-weight-body);
  -webkit-font-smoothing: antialiased;
}
[data-theme] { color: var(--a-text); }
h1, h2, h3, h4 {
  margin: 0 0 var(--a-space-4);
  font-family: var(--a-font-serif);
  font-weight: var(--a-weight-heading);
  letter-spacing: var(--a-tracking-tight);
  line-height: var(--a-leading-tight);
  text-wrap: balance;
}
h1 { font-size: var(--a-text-h1); font-weight: 500; }
h2 { font-size: var(--a-text-h2); font-weight: 500; }
h3 { font-size: var(--a-text-h3); line-height: var(--a-leading-snug); }
h4 { font-size: var(--a-text-h4); line-height: var(--a-leading-snug); }
p { margin: 0 0 var(--a-space-4); max-width: var(--a-measure); }
a {
  color: var(--a-accent-text);
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: border-color var(--a-duration-micro) var(--a-ease);
}
a:hover { border-bottom-color: currentColor; }
:focus-visible { outline: 2px solid var(--a-focus-ring); outline-offset: 2px; border-radius: var(--a-radius-xs); }
.eyebrow { font-size: var(--a-text-label); color: var(--a-text-muted); letter-spacing: var(--a-tracking-wide); }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { transition: none !important; animation: none !important; } }
