:root{
  --c-primary:#2f6b3b;
  --c-primary-hover:#255e33;
  --c-accent:#8fcb8a;
  --c-dark:#102a1a;
  --c-dark-2:#173d25;
  --c-ink:#102a1a;
  --c-ink-soft:#294b35;
  --c-muted:#53645a;
  --c-light:#f7f6f2;
  --c-surface:#f0f7ec;
  --c-white:#fff;
  --c-mint:#dff3dc;
  --c-cyan:#dcefed;
  --c-yellow:#f8efc7;
  --c-peach:#f7ded6;
  --c-lilac:#e9e1f3;
  --c-line:rgba(16,42,26,.13);
  --c-line-light:rgba(255,255,255,.13);
  --font-sans:"Outfit",-apple-system,"PingFang SC","PingFang TC","Hiragino Sans GB","Hiragino Kaku Gothic ProN","Yu Gothic","Microsoft YaHei","Microsoft JhengHei","Noto Sans CJK KR",sans-serif;
  --font-mono:"SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace;
  --fs-0:.75rem;
  --fs-1:.875rem;
  --fs-2:1rem;
  --fs-3:1.125rem;
  --fs-4:1.5rem;
  --fs-5:2rem;
  --fs-6:clamp(2.4rem,5vw,4.5rem);
  --lh-tight:.96;
  --lh-heading:1.08;
  --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:7.5rem;
  --radius-sm:.75rem;
  --radius-md:1.5rem;
  --radius-lg:2.25rem;
  --shadow-soft:0 15px 35px rgba(37,69,44,.1);
  --shadow-raised:0 24px 60px rgba(34,76,44,.13),0 6px 18px rgba(34,76,44,.07);
  --ease:cubic-bezier(.2,.75,.3,1);
  --container-narrow:760px;
  --container-standard:1180px;
  --container-wide:1320px;
  --header-height:76px
}
*,
*::before,
*::after{box-sizing:border-box}
html{scroll-behavior:auto}
body{
  margin:0;
  color:var(--c-ink);
  background:var(--c-white);
  font-family:var(--font-sans);
  font-size:var(--fs-2);
  line-height:var(--lh-body);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility
}
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}
button{color:inherit}
h1,h2,h3,h4,p,figure,blockquote,dl,dd{margin:0}
h1,h2,h3,h4{
  color:var(--c-ink);
  font-weight:500;
  line-height:var(--lh-heading);
  letter-spacing:-.035em
}
h1{font-size:var(--fs-6);line-height:var(--lh-tight)}
h2{font-size:clamp(2.1rem,4vw,3.25rem)}
h3{font-size:var(--fs-4)}
h4{font-size:var(--fs-3)}
small{font-size:var(--fs-1)}
p+ p{margin-top:var(--space-2)}
ul,ol{margin-block:0;padding-inline-start:1.25rem}
table{font-variant-numeric:tabular-nums}
code,kbd,samp,.u-mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}
pre{
  max-width:100%;
  margin:0;
  overflow-x:auto;
  overscroll-behavior-inline:contain;
  font-family:var(--font-mono)
}
:focus-visible{outline:3px solid rgba(143,203,138,.65);outline-offset:3px}
::selection{color:var(--c-dark);background:var(--c-accent)}
.container,
.container-narrow,
.container-wide{
  width:calc(100% - 40px);
  margin-inline:auto
}
.container{max-width:var(--container-standard)}
.container-narrow{max-width:var(--container-narrow)}
.container-wide{max-width:var(--container-wide)}
.grid{display:grid;gap:var(--space-3);min-width:0}
.grid>*{min-width:0}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.grid-5{grid-template-columns:repeat(5,minmax(0,1fr))}
.grid-equal{align-items:start}
.cluster{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}
.stack{display:grid;gap:var(--space-3)}
.section{padding-block:var(--space-7)}
.section-compact{padding-block:var(--space-6)}
.section-paper{background:var(--c-light)}
.section-mint{background:var(--c-surface)}
.section-dark{color:#eaf4e9;background:var(--c-dark)}
.section-dark h1,
.section-dark h2,
.section-dark h3,
.section-dark h4{color:#f2f8ef}
.section-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,450px);
  align-items:end;
  gap:var(--space-5);
  margin-bottom:var(--space-5)
}
.section-head p{color:var(--c-muted);font-size:var(--fs-3)}
.section-dark .section-head p{color:#aac0b0}
.section-dark .eyebrow{color:#d8ead5}
.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  width:fit-content;
  margin-bottom:var(--space-2);
  color:var(--c-primary);
  font-size:var(--fs-1);
  font-weight:650;
  letter-spacing:.045em
}
.prose{max-width:68ch}
.prose h2,.prose h3{margin-top:2em;margin-bottom:.65em}
.prose p,.prose li{color:var(--c-ink-soft)}
.prose a{text-decoration:underline;text-decoration-color:var(--c-accent);text-underline-offset:.2em}
.u-center{text-align:center}
.u-center .actions{justify-content:center}
.u-muted{color:var(--c-muted)}
.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
}
.mt-1{margin-top:var(--space-1)}
.mt-2{margin-top:var(--space-2)}
.mt-3{margin-top:var(--space-3)}
.mt-4{margin-top:var(--space-4)}
.mt-5{margin-top:var(--space-5)}
.mb-0{margin-bottom:0}
.reveal,
.reveal-left,
.reveal-right{
  opacity:1;
  transition:opacity .65s var(--ease),transform .65s var(--ease)
}
.reveal{transform:translateY(22px)}
.reveal-left{transform:translateX(-22px)}
.reveal-right{transform:translateX(22px)}
.reveal.is-visible,
.reveal-left.is-visible,
.reveal-right.is-visible{opacity:1;transform:none}
@media (max-width:980px){
  :root{--space-7:6rem}
  .grid-4,.grid-5{grid-template-columns:repeat(2,minmax(0,1fr))}
  .section-head{grid-template-columns:1fr;gap:var(--space-2)}
}
@media (max-width:680px){
  :root{
    --space-6:4.5rem;
    --space-7:5rem
  }
  .container,.container-narrow,.container-wide{width:calc(100% - 32px)}
  .grid-2,.grid-3,.grid-4,.grid-5{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}
}
