/* Blue Spring — base element styles + helper classes */
@import url('https://unpkg.com/lucide-static@0.468.0/font/lucide.css');
*,*::before,*::after{box-sizing:border-box}
html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
body{margin:0;background:var(--surface-page);color:var(--text-body);font-family:var(--font-sans);font-size:var(--size-body);line-height:var(--leading-normal)}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:var(--weight-light);color:var(--text-strong);letter-spacing:var(--tracking-heading);line-height:var(--leading-snug);margin:0;font-optical-sizing:auto;text-wrap:balance}
h1{font-size:var(--size-h1)}h2{font-size:var(--size-h2)}h3{font-size:var(--size-h3);font-weight:var(--weight-regular)}h4{font-size:var(--size-h4);font-weight:var(--weight-regular)}
p{margin:0;text-wrap:pretty}
a{color:var(--text-link);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;transition:color var(--duration-fast) var(--ease-standard)}
a:hover{color:var(--text-link-hover)}
::selection{background:var(--bs-blue-100);color:var(--bs-ink-900)}
:focus-visible{outline:none;box-shadow:var(--shadow-focus)}
img{display:block;max-width:100%}

.bs-display{font-family:var(--font-display);font-weight:var(--weight-light);font-size:var(--size-display-l);line-height:var(--leading-tight);letter-spacing:var(--tracking-display);font-optical-sizing:auto}
.bs-display em,.bs-display i{font-style:italic;font-weight:var(--weight-light)}
.bs-lead{font-family:var(--font-sans);font-size:var(--size-lead);line-height:var(--leading-relaxed);color:var(--text-muted)}
.bs-eyebrow{font-family:var(--font-sans);font-size:var(--size-eyebrow);font-weight:var(--weight-medium);color:var(--text-muted)}
.bs-data{font-family:var(--font-sans);font-size:13px;font-variant-numeric:tabular-nums;color:var(--text-muted)}
.bs-rule{height:1px;border:0;background:var(--line-hairline);margin:0}
.bs-dots::before{content:'\2022\2002\2022\2002\2022';letter-spacing:0;color:currentColor;opacity:.7}
