/* Base element styles + site-wide paper grain */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body{margin:0;background:var(--surface-page);color:var(--text-body);font-family:var(--font-body);font-weight:var(--weight-body);font-size:var(--type-body);line-height:var(--leading-body)}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:var(--weight-display);color:var(--text-display);line-height:var(--leading-heading);letter-spacing:var(--tracking-display);margin:0;text-wrap:balance}
h1 em,h2 em,h3 em,h4 em{font-style:italic;font-weight:300}
p{margin:0;text-wrap:pretty}
a{color:inherit;text-decoration-color:var(--rule);text-underline-offset:.25em}
a:hover{color:var(--cc-ink);text-decoration-color:var(--cc-ink)}
hr{border:0;border-top:var(--border-hairline);margin:0}
::selection{background:var(--cc-kraft);color:var(--cc-ink)}
:focus-visible{outline:1px solid var(--focus-ring);outline-offset:4px}


.cc-label{font-family:var(--font-body);font-weight:var(--weight-label);font-size:var(--type-label);letter-spacing:var(--tracking-label);text-transform:uppercase;line-height:1.4}
.cc-display{font-family:var(--font-display);font-weight:300;line-height:var(--leading-display);letter-spacing:var(--tracking-display)}
.cc-lede{font-size:var(--type-lede);line-height:1.6}
.cc-dark{background:var(--surface-dark);color:var(--text-on-dark)}
.cc-dark h1,.cc-dark h2,.cc-dark h3,.cc-dark h4{color:var(--text-on-dark)}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:1ms!important;animation-delay:0ms!important;transition-duration:1ms!important;transition-delay:0ms!important}}
