/* Minimal element defaults. Consumers may override, but the focus
   ring and the 18px body floor are part of the brand contract. */
*,*::before,*::after{box-sizing:border-box}
body{
  margin:0;
  background:var(--surface-page);
  color:var(--text-body);
  font-family:var(--font-sans);
  font-size:var(--text-base);
  font-weight:var(--weight-light);
  line-height:var(--leading-body);
  -webkit-font-smoothing:antialiased;
  text-wrap:pretty;
}
h1,h2,h3,h4{
  font-family:var(--font-display);
  color:var(--text-heading);
  font-weight:var(--weight-bold);
  letter-spacing:var(--tracking-tight);
  line-height:var(--leading-tight);
  margin:0 0 var(--space-4);
  text-wrap:balance;
}
h1{font-size:var(--text-4xl)}
h2{font-size:var(--text-3xl)}
h3{font-size:var(--text-2xl);line-height:var(--leading-snug)}
h4{font-size:var(--text-xl);line-height:var(--leading-snug)}
p{margin:0 0 var(--space-5);max-width:var(--measure-body)}
a{color:var(--text-link);text-decoration:underline;text-underline-offset:0.18em;text-decoration-thickness:0.08em}
a:hover{color:var(--text-link-hover);text-decoration-thickness:0.14em}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{
  outline:var(--focus-width) solid var(--focus-ring);
  outline-offset:var(--focus-offset);
  box-shadow:0 0 0 var(--focus-offset) var(--focus-ring-contrast);
  border-radius:2px;
}
img{max-width:100%;display:block}
