:root{
  --primary:#0A536B;
  --primary-hover:#073F51;
  --accent:#007F86;
  --success:#267567;
  --dark:#171A24;
  --ink:#232938;
  --heading:#171D2C;
  --muted:#5D6574;
  --paper:#FCFCFD;
  --white:#FFFFFF;
  --soft:#F1F3F7;
  --sand:#F6F0E8;
  --sand-ink:#332A21;
  --clay:#F3E8E2;
  --clay-ink:#3A2824;
  --lilac:#EEEAF3;
  --lilac-ink:#2D2838;
  --sage:#EAF0E8;
  --sage-ink:#243027;
  --line:#DDE1E8;
  --line-dark:rgba(255,255,255,.14);
  --focus:#007F86;
  --font-heading:"Chivo",-apple-system,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC",sans-serif;
  --font-body:"Outfit",-apple-system,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC",sans-serif;
  --font-mono:"SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace;
  --text-xs:.75rem;
  --text-sm:.875rem;
  --text-base:1rem;
  --text-md:1.125rem;
  --text-lg:1.3125rem;
  --text-xl:1.625rem;
  --text-2xl:clamp(2rem,4.4vw,3rem);
  --text-display:clamp(2.65rem,6vw,4.25rem);
  --lh-tight:1.15;
  --lh-heading:1.2;
  --lh-body:1.58;
  --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:70rem;
  --container-wide:82rem;
  --radius-sm:.5rem;
  --radius-md:.875rem;
  --radius-lg:1rem;
  --shadow-soft:0 12px 32px rgba(35,41,56,.08);
  --shadow-float:0 22px 55px rgba(35,41,56,.12);
  --header-height:4.75rem;
  --hero-pad:5.5rem;
  --hero-crumb-pad:3rem;
  --transition:180ms ease;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:auto;text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:var(--text-base);line-height:var(--lh-body);-webkit-font-smoothing:antialiased}
main{display:block;overflow-x:clip}
img,svg,video,canvas{display:block;max-width:100%}
img{height:auto}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
[hidden]{display:none!important}
h1,h2,h3,h4,h5,h6{margin:0;color:var(--heading);font-family:var(--font-heading);font-weight:650;overflow-wrap:anywhere}
h1{font-size:var(--text-display);line-height:var(--lh-tight);letter-spacing:-.045em}
h2{font-size:var(--text-2xl);line-height:var(--lh-heading);letter-spacing:-.035em}
h3{font-size:var(--text-lg);line-height:1.28;letter-spacing:-.018em}
h4{font-size:var(--text-md);line-height:1.35}
h5,h6{font-size:var(--text-base);line-height:1.4}
p{margin:0;font-size:var(--text-base);line-height:var(--lh-body)}
ul,ol{font-size:var(--text-base);line-height:var(--lh-body)}
li{font-size:var(--text-base);line-height:var(--lh-body)}
small{font-size:var(--text-xs);line-height:1.45}
figcaption{font-size:var(--text-sm);line-height:1.5}
blockquote{margin:0;font-size:var(--text-md);line-height:1.5}
code,pre{font-family:var(--font-mono);font-size:var(--text-sm);line-height:1.65}
pre{max-width:100%;overflow-x:auto}
th,td{font-size:var(--text-sm);line-height:1.45}
dt{font-size:var(--text-sm);line-height:1.45;font-weight:650}
dd{margin:0;font-size:var(--text-base);line-height:var(--lh-body)}
label{font-size:var(--text-sm);line-height:1.4}
strong,b{font-weight:680}
::selection{background:#CDE6E4;color:#17202F}
:focus-visible{outline:3px solid color-mix(in srgb,var(--focus) 28%,transparent);outline-offset:3px}
.o-container,.o-container-wide,.o-container-narrow{width:calc(100% - var(--gutter)*2);margin-inline:auto}
.o-container{max-width:var(--container-standard)}
.o-container-wide{max-width:var(--container-wide)}
.o-container-narrow{max-width:var(--container-narrow)}
.o-grid{display:grid;gap:var(--space-3);min-width:0}
.o-grid>*{min-width:0}
.o-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.o-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.o-grid-auto{grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr))}
.o-stack{display:grid;gap:var(--space-3)}
.o-cluster{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}
.u-mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}
.u-muted{color:var(--muted)}
.u-center{text-align:center}
.u-center>*{margin-inline:auto}
.u-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.u-mt-2{margin-top:var(--space-2)}
.u-mt-3{margin-top:var(--space-3)}
.u-mt-4{margin-top:var(--space-4)}
.u-mt-6{margin-top:var(--space-6)}
.u-mb-3{margin-bottom:var(--space-3)}
.u-full{width:100%}
.reveal{opacity:0;transform:translateY(1.25rem);transition:opacity 600ms ease,transform 600ms ease}
.reveal.reveal-left{transform:translate(-1.25rem,0)}
.reveal.reveal-right{transform:translate(1.25rem,0)}
.reveal.is-visible{opacity:1;transform:none}
@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.reveal-left,.reveal.reveal-right{opacity:1;transform:none}
}
@media(max-width:48rem){
  :root{--hero-pad:4rem;--space-7:4.5rem;--space-8:5.5rem}
  .o-grid-2,.o-grid-3{grid-template-columns:1fr}
}
