*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--ink);font-family:var(--font-text);font-weight:var(--w-body);font-size:var(--body-size);line-height:var(--body-lh);letter-spacing:var(--body-track);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
img,svg,video{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}
:where(h1,h2,h3,h4,h5,h6){margin:0;font-family:var(--font-display);font-weight:var(--w-display);color:var(--ink-heading);text-wrap:balance}
:where(h1){font-size:var(--h1-size);line-height:var(--h1-lh);letter-spacing:var(--h1-track)}
:where(h2){font-size:var(--h2-size);line-height:var(--h2-lh);letter-spacing:var(--h2-track)}
:where(h3){font-size:var(--h3-size);line-height:var(--h3-lh);letter-spacing:var(--h3-track)}
:where(h4,h5,h6){font-size:var(--h4-size);line-height:var(--h4-lh);letter-spacing:var(--h4-track)}
:where(p,ul,ol,figure,blockquote){margin:0}
:where(em){font-style:italic}

.container{width:100%;max-width:calc(var(--container-max) + 2*var(--gutter));margin-inline:auto;padding-inline:var(--gutter)}
.container--narrow{max-width:calc(var(--container-narrow) + 2*var(--gutter))}
.site-main{position:relative}
section{position:relative}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip-link:focus{position:fixed;top:1rem;left:1rem;z-index:100;width:auto;height:auto;margin:0;padding:.75rem 1rem;clip:auto;background:#fff;color:var(--blue);border-radius:.5rem;outline:2px solid var(--blue)}

/* Scroll reveal. Content is visible without JS and with reduced motion; JS adds .is-in when in view. */
.js [data-reveal]{opacity:0;transform:translateY(1.5rem);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.js [data-reveal].is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .js [data-reveal]{opacity:1;transform:none;transition:none}
}

/* Plain pages (legal, posts) and core text blocks */
.prose-page__head{padding-top:calc(var(--section-pad)*.75)}
.prose-page__title{max-width:var(--container-narrow);margin-inline:auto;font-size:var(--h2-size);line-height:var(--h2-lh);letter-spacing:var(--h2-track)}
.prose{padding-block:2.5rem var(--section-pad);color:var(--ink-q)}
.prose>*+*{margin-top:1.25rem}
.prose>h2{margin-top:2.5rem;font-size:var(--h3-size);line-height:var(--h3-lh);letter-spacing:var(--h3-track)}
.prose>h3{margin-top:2rem;font-size:var(--h4-size);line-height:var(--h4-lh);letter-spacing:var(--h4-track)}
.prose a{color:var(--blue);text-decoration:underline;text-underline-offset:.15em}
.prose ul,.prose ol{padding-left:1.25rem}
.prose li+li{margin-top:.5rem}
.prose blockquote{margin-block:2rem;padding-left:1.25rem;border-left:3px solid var(--blue);color:var(--muted-3)}
.prose img{border-radius:var(--radius-card)}
.prose hr{border:0;border-top:1px solid var(--hairline);margin-block:2.5rem}
.prose table{width:100%;border-collapse:collapse}
.prose td,.prose th{padding:.6rem .75rem;border-bottom:1px solid var(--hairline);text-align:left;vertical-align:top}
