:root{
  --dm-primary:#70408f;
  --dm-primary-deep:#56306f;
  --dm-primary-ink:#35203f;
  --dm-accent:#d28cff;
  --dm-accent-soft:#f1deff;
  --dm-accent-faint:#faf4fc;
  --dm-ink:#111827;
  --dm-charcoal:#211a24;
  --dm-muted:#6b6870;
  --dm-muted-light:#bdb6c0;
  --dm-line:#e9e2eb;
  --dm-line-dark:#3b3340;
  --dm-paper:#fffdfc;
  --dm-white:#fff;
  --dm-surface:#f7f2f8;
  --dm-surface-2:#f1ebf3;
  --dm-terminal:#211f29;
  --dm-terminal-2:#2b2835;
  --dm-success:#23835b;
  --dm-success-soft:#eaf8f1;
  --dm-danger:#c84b55;
  --dm-warning:#ad741b;
  --dm-font-heading:Manrope,-apple-system,"PingFang SC","PingFang TC","Hiragino Sans GB","Hiragino Kaku Gothic ProN","Yu Gothic","Apple SD Gothic Neo","Microsoft YaHei","Noto Sans CJK SC",sans-serif;
  --dm-font-body:Manrope,-apple-system,"PingFang SC","PingFang TC","Hiragino Sans GB","Hiragino Kaku Gothic ProN","Yu Gothic","Apple SD Gothic Neo","Microsoft YaHei","Noto Sans CJK SC",sans-serif;
  --dm-font-mono:"SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace;
  --dm-fs-0:.75rem;
  --dm-fs-1:.875rem;
  --dm-fs-2:1rem;
  --dm-fs-3:1.25rem;
  --dm-fs-4:1.5rem;
  --dm-fs-5:2rem;
  --dm-fs-6:clamp(2.25rem,4.4vw,3.75rem);
  --dm-lh-tight:1.08;
  --dm-lh-heading:1.2;
  --dm-lh-body:1.72;
  --dm-space-1:.5rem;
  --dm-space-2:1rem;
  --dm-space-3:1.5rem;
  --dm-space-4:2.5rem;
  --dm-space-5:4rem;
  --dm-space-6:6rem;
  --dm-space-7:8rem;
  --dm-radius-sm:.75rem;
  --dm-radius-md:1.25rem;
  --dm-radius-lg:2rem;
  --dm-radius-pill:999px;
  --dm-shadow-soft:0 12px 34px rgba(54,37,61,.08);
  --dm-shadow-panel:0 24px 64px rgba(54,37,61,.13);
  --dm-container-narrow:48rem;
  --dm-container:74rem;
  --dm-container-wide:86rem;
  --dm-gutter:clamp(1.25rem,4vw,3rem);
  --dm-section-space:clamp(5rem,10vw,8rem);
  --dm-transition:180ms cubic-bezier(.2,.7,.2,1);
  --dm-header-z:80;
}
*,
*::before,
*::after{box-sizing:border-box}
html{scroll-behavior:auto;text-size-adjust:100%}
body{
  margin:0;
  min-width:0;
  color:var(--dm-ink);
  background:var(--dm-white);
  font-family:var(--dm-font-body);
  font-size:var(--dm-fs-2);
  line-height:var(--dm-lh-body);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility
}
main{overflow-x:clip}
img,svg,video,canvas{display:block;max-width:100%}
img{height:auto}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
a{color:inherit;text-decoration:none}
p,h1,h2,h3,h4,h5,h6,figure,blockquote,dl,dd{margin:0}
ul,ol{margin:0;padding:0}
address{font-style:normal}
table{border-collapse:collapse}
[hidden]{display:none!important}
::selection{color:var(--dm-paper);background:var(--dm-primary)}
:focus-visible{outline:3px solid rgba(210,140,255,.48);outline-offset:3px}
h1,h2,h3,h4,h5,h6{
  color:var(--dm-ink);
  font-family:var(--dm-font-heading);
  font-weight:700;
  line-height:var(--dm-lh-heading);
  overflow-wrap:anywhere
}
h1{font-size:var(--dm-fs-5);letter-spacing:normal}
h2{font-size:var(--dm-fs-6);letter-spacing:-.045em}
h3{font-size:var(--dm-fs-4);letter-spacing:-.025em}
h4{font-size:var(--dm-fs-3)}
p{color:var(--dm-muted)}
strong{font-weight:750}
small{font-size:var(--dm-fs-0)}
code,kbd,samp,.u-mono{
  font-family:var(--dm-font-mono);
  font-variant-numeric:tabular-nums;
  font-feature-settings:"tnum" 1
}
pre{
  max-width:100%;
  margin:0;
  overflow-x:auto;
  overscroll-behavior-inline:contain;
  font-family:var(--dm-font-mono);
  font-variant-numeric:tabular-nums;
  tab-size:2
}
pre code{display:block;min-width:max-content}
.l-container,
.l-container-narrow,
.l-container-wide{
  width:100%;
  margin-inline:auto;
  padding-inline:var(--dm-gutter)
}
.l-container{max-width:calc(var(--dm-container) + var(--dm-gutter)*2)}
.l-container-narrow{max-width:calc(var(--dm-container-narrow) + var(--dm-gutter)*2)}
.l-container-wide{max-width:calc(var(--dm-container-wide) + var(--dm-gutter)*2)}
.l-grid{display:grid;min-width:0}
.l-grid>*{min-width:0}
.l-grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--dm-space-3);align-items:start}
.l-grid-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--dm-space-3);align-items:start}
.l-grid-4{grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--dm-space-2);align-items:start}
.l-split{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(3rem,7vw,6rem);align-items:center}
.l-stack{display:flex;flex-direction:column}
.l-cluster{display:flex;flex-wrap:wrap;align-items:center}
.l-flow>*+*{margin-top:var(--dm-space-2)}
.l-flow-lg>*+*{margin-top:var(--dm-space-3)}
.u-section{padding-block:var(--dm-section-space)}
.u-section-sm{padding-block:var(--dm-space-5)}
.u-bg-paper{background:var(--dm-paper)}
.u-bg-surface{background:var(--dm-surface)}
.u-bg-dark{color:var(--dm-paper);background:var(--dm-charcoal)}
.u-bg-dark h1,.u-bg-dark h2,.u-bg-dark h3,.u-bg-dark h4{color:var(--dm-paper)}
.u-bg-dark p{color:var(--dm-muted-light)}
.u-text-center{text-align:center}
.u-text-primary{color:var(--dm-primary)}
.u-text-muted{color:var(--dm-muted)}
.u-max-copy{max-width:44rem}
.u-max-copy.u-text-center{margin-inline:auto}
.u-mt-1{margin-top:var(--dm-space-1)}
.u-mt-2{margin-top:var(--dm-space-2)}
.u-mt-3{margin-top:var(--dm-space-3)}
.u-mt-4{margin-top:var(--dm-space-4)}
.u-mb-2{margin-bottom:var(--dm-space-2)}
.u-mb-3{margin-bottom:var(--dm-space-3)}
.u-gap-1{gap:var(--dm-space-1)}
.u-gap-2{gap:var(--dm-space-2)}
.u-gap-3{gap:var(--dm-space-3)}
.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-left,.reveal-right{
  opacity:0;
  transform:translateY(18px);
  transition:opacity 560ms ease,transform 560ms cubic-bezier(.2,.7,.2,1)
}
.reveal-left{transform:translateX(-18px)}
.reveal-right{transform:translateX(18px)}
.reveal.is-visible,.reveal-left.is-visible,.reveal-right.is-visible{opacity:1;transform:none}
.reveal-delay-1{transition-delay:80ms}
.reveal-delay-2{transition-delay:160ms}
.reveal-delay-3{transition-delay:240ms}
@media (max-width:960px){
  .l-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .l-grid-3{grid-template-columns:1fr}
  .l-split{grid-template-columns:1fr;gap:var(--dm-space-4)}
}
@media (max-width:680px){
  :root{--dm-section-space:4.75rem}
  h1{font-size:1.8rem}
  .l-grid-2,.l-grid-4{grid-template-columns:1fr}
  .l-cluster{align-items:stretch}
}
@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}
}
