*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:400 var(--fs-base)/var(--lh-body) var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg{max-width:100%;display:block}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:500;line-height:var(--lh-head);letter-spacing:-.02em;margin:0 0 var(--s4);text-wrap:balance}
h1{font-size:var(--fs-h1);line-height:var(--lh-tight);letter-spacing:-.03em}
h2{font-size:var(--fs-h2)} h3{font-size:var(--fs-h3)} h4{font-size:var(--fs-h4)}
p{margin:0 0 var(--s4);color:var(--ink-2);text-wrap:pretty}
a{color:var(--spruce);text-underline-offset:.2em;text-decoration-thickness:1px}
a:hover{color:var(--spruce-deep)}
:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:2px}
::selection{background:var(--spruce);color:#fff}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:#fff;padding:var(--s3) var(--s4);z-index:100}
.skip:focus{left:var(--s4);top:var(--s4)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Layout */
.container{width:100%;max-width:calc(var(--container) + var(--gutter)*2);margin-inline:auto;padding-inline:var(--gutter)}
.container--narrow{max-width:calc(var(--container-narrow) + var(--gutter)*2)}
.grid{display:grid;gap:var(--s6);grid-template-columns:repeat(12,minmax(0,1fr))}
.grid>*{grid-column:1/-1}
@media(min-width:900px){
  .span-4{grid-column:span 4}.span-5{grid-column:span 5}.span-6{grid-column:span 6}
  .span-7{grid-column:span 7}.span-8{grid-column:span 8}
}
.stack>*+*{margin-top:var(--s4)}

/* Sections */
.section{padding-block:var(--section-y);border-top:1px solid var(--line)}
.section--flush{border-top:0}
.section--tint{background:var(--paper-2)}
.section--dark{background:var(--spruce-deep);color:#E9EFEC;border-color:transparent}
.section--dark h1,.section--dark h2,.section--dark h3{color:#fff}
.section--dark p{color:#B9C9C3}
.eyebrow{display:inline-block;font:600 var(--fs-xs)/1.5 var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--spruce);margin-bottom:var(--s4)}
.section--dark .eyebrow{color:#9FC2B8}
.lead{font-size:var(--fs-lg);color:var(--ink-2);max-width:40rem}
.rule-list{list-style:none;margin:0;padding:0}
.rule-list li{padding-block:var(--s4);border-top:1px solid var(--line)}
.rule-list li:last-child{border-bottom:1px solid var(--line)}
