/* Reset, element defaults, typography, layout primitives. Form comes from tokens. */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:var(--wt-body) var(--t-15)/var(--lh-body) var(--font-body);font-feature-settings:"ss01";-webkit-font-smoothing:antialiased}
body.has-pocbar{padding-bottom:calc(var(--pocbar-h) + var(--s-5))}
h1,h2,h3,h4,p,figure,dl,dd,ul,ol{margin:0}
ul,ol{padding:0;list-style:none}
h1,h2,h3{font-family:var(--font-display);font-weight:var(--wt-head);letter-spacing:var(--tracking-heading);line-height:var(--lh-snug);text-wrap:balance}
h1{font-size:var(--t-28)}h2{font-size:var(--t-22)}h3{font-size:var(--t-18)}
h4{font:600 var(--t-14)/1.3 var(--font-body)}
p{text-wrap:pretty}
a{color:var(--primary-strong);text-underline-offset:3px}
a:hover{color:var(--ink)}
img,svg{display:block;max-width:100%}
img{height:auto}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
table{border-collapse:collapse;width:100%}
hr{border:0;border-top:var(--rule);margin:var(--s-6) 0}
::selection{background:var(--primary-soft-2)}
.num,td.r,th.r,time{font-variant-numeric:tabular-nums}
.muted{color:var(--muted)}.small{font-size:var(--t-13)}.xs{font-size:var(--t-12)}
.serif{font-family:var(--font-display);letter-spacing:var(--tracking-heading)}
.nowrap{white-space:nowrap}.right{text-align:right}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ico{flex:none;display:inline-block;vertical-align:-0.2em}
[hidden]{display:none!important}

/* layout primitives */
.wrap{max-width:var(--container-wide);margin:0 auto;padding:0 var(--gutter)}
.wrap-narrow{max-width:var(--container-narrow);margin:0 auto;padding:0 var(--gutter)}
.stack>*+*{margin-top:var(--s-4)}.stack-lg>*+*{margin-top:var(--s-7)}
.row{display:flex;align-items:center;gap:var(--s-3);flex-wrap:wrap}
.row.between{justify-content:space-between}
.row.top{align-items:flex-start}
.grow{flex:1;min-width:0}
.cols{display:grid;gap:var(--gap-grid) var(--s-8);grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:start}
.cols.even{grid-template-columns:repeat(2,minmax(0,1fr))}
.cols.thirds{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
@media (max-width:960px){.cols,.cols.even{grid-template-columns:minmax(0,1fr)}}
.scroll-x{overflow-x:auto;-webkit-overflow-scrolling:touch}
