:root{
  --c-primary:#00b34f;
  --c-primary-paper:#007c43;
  --c-accent:#29d6c7;
  --c-dark:#062d27;
  --c-ink:#071e1a;
  --c-muted:#56716b;
  --c-light:#f0fff8;
  --c-soft:#ddf9ec;
  --c-surface:#fff;
  --c-lime:#c7f28d;
  --c-danger:#a13d38;
  --c-line:rgba(7,30,26,.12);
  --c-line-dark:rgba(255,255,255,.14);
  --c-input:#94aea7;
  --font-heading:"Outfit",-apple-system,"PingFang SC","PingFang TC","Hiragino Sans GB","Hiragino Kaku Gothic ProN","Microsoft YaHei","Microsoft JhengHei","Noto Sans CJK KR",sans-serif;
  --font-body:"Chivo",-apple-system,"PingFang SC","PingFang TC","Hiragino Sans GB","Hiragino Kaku Gothic ProN","Microsoft YaHei","Microsoft JhengHei","Noto Sans CJK KR",sans-serif;
  --font-mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace;
  --fs-0:.75rem;
  --fs-1:.875rem;
  --fs-2:1rem;
  --fs-3:1.25rem;
  --fs-4:1.75rem;
  --fs-5:clamp(1.85rem,3.2vw,2.6rem);
  --fs-6:clamp(2.45rem,5.2vw,3.2rem);
  --lh-tight:1.22;
  --lh-heading:1.25;
  --lh-body:1.65;
  --sp-1:.5rem;
  --sp-2:1rem;
  --sp-3:1.5rem;
  --sp-4:2.5rem;
  --sp-5:4rem;
  --sp-6:6rem;
  --sp-7:8rem;
  --r-sm:.75rem;
  --r-md:1.25rem;
  --r-lg:2rem;
  --r-pill:999px;
  --shadow-soft:0 24px 70px rgba(0,63,49,.12);
  --shadow-lift:0 34px 90px rgba(0,54,42,.18);
  --container-narrow:48rem;
  --container:77.5rem;
  --container-wide:90rem;
  --gutter:clamp(1rem,4vw,2rem);
  --ease:cubic-bezier(.2,.75,.25,1);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:auto}
body{margin:0;background:var(--c-surface);color:var(--c-ink);font-family:var(--font-body);font-size:var(--fs-2);line-height:var(--lh-body);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
main{overflow-x:clip}
img,svg,video,canvas{display:block;max-width:100%}
img{height:auto}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
h1,h2,h3,h4,h5,h6{margin:0;font-family:var(--font-heading);font-weight:700;line-height:var(--lh-heading);letter-spacing:-.035em;overflow-wrap:anywhere}
h1{font-size:var(--fs-6);line-height:var(--lh-tight)}
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:1.5}
figcaption{font-size:var(--fs-1);line-height:1.55}
blockquote{margin:0;font-size:var(--fs-3);line-height:1.5}
code{font-family:var(--font-mono);font-size:var(--fs-1);line-height:1.7}
pre{max-width:100%;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.5;font-weight:700}
dd{margin:0;font-size:var(--fs-1);line-height:1.55}
label{font-size:var(--fs-1);line-height:1.45}
strong,b{font-weight:700}
::selection{background:var(--c-accent);color:var(--c-dark)}
:focus-visible{outline:3px solid color-mix(in srgb,var(--c-accent) 75%,white);outline-offset:3px}
.u-container,.u-container-wide,.u-container-narrow{width:min(100% - 2 * var(--gutter),var(--container));margin-inline:auto}
.u-container-wide{max-width:var(--container-wide)}
.u-container-narrow{max-width:var(--container-narrow)}
.u-grid{display:grid;gap:var(--sp-3);min-width:0}
.u-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.u-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.u-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.u-auto-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));align-items:start}
.u-stack>*+*{margin-top:var(--sp-2)}
.u-stack-lg>*+*{margin-top:var(--sp-4)}
.u-cluster{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2)}
.u-center{text-align:center}
.u-center>.u-cluster{justify-content:center}
.u-muted{color:var(--c-muted)}
.u-mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}
.u-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}
.u-mt-1{margin-top:var(--sp-1)}
.u-mt-2{margin-top:var(--sp-2)}
.u-mt-3{margin-top:var(--sp-3)}
.u-mt-4{margin-top:var(--sp-4)}
.u-mt-5{margin-top:var(--sp-5)}
.u-py-5{padding-block:var(--sp-5)}
.u-py-6{padding-block:var(--sp-6)}
.u-py-7{padding-block:var(--sp-7)}
.reveal{opacity:1;transform:none}
.reveal[data-reveal-bound]{opacity:0;transform:translateY(22px);transition:opacity .65s var(--ease),transform .65s var(--ease)}
.reveal[data-reveal-bound].is-visible{opacity:1;transform:none}
.reveal[data-reveal-delay="1"]{transition-delay:.08s}
.reveal[data-reveal-delay="2"]{transition-delay:.16s}
.reveal[data-reveal-delay="3"]{transition-delay:.24s}
[hidden]{display:none!important}
@media(max-width:64rem){
  .u-grid-3,.u-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:42rem){
  :root{--sp-6:4.5rem;--sp-7:5.5rem}
  .u-grid-2,.u-grid-3,.u-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[data-reveal-bound]{opacity:1;transform:none}
}
