*,*::before,*::after{box-sizing:border-box}
body{margin:0;font-family:var(--font-body);font-size:var(--fs-base);font-weight:var(--fw-light);line-height:var(--lh-body);color:var(--text-body);background:var(--surface-page);-webkit-font-smoothing:antialiased;text-wrap:pretty}
h1,h2,h3,h4,h5{font-family:var(--font-display);font-weight:var(--fw-bold);color:var(--text-heading);letter-spacing:var(--ls-heading);line-height:var(--lh-heading);margin:0}
h1{font-size:var(--fs-3xl);letter-spacing:var(--ls-display);line-height:var(--lh-snug)}
h2{font-size:var(--fs-2xl)}
h3{font-size:var(--fs-xl)}
h4{font-size:var(--fs-lg)}
p{margin:0}
a{color:var(--text-link);text-decoration:none;transition:var(--t-hover)}
a:hover{color:var(--text-link-hover);text-decoration:underline;text-underline-offset:3px}
strong{font-weight:var(--fw-bold)}
::selection{background:var(--bs-violet);color:#fff}
.bs-eyebrow{font-family:var(--font-display);font-size:var(--type-eyebrow-size);font-weight:var(--fw-bold);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--text-accent)}
.bs-tagline{font-weight:var(--fw-light);letter-spacing:var(--ls-tagline);text-transform:uppercase;font-size:var(--fs-xs)}
.bs-container{max-width:var(--container-max);margin:0 auto;padding:0 var(--gutter)}
