/* contractors.css — /contractors/ page: tools grid + upload CTA (page-scoped via $page_extra_css). */
.tools-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr));
              gap: var(--space-4); margin-top: var(--space-6); }
.tool-card { border: var(--rule-hairline); border-radius: var(--radius-base); padding: var(--space-4);
             background: var(--surface); display: flex; flex-direction: column; text-decoration: none; color: inherit; }
a.tool-card:hover { border-color: var(--brand-navy); }
.tool-card h3 { margin: 0 0 var(--space-2); font-size: 1.05rem; }
.tool-card p { margin: 0 0 var(--space-3); color: var(--text-muted); font-size: var(--size-small); flex: 1; }
.tool-card--locked { opacity: .72; }
.tool-card__locked { font-family: var(--font-mono); font-size: var(--size-tiny); text-transform: uppercase;
                     letter-spacing: var(--tracking-wide); color: var(--text-muted); }
.upload-cta { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4);
              flex-wrap: wrap; margin-top: var(--space-5); padding: var(--space-4) var(--space-5);
              border: var(--rule-hairline); border-radius: var(--radius-base); background: var(--surface); }
.upload-cta__text h3 { margin: 0 0 var(--space-1); }
.upload-cta__text p { margin: 0; color: var(--text-muted); font-size: var(--size-small); max-width: 40rem; }
