.textlink{color:var(--green);align-items:center;gap:6px;font-family:Barlow,sans-serif;font-weight:600;display:inline-flex}.textlink .arw{transition:transform .15s}.textlink:hover .arw{transform:translate(4px)}.cta-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.cta-note{color:var(--ink-3);margin-top:14px;font-size:.85rem}.center{text-align:center}.maxw{max-width:760px}.maxw.center{margin:0 auto}.h-lead{letter-spacing:-.03em;font-size:clamp(2.5rem,6vw,4.4rem)}.h-sec{font-size:clamp(2rem,4vw,3rem)}.lede{color:var(--ink-2);font-size:clamp(1.12rem,1.7vw,1.32rem);line-height:1.5}.mt-s{margin-top:14px}.mt-m{margin-top:22px}.mt-l{margin-top:34px}.mt-xl{margin-top:52px}.hero{padding:74px 0 40px}.hero-grid{grid-template-columns:1.05fr .95fr;align-items:center;gap:54px;display:grid}.hero h1{font-size:clamp(2.6rem,5.4vw,4.5rem)}.hero .lede{max-width:520px;margin-top:22px}.grid-4{grid-template-columns:repeat(4,1fr);gap:18px;display:grid}.grid-3{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.grid-2{grid-template-columns:repeat(2,1fr);gap:26px;display:grid}.card{border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);background:#fff;padding:24px}.card .ic{background:linear-gradient(155deg,#edf3ee,#d7e7dc);border:1px solid #2d6a4f29;border-radius:13px;justify-content:center;align-items:center;width:46px;height:46px;margin-bottom:16px;display:flex;box-shadow:0 5px 14px #2d6a4f24,inset 0 1px #ffffffbf}.card .ic svg{width:22px;height:22px;stroke:var(--green-deep);stroke-width:2px}.card h3{letter-spacing:-.01em;font-size:1.16rem}.card p{color:var(--ink-2);margin-top:8px;font-size:.96rem}.card .textlink{margin-top:13px;font-size:.9rem}.frow{grid-template-columns:1fr 1fr;align-items:center;gap:56px;display:grid}.frow.flip .fr-media{order:-1}.frow+.frow{margin-top:84px}.fr-body h2{font-size:clamp(1.7rem,3vw,2.4rem)}.fr-body p{color:var(--ink-2);margin-top:16px;font-size:1.06rem}.fr-list{flex-direction:column;gap:11px;margin-top:20px;list-style:none;display:flex}.fr-list li{align-items:flex-start;gap:11px;font-size:1rem;display:flex}.fr-list li:before{content:"";background:var(--green-bright);border-radius:50%;flex:none;width:8px;height:8px;margin-top:9px;box-shadow:0 0 0 3px #52c28529}.boundary{color:var(--ink-3);border-left:2px solid var(--line);margin-top:18px;padding-left:12px;font-size:.86rem;font-style:italic}.media{border:1px solid var(--line);box-shadow:var(--shadow-lg);background:#fff;border-radius:16px;padding:22px}.media .m-head{border-bottom:1px solid var(--line-2);align-items:center;gap:9px;margin-bottom:14px;padding-bottom:14px;display:flex}.media .m-head .lab{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);font-family:IBM Plex Mono,monospace;font-size:.68rem}.founder-note{background:var(--paper-2);border-radius:var(--r);border:1px solid var(--line);color:var(--ink-2);margin-top:28px;padding:22px 24px;font-size:1.02rem}@media (prefers-reduced-motion:reduce){.btn:hover,.pcard:hover{transform:none}}@media (width<=960px){.hero-grid{grid-template-columns:1fr;gap:36px}.grid-4{grid-template-columns:1fr 1fr}.grid-3,.gap3,.stats,.grid-2,.explain,.demo-grid{grid-template-columns:1fr}}@media (width<=560px){.grid-4,.pgrid,.ft-grid{grid-template-columns:1fr}}.spec{letter-spacing:.02em;color:var(--ink-2);align-items:center;gap:11px;font-family:IBM Plex Mono,monospace;font-size:.74rem;display:inline-flex}.spec.on-dark{color:#f5f0eaa3}.gapcard{border-radius:var(--r);border:1px solid var(--line-dark);padding:26px}.gapcard h3{color:#fff;font-size:1.2rem}.gapcard p{color:#f5f0eaa8;margin-top:10px;font-size:.95rem}.hero-line{color:var(--ink);align-items:center;gap:10px;margin-top:20px;font-family:Barlow,sans-serif;font-size:1.06rem;font-weight:700;display:flex}.hero-line:before{content:"";background:var(--green-bright);border-radius:50%;flex:none;width:9px;height:9px;box-shadow:0 0 0 4px #52c28529}.hero-line.on-dark{color:var(--cream)}.hero-center{text-align:center;z-index:1;padding:64px 0 44px;position:relative}.hero-center .hero-h{max-width:17ch;margin-left:auto;margin-right:auto}.hero-overlap{z-index:2;margin-top:-120px;position:relative}@media (width<=860px){.hero-overlap{margin-top:0}.fd-card{height:430px}}
