/* Tools directory: shared editorial palette, compact working links. */
.tools-hub{max-width:1160px;margin:0 auto;padding:1.5rem 1.5rem 3rem}
.tools-intro{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:2rem;margin-bottom:1.5rem;border:1px solid #111;background:#f7d9bd;box-shadow:4px 4px 0 #111}
.tools-intro h1{font-size:clamp(2.25rem,4.5vw,4rem);line-height:1.12;margin:0 0 1rem;max-width:none}
.tools-intro .kicker{font-size:.75rem;margin-bottom:.75rem}
.tools-intro p{margin:0;max-width:58ch}
.tools-intro img{flex:0 0 120px;width:120px;height:120px}
.tools-hub p{font-size:1rem;line-height:1.7;text-align:left;hyphens:none}
.tools-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}
.tool-box{--accent:#eb7a3e;display:flex;flex-direction:column;min-width:0;padding:1.5rem;border:1px solid #111;border-top:5px solid var(--accent);background:#fff9ea;box-shadow:3px 3px 0 #111}
.tool-box:nth-child(2){--accent:#2ca7a0;background:#e5efdf}
.tool-box:nth-child(3){--accent:#4a6fa5;background:#e7ecf1}
.tool-meta{display:flex;justify-content:space-between;gap:.5rem;align-items:center;font-size:.75rem;letter-spacing:.04em;text-transform:uppercase;margin-bottom:1rem}
.tool-glyph{font-family:Georgia,serif;font-size:1.75rem;line-height:1;color:var(--accent)}
.tool-box h2{font-size:1.65rem;line-height:1.2;margin:0 0 1rem}
.tool-box p{margin:0 0 1.25rem}
.tool-box .tool-detail{margin-top:auto;padding-top:1rem;border-top:1px solid #1113;font-size:.875rem}
.tool-action,.tool-status{display:flex;align-items:center;justify-content:space-between;gap:.5rem;min-height:46px;padding:.7rem .85rem;font-size:.875rem;text-transform:uppercase}
.tool-action{border:1px solid #111;background:var(--accent);color:#111;text-decoration:none}
.tool-box:nth-child(3) .tool-action{color:#fff9ea}
.tool-action:hover{box-shadow:2px 2px 0 #111}
.tool-action:focus-visible{outline:2px solid #111;outline-offset:4px}
.tool-status{border-top:1px solid #1113;padding-left:0;font-weight:500}
@media(max-width:900px){.tools-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tool-upcoming{grid-column:1/-1}}
@media(max-width:600px){.tools-hub{padding:1rem 1rem 2rem}.tools-intro{padding:1.5rem;gap:1rem;align-items:flex-start}.tools-intro img{width:48px;height:48px;flex-basis:48px}.tools-intro h1{font-size:2.25rem}.tools-grid{grid-template-columns:1fr}.tool-box{padding:1.25rem}}
@media(max-width:380px){.tools-intro{display:block}.tools-intro img{display:none}}
