/* Path Architects — Base element defaults & utility primitives.
   Kept minimal; components reference tokens directly. */

*, *::before, *::after { box-sizing: border-box; }

body {
  margin: 0;
  background: var(--bg-canvas);
  color: var(--text-primary);
  font-family: var(--font-body);
  font-size: var(--text-base);
  font-weight: var(--weight-regular);
  line-height: var(--leading-relaxed);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* Headings */
h1, .pa-h1 {
  font-family: var(--font-display);
  font-weight: var(--weight-extra);
  font-size: var(--role-h1-size);
  line-height: var(--leading-tight);
  letter-spacing: var(--tracking-tight);
  color: var(--text-primary);
  margin: 0;
}
.pa-hero {
  font-family: var(--font-display);
  font-weight: var(--weight-extra);
  font-size: var(--role-hero-size);
  line-height: var(--leading-tight);
  letter-spacing: var(--tracking-tight);
  text-wrap: balance;
  margin: 0;
}
h2, .pa-h2 {
  font-family: var(--font-display);
  font-weight: var(--weight-semibold);
  font-size: var(--role-h2-size);
  line-height: var(--leading-snug);
  letter-spacing: var(--tracking-tight);
  margin: 0;
}
h3, .pa-h3 {
  font-family: var(--font-display);
  font-weight: var(--weight-semibold);
  font-size: var(--role-h3-size);
  line-height: var(--leading-snug);
  letter-spacing: var(--tracking-tight);
  margin: 0;
}

/* Structural label / overline — the "blueprint" voice */
.pa-overline {
  font-family: var(--font-display);
  font-weight: var(--weight-semibold);
  font-size: var(--text-xs);
  text-transform: uppercase;
  letter-spacing: var(--tracking-wider);
  color: var(--text-accent);
}
.pa-eyebrow {
  font-family: var(--font-mono);
  font-weight: var(--weight-regular);
  font-size: var(--text-2xs);
  text-transform: uppercase;
  letter-spacing: var(--tracking-widest);
  color: var(--text-muted);
}

p, .pa-body {
  font-family: var(--font-body);
  font-size: var(--role-body-size);
  line-height: var(--leading-relaxed);
  color: var(--text-secondary);
  margin: 0;
  text-wrap: pretty;
}
.pa-lede {
  font-size: var(--role-lede-size);
  font-weight: var(--weight-light);
  line-height: var(--leading-relaxed);
  color: var(--text-secondary);
}

a { color: var(--navy-600); text-decoration: none; }
a:hover { color: var(--navy-800); }

::selection { background: var(--gold-200); color: var(--navy-900); }
