/* Compact directory layout, scoped to Tools & Links. */
.tools-page { width:min(100%,1180px); }
.tools-page .hero { text-align:left; padding:28px 0 22px; }
.tools-page .hero .eyebrow { margin-bottom:10px; }
.tools-page .hero h1 { font-size:clamp(34px,4.5vw,46px); margin-bottom:12px; }
.tools-page .hero .subtitle { margin:0; max-width:none; font-size:14px; }
.tools-search { margin:0 0 18px; }
.tools-search-field { display:flex; align-items:center; gap:12px; background:var(--panel); border:1px solid var(--line); border-radius:16px; padding:0 16px; }
.tools-search-field:focus-within { outline:2px solid #9850ff80; outline-offset:2px; }
.tools-search-field > svg { flex:none; color:var(--muted); }
.tools-search-field input { flex:1; min-width:0; width:100%; height:50px; padding:12px 0; color:var(--text); background:transparent; border:0; outline:0; font:inherit; font-size:16px; }
.tools-search-field input::placeholder { color:var(--muted); }
.tools-search-field input::-webkit-search-cancel-button { display:none; }
.tools-clear { min-height:44px; padding:8px 4px; flex:none; }
.tools-count { margin:10px 2px 0; font-size:12px; color:var(--muted); }
.tools-page .tool-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin:0 0 28px; }
.tools-page .tool-card { display:grid; grid-template-columns:38px minmax(0,1fr) 16px; column-gap:12px; row-gap:8px; align-content:start; padding:20px; border-radius:20px; min-width:0; }
.tools-page .card-top { display:contents; }
.tools-page .tool-icon { grid-column:1; grid-row:1 / 3; width:38px; height:38px; border-radius:12px; }
.tools-page .tool-icon svg { width:22px; height:22px; }
.tools-page .arrow { grid-column:3; grid-row:1; font-size:18px; line-height:1.4; }
.tools-page .tool-card :is(h2,h3) { font-family:Montserrat,sans-serif; font-weight:400; grid-column:2; grid-row:1; font-size:18px; line-height:1.35; letter-spacing:-.4px; margin:0; overflow-wrap:anywhere; }
.tools-page .tool-card p { grid-column:2 / 4; grid-row:2; margin:0; font-size:12px; line-height:1.6; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; }
.tools-page .card-label { grid-column:2 / 4; grid-row:3; font-size:9px; letter-spacing:.08em; padding-top:2px; margin:0; }
.tools-page .tool-card:hover { transform:translateY(-2px); }
.tools-empty { border:1px dashed var(--line); border-radius:20px; padding:30px 20px; text-align:center; }
.tools-empty h2 { font-size:20px; font-weight:500; margin:0 0 8px; }
.tools-empty p { color:var(--muted); font-size:14px; margin:0 0 18px; }
.tools-page [hidden] { display:none !important; }
.tools-page footer { margin-top:24px; }
@media(min-width:1000px) { .tools-page .tool-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:620px) { .tools-page .tool-grid { grid-template-columns:1fr; gap:10px; } .tools-page .tool-card { padding:16px; } .tools-page .hero { padding:24px 0 20px; } .tools-page .card-label { font-size:10px; } }

/* Featured contact destination stays part of the searchable directory. */
.tools-page .contact-card { grid-column:1 / -1; grid-template-columns:38px minmax(0,1fr) auto; border-color:#9850ff66; background:linear-gradient(110deg,#9850ff0b,#9850ff03),var(--panel); box-shadow:0 3px 16px #9850ff0a; }
.tools-page .contact-card .tool-icon { background:#9850ff17; color:#8242cc; }
.tools-page .contact-card h2 { font-size:20px; font-weight:500; }
.tools-page .contact-card p { grid-column:2; -webkit-line-clamp:unset; }
.contact-domain { grid-column:3; grid-row:1 / 3; align-self:center; display:inline-flex; align-items:center; gap:14px; padding:9px 16px; border-radius:999px; color:#7540b4; background:#9850ff12; font-size:14px; font-weight:500; white-space:nowrap; }
:root.dark-mode .contact-domain,:root.dark-mode .tools-page .contact-card .tool-icon { color:#cba8ff; }
.tools-page .contact-card:hover { border-color:#9850ff; box-shadow:0 5px 20px #9850ff1c; }
@media(max-width:620px) { .tools-page .contact-card { grid-template-columns:38px minmax(0,1fr); } .contact-domain { grid-column:2; grid-row:3; justify-self:start; margin-top:2px; padding:6px 12px; font-size:12px; } }

/* External references have a separate section below the Gregle tools. */
.useful-links { border-top:1px solid var(--line); margin-top:30px; padding-top:24px; }
.tools-page .useful-links > h2 { margin:0 0 16px; font:400 24px/1.3 Montserrat,sans-serif; letter-spacing:-.5px; }
.tools-page .useful-links .tool-grid { margin-bottom:0; }
