:root{
  --color-ink:#08090a;
  --color-ink-soft:#364347;
  --color-muted:#697276;
  --color-faint:#98a0a3;
  --color-line:#e5e9e8;
  --color-line-strong:#d6dedd;
  --color-white:#ffffff;
  --color-warm:#f9f6f3;
  --color-surface:#f2f7f8;
  --color-primary:#0086b3;
  --color-accent:#25bbd3;
  --color-accent-soft:#dff5f8;
  --color-dark:#071317;
  --color-success:#23a982;
  --font-heading:"Albert Sans",-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-body:"Albert Sans",-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:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;
  --text-xs:.6875rem;
  --text-sm:.8125rem;
  --text-base:1rem;
  --text-lg:1.25rem;
  --text-xl:1.75rem;
  --text-2xl:2.5rem;
  --text-hero:3.125rem;
  --leading-tight:1.04;
  --leading-heading:1.15;
  --leading-body:1.72;
  --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:3rem;
  --space-9:4rem;
  --space-10:6rem;
  --space-11:8rem;
  --radius-control:4px;
  --radius-card:14px;
  --radius-panel:20px;
  --shadow-soft:0 18px 50px rgba(7,19,23,.08),0 3px 12px rgba(7,19,23,.05);
  --shadow-float:0 28px 80px rgba(7,19,23,.12),0 4px 18px rgba(7,19,23,.06);
  --container-narrow:760px;
  --container-standard:1180px;
  --container-wide:1360px;
  --header-height:72px;
  --ease:cubic-bezier(.22,1,.36,1);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:auto;text-size-adjust:100%}
body{margin:0;color:var(--color-ink);background:var(--color-white);font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-body);-webkit-font-smoothing:antialiased}
main{overflow-x:clip}
img,svg,video,canvas{display:block;max-width:100%}
img{height:auto}
button,input,select,textarea{font:inherit}
button{color:inherit}
a{color:inherit;text-decoration:none}
p,h1,h2,h3,h4,h5,h6,ul,ol,dl,dd,figure,blockquote,pre{margin-top:0}
h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);line-height:var(--leading-heading);text-wrap:balance}
h1{font-size:var(--text-hero);font-weight:400;letter-spacing:-.04em}
h2{font-size:var(--text-2xl);font-weight:400;letter-spacing:-.032em}
h3{font-size:var(--text-lg);font-weight:600;letter-spacing:-.015em}
p{color:var(--color-muted)}
ul,ol{padding-inline-start:1.25rem}
table{border-collapse:collapse}
code,kbd,samp,.u-mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}
::selection{color:var(--color-dark);background:var(--color-accent-soft)}
:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}
[hidden]{display:none!important}
.l-container{width:min(calc(100% - 48px),var(--container-standard));margin-inline:auto}
.l-container--narrow{width:min(calc(100% - 48px),var(--container-narrow));margin-inline:auto}
.l-container--wide{width:min(calc(100% - 48px),var(--container-wide));margin-inline:auto}
.l-grid{display:grid;gap:var(--space-5)}
.l-grid>*{min-width:0}
.l-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.l-grid--3{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}
.l-grid--4{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start}
.l-split{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:var(--space-7);align-items:stretch}
.l-stack{display:flex;flex-direction:column;gap:var(--space-5)}
.l-cluster{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}
.u-text-center{text-align:center}
.u-text-muted{color:var(--color-muted)}
.u-text-primary{color:var(--color-primary)}
.u-surface{background:var(--color-surface)}
.u-warm{background:var(--color-warm)}
.u-dark{color:var(--color-white);background:var(--color-dark)}
.u-mt-2{margin-top:var(--space-2)}
.u-mt-4{margin-top:var(--space-4)}
.u-mt-6{margin-top:var(--space-6)}
.u-mt-8{margin-top:var(--space-8)}
.u-mb-0{margin-bottom:0}
.u-pad-6{padding:var(--space-6)}
.u-pad-8{padding:var(--space-8)}
.u-visually-hidden{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,.reveal-scale{opacity:0;transition:opacity .7s var(--ease),transform .7s var(--ease)}
.reveal,.reveal-up{transform:translateY(22px)}
.reveal-left{transform:translateX(-22px)}
.reveal-scale{transform:scale(.975)}
.reveal.is-visible,.reveal-up.is-visible,.reveal-left.is-visible,.reveal-scale.is-visible{opacity:1;transform:none}
@media(max-width:900px){
  :root{--text-hero:2.65rem;--text-2xl:2.1rem;--space-10:4.5rem;--space-11:6rem}
  .l-grid--3,.l-grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .l-split{grid-template-columns:1fr}
}
@media(max-width:640px){
  :root{--text-hero:2.25rem;--text-2xl:1.8rem;--text-xl:1.5rem}
  .l-container,.l-container--narrow,.l-container--wide{width:min(calc(100% - 32px),var(--container-standard))}
  .l-grid--2,.l-grid--3,.l-grid--4{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,.reveal-scale{opacity:1;transform:none}
}
