html{font-size:100%}
body{
  font-family:var(--font-sans);
  font-size:var(--fs-base);
  line-height:1.6;
  color:var(--color-text);
  background:var(--color-bg);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
}
h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.2;color:var(--color-text);letter-spacing:-0.01em}
h1{font-size:clamp(2rem,4vw + 1rem,3.25rem)}
h2{font-size:clamp(1.5rem,2.5vw + 1rem,2.25rem)}
h3{font-size:clamp(1.125rem,1.2vw + 0.9rem,1.375rem)}
h4{font-size:var(--fs-lg)}
p{color:var(--color-text)}
p+p{margin-top:var(--space-3)}
small{font-size:var(--fs-sm)}
strong{font-weight:600;color:var(--color-text)}
a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}
a:hover{color:var(--color-primary-dark)}
ul,ol{color:var(--color-text)}
code{font-family:var(--font-mono);font-size:0.9em;background:var(--color-bg-muted);padding:0.1em 0.35em;border-radius:4px}
.eyebrow{
  display:inline-block;
  font-size:var(--fs-sm);
  font-weight:600;
  letter-spacing:0.06em;
  text-transform:uppercase;
  color:var(--color-primary);
  margin-bottom:var(--space-3);
}
.lead{font-size:clamp(1rem,1vw + 0.85rem,1.1875rem);color:var(--color-text-muted);line-height:1.65}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}