@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/bricolage-grotesque-vietnamese-wght-normal.BUzh504Q.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/bricolage-grotesque-latin-ext-wght-normal.CcLUaPy7.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/bricolage-grotesque-latin-wght-normal.DLoelf7F.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/_astro/instrument-sans-latin-ext-wght-normal.B5bTHO_g.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/_astro/instrument-sans-latin-wght-normal.BbzFLZTg.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--glass:#edf2ee;--paper:#fff;--ink:#12231b;--forest:#1f602e;--leaf:#498536;--sprout:#80cc28;--agar:#80cc28;--muted:#4b5f55;--rule:#c9d6ce;--display:"Bricolage Grotesque Variable", "Bricolage Grotesque", "Segoe UI", system-ui, sans-serif;--body:"Instrument Sans Variable", "Instrument Sans", "Segoe UI", system-ui, sans-serif;--gutter:clamp(1.25rem, 5vw, 4rem);--measure:62ch}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--glass);color:var(--ink);font-family:var(--body);margin:0;font-size:1.125rem;line-height:1.6}h1,h2,h3{font-family:var(--display);letter-spacing:-.02em;text-wrap:balance;margin:0;font-weight:600;line-height:1.05}p{max-width:var(--measure);margin:0}a{color:var(--forest);text-underline-offset:.18em;text-decoration-thickness:.08em}a:hover{color:var(--leaf)}:focus-visible{outline:3px solid var(--agar);outline-offset:3px;border-radius:4px}.wrap{width:min(100%,76rem);padding-inline:var(--gutter);margin-inline:auto}.skip{background:var(--forest);color:#fff;z-index:10;padding:.75rem 1rem;position:absolute;top:0;left:-999px}.skip:focus{top:.5rem;left:.5rem}.top{color:#f3f8f4;background:radial-gradient(60rem 34rem at 82% 62%,#80cc282e,#0000 70%),linear-gradient(#0f2e18 0%,#1f602e 100%);overflow:hidden}.masthead-bar{border-bottom:1px solid var(--rule);background:#fff}.masthead{justify-content:space-between;align-items:center;gap:1.5rem;padding-block:.8rem;display:flex}.wordmark{align-items:center;display:inline-flex}.wordmark img{width:auto;height:3rem;display:block}.masthead nav{align-items:center;gap:clamp(.9rem,2.5vw,2rem);font-size:1rem;display:flex}.masthead nav a{color:var(--ink);font-weight:500;text-decoration:none}.masthead nav a:hover{color:var(--forest);text-decoration:underline}.masthead nav a.login{border:1.5px solid var(--forest);color:var(--forest);white-space:nowrap;border-radius:999px;padding:.45rem .95rem;font-weight:600}.masthead nav a.login:hover{background:var(--forest);color:#fff;text-decoration:none}@media (width<=46rem){.masthead nav a.anchor{display:none}}.hero{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:end;gap:clamp(1.5rem,4vw,4rem);padding-top:clamp(2rem,5vw,4.5rem);display:grid}.hero-text{padding-bottom:clamp(3rem,7vw,6.5rem)}.hero h1{letter-spacing:-.03em;color:#f3f8f4;font-size:clamp(2.6rem,4.7vw,4.1rem);font-weight:600;line-height:1}.hero h1 span{text-wrap:balance;display:block}.hero .lede{color:#cfe0d6;max-width:40ch;margin-top:1.75rem;font-size:clamp(1.15rem,1.7vw,1.35rem);line-height:1.5}.actions{flex-wrap:wrap;align-items:center;gap:.9rem 1.5rem;margin-top:2.25rem;display:flex}.button{background:var(--forest);color:#fff;border-radius:999px;padding:.85rem 1.5rem;font-weight:600;text-decoration:none;display:inline-block}.button:hover{background:var(--leaf);color:#fff}.hero .button{background:var(--sprout);color:#0f2e18}.hero .button:hover{color:#0f2e18;background:#93d94a}.hero .actions a:not(.button){color:#f3f8f4}.top{position:relative}.masthead,.hero-text{z-index:1;position:relative}.hero{grid-template-columns:minmax(0,1fr);align-items:center;min-height:min(40rem,78vh)}.hero-text{max-width:44rem;padding-block:clamp(2rem,5vw,4rem) clamp(3rem,7vw,6rem)}.hero-photo{width:60%;position:absolute;inset:0 0 0 auto;-webkit-mask-image:linear-gradient(90deg,#0000 12%,#000 62%);mask-image:linear-gradient(90deg,#0000 12%,#000 62%)}.hero-photo:after{content:"";background:linear-gradient(#0c22198c 0%,#0c22191f 30%,#0c22194d 100%);position:absolute;inset:0}.hero-photo img{object-fit:cover;object-position:60% 40%;width:100%;height:100%;display:block}@media (width<=56rem){.hero{min-height:0;padding-bottom:15rem}.hero-text{padding-bottom:1.5rem}.hero-photo{width:100%;height:15rem;inset:auto 0 0;-webkit-mask-image:linear-gradient(#0000 0%,#000 45%);mask-image:linear-gradient(#0000 0%,#000 45%)}}.lab-photos{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1rem,2.5vw,2rem);margin-top:clamp(2.5rem,5vw,4rem);display:grid}.lab-photos figure{margin:0}.lab-photos img{object-fit:cover;border-radius:10px;width:100%;height:clamp(16rem,34vw,26rem);display:block}.lab-photos figcaption{color:var(--muted);margin-top:.6rem;font-size:.95rem}@media (width<=52rem){.lab-photos{grid-template-columns:1fr}}.process{background:var(--paper);border-bottom:1px solid var(--rule);padding-block:clamp(3rem,7vw,5.5rem)}.process h2,.plain h2,.band h2,.contact h2{color:var(--forest);font-size:clamp(1.9rem,3.6vw,2.9rem)}.process .intro{color:var(--muted);margin-top:1rem}.steps{counter-reset:step;grid-template-columns:repeat(5,minmax(0,1fr));column-gap:clamp(1rem,2.2vw,2rem);margin:clamp(2.5rem,5vw,4rem) 0 0;padding:0;list-style:none;display:grid}.steps li{counter-increment:step;position:relative}.steps .vessel{width:100%;max-width:9.5rem;height:auto;display:block}.steps .bench{background:var(--forest);height:3px;margin-top:-1px;margin-right:calc(-1*clamp(1rem,2.2vw,2rem))}.steps li:last-child .bench{margin-right:0}.steps h3{color:var(--ink);margin-top:1.1rem;font-size:1.35rem}.steps h3:before{content:counter(step) ". ";color:var(--leaf)}.steps p{color:var(--muted);margin-top:.5rem;font-size:1rem;line-height:1.5}.why{border-top:1px solid var(--rule);margin-top:clamp(3rem,6vw,5rem);padding-top:clamp(2.5rem,5vw,4rem)}.why>h3{color:var(--forest);font-size:clamp(1.5rem,2.6vw,2rem)}.chart-scroll{margin-top:2rem;overflow-x:auto}.chart{width:100%;min-width:43rem;height:auto;font-family:var(--body);display:block}.chart-label text{fill:var(--ink);font-size:15px;font-weight:600}.chart-note text,.chart-sub text,.chart-axis text{fill:var(--muted);font-size:13.5px}.chart-stage text{fill:var(--ink);font-size:14.5px;font-weight:600}.reasons{color:var(--muted);grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.25rem,3vw,2.5rem);margin:2rem 0 0;padding:0;font-size:1rem;line-height:1.55;list-style:none;display:grid}.reasons strong{color:var(--ink);font-family:var(--display);margin-bottom:.4rem;font-size:1.15rem;line-height:1.25;display:block}@media (width<=52rem){.reasons{grid-template-columns:1fr}}.process .timing{border-left:4px solid var(--agar);margin-top:clamp(2rem,4vw,3rem);padding-left:1rem;font-size:1.05rem}@media (width<=62rem){.steps{grid-template-columns:1fr;row-gap:2rem}.steps li{grid-template-columns:6rem minmax(0,1fr);align-items:end;column-gap:1.25rem;display:grid}.steps .figure{grid-row:1/span 2}.steps .bench{margin-right:0}.steps h3{align-self:end;margin-top:0}.steps p{grid-column:2;align-self:start}}.band{background:var(--forest);color:#e8f1ec;padding-block:clamp(3rem,7vw,5.5rem)}.band h2{color:#fff;max-width:18ch}.band .cols{grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:start;gap:clamp(1.5rem,5vw,4.5rem);display:grid}.band p+p{margin-top:1rem}.band .strong{font-family:var(--display);color:#fff;font-size:clamp(1.25rem,2.1vw,1.6rem);line-height:1.3}@media (width<=52rem){.band .cols{grid-template-columns:1fr}}.plain{padding-block:clamp(3rem,7vw,5.5rem)}.returns{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.5rem,3vw,3rem);margin:clamp(2rem,4vw,3rem) 0 0;display:grid}.returns div{border-top:3px solid var(--forest);padding-top:1rem}.returns dt{font-family:var(--display);letter-spacing:-.01em;font-size:1.35rem;font-weight:600;line-height:1.15}.returns dd{color:var(--muted);margin:.6rem 0 0;font-size:1.05rem}@media (width<=52rem){.returns{grid-template-columns:1fr}}.pair{border-top:1px solid var(--rule);grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(2rem,6vw,5rem);margin-top:clamp(2.5rem,5vw,4rem);padding-top:clamp(2.5rem,5vw,4rem);display:grid}.pair h2{font-size:clamp(1.5rem,2.6vw,2rem)}.pair p{margin-top:.9rem}@media (width<=52rem){.pair{grid-template-columns:1fr}}.contact{background:var(--paper);border-top:1px solid var(--rule);padding-block:clamp(3rem,7vw,5.5rem)}.contact p{margin-top:1rem}.contact .fine{color:var(--muted);margin-top:1.75rem;font-size:.95rem}.foot{color:var(--muted);padding-block:2.5rem 3rem;font-size:.95rem}.foot .row{flex-wrap:wrap;justify-content:space-between;gap:1rem 2rem;display:flex}.foot p{max-width:none}.foot a{color:inherit}.prose{padding-block:clamp(2.5rem,6vw,5rem)}.prose h1{color:var(--forest);font-size:clamp(2.2rem,5vw,3.4rem)}.prose h2{margin-top:2.25rem;font-size:1.5rem}.prose p{margin-top:.9rem}.related{background:var(--glass);border-top:1px solid var(--rule);padding-block:clamp(2.5rem,6vw,4.5rem)}.related h2{color:var(--forest);font-size:clamp(1.5rem,2.4vw,1.9rem)}.related ul{grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:clamp(1.25rem,3vw,2.5rem);margin:1.75rem 0 0;padding:0;list-style:none;display:grid}.related li{border-top:2px solid var(--forest);padding-top:1rem}.related h3{font-size:1.15rem}.related p{color:var(--muted);margin-top:.5rem;font-size:1rem}.related a{margin-top:.6rem;font-weight:600;display:inline-block}.contact-page{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);align-items:start;gap:clamp(2rem,6vw,5rem);padding-block:clamp(2.5rem,6vw,5rem);display:grid}.contact-intro h1{color:var(--forest);font-size:clamp(2.2rem,4vw,3.2rem)}.contact-intro p{margin-top:1.25rem}.contact-intro .aside{color:var(--muted);font-size:1rem}.contact-form{background:var(--paper);border:1px solid var(--rule);border-radius:12px;padding:clamp(1.25rem,3vw,2.25rem)}.contact-form .row{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.contact-form .field{margin-bottom:1.1rem}.contact-form label{margin-bottom:.35rem;font-size:1rem;font-weight:600;display:block}.contact-form .opt{color:var(--muted);margin-left:.25rem;font-size:.9rem;font-weight:400}.contact-form input,.contact-form select,.contact-form textarea{width:100%;font:inherit;color:var(--ink);background:#fff;border:1.5px solid #9fb3a8;border-radius:8px;padding:.65rem .8rem}.contact-form textarea{resize:vertical;min-height:8rem}.contact-form input:focus-visible,.contact-form select:focus-visible,.contact-form textarea:focus-visible{outline:3px solid var(--agar);outline-offset:1px;border-color:var(--forest)}.contact-form .trap{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.contact-form .cf-turnstile{min-height:65px;margin-top:.5rem}.contact-form .send{margin-top:1.25rem}.contact-form button.button{cursor:pointer;font:inherit;border:0;font-weight:600}.contact-form button.button:disabled{opacity:.6;cursor:progress}.contact-form .status{min-height:1.6em;color:var(--forest);margin-top:.9rem;font-weight:600}.contact-form .status.error{color:#9b2c1f}.contact-form .fine{color:var(--muted);margin-top:.5rem;font-size:.95rem}.contact-form .done h2{color:var(--forest);font-size:1.6rem}.contact-form .done p{margin-top:.75rem}.contact-form .done:focus{outline:none}@media (width<=52rem){.contact-page{grid-template-columns:1fr}}@media (width<=30rem){.contact-form .row{grid-template-columns:1fr}}
