@font-face { font-family: "Geist"; src: url("fonts/geist-latin.woff2") format("woff2"); font-weight: 100 900; font-style: normal; font-display: swap; unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
:root { --canvas: #FAF9F6; --card: #FFFFFF; --ink: #1B1D19; --ink-70: #4A4D46; --ink-60: #62655C; --ink-40: #71736B; --line: #E7E6DF; --green-soft: #E9FCEC; --green-line: #CFEBD8; --hl: #39EF59; --forest: #10231A; --forest-2: #17311F; --red: #C2362B; --red-soft: #FBE9E7; --sans: "Geist", "Helvetica Neue", Helvetica, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; --r-btn: 8px; --wrap: 1140px; }
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: 84px; }
body { margin: 0; background: var(--canvas); color: var(--ink); font-family: var(--sans); font-size: 1.0625rem; line-height: 1.6; font-variant-numeric: tabular-nums; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
img { max-width: 100%; height: auto; display: block; }
a { color: var(--forest); }
:focus-visible { outline: 2px solid var(--forest); outline-offset: 3px; border-radius: 4px; }
.wrap { width: min(100% - 2.5rem, var(--wrap)); margin-inline: auto; }
@media (max-width: 600px) {
  .wrap { width: min(100% - 2rem, var(--wrap)); }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
}
[hidden] { display: none !important; }
.eyebrow { font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; font-weight: 600; color: var(--ink-60); margin: 0 0 .9rem; }
h1 { font-size: clamp(2.3rem, 4.6vw, 3.8rem); line-height: 1.05; letter-spacing: -.034em; font-weight: 400; margin: 0 0 1.2rem; color: var(--ink); }
p { margin: 0 0 1rem; }
.lead { font-size: clamp(1.05rem, 1.4vw, 1.2rem); line-height: 1.55; color: var(--ink-70); max-width: 56ch; margin: 0 0 1.6rem; }
.rings { position: relative; overflow: hidden; overflow: clip; }
.rings::before { content: ""; position: absolute; top: -30px; right: -40px; width: 50%; height: 340px; pointer-events: none; z-index: 0; background: repeating-radial-gradient(circle at 100% 0%, transparent 0 44px, rgba(27,29,25,.055) 44px 45.5px), repeating-radial-gradient(circle at 100% 0%, transparent 0 132px, rgba(57,239,89,.3) 132px 134px); -webkit-mask-image: radial-gradient(100% 115% at 100% 0%, #000 0%, transparent 72%); mask-image: radial-gradient(100% 115% at 100% 0%, #000 0%, transparent 72%); }
.rings > * { position: relative; z-index: 1; }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: .45rem; min-height: 46px; padding: .7rem 1.25rem; border-radius: var(--r-btn); background: var(--forest); color: #fff; font-weight: 500; font-size: .98rem; text-decoration: none; border: 1px solid var(--forest); cursor: pointer; font-family: inherit; white-space: nowrap; transition: background .15s ease; }
.btn:hover { background: var(--forest-2); }
.btn svg { width: 16px; height: 16px; transition: transform .15s ease; }
.btn:not(.btn--ghost) svg { color: var(--hl); }
.btn:hover svg { transform: translateX(2px); }
.logo { display: inline-flex; align-items: center; }
.logo img { height: 32px; width: auto; }
@media (max-width: 900px) {
  .logo img { height: 28px; }
}
.hero__bg { position: absolute; inset: -20% -10%; z-index: 0; pointer-events: none; --amp: .6; --spd: 1.4; }
.hero__bg i { position: absolute; display: block; will-change: transform; animation: ease-in-out infinite alternate both; }
.hero__bg i:nth-child(1) { left: -12%; top: 1%; width: 56%; height: 50%; background: radial-gradient(closest-side, rgba(57,239,89,.15), rgba(57,239,89,0)); animation-name: glowA; animation-duration: calc(17s * var(--spd)); }
.hero__bg i:nth-child(2) { left: 57%; top: -4%; width: 53%; height: 48%; background: radial-gradient(closest-side, rgba(217,232,33,.32), rgba(217,232,33,0)); animation-name: glowB; animation-duration: calc(21s * var(--spd)); }
.hero__bg i:nth-child(3) { left: 8%; top: 50%; width: 84%; height: 30%; background: radial-gradient(closest-side, rgba(217,232,33,.11), rgba(217,232,33,0)); animation-name: glowC; animation-duration: calc(25s * var(--spd)); }
@keyframes glowA { 0% { transform: translate3d(0,0,0) scale(1); } 50% { transform: translate3d(calc(12% * var(--amp)), calc(9% * var(--amp)), 0) scale(1.08); } 100% { transform: translate3d(calc(3% * var(--amp)), calc(-7% * var(--amp)), 0) scale(.96); } }
@keyframes glowB { 0% { transform: translate3d(0,0,0) scale(1); } 50% { transform: translate3d(calc(-11% * var(--amp)), calc(10% * var(--amp)), 0) scale(.95); } 100% { transform: translate3d(calc(-4% * var(--amp)), calc(-6% * var(--amp)), 0) scale(1.07); } }
@keyframes glowC { 0% { transform: translate3d(0,0,0) scale(1); } 50% { transform: translate3d(calc(9% * var(--amp)), calc(-6% * var(--amp)), 0) scale(1.06); } 100% { transform: translate3d(calc(-8% * var(--amp)), calc(4% * var(--amp)), 0) scale(1.02); } }
.nw { white-space: nowrap; }
@media (max-width: 400px) {
  .logo img { height: 24px; }
}
