/* The free tools hub (free-tools/index.php and the other languages' folders). */
.hub-hero { padding-top: clamp(36px, 5.5vw, 80px); padding-bottom: clamp(32px, 4vw, 48px); }  /* the homepage hero's top space (home.css .hero), not a full section's */
.hub-head { display: grid; gap: 20px; justify-items: start; }
.hub-head .t-lead { max-width: 52ch; }
.hub-jump { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
.hub-chip { display: inline-flex; align-items: center; gap: 8px; height: 36px; padding: 0 12px; border-radius: var(--r-ctl); background: var(--card); box-shadow: var(--shadow-chip); font-size: .875rem; font-weight: 500; color: var(--ink); transition: box-shadow var(--d-fast) var(--ease); }
.hub-chip:hover { box-shadow: var(--shadow-tile); }
.hub-chip span { color: var(--muted); font-weight: 400; font-variant-numeric: tabular-nums; }
.hub-list { padding-bottom: var(--section-y); }
.hub-group { padding-top: 48px; scroll-margin-top: calc(var(--header-h) + 8px); }
.hub-group > :is(h2, h3) { display: flex; align-items: center; gap: 12px; margin-bottom: 20px; color: var(--ink); }
.hub-grid { display: grid; gap: 12px; grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr)); }
.hub-card { height: 100%; display: grid; grid-template-rows: auto 1fr auto; gap: 8px; padding: 20px; border-radius: var(--r-card); background: var(--card); box-shadow: var(--shadow-tile); transition: box-shadow var(--d-fast) var(--ease), transform var(--d-fast) var(--ease); }
.hub-card:hover { box-shadow: var(--shadow-float); transform: translateY(-1px); }
.hub-card b { font-size: 1.0625rem; line-height: 1.35; font-weight: 500; letter-spacing: -.012em; color: var(--ink); }
.hub-card span { font-size: .875rem; line-height: 1.5; color: var(--muted); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; align-self: start; }
.hub-card i { font-style: normal; display: inline-flex; align-items: center; gap: 6px; font-size: .875rem; font-weight: 500; color: var(--ink); margin-top: 4px; }
