:root{
  --color-primary:#005c52;
  --color-primary-deep:#00463f;
  --color-accent:#63e6be;
  --color-accent-soft:#c9f8e9;
  --color-ink:#071b19;
  --color-black:#0a0d0c;
  --color-terminal:#111514;
  --color-muted:#586461;
  --color-subtle:#74807d;
  --color-line:color-mix(in srgb,var(--color-ink) 16%,transparent);
  --color-line-dark:#29423d;
  --color-light:#f2faf7;
  --color-soft:#f6f8f7;
  --color-surface:#fff;
  --font-heading:"Chivo",-apple-system,"PingFang SC","PingFang TC","Hiragino Sans GB","Hiragino Kaku Gothic ProN","Yu Gothic","Microsoft YaHei","Microsoft JhengHei","Malgun Gothic",sans-serif;
  --font-body:"Manrope",-apple-system,"PingFang SC","PingFang TC","Hiragino Sans GB","Hiragino Kaku Gothic ProN","Yu Gothic","Microsoft YaHei","Microsoft JhengHei","Malgun Gothic",sans-serif;
  --font-mono:"SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace;
  --fs-0:.6875rem;
  --fs-1:.75rem;
  --fs-2:.875rem;
  --fs-3:1rem;
  --fs-4:1.25rem;
  --fs-5:clamp(1.55rem,2.4vw,2.25rem);
  --fs-6:clamp(2.1rem,4.2vw,3.2rem);
  --fs-display:clamp(2.7rem,5.7vw,4.25rem);
  --lh-tight:1.15;
  --lh-heading:1.22;
  --lh-body:1.65;
  --lh-mono:1.75;
  --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:.45rem;
  --radius-md:.85rem;
  --radius-pill:999px;
  --shadow-soft:0 18px 45px rgba(7,27,25,.08);
  --container-narrow:48rem;
  --container-standard:77.5rem;
  --container-wide:90rem;
  --header-height:4.5rem;
  --ease:cubic-bezier(.2,.7,.2,1);
}
*,*::before,*::after{box-sizing:border-box}
html{background:var(--color-surface);color:var(--color-ink);scroll-behavior:auto}
body{margin:0;background:var(--color-surface);color:var(--color-ink);font-family:var(--font-body);font-size:var(--fs-3);line-height:var(--lh-body);text-rendering:optimizeLegibility}
main{overflow-x:clip}
img,svg,video,canvas{display:block;max-width:100%}
button,input,select,textarea{font:inherit}
button,a{touch-action:manipulation}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4,h5,h6{margin:0;font-family:var(--font-heading);font-weight:800;letter-spacing:-.035em;overflow-wrap:anywhere}
h1{font-size:var(--fs-display);line-height:var(--lh-tight)}
h2{font-size:var(--fs-6);line-height:var(--lh-tight)}
h3{font-size:var(--fs-5);line-height:var(--lh-heading)}
h4{font-size:var(--fs-4);line-height:var(--lh-heading)}
h5{font-size:var(--fs-3);line-height:var(--lh-heading)}
h6{font-size:var(--fs-2);line-height:var(--lh-heading)}
p{margin:0;font-size:var(--fs-3);line-height:var(--lh-body)}
ul,ol{margin:0;padding-inline-start:1.25rem}
li{font-size:var(--fs-3);line-height:var(--lh-body)}
small{font-size:var(--fs-1);line-height:1.5}
figcaption{font-size:var(--fs-1);line-height:1.55}
blockquote{margin:0;font-size:var(--fs-4);line-height:1.55}
code,pre,kbd,samp{font-family:var(--font-mono);font-size:var(--fs-2);line-height:var(--lh-mono)}
th{font-size:var(--fs-1);line-height:1.45}
td{font-size:var(--fs-2);line-height:1.55}
dt{font-size:var(--fs-1);line-height:1.45}
dd{margin:0;font-size:var(--fs-2);line-height:1.55}
label{font-size:var(--fs-2);line-height:1.45}
strong,b{font-weight:800}
::selection{background:var(--color-accent);color:var(--color-ink)}
:focus-visible{outline:3px solid color-mix(in srgb,var(--color-accent) 75%,white);outline-offset:3px}
.u-container,.u-container-narrow,.u-container-wide{width:min(100% - 2rem,var(--container-standard));margin-inline:auto}
.u-container-narrow{max-width:var(--container-narrow)}
.u-container-wide{max-width:var(--container-wide)}
.u-grid-2,.u-grid-3,.u-grid-4,.u-grid-auto{display:grid;align-items:start;gap:var(--space-3)}
.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-grid-auto{grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr))}
.u-stack>*+*{margin-top:var(--space-2)}
.u-stack-lg>*+*{margin-top:var(--space-3)}
.u-flow>*+*{margin-top:var(--space-4)}
.u-mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}
.u-muted{color:var(--color-muted)}
.u-center{text-align:center}
.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 .55s var(--ease),transform .55s var(--ease)}
.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}
@media (max-width:64rem){
  .u-grid-3,.u-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:42rem){
  :root{--space-6:4.5rem;--space-7:5rem}
  .u-container,.u-container-narrow,.u-container-wide{width:min(100% - 1.25rem,var(--container-standard))}
  .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,.reveal-left,.reveal-right{opacity:1;transform:none}
}
