/* BASE — minimal reset so cards, kits and consuming pages start from the same ground. */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
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-body);letter-spacing:var(--tracking-body);text-wrap:pretty}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:var(--weight-regular);color:var(--text-heading);margin:0;text-wrap:balance}
h1{font-size:var(--size-display-l);line-height:var(--leading-display);letter-spacing:var(--tracking-display)}
h2{font-size:var(--size-display-m);line-height:var(--leading-display-s);letter-spacing:var(--tracking-display-s)}
h3{font-size:var(--size-display-s);line-height:var(--leading-display-s);letter-spacing:var(--tracking-display-s)}
h4{font-size:var(--size-title);line-height:var(--leading-title)}
p{margin:0}
a{color:var(--text-heading);text-decoration:none;border-bottom:1px solid var(--line-medium);padding-bottom:1px;transition:var(--transition-hover)}
a:hover{color:var(--gray-600);border-bottom-color:var(--line-strong)}
hr{border:0;border-top:1px solid var(--line-hairline);margin:var(--space-8) 0}
table{border-collapse:collapse;width:100%}
th,td{text-align:left;padding:var(--space-4) var(--space-5) var(--space-4) 0;border-bottom:1px solid var(--line-hairline);font-weight:var(--weight-regular)}
th{font-size:var(--size-caption);text-transform:uppercase;letter-spacing:var(--tracking-eyebrow);color:var(--text-secondary)}
::selection{background:var(--ink-900);color:var(--cream-050)}
:focus-visible{outline:1px solid var(--focus-ring);outline-offset:3px}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
