:root{
  --color-canvas:#030509;
  --color-canvas-2:#07090d;
  --color-surface:#0d1118;
  --color-surface-2:#111720;
  --color-surface-3:#171b22;
  --color-ink:#f2f4f7;
  --color-muted:#969da8;
  --color-primary:#1236a6;
  --color-primary-strong:#193fbd;
  --color-primary-bright:#5477f1;
  --color-accent:#006091;
  --color-success:#6e8cff;
  --color-danger:#dc7281;
  --color-line:rgba(255,255,255,.105);
  --color-line-strong:rgba(255,255,255,.18);
  --surface-sage:#b7c5aa;
  --surface-sage-ink:#182018;
  --surface-sand:#d3bd9f;
  --surface-sand-ink:#261d14;
  --surface-rose:#c8a7aa;
  --surface-rose-ink:#29181b;
  --surface-lilac:#aaa5c8;
  --surface-lilac-ink:#1c1930;
  --surface-ice:#a9c2c5;
  --surface-ice-ink:#132326;
  --surface-lemon:#d5ca83;
  --surface-lemon-ink:#262311;
  --font-heading:"Bricolage Grotesque",-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","Hiragino Kaku Gothic ProN","Yu Gothic","Apple SD Gothic Neo","Malgun Gothic",sans-serif;
  --font-mono:"SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace;
  --text-xs:.75rem;
  --text-sm:.875rem;
  --text-base:1rem;
  --text-lg:1.125rem;
  --text-xl:1.3125rem;
  --text-2xl:1.625rem;
  --text-display:clamp(2.65rem,5vw,4.1rem);
  --leading-tight:1.16;
  --leading-heading:1.2;
  --leading-body:1.65;
  --space-1:.25rem;
  --space-2:.5rem;
  --space-3:.75rem;
  --space-4:1rem;
  --space-5:1.5rem;
  --space-6:2rem;
  --space-7:2.5rem;
  --space-8:4rem;
  --space-9:6rem;
  --space-10:9rem;
  --gutter:clamp(1rem,3vw,2rem);
  --container-narrow:46rem;
  --container-standard:75rem;
  --container-wide:86rem;
  --radius-sm:.375rem;
  --radius-md:.75rem;
  --radius-lg:1rem;
  --shadow-window:0 2rem 5rem rgba(0,0,0,.42);
  --header-height:4rem;
  --section-space:clamp(5.5rem,10vw,9rem);
  --hero-space:clamp(5rem,9vw,7.5rem);
  --field-gap:.5rem;
  --motion-fast:180ms;
  --motion-base:240ms;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:auto;color-scheme:dark}
body{margin:0;background:var(--color-canvas);color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-body);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
main{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{color:inherit}
table{border-collapse:collapse}
[hidden]{display:none!important}
::selection{background:var(--color-primary);color:#fff}
h1,h2,h3,h4,h5,h6{margin:0;color:var(--color-ink);font-family:var(--font-heading);font-weight:650;letter-spacing:-.025em}
h1{font-size:var(--text-display);line-height:var(--leading-tight)}
h2{font-size:clamp(2rem,4vw,3.1rem);line-height:var(--leading-tight)}
h3{font-size:var(--text-xl);line-height:var(--leading-heading)}
h4{font-size:var(--text-lg);line-height:var(--leading-heading)}
h5{font-size:var(--text-base);line-height:var(--leading-heading)}
h6{font-size:var(--text-sm);line-height:var(--leading-heading)}
p{margin:0;font-size:var(--text-base);line-height:var(--leading-body)}
li{font-size:var(--text-base);line-height:var(--leading-body)}
small{font-size:var(--text-xs);line-height:1.5}
figcaption{font-size:var(--text-sm);line-height:1.55}
blockquote{margin:0;font-size:var(--text-lg);line-height:1.6}
code,pre{font-family:var(--font-mono);font-size:var(--text-sm);line-height:1.6;font-variant-numeric:tabular-nums}
th,td{font-size:var(--text-sm);line-height:1.5}
dt{font-size:var(--text-sm);line-height:1.5;font-weight:650}
dd{margin:0;font-size:var(--text-sm);line-height:1.6}
label{font-size:var(--text-sm);line-height:1.45}
strong{font-weight:650}
:focus-visible{outline:2px solid var(--color-primary-bright);outline-offset:3px}
.u-container,.u-container-narrow,.u-container-wide{width:min(100% - var(--gutter)*2,var(--container-standard));margin-inline:auto}
.u-container-narrow{max-width:var(--container-narrow)}
.u-container-wide{max-width:var(--container-wide)}
.u-grid{display:grid;gap:var(--space-5);min-width:0}
.u-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.u-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.u-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.u-stack{display:flex;flex-direction:column;gap:var(--space-4);min-width:0}
.u-cluster{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}
.u-text-center{text-align:center}
.u-text-center>.c-kicker{margin-inline:auto}
.u-muted{color:var(--color-muted)}
.u-mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}
.u-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}
.u-mt-4{margin-top:var(--space-4)}
.u-mt-5{margin-top:var(--space-5)}
.u-mt-6{margin-top:var(--space-6)}
.u-mt-8{margin-top:var(--space-8)}
.u-mb-0{margin-bottom:0}
.reveal{opacity:0;transform:translateY(1.25rem);transition:opacity .65s ease,transform .65s cubic-bezier(.2,.7,.2,1)}
.reveal.reveal-left{transform:translate3d(-1.25rem,0,0)}
.reveal.reveal-right{transform:translate3d(1.25rem,0,0)}
.reveal.is-visible{opacity:1;transform:none}
.js-reveal-ready .reveal{will-change:opacity,transform}
@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:64rem){
  .u-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .u-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:42rem){
  :root{--section-space:5.5rem;--hero-space:4.5rem}
  .u-grid-2,.u-grid-3,.u-grid-4{grid-template-columns:minmax(0,1fr)}
}
