:root{
  --ink:#17161a;
  --ink-soft:#343139;
  --paper:#fcfbf7;
  --white:#ffffff;
  --dark:#17161a;
  --dark-deep:#0d0d0f;
  --dark-card:#232226;
  --dark-muted:#aaa7ae;
  --primary:#26335f;
  --primary-hover:#35467d;
  --accent:#704d9a;
  --pink:#f4dce7;
  --pink-ink:#361b27;
  --olive:#e4e1c7;
  --olive-ink:#252719;
  --aqua:#d8e8e6;
  --aqua-ink:#172a31;
  --peach:#f2e0cf;
  --peach-ink:#321e17;
  --lilac:#e3e1ea;
  --lilac-ink:#211d2c;
  --success:#56726c;
  --danger:#8b4054;
  --muted:#6d6971;
  --line:#d8d5d0;
  --line-soft:color-mix(in srgb,var(--ink) 12%,transparent);
  --line-dark:rgba(255,255,255,.12);
  --focus:#9f8bc3;
  --font-body:"Albert Sans",-apple-system,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK TC","Noto Sans JP","Noto Sans KR",sans-serif;
  --font-heading:"Bricolage Grotesque","Albert Sans",-apple-system,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK TC","Noto Sans JP","Noto Sans KR",sans-serif;
  --font-mono:"SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace;
  --fs-0:.75rem;
  --fs-1:.875rem;
  --fs-2:1rem;
  --fs-3:1.125rem;
  --fs-4:1.5rem;
  --fs-5:clamp(1.875rem,3vw,2.75rem);
  --fs-6:clamp(2.5rem,5vw,4.25rem);
  --lh-tight:1.15;
  --lh-heading:1.18;
  --lh-body:1.65;
  --lh-small:1.5;
  --space-1:.5rem;
  --space-2:1rem;
  --space-3:1.5rem;
  --space-4:2.5rem;
  --space-5:4rem;
  --space-6:6rem;
  --space-7:8rem;
  --section-space:clamp(5rem,9vw,8rem);
  --gutter:clamp(1rem,4vw,2.5rem);
  --container-narrow:48rem;
  --container-standard:72rem;
  --container-wide:80rem;
  --radius-sm:.625rem;
  --radius-md:1rem;
  --radius-lg:1.25rem;
  --radius-pill:999px;
  --shadow-soft:0 18px 45px rgba(23,22,26,.08);
  --speed-fast:180ms;
  --speed:240ms;
  --ease:cubic-bezier(.2,.75,.25,1);
  --header-height:5rem;
  --hero-pad:clamp(4.5rem,8vw,7rem);
  --hero-pad-crumb:4rem;
  --field-gap:.5rem;
}
*,*::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(--fs-2);line-height:var(--lh-body);-webkit-font-smoothing:antialiased}
main{overflow-x:clip}
img,svg,video{display:block;max-width:100%}
img{height:auto}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
h1,h2,h3,h4,h5,h6{margin:0;color:inherit;font-family:var(--font-heading);font-weight:800;line-height:var(--lh-heading);letter-spacing:-.035em;overflow-wrap:anywhere}
h1{font-size:var(--fs-6)}
h2{font-size:var(--fs-5)}
h3{font-size:var(--fs-4)}
h4{font-size:var(--fs-3)}
h5{font-size:var(--fs-2)}
h6{font-size:var(--fs-1)}
p{margin:0;font-size:var(--fs-2);line-height:var(--lh-body)}
ul,ol{font-size:var(--fs-2);line-height:var(--lh-body)}
li{font-size:var(--fs-2);line-height:var(--lh-body)}
small{font-size:var(--fs-0);line-height:var(--lh-small)}
figcaption{font-size:var(--fs-1);line-height:var(--lh-small)}
blockquote{margin:0;font-size:var(--fs-3);line-height:var(--lh-body)}
code{font-family:var(--font-mono);font-size:var(--fs-1);line-height:var(--lh-body)}
pre{margin:0;max-width:100%;overflow-x:auto;font-family:var(--font-mono);font-size:var(--fs-1);line-height:var(--lh-body)}
th,td{font-size:var(--fs-1);line-height:var(--lh-small)}
dt{font-size:var(--fs-1);font-weight:750;line-height:var(--lh-small)}
dd{margin:0;font-size:var(--fs-1);line-height:var(--lh-body)}
label{font-size:var(--fs-1);font-weight:700;line-height:var(--lh-small)}
address{font-style:normal}
[hidden]{display:none!important}
:focus-visible{outline:3px solid color-mix(in srgb,var(--focus) 60%,transparent);outline-offset:3px}
::selection{background:var(--lilac);color:var(--lilac-ink)}
.l-container,.l-container-wide,.l-container-narrow{width:min(100% - (var(--gutter) * 2),var(--container-standard));margin-inline:auto}
.l-container-wide{max-width:var(--container-wide)}
.l-container-narrow{max-width:var(--container-narrow)}
.l-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--space-3)}
.l-auto-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr));align-items:start;gap:var(--space-3)}
.l-stack{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-3)}
.l-cluster{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:var(--space-2)}
.l-paired{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(18rem,.65fr);align-items:stretch;gap:var(--space-3)}
.l-paired>*{min-width:0}
.u-mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}
.u-muted{color:var(--muted)}
.u-center{text-align:center}
.u-center .l-cluster{justify-content:center}
.u-space-top-1{margin-top:var(--space-1)}
.u-space-top-2{margin-top:var(--space-2)}
.u-space-top-3{margin-top:var(--space-3)}
.u-space-top-4{margin-top:var(--space-4)}
.u-space-top-5{margin-top:var(--space-5)}
.u-space-bottom-3{margin-bottom:var(--space-3)}
.u-space-bottom-5{margin-bottom:var(--space-5)}
.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}
.reveal,.reveal-up,.reveal-left{opacity:0;transform:translateY(1.25rem);transition:opacity .65s var(--ease),transform .65s var(--ease)}
.reveal-left{transform:translateX(-1.25rem)}
.reveal.is-visible,.reveal-up.is-visible,.reveal-left.is-visible{opacity:1;transform:none}
@media(max-width:64rem){
  .l-paired{grid-template-columns:1fr}
  .l-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
}
@media(max-width:40rem){
  :root{--section-space:4.5rem;--gutter:1rem}
  .l-grid{grid-template-columns:1fr}
}
@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-up,.reveal-left{opacity:1;transform:none}
}
