:root{
  --x-primary:#4430B8;
  --x-primary-strong:#35228F;
  --x-accent:#6F5BE3;
  --x-dark:#121116;
  --x-black:#0D0D0F;
  --x-ink:#212126;
  --x-muted:#686675;
  --x-subtle:#85818D;
  --x-light:#FBFAF7;
  --x-surface:#F0EEE8;
  --x-surface-soft:#F7F6F2;
  --x-white:#FFFFFF;
  --x-line:#DCD9D2;
  --x-line-dark:#302E35;
  --x-green:#55D69E;
  --x-orange:#FF9E57;
  --x-red:#FF6D78;
  --x-blue:#5DB8FF;
  --x-font-heading:"Bricolage Grotesque",-apple-system,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Hiragino Kaku Gothic ProN","Yu Gothic","Noto Sans CJK KR","Apple SD Gothic Neo",sans-serif;
  --x-font-body:"Manrope",-apple-system,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Hiragino Kaku Gothic ProN","Yu Gothic","Noto Sans CJK KR","Apple SD Gothic Neo",sans-serif;
  --x-font-mono:"SFMono-Regular","Cascadia Code","Roboto Mono",Menlo,Consolas,monospace;
  --x-fs-0:.6875rem;
  --x-fs-1:.75rem;
  --x-fs-2:.875rem;
  --x-fs-3:1rem;
  --x-fs-4:1.25rem;
  --x-fs-5:2rem;
  --x-fs-6:clamp(2.5rem,5vw,4.25rem);
  --x-lh-tight:1.05;
  --x-lh-heading:1.14;
  --x-lh-body:1.7;
  --x-space-1:.5rem;
  --x-space-2:1rem;
  --x-space-3:1.5rem;
  --x-space-4:2.5rem;
  --x-space-5:4rem;
  --x-space-6:6rem;
  --x-space-7:7rem;
  --x-radius-xs:3px;
  --x-radius-sm:5px;
  --x-radius-md:8px;
  --x-radius-lg:12px;
  --x-shadow-soft:0 18px 46px rgba(34,27,69,.1);
  --x-shadow-scene:0 30px 80px rgba(37,29,80,.18);
  --x-container-narrow:760px;
  --x-container:1180px;
  --x-container-wide:1360px;
  --x-header-z:100;
  --x-ease:cubic-bezier(.2,.7,.2,1);
}
*,
*::before,
*::after{box-sizing:border-box}
html{scroll-behavior:auto;text-size-adjust:100%}
body{
  margin:0;
  min-width:0;
  color:var(--x-ink);
  background:var(--x-white);
  font-family:var(--x-font-body);
  font-size:var(--x-fs-3);
  line-height:var(--x-lh-body);
  -webkit-font-smoothing:antialiased;
  overflow-wrap:anywhere;
}
main{display:block;overflow: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,ul,ol,dl,dd,blockquote,figure{margin-top:0}
h1,h2,h3,h4{
  color:var(--x-ink);
  font-family:var(--x-font-heading);
  font-weight:600;
  line-height:var(--x-lh-heading);
  text-wrap:balance;
}
h1{font-size:var(--x-fs-6);letter-spacing:-.055em}
h2{font-size:clamp(2rem,3.5vw,3rem);letter-spacing:-.045em}
h3{font-size:var(--x-fs-4);letter-spacing:-.02em}
p{margin-bottom:var(--x-space-2)}
strong{font-weight:750}
code,kbd,samp,pre,.x-mono{
  font-family:var(--x-font-mono);
  font-variant-numeric:tabular-nums;
}
pre{
  max-width:100%;
  margin:0;
  padding:var(--x-space-3);
  overflow-x:auto;
  border:1px solid var(--x-line-dark);
  border-radius:var(--x-radius-md);
  background:var(--x-dark);
  color:#E8E5EE;
  white-space:pre;
}
code{overflow-wrap:normal}
::selection{background:rgba(111,91,227,.2)}
:focus-visible{outline:2px solid var(--x-accent);outline-offset:3px}
.x-container,.x-container-narrow,.x-container-wide{
  width:calc(100% - 48px);
  margin-inline:auto;
}
.x-container{max-width:var(--x-container)}
.x-container-narrow{max-width:var(--x-container-narrow)}
.x-container-wide{max-width:var(--x-container-wide)}
.x-grid{display:grid;gap:var(--x-space-3)}
.x-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.x-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.x-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.x-grid>*{min-width:0}
.x-stack>*+*{margin-top:var(--x-space-3)}
.x-cluster{display:flex;flex-wrap:wrap;align-items:center;gap:var(--x-space-2)}
.x-split{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--x-space-4)}
.x-section{padding-block:var(--x-space-7)}
.x-section-sm{padding-block:var(--x-space-5)}
.x-section-dark{background:var(--x-black);color:#F7F6F8}
.x-section-dark h1,.x-section-dark h2,.x-section-dark h3{color:#F7F6F8}
.x-section-surface{background:var(--x-surface)}
.x-section-soft{background:var(--x-surface-soft)}
.x-rule{border-top:1px solid var(--x-line)}
.x-eyebrow{
  display:flex;
  align-items:center;
  gap:10px;
  margin:0 0 var(--x-space-3);
  color:var(--x-primary);
  font-size:var(--x-fs-1);
  font-weight:800;
  letter-spacing:.16em;
  line-height:1.2;
  text-transform:uppercase;
}
.x-eyebrow::before{
  width:7px;
  height:7px;
  flex:0 0 auto;
  border-radius:50%;
  background:var(--x-accent);
  box-shadow:0 0 0 5px rgba(111,91,227,.12);
  content:"";
}
.x-eyebrow-center{justify-content:center}
.x-lead{color:var(--x-muted);font-size:1.125rem;line-height:1.75}
.x-muted{color:var(--x-muted)}
.x-center{text-align:center}
.x-sr-only{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}
.x-mt-1{margin-top:var(--x-space-1)}
.x-mt-2{margin-top:var(--x-space-2)}
.x-mt-3{margin-top:var(--x-space-3)}
.x-mt-4{margin-top:var(--x-space-4)}
.x-mt-5{margin-top:var(--x-space-5)}
.x-mb-0{margin-bottom:0}
.x-gap-1{gap:var(--x-space-1)}
.x-gap-2{gap:var(--x-space-2)}
.x-gap-3{gap:var(--x-space-3)}
.x-gap-4{gap:var(--x-space-4)}
.reveal,.reveal-up,.reveal-scale{opacity:0}
.reveal-up{transform:translateY(22px)}
.reveal-scale{transform:scale(.985)}
.reveal.is-visible,.reveal-up.is-visible,.reveal-scale.is-visible{
  opacity:1;
  transform:none;
  transition:opacity .65s var(--x-ease),transform .65s var(--x-ease);
}
@media(max-width:960px){
  .x-grid-3,.x-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .x-split{align-items:flex-start;flex-direction:column}
  .x-section{padding-block:var(--x-space-6)}
}
@media(max-width:680px){
  .x-container,.x-container-narrow,.x-container-wide{width:calc(100% - 32px)}
  .x-grid-2,.x-grid-3,.x-grid-4{grid-template-columns:1fr}
  .x-section{padding-block:var(--x-space-5)}
  .x-section-sm{padding-block:var(--x-space-4)}
  h1{font-size:clamp(2.45rem,13vw,3.5rem)}
  h2{font-size:clamp(1.9rem,9vw,2.5rem)}
}
@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-scale{opacity:1;transform:none}
}
