.tools-hub{min-height:100vh;padding-bottom:72px}.tools-hub *,.tools-hub :before,.tools-hub :after{box-sizing:border-box}.tools-hub .wrap{max-width:1100px;margin:0 auto;padding:0 28px;position:relative}.tools-hub .hdr{border-bottom:1.5px solid var(--ffly-ink);justify-content:space-between;align-items:center;max-width:1100px;margin:0 auto;padding:22px 28px;display:flex}.tools-hub .hdr .logo{width:auto;height:32px;display:block}.tools-hub .hdr nav{align-items:center;gap:26px;display:flex}.tools-hub .hdr nav a{color:var(--ffly-ink);font-family:var(--ffly-font-mono);text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:600;text-decoration:none}.tools-hub .hdr nav a.on,.tools-hub .hdr nav a:hover{color:var(--ffly-coral-text)}.tools-hub .hdr .signin{background:var(--ffly-ink);color:var(--ffly-paper);border-radius:var(--ffly-r-full);font-family:var(--ffly-font-mono);text-transform:uppercase;letter-spacing:.06em;cursor:pointer;box-shadow:var(--ffly-sh-sm);border:none;padding:10px 18px;font-size:12px;font-weight:600}.tools-hub .intro{max-width:640px;padding:56px 0 36px}.tools-hub .crumb{font-family:var(--ffly-font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--ffly-coral-text);margin-bottom:16px;font-size:12px}.tools-hub .crumb:before{content:"✛ ";color:var(--ffly-ink)}.tools-hub h1{font-family:var(--ffly-font-display);letter-spacing:-.03em;color:var(--ffly-ink);margin:0 0 16px;font-size:clamp(42px,5.4vw,64px);font-weight:700}.tools-hub .lede{color:var(--ffly-ink);margin:0;font-size:19px;line-height:1.55}.tools-hub .grid{grid-template-columns:repeat(2,1fr);gap:20px;display:grid}@media (width<=760px){.tools-hub .grid{grid-template-columns:1fr}}.tools-hub .card{background:var(--ffly-surface);border:1.5px solid var(--ffly-ink);border-radius:var(--ffly-r-md);box-shadow:var(--ffly-sh-md);color:var(--ffly-ink);transition:transform var(--ffly-dur) var(--ffly-ease), box-shadow var(--ffly-dur) var(--ffly-ease);flex-direction:column;padding:26px;text-decoration:none;display:flex;position:relative}.tools-hub a.card:hover{box-shadow:var(--ffly-sh-lg);transform:translate(-3px,-3px)}.tools-hub .card .top{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.tools-hub .card .ic{border:1.5px solid var(--ffly-ink);mix-blend-mode:multiply;border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;font-size:20px;display:flex}.tools-hub .card .badge{font-family:var(--ffly-font-mono);text-transform:uppercase;letter-spacing:.08em;border-radius:var(--ffly-r-full);padding:4px 10px;font-size:10px;font-weight:700}.tools-hub .card .badge.free{color:#0d8d76;background:#e0f6f1}.tools-hub .card .badge.dev{color:var(--ffly-blue);background:#1f6fb21f}.tools-hub .card .badge.soon{color:var(--ffly-muted);background:#6e64561f}.tools-hub .card h3{font-family:var(--ffly-font-display);letter-spacing:-.02em;margin:0 0 6px;font-size:23px;font-weight:700}.tools-hub .card p{color:var(--ffly-muted);flex:1;margin:0 0 18px;font-size:15px;line-height:1.5}.tools-hub .card .go{font-family:var(--ffly-font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--ffly-coral-text);font-size:12px;font-weight:700}.tools-hub .card.disabled{opacity:.62;cursor:not-allowed}.tools-hub .card.disabled:hover{box-shadow:var(--ffly-sh-md);transform:none}
