:root{
--c-primary:#e47c42;
--c-primary-hover:#c96534;
--c-accent:#806aa8;
--c-ink:#241b1a;
--c-muted:#6e676f;
--c-base:#f4f2f3;
--c-surface:#ffffff;
--c-peach:#ffe8dd;
--c-lilac:#f5e8f8;
--c-blue:#eaf0ff;
--c-dark:#171417;
--c-dark-surface:#242025;
--c-success:#4d7c5f;
--c-line:color-mix(in srgb,var(--c-ink) 12%,transparent);
--c-line-dark:rgba(255,255,255,.12);
--c-control:#bcb4b6;
--font-head:"Space Grotesk",-apple-system,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC","Hiragino Kaku Gothic ProN","Yu Gothic","Malgun Gothic",sans-serif;
--font-body:"Outfit",-apple-system,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC","Hiragino Kaku Gothic ProN","Yu Gothic","Malgun Gothic",sans-serif;
--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;
--fs-0:.75rem;
--fs-1:.875rem;
--fs-2:1rem;
--fs-3:1.25rem;
--fs-4:1.625rem;
--fs-5:clamp(2rem,4vw,3.2rem);
--fs-6:clamp(2.8rem,6vw,4.25rem);
--lh-tight:1.16;
--lh-heading:1.22;
--lh-body:1.65;
--space-1:.5rem;
--space-2:1rem;
--space-3:1.5rem;
--space-4:2.5rem;
--space-5:4rem;
--space-6:6rem;
--space-7:8rem;
--radius-sm:.75rem;
--radius-md:1.25rem;
--radius-lg:1.875rem;
--shadow-soft:0 14px 40px rgba(71,48,42,.08);
--shadow-float:0 20px 60px rgba(83,55,45,.12);
--container-narrow:46rem;
--container-standard:74rem;
--container-wide:88rem;
--gutter:clamp(1rem,4vw,2.5rem);
--ease:cubic-bezier(.2,.7,.2,1);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:auto}
body{margin:0;background:var(--c-base);color:var(--c-ink);font-family:var(--font-body);font-size:var(--fs-2);line-height:var(--lh-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
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{color:inherit}
h1,h2,h3,h4,h5,h6{margin:0;color:inherit;font-family:var(--font-head);font-weight:650;letter-spacing:-.035em}
h1{font-size:var(--fs-6);line-height:var(--lh-tight)}
h2{font-size:var(--fs-5);line-height:var(--lh-heading)}
h3{font-size:var(--fs-4);line-height:var(--lh-heading)}
h4{font-size:var(--fs-3);line-height:var(--lh-heading)}
h5{font-size:var(--fs-2);line-height:var(--lh-heading)}
h6{font-size:var(--fs-1);line-height:var(--lh-heading)}
p{margin:0;font-size:var(--fs-2);line-height:var(--lh-body)}
ul,ol{margin:0;padding:0}
li{font-size:var(--fs-2);line-height:var(--lh-body)}
small{font-size:var(--fs-0);line-height:1.5}
figcaption{font-size:var(--fs-1);line-height:1.55;color:var(--c-muted)}
blockquote{margin:0;font-size:var(--fs-3);line-height:1.55}
code{font-family:var(--font-mono);font-size:var(--fs-1);line-height:1.65}
pre{margin:0;overflow-x:auto}
pre code{font-size:var(--fs-1);line-height:1.75}
th{font-size:var(--fs-1);line-height:1.45}
td{font-size:var(--fs-1);line-height:1.55}
dt{font-size:var(--fs-1);line-height:1.45;font-weight:700}
dd{margin:0;font-size:var(--fs-2);line-height:1.55}
label{font-size:var(--fs-1);line-height:1.45;font-weight:650}
::selection{background:var(--c-peach);color:var(--c-ink)}
:focus-visible{outline:3px solid color-mix(in srgb,var(--c-primary) 45%,transparent);outline-offset:3px}
.l-container,.l-container-wide,.l-container-narrow{width:min(100% - var(--gutter)*2,var(--container-standard));margin-inline:auto}
.l-container-wide{width:min(100% - var(--gutter)*2,var(--container-wide))}
.l-container-narrow{width:min(100% - var(--gutter)*2,var(--container-narrow))}
.l-grid{display:grid;gap:var(--space-3);min-width:0}
.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))}
.l-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.l-auto-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr));align-items:start}
.l-pair{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(18rem,.85fr);gap:var(--space-3);align-items:stretch}
.stack>*+*{margin-top:var(--space-2)}
.stack-lg>*+*{margin-top:var(--space-3)}
.cluster{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}
.flow>*+*{margin-top:var(--space-3)}
.u-center{text-align:center}
.u-muted{color:var(--c-muted)}
.u-mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}
.u-mt-1{margin-top:var(--space-1)}
.u-mt-2{margin-top:var(--space-2)}
.u-mt-3{margin-top:var(--space-3)}
.u-mt-4{margin-top:var(--space-4)}
.u-mb-3{margin-bottom:var(--space-3)}
.u-surface{background:var(--c-surface);color:var(--c-ink)}
.u-dark{background:var(--c-dark);color:#f8f3f2}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
[hidden]{display:none!important}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .55s var(--ease),transform .55s var(--ease)}
.reveal.is-visible{opacity:1;transform:none}
.reveal-left{transform:translateX(-18px)}
.reveal-right{transform:translateX(18px)}
@media (max-width:64rem){
.l-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}
.l-grid-3,.l-pair{grid-template-columns:1fr}
}
@media (max-width:44rem){
:root{--space-6:4.5rem;--space-7:5.5rem}
.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-left,.reveal-right{opacity:1;transform:none}
}
