/* Base + type utilities. Prefix: hk- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-font-smoothing:antialiased}
body{margin:0;background:var(--bg);color:var(--text);font:400 var(--fs-body)/var(--lh-body) var(--font-sans);font-stretch:100%}
img,video{display:block;max-width:100%}
a{color:inherit;text-decoration:none;transition:color var(--dur-snap) var(--ease-out)}
a:hover{color:var(--text)}
em{font-style:italic}
:focus-visible{outline:2px solid var(--ember-500);outline-offset:3px}
.hk-wrap{max-width:var(--max-w);margin:0 auto;padding-inline:var(--gutter)}
.hk-section{padding-block:var(--section-y);background:var(--bg);color:var(--text)}
.hk-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--space-5)}
.hk-wide{font-stretch:125%}
.hk-label{font:600 var(--fs-label)/1.2 var(--font-sans);font-stretch:125%;letter-spacing:var(--track-label);text-transform:uppercase;color:var(--text-muted);margin:0}
.hk-kicker{font:700 var(--fs-kicker)/1.1 var(--font-sans);font-stretch:125%;letter-spacing:var(--track-kicker);text-transform:uppercase;margin:0}
.hk-hero{font:400 var(--fs-hero)/var(--lh-hero) var(--font-serif);letter-spacing:var(--track-display);margin:0;text-wrap:balance}
.hk-display{font:400 var(--fs-display)/var(--lh-display) var(--font-serif);letter-spacing:var(--track-display);margin:0;text-wrap:balance}
.hk-h1{font:400 var(--fs-h1)/var(--lh-h1) var(--font-serif);letter-spacing:var(--track-heading);margin:0;text-wrap:balance}
.hk-h2{font:400 var(--fs-h2)/var(--lh-h2) var(--font-serif);letter-spacing:var(--track-heading);margin:0}
.hk-h3{font:600 var(--fs-h3)/var(--lh-h3) var(--font-sans);font-stretch:125%;letter-spacing:-0.01em;margin:0}
.hk-metric{font:400 var(--fs-metric)/var(--lh-metric) var(--font-serif);letter-spacing:var(--track-metric);margin:0;font-variant-numeric:tabular-nums}
.hk-lead{font-size:var(--fs-lead);line-height:var(--lh-lead);color:var(--text-muted);max-width:var(--measure);margin:0;text-wrap:pretty}
.hk-body{font-size:var(--fs-body);line-height:var(--lh-body);max-width:var(--measure);margin:0;text-wrap:pretty}
.hk-muted{color:var(--text-muted)}
.hk-small{font-size:var(--fs-small)}
.hk-dot{color:var(--ember-500)}
.hk-tabular{font-variant-numeric:tabular-nums}
.hk-grain{position:relative;isolation:isolate}
.hk-grain::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:2;opacity:var(--grain-opacity);mix-blend-mode:overlay;background-image:var(--grain-url)}
