:root{--wide:1120px;--panel:#f5f4ef;--mono:"JetBrains Mono",ui-monospace,"SF Mono",Menlo,monospace;--ink2:#3d3c34;--lab:#5f5e57}main.connectors{font-family:var(--sans);color:var(--body)}main.connectors>section:not(.hero){margin-top:clamp(80px,10vw,128px)}.wrap{max-width:var(--wide);margin:0 auto;padding:0 24px}.eyebrow{font-family:var(--sans);font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--lab);font-weight:600}a.ilink{font-family:var(--sans);font-size:15px}a.ilink .harr{margin-left:4px}.btn{display:inline-block;font-family:var(--sans);font-size:14.5px;font-weight:500;color:var(--ink);background:#f1f0ea;border-radius:999px;padding:11px 24px;text-decoration:none;transition:.2s}.btn:hover{background:#e7e6df}.hero{text-align:center;margin-top:clamp(28px,5vw,58px)}.hhead{font-family:var(--serif);font-weight:600;color:var(--ink);font-size:clamp(33px,5.2vw,54px);line-height:1.13;letter-spacing:-.022em;margin:20px auto 0;max-width:16ch}.hsub{color:var(--ink2);font-size:18.5px;line-height:1.55;max-width:54ch;margin:24px auto 0}.hctas{display:flex;gap:20px;align-items:center;justify-content:center;flex-wrap:wrap;margin-top:30px}.nodefig{max-width:var(--w);margin:50px auto 0;padding:0 24px}.nodefig svg{width:100%;height:auto;display:block}.nodefig figcaption{font-family:var(--mono);font-size:11.5px;letter-spacing:.03em;color:var(--faint);text-align:center;margin-top:18px}.nf-node{fill:#fff;stroke:#9a988f;stroke-width:1.2;transform-box:fill-box;transform-origin:center}.nf-node.nf-primary{fill:#feed01;stroke:#14130e}.nf-edge{stroke:#d3d2ca;stroke-width:1;fill:none}.nf-edge.nf-primary{stroke:#14130e;stroke-width:1.6}.nf-pulse,.nf-in{fill:#14130e;opacity:0}html.js .nodefig.in .nf-node{animation:nf-lit 15.84s linear infinite;animation-delay:calc(var(--i) * 1.32s)}html.js .nodefig.in .nf-edge{animation:nf-edgelit 15.84s linear infinite;animation-delay:calc(var(--i) * 1.32s)}html.js .nodefig.in .nf-pulse{animation:nf-fly 15.84s linear infinite;animation-delay:calc(var(--i) * 1.32s)}html.js .nodefig.in .nf-in{animation:nf-inflow 3.12s linear infinite}@keyframes nf-lit{0%,7%{fill:#feed01;stroke:#14130e;transform:scale(1.32)}11%,to{fill:#fff;stroke:#9a988f;transform:scale(1)}}@keyframes nf-edgelit{0%,7%{stroke:#14130e;stroke-width:1.7}11%,to{stroke:#d3d2ca;stroke-width:1}}@keyframes nf-fly{0%{offset-distance:0%;opacity:0}1.5%{opacity:1}6.4%{offset-distance:100%;opacity:1}7.6%{offset-distance:100%;opacity:0}to{opacity:0}}@keyframes nf-inflow{0%{offset-distance:0%;opacity:0}15%{opacity:.85}85%{opacity:.85}to{offset-distance:100%;opacity:0}}@media(prefers-reduced-motion:reduce){.nodefig .nf-node,.nodefig .nf-edge{animation:none!important}.nodefig .nf-pulse,.nodefig .nf-in{animation:none!important;opacity:0!important}}.sechead{text-align:center;max-width:640px;margin:0 auto 30px}.sechead .eyebrow{margin-bottom:14px}.sechead h2{font-family:var(--serif);font-weight:600;color:var(--ink);font-size:clamp(27px,3.3vw,38px);letter-spacing:-.02em;line-height:1.15}.sechead .lead{color:var(--ink2);font-size:16.5px;margin-top:12px;line-height:1.5}.kicker{text-align:center;color:var(--ink2);font-size:16.5px;max-width:60ch;margin:30px auto 0;line-height:1.5}.toolgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;border:.5px solid var(--line);border-radius:14px;overflow:hidden;background:var(--line)}.tool{background:var(--paper);padding:22px;transition:background .18s}.tool:hover{background:#faf9f6}.tool .tname{font-family:var(--mono);font-size:14px;color:var(--ink);font-weight:500;letter-spacing:-.01em}.tool .tdesc{font-size:14.5px;color:var(--ink2);margin-top:8px;line-height:1.5}@media(max-width:760px){.toolgrid{grid-template-columns:1fr 1fr}}@media(max-width:480px){.toolgrid{grid-template-columns:1fr}}.chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:0 0 26px}.chip{font-family:var(--sans);font-size:13px;font-weight:500;color:var(--muted);border:0;border-radius:999px;padding:8px 16px;cursor:pointer;background:#f5f4f0;transition:background .18s ease,color .18s ease,box-shadow .18s ease}.chip:hover{background:#ebe9e2;color:var(--ink)}.chip.active{background:var(--ink);color:var(--paper);box-shadow:0 4px 12px #14130e24}.logos{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));border:.5px solid var(--line);border-radius:14px;overflow:hidden;background:var(--paper)}.logo{background:var(--paper);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:22px 12px;min-height:106px;border-right:.5px solid var(--line);border-bottom:.5px solid var(--line)}.logo img{height:30px;width:auto;max-width:88px;object-fit:contain;filter:grayscale(1);opacity:.6;transition:.22s}.logo span{font-family:var(--sans);font-size:11.5px;color:var(--faint);transition:.22s;text-align:center}.logo:hover img{filter:none;opacity:1}.logo:hover span{color:var(--muted)}.logo.hide{display:none}.wallfoot{text-align:center;margin-top:26px}@media(max-width:480px){.logos{grid-template-columns:repeat(auto-fit,minmax(102px,1fr))}}.tabs{display:flex;gap:6px;justify-content:center;margin-bottom:14px}.tab{font-family:var(--sans);font-size:13px;font-weight:500;color:var(--muted);background:var(--paper);border:.5px solid var(--line);border-radius:999px;padding:7px 18px;cursor:pointer;transition:.15s}.tab:hover{border-color:var(--ink);color:var(--ink)}.tab.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.codepanel{border:.5px solid var(--line);border-radius:14px;background:var(--panel);padding:22px 24px;overflow-x:auto}.code-block{display:none;font-family:var(--mono);font-size:13px;line-height:1.75;color:var(--body);white-space:pre;margin:0}.code-block.active{display:block}.code-block .cm{color:var(--faint)}.code-block .st{color:#8a6d00}.rescards{display:grid;grid-template-columns:1fr 1fr;gap:16px}.pcard{display:flex;flex-direction:column;border:.5px solid var(--line);border-radius:14px;padding:24px;min-height:188px;text-decoration:none;color:inherit;transition:.22s;background:var(--paper)}a.pcard:hover{border-color:var(--ink);transform:translateY(-3px);box-shadow:0 10px 30px #14130e12}.pcard .pc-eyebrow{font-family:var(--sans);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--lab);font-weight:600}.pcard .pc-name{font-family:var(--serif);font-weight:600;color:var(--ink);font-size:20px;letter-spacing:-.01em;margin-top:8px}.pcard .pc-desc{font-size:14.5px;line-height:1.5;color:var(--ink2);margin-top:10px;flex:1}.pcard .pc-foot{font-family:var(--sans);font-size:13px;font-weight:500;color:var(--ink);margin-top:16px;display:flex;align-items:center}@media(max-width:680px){.rescards{grid-template-columns:1fr}}.faq-item{border-top:.5px solid var(--line)}.faq-item:last-child{border-bottom:.5px solid var(--line)}.faq-q{width:100%;display:flex;justify-content:space-between;align-items:center;gap:20px;font-family:var(--sans);font-size:16.5px;font-weight:500;color:var(--ink);background:none;border:none;text-align:left;padding:19px 0;cursor:pointer}.faq-q .pm{font-family:var(--sans);font-size:22px;font-weight:400;color:var(--faint);flex:0 0 auto;transition:transform .25s,color .2s;line-height:1}.faq-item.open .faq-q .pm{transform:rotate(45deg);color:var(--ink)}.faq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .32s ease}.faq-item.open .faq-a{grid-template-rows:1fr}.faq-a .inner{overflow:hidden}.faq-a p{font-size:16px;line-height:1.6;color:var(--ink2);padding:0 0 22px;max-width:64ch}.pcard2{border:.5px solid var(--line);border-radius:18px;padding:32px}.pcard2 h2{font-family:var(--serif);font-weight:600;color:var(--ink);font-size:26px;letter-spacing:-.02em;margin:12px 0 0}.pcard2 .pintro{color:var(--ink2);font-size:16.5px;margin:12px 0 22px;line-height:1.55}.prow{display:flex;justify-content:space-between;gap:18px;align-items:baseline;padding:15px 0;border-top:.5px solid var(--line)}.prow .pk{font-family:var(--serif);color:var(--ink);font-size:16px}.prow .pv{font-family:var(--sans);color:var(--lab);font-size:14px;text-align:right}.ctaband{max-width:var(--wide);margin:clamp(88px,11vw,150px) auto 0;padding:0 24px;background:none}.ctaband .in{background:var(--yellow);border-radius:24px;max-width:none;margin:0;padding:clamp(44px,6vw,76px) clamp(24px,5vw,56px);text-align:center}.ctaband h2{font-family:var(--serif);font-weight:600;color:var(--ink);font-size:clamp(30px,4vw,48px);letter-spacing:-.02em;line-height:1.08}.ctaband p{font-family:var(--sans);color:#3a3508;font-size:17px;line-height:1.55;max-width:48ch;margin:16px auto 0}.ctaband .btn{background:var(--ink);color:var(--paper);margin-top:28px}.ctaband .btn:hover{background:#000}@media(prefers-reduced-motion:reduce){.faq-a{transition:none!important}}.cat-head a.ilink,.noresults a.ilink{font-size:14.5px}.cat-head{text-align:center;max-width:640px;margin:clamp(20px,4vw,42px) auto 30px;padding:0 24px}.cat-head .back{display:inline-block;margin-bottom:18px}.cat-head h1{font-family:var(--serif);font-weight:600;color:var(--ink);font-size:clamp(30px,4.6vw,46px);letter-spacing:-.022em;line-height:1.12;margin-top:12px}.cat-head p{color:var(--ink2);font-size:17px;margin-top:16px;line-height:1.5}.searchwrap{max-width:560px;margin:0 auto 20px;position:relative}.search{width:100%;font-family:var(--sans);font-size:16px;color:var(--ink);background:var(--paper);border:.5px solid var(--line);border-radius:999px;padding:13px 20px 13px 46px;outline:none;transition:.15s}.search:focus{border-color:var(--ink)}.search::placeholder{color:var(--faint)}.searchwrap .sicon{position:absolute;left:18px;top:50%;transform:translateY(-50%);width:17px;height:17px;color:var(--faint);pointer-events:none}.cat-chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:0 auto 18px;max-width:860px}.count{text-align:center;font-family:var(--mono);font-size:12px;letter-spacing:.04em;color:var(--faint);margin:0 0 22px;text-transform:uppercase}.cat-logos{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));border:.5px solid var(--line);border-radius:14px;overflow:hidden;background:var(--paper)}.cat-logos .logo{gap:11px;padding:24px 12px;min-height:112px}.cat-logos .logo img{height:32px;max-width:92px}@media(max-width:480px){.cat-logos{grid-template-columns:repeat(auto-fit,minmax(108px,1fr))}}.noresults{text-align:center;color:var(--ink2);padding:48px 0;font-size:16px;display:none}.catalog-note{text-align:center;color:var(--faint);font-size:13.5px;font-family:var(--sans);max-width:60ch;margin:30px auto 0;line-height:1.5}
