:root{
  --brand:#1f6737;
  --brand-hover:#174f2b;
  --accent:#2e7630;
  --ink:#171b24;
  --heading-ink:#16203e;
  --muted:#5f6570;
  --paper:#fcfcfd;
  --white:#fff;
  --dark:#171b24;
  --dark-ink:#f4f6f8;
  --dark-muted:#aab1bd;
  --sand:#f2f0e8;
  --sand-ink:#2b3028;
  --blue:#edf1f7;
  --blue-ink:#202a3d;
  --peach:#f8ece7;
  --peach-ink:#3a2924;
  --lilac:#f1ecf5;
  --lilac-ink:#30273a;
  --sage:#edf3ef;
  --sage-ink:#21332a;
  --notice:#53639a;
  --line:#dfe2e8;
  --line-soft:color-mix(in srgb,var(--ink) 12%,transparent);
  --line-dark:color-mix(in srgb,#fff 14%,transparent);
  --input-line:#aeb4be;
  --font-heading:"Outfit",-apple-system,"PingFang SC","PingFang TC","Hiragino Sans GB","Hiragino Kaku Gothic ProN","Yu Gothic","Malgun Gothic","Microsoft YaHei",sans-serif;
  --font-body:"Albert Sans",-apple-system,"PingFang SC","PingFang TC","Hiragino Sans GB","Hiragino Kaku Gothic ProN","Yu Gothic","Malgun Gothic","Microsoft YaHei",sans-serif;
  --font-mono:"SFMono-Regular","Cascadia Code","Roboto Mono",Consolas,monospace;
  --text-0:.75rem;
  --text-1:.875rem;
  --text-2:1rem;
  --text-3:1.125rem;
  --text-4:1.35rem;
  --text-5:clamp(1.75rem,3vw,2.625rem);
  --text-display:clamp(2.5rem,5vw,3.375rem);
  --lh-tight:1.15;
  --lh-title:1.2;
  --lh-body:1.6;
  --lh-loose:1.72;
  --space-1:.5rem;
  --space-2:1rem;
  --space-3:1.5rem;
  --space-4:2rem;
  --space-5:2.5rem;
  --space-6:4rem;
  --space-7:6rem;
  --space-8:8rem;
  --gutter:clamp(1rem,4vw,2rem);
  --container-narrow:45rem;
  --container-standard:67rem;
  --container-wide:80rem;
  --radius-xs:.35rem;
  --radius-sm:.5rem;
  --radius-md:.75rem;
  --radius-lg:1rem;
  --shadow-card:0 1rem 2.5rem rgba(28,34,47,.09);
  --shadow-menu:0 1.25rem 3rem rgba(24,31,45,.14);
  --header-height:4.75rem;
  --hero-pad:clamp(4.5rem,9vw,7rem);
  --hero-pad-crumb:3rem;
  --section-pad:clamp(5rem,10vw,8rem);
  --ease:cubic-bezier(.2,.75,.25,1);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:var(--text-2);line-height:var(--lh-body);-webkit-font-smoothing:antialiased}
main{overflow-x:clip}
img,svg,video,canvas{display:block;max-width:100%}
svg{overflow:visible}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{color:inherit}
h1,h2,h3,h4,h5,h6{margin:0;color:var(--heading-ink);font-family:var(--font-heading);font-weight:620;letter-spacing:-.025em}
h1{font-size:var(--text-display);line-height:var(--lh-tight)}
h2{font-size:var(--text-5);line-height:var(--lh-title)}
h3{font-size:var(--text-4);line-height:1.28}
h4{font-size:var(--text-3);line-height:1.35}
h5{font-size:var(--text-2);line-height:1.4}
h6{font-size:var(--text-1);line-height:1.45}
p{margin:0;font-size:var(--text-2);line-height:var(--lh-body)}
ul,ol{font-size:var(--text-2);line-height:var(--lh-body)}
li{font-size:var(--text-2);line-height:var(--lh-body)}
small{font-size:var(--text-0);line-height:1.5}
figcaption{font-size:var(--text-1);line-height:1.55}
blockquote{margin:0;font-size:var(--text-3);line-height:var(--lh-loose)}
code,kbd,samp{font-family:var(--font-mono);font-size:var(--text-1);line-height:1.6}
pre{max-width:100%;margin:0;overflow-x:auto;font-family:var(--font-mono);font-size:var(--text-1);line-height:1.65}
th,td{font-size:var(--text-1);line-height:1.5}
dt{font-size:var(--text-2);line-height:1.5;font-weight:650}
dd{margin:0;font-size:var(--text-1);line-height:1.6}
label{font-size:var(--text-1);line-height:1.45}
.container,.container-standard{width:min(calc(100% - var(--gutter)*2),var(--container-standard));margin-inline:auto}
.container-narrow{width:min(calc(100% - var(--gutter)*2),var(--container-narrow));margin-inline:auto}
.container-wide{width:min(calc(100% - var(--gutter)*2),var(--container-wide));margin-inline:auto}
.flow>*+*{margin-top:var(--space-3)}
.stack{display:flex;flex-direction:column;gap:var(--space-3)}
.cluster{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}
.grid{display:grid;gap:var(--space-3)}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.grid-auto{grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr))}
.grid>*{min-width:0}
.section{padding-block:var(--section-pad)}
.section-compact{padding-block:var(--space-6)}
.surface-white{background:#fff;color:#171b24}
.surface-sand{background:#f2f0e8;color:#2b3028}
.surface-blue{background:#edf1f7;color:#202a3d}
.surface-peach{background:#f8ece7;color:#3a2924}
.surface-lilac{background:#f1ecf5;color:#30273a}
.surface-sage{background:#edf3ef;color:#21332a}
.surface-dark{background:#171b24;color:#f4f6f8}
.surface-dark h1,.surface-dark h2,.surface-dark h3,.surface-dark h4{color:#f4f6f8}
.surface-dark p,.surface-dark li{color:#aab1bd}
.mono,.tabular{font-family:var(--font-mono);font-variant-numeric:tabular-nums}
.text-muted{color:var(--muted)}
.text-center{text-align:center}
.text-center .c-kicker{margin-inline:auto}
.text-center .c-actions{justify-content:center}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.skip-link{position:fixed;top:.5rem;left:.5rem;z-index:9999;transform:translateY(-150%);padding:.75rem 1rem;border-radius:var(--radius-sm);background:var(--dark);color:#fff}
.skip-link:focus{transform:none}
.reveal{opacity:1;transform:translateY(1rem);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.reveal.reveal-left{transform:translate3d(-1rem,0,0)}
.reveal.reveal-right{transform:translate3d(1rem,0,0)}
.reveal.is-visible{opacity:1;transform:none}
body:not(.reveal-ready) .reveal{opacity:1;transform:none}
[hidden]{display:none!important}
:focus-visible{outline:3px solid color-mix(in srgb,var(--brand) 35%,transparent);outline-offset:3px}
::selection{background:color-mix(in srgb,var(--brand) 22%,#fff);color:var(--ink)}
@media(max-width:64rem){
  .grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:48rem){
  .grid-2,.grid-3,.grid-4{grid-template-columns:minmax(0,1fr)}
  .section{padding-block:var(--space-6)}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .reveal,.reveal-left,.reveal-right{opacity:1;transform:none}
}
