/* HEFT v3 base. Owned by the foundation builder. */
@font-face{font-family:"Instrument Sans";src:url("/fonts/instrument-sans.woff2") format("woff2");font-weight:400 700;font-style:normal;font-display:swap}
@font-face{font-family:"Instrument Fallback";src:local("Arial");size-adjust:97%;ascent-override:96%;descent-override:25%;line-gap-override:0%}
@font-face{font-family:"HEFT Display";src:url("/fonts/heft-display.woff2") format("woff2");font-weight:600 900;font-style:normal;font-display:swap}
@font-face{font-family:"HEFT Display Fallback";src:local("Georgia");size-adjust:104%;ascent-override:94%;descent-override:25%;line-gap-override:0%}
@font-face{font-family:"Space Mono";src:url("/fonts/space-mono-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Space Mono";src:url("/fonts/space-mono-700.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Bricolage Grotesque";src:url("/fonts/bricolage-grotesque-latin-wght.woff2") format("woff2");font-weight:200 800;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Archivo";src:url("/fonts/archivo-latin-wght.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Bricolage Fallback";src:local("Arial");size-adjust:110.36%;ascent-override:84.27%;descent-override:24.47%;line-gap-override:0%}
@font-face{font-family:"Archivo Fallback";src:local("Arial");size-adjust:98.08%;ascent-override:89.52%;descent-override:21.41%;line-gap-override:0%}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;color-scheme:light;background:var(--paper)}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
@media (max-width:767px){html{scroll-padding-bottom:72px}}
body{
  margin:0;min-height:100vh;color:var(--ink);
  font:400 var(--fs-body)/var(--lh-body) var(--font-text);
  font-synthesis:none;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  /* paper grain: a static tile, scrolls with the page, no fixed overlay */
  background:var(--paper) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .22 0 0 0 0 .11 0 0 0 0 .09 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='.09'/%3E%3C/svg%3E");
}
img,svg,video{display:block;max-width:100%}
button,input,select,textarea{font:inherit;color:inherit}
h1,h2,h3,h4,p,ul,ol,dl,dd,figure,blockquote{margin:0}
ul[class],ol[class]{list-style:none;padding:0}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:var(--w-head);letter-spacing:var(--track-head);line-height:var(--lh-head);text-wrap:balance}
h1{font-size:var(--fs-h1);font-weight:var(--w-display);letter-spacing:var(--track-display);line-height:var(--lh-display)}
h2{font-size:var(--fs-h2)}
h3{font-size:var(--fs-h3);letter-spacing:-.015em}
p,li,dd{text-wrap:pretty}
p{max-width:var(--measure)}
strong,b{font-weight:650}
em{font-style:normal;font-weight:600}
small{font-size:var(--fs-small)}
abbr[title]{text-decoration:none}
sup{font-size:.7em;line-height:0;vertical-align:.45em}
hr{border:0;border-top:1px solid var(--rule);margin:0}

a{color:inherit;text-decoration-line:underline;text-decoration-color:var(--cayenne);text-decoration-thickness:1px;text-underline-offset:.18em;transition:text-decoration-thickness var(--t-fast) var(--ease-out)}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.on-dark{color:var(--on-dark)}
.on-dark a{text-decoration-color:var(--cayenne-lift)}
.on-dark :focus-visible{outline-color:var(--on-dark)}
::selection{background:var(--ink);color:var(--paper)}

/* layout primitives */
.wrap{width:min(100% - 2*var(--gutter),var(--max));margin-inline:auto}
.grid{display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));column-gap:var(--gap)}
.section{padding-block:var(--section)}
.section--band{background:var(--paper-2)}
.stack>*+*{margin-top:var(--flow,var(--s-4))}

/* type utilities */
.micro{font:600 var(--fs-micro)/1.35 var(--font-text);letter-spacing:var(--track-micro);text-transform:uppercase}
.muted{color:var(--muted)}
.on-dark .muted{color:var(--on-dark-muted)}
.lede{font-size:var(--fs-lede);line-height:1.45;max-width:40ch}
.fine{font-size:var(--fs-micro);line-height:1.5;color:var(--muted)}
.num{font-variant-numeric:tabular-nums lining-nums}
/* every dose, everywhere: never uppercased, always tabular */
.dose,.dose *{text-transform:none!important;font-variant-numeric:tabular-nums lining-nums}
.u{font-size:.5em;font-weight:500;letter-spacing:0;margin-left:.04em;text-transform:none!important}

.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip-link{position:absolute;left:var(--gutter);top:-100px;z-index:100;background:var(--ink);color:var(--paper);padding:var(--s-2) var(--s-4);text-decoration:none}
.skip-link:focus{top:var(--s-2)}

/* view transitions: one connective gesture */
@view-transition{navigation:auto}
::view-transition-old(root),::view-transition-new(root){animation-duration:var(--t-page)}
.site-header .wordmark__dot{view-transition-name:heft-dot}

@media (prefers-reduced-motion:reduce){
  @view-transition{navigation:none}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
