.cp{background:#fbfbfa;padding:96px 0 120px}.cp__wrap{max-width:1480px;padding:0 var(--spacing-page,24px);margin:0 auto}.cp__head{text-align:center;max-width:760px;margin:0 auto 40px}.cp__lead{margin-left:auto;margin-right:auto}.cp__eyebrow{font-family:var(--font-mono,ui-monospace, monospace);letter-spacing:.22em;color:#787774;margin-bottom:18px;font-size:11px}.cp__title{font-family:var(--font-sans,ui-sans-serif, system-ui);letter-spacing:-.025em;color:#111;margin:0 0 18px;font-size:clamp(32px,4vw,44px);font-weight:600;line-height:1.05}.cp__lead{color:#5c5a55;max-width:620px;margin:0 auto;font-size:16px;line-height:1.55}.cp-counts{font-family:var(--font-mono,monospace);letter-spacing:.08em;text-transform:uppercase;color:#787774;flex-wrap:wrap;justify-content:center;gap:6px 10px;margin:0 auto 40px;font-size:11px;display:flex}.cp-counts a{color:inherit;text-decoration:none;transition:color .15s}.cp-counts a:hover{color:#111}.cp-counts__dot{color:#c9c7c0}.cp-stage{grid-template-columns:minmax(0,1fr) 340px;align-items:stretch;gap:24px;max-width:1040px;margin:0 auto;display:grid}.cp-library{background:radial-gradient(circle at 18% 8%,#d7ff002e,#0000 38%),#fff;border:1px solid #20202014;border-radius:20px;grid-template-columns:180px minmax(0,1fr);gap:28px;padding:30px;display:grid;box-shadow:0 18px 50px #0000000e}.cp-library__nav{flex-direction:column;gap:4px;font-size:13px;line-height:1.2;display:flex}.cp-library__nav>span{font-family:var(--font-mono,monospace);letter-spacing:.12em;text-transform:uppercase;color:#aaa7a0;margin-bottom:10px;font-size:10px}.cp-library__navrow{color:#52524e;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin:0 -10px;padding:7px 10px;font-weight:500;text-decoration:none;transition:background .15s,color .15s;display:flex}.cp-library__navrow:hover{color:#111;background:#f7f6f3}.cp-library__navrow em{font-style:normal;font-family:var(--font-mono,monospace);color:#aaa7a0;font-size:11px;display:inline-block}.cp-library__navrow em.cp-count-pop{animation:.55s cubic-bezier(.16,1,.3,1) cp-count-pop}.cp-library__main{flex-direction:column;min-width:0;display:flex}.cp-library__mainhead{font-family:var(--font-mono,monospace);letter-spacing:.12em;text-transform:uppercase;color:#aaa7a0;margin-bottom:10px;font-size:10px}.cp-library__rows{flex-direction:column;gap:7px;display:flex}.cp-library__item{background:#fff;border:1px solid #20202012;border-radius:12px;align-items:center;gap:12px;min-height:50px;max-height:80px;padding:8px 16px;text-decoration:none;transition:max-height .6s cubic-bezier(.16,1,.3,1),opacity .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1),padding .6s cubic-bezier(.16,1,.3,1),min-height .6s cubic-bezier(.16,1,.3,1),border-width .6s cubic-bezier(.16,1,.3,1),border-color .2s,box-shadow .25s;display:flex;overflow:hidden;box-shadow:0 8px 24px #00000009}.cp-library__item:hover{border-color:#2020202e;box-shadow:0 10px 28px #00000012}.cp-library__item--enter,.cp-library__item--exit{opacity:0;border-width:0;min-height:0;max-height:0;padding-top:0;padding-bottom:0}.cp-library__item--enter{transform:translateY(-8px)}.cp-library__item--exit{transform:translateY(6px)}.cp-library__diff{font-family:var(--font-mono,monospace);letter-spacing:.1em;text-transform:uppercase;color:#aaa7a0;flex-shrink:0;width:84px;font-size:9px}.cp-library__item strong{color:#111;-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:1;min-width:0;font-size:13.5px;font-weight:600;line-height:1.25;display:-webkit-box;overflow:hidden}.cp-library__pill{font-family:var(--font-mono,monospace);color:#2f6f26;text-transform:uppercase;letter-spacing:.08em;background:#dfffd2;border:.5px solid #b5e999;border-radius:100px;flex-shrink:0;padding:3px 8px;font-size:9px;line-height:1}.cp__cta{text-align:center;margin-top:36px}.cp-tk{background:#fff;border:.5px solid #20202014;border-radius:14px;flex-direction:column;padding:4px;display:flex;box-shadow:0 0 0 1px #0000000a,0 1px 2px #00000005,0 18px 40px #00000014,inset 0 0 0 1px #fffc}.cp-tk__head{align-items:center;gap:8px;padding:14px 16px 12px;display:flex}.cp-tk__pulse{background:linear-gradient(264deg,#b5e999 1.96%,#99e99d 97.96%);border-radius:50%;width:7px;height:7px;animation:1.6s ease-in-out infinite cp-pulse;box-shadow:0 1px 1px #73a35999,0 0 0 2px #aae48bb3}.cp-tk__title{font-family:var(--font-sans,system-ui);color:#111;letter-spacing:-.01em;font-size:13px;font-weight:500}.cp-tk__body{background:#fbfbf8;border:.5px solid #2020200d;border-radius:10px;height:372px;position:relative;overflow:hidden}.cp-tk__rail{will-change:transform;flex-direction:column;animation:32s linear infinite cp-marquee;display:flex}.cp-tk__rail:hover{animation-play-state:paused}.cp-tk__row{border-bottom:.5px solid #2020200d;flex-shrink:0;align-items:center;gap:11px;padding:12px 14px;text-decoration:none;transition:background .15s;display:flex}.cp-tk__row:hover{background:#f2f1ed}.cp-tk__text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.cp-tk__name{font-family:var(--font-sans,system-ui);color:#111;-webkit-line-clamp:2;text-overflow:ellipsis;-webkit-box-orient:vertical;font-size:12px;font-weight:500;line-height:1.3;display:-webkit-box;overflow:hidden}.cp-tk__cat{font-family:var(--font-mono,monospace);color:#9a9892;text-transform:uppercase;letter-spacing:.12em;font-size:9px}.cp-tk__pill{font-family:var(--font-mono,monospace);color:#2f6f26;text-transform:uppercase;letter-spacing:.08em;background:#dfffd2;border:.5px solid #b5e999;border-radius:100px;flex-shrink:0;padding:3px 8px;font-size:9px;line-height:1}.cp-tk__fade{pointer-events:none;z-index:2;height:56px;position:absolute;left:0;right:0}.cp-tk__fade--top{background:linear-gradient(#fbfbf8 0%,#fbfbf8e6 35%,#fbfbf800 100%);top:0}.cp-tk__fade--bot{background:linear-gradient(#fbfbf800 0%,#fbfbf8e6 65%,#fbfbf8 100%);bottom:0}@keyframes cp-marquee{0%{transform:translateY(0)}to{transform:translateY(-50%)}}@keyframes cp-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.85)}}@keyframes cp-count-pop{0%{color:#aaa7a0;transform:scale(1)}40%{color:#2f6f26;transform:scale(1.35)}to{color:#aaa7a0;transform:scale(1)}}@media (width<=980px){.cp-stage{grid-template-columns:1fr;max-width:640px}.cp-tk__body{height:300px}}@media (width<=767px){.cp{padding:72px 0 76px}.cp__wrap{padding-left:18px;padding-right:18px}.cp__head{max-width:330px;margin-bottom:20px}.cp__eyebrow{letter-spacing:.18em;margin-bottom:12px;font-size:10px}.cp__title{letter-spacing:-.015em;margin-bottom:12px;font-size:26px;line-height:1.08}.cp__lead{max-width:320px;font-size:14px;line-height:1.5}.cp-counts{margin-bottom:24px}.cp-stage{max-width:360px}.cp-library{display:none}.cp-tk__head{padding:12px 14px 10px}.cp-tk__body{height:310px}.cp-tk__row{padding:11px 12px}.cp__cta{margin-top:24px}}@media (prefers-reduced-motion:reduce){.cp-tk__rail,.cp-tk__pulse{animation:none}.cp-library__item{transition:none}}.fts[data-astro-cid-j6xnllth]{background:#fff;padding:96px 0}.fts__inner[data-astro-cid-j6xnllth]{max-width:1200px;padding:0 var(--spacing-page,24px);margin:0 auto}.fts__eyebrow[data-astro-cid-j6xnllth]{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.14em;color:#b4b0a8;margin:0 0 12px;font-size:11px;font-weight:600}.fts__heading[data-astro-cid-j6xnllth]{font-family:var(--font-display);letter-spacing:-.02em;color:#111;margin:0 0 40px;font-size:clamp(28px,4.5vw,44px);font-weight:500;line-height:1.1}.fts__heading[data-astro-cid-j6xnllth] span[data-astro-cid-j6xnllth]{color:#b4b0a8}.fts__panels[data-astro-cid-j6xnllth]{grid-template-columns:1fr 1fr 1fr;gap:16px;margin-bottom:40px;display:grid}.fts__panel[data-astro-cid-j6xnllth]{background:#fff;border:1px solid #eaeaea;border-radius:16px;height:320px;overflow:hidden}.fts__panel--marquee[data-astro-cid-j6xnllth]{background:#fbfbfa;flex-direction:column;justify-content:center;gap:18px;display:flex}.fts__row[data-astro-cid-j6xnllth]{width:max-content;margin-left:var(--shift);animation:fts-drift var(--dur) linear infinite;gap:12px;display:flex}@keyframes fts-drift{0%{transform:translate(-50%)}to{transform:translate(0)}}@media (prefers-reduced-motion:reduce){.fts__row[data-astro-cid-j6xnllth]{animation:none}}.fts__file[data-astro-cid-j6xnllth],.fts__chip[data-astro-cid-j6xnllth]{font-family:var(--font-mono);color:#52524e;white-space:nowrap;background:#fff;border:1px solid #eaeaea;border-radius:12px;flex-shrink:0;align-items:center;gap:8px;padding:14px 16px;font-size:12px;display:inline-flex;box-shadow:0 1px 2px #11111108}.fts__file[data-astro-cid-j6xnllth] svg[data-astro-cid-j6xnllth],.fts__chip[data-astro-cid-j6xnllth] svg[data-astro-cid-j6xnllth]{color:#b4b0a8;flex-shrink:0;width:16px;height:16px}.fts__chip[data-astro-cid-j6xnllth]{letter-spacing:.08em;color:#3f3f3a;font-size:11px}.fts__panel--stack[data-astro-cid-j6xnllth]{background:#fff;justify-content:center;align-items:center;display:flex}.fts__stack[data-astro-cid-j6xnllth]{width:82%;max-width:300px}.fts__steps[data-astro-cid-j6xnllth]{grid-template-columns:1fr 1fr 1fr;gap:16px;display:grid}.fts__num[data-astro-cid-j6xnllth]{font-family:var(--font-mono);color:#b4b0a8;margin:0 0 12px;font-size:12px}.fts__title[data-astro-cid-j6xnllth]{font-family:var(--font-display);letter-spacing:-.01em;color:#111;margin:0 0 10px;font-size:clamp(20px,2.4vw,28px);font-weight:500}.fts__body[data-astro-cid-j6xnllth]{color:#52524e;max-width:44ch;margin:0;font-size:15px;line-height:1.65}@media (width<=900px){.fts[data-astro-cid-j6xnllth]{padding:64px 0}.fts__panels[data-astro-cid-j6xnllth]{grid-template-columns:1fr}.fts__panel[data-astro-cid-j6xnllth]{height:220px}.fts__panel--stack[data-astro-cid-j6xnllth]{order:2}.fts__panel--marquee[data-astro-cid-j6xnllth]:first-child{order:1}.fts__panel--marquee[data-astro-cid-j6xnllth]:last-child{order:3}.fts__steps[data-astro-cid-j6xnllth]{grid-template-columns:1fr;gap:28px}}.fts__spine{font-family:var(--font-mono);letter-spacing:.08em;fill:#b4b0a8;font-size:10px}.fts__shadow{opacity:.09;filter:blur(2.5px)}.fts-js .fts__stack:not([data-revealed]) :is(.fts__slab,.fts__cap,.fts__shadow){opacity:0}.fts__stack[data-revealed] .fts__slab{animation:fts-rise .55s cubic-bezier(.22, 1, .36, 1) var(--d,0s) both}.fts__stack[data-revealed] .fts__cap{animation:.7s cubic-bezier(.34,1.4,.64,1) .6s both fts-land}.fts__stack[data-revealed] .fts__cap-float{animation:7s ease-in-out infinite fts-hover}.fts__stack[data-revealed] .fts__shadow{transform-box:fill-box;transform-origin:50%;animation:.7s .6s both fts-shadow-in,7s ease-in-out 1.3s infinite fts-shadow}@keyframes fts-rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fts-land{0%{opacity:0;transform:translateY(-26px)}to{opacity:1;transform:translateY(0)}}@keyframes fts-hover{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes fts-shadow-in{0%{opacity:0}to{opacity:.09}}@keyframes fts-shadow{0%,to{opacity:.09;transform:scale(1)}50%{opacity:.05;transform:scale(.94)}}
