*,*::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:var(--type-body);text-wrap:pretty}
h1,h2,h3{margin:0;color:var(--text-heading);font-weight:var(--weight-regular)}
h1{font:var(--type-h1);letter-spacing:var(--ls-h1)}h2{font:var(--type-h2);letter-spacing:var(--ls-h2)}h3{font:var(--type-h3);letter-spacing:var(--ls-h3)}
h4{margin:0;font:var(--type-h4);color:var(--text-heading)}
p{margin:0 0 1em}
a{color:var(--link);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;transition:var(--transition-control)}
a:hover{color:var(--link-hover);text-decoration-thickness:2px}
::selection{background:var(--blue-wash);color:var(--ink)}
:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}
hr{border:0;border-top:var(--rule-hair);margin:var(--space-9) 0}

@media (max-width:1100px){:root{--page-pad:36px;--section-y:104px;--section-y-tight:64px;--size-display:72px;--size-h1:52px;--size-h2:38px;--size-h3:26px}}
@media (max-width:760px){:root{--page-pad:20px;--section-y:72px;--section-y-tight:48px;--gutter:16px;--size-display:44px;--size-h1:38px;--size-h2:30px;--size-h3:23px;--size-h4:19px;--size-lead:19px;--size-body-lg:17px;--size-body:16px;--size-body-sm:14px;--ls-kicker:.14em}}
@media (max-width:760px){body{-webkit-text-size-adjust:100%}}

/* Reveal safety net: a printed or fully-laid-out document never scrolls, so nothing
   that is waiting on an IntersectionObserver may stay hidden. */
@media print{[data-reveal]{opacity:1 !important;transform:none !important}}
