/* Grants directory, using the shared TIH homepage palette. */
.grants-page .hero-text h1 {max-width:15ch;font-size:clamp(2.4rem,5vw,4.3rem);line-height:1.06;letter-spacing:-.04em;}
.grants-page .hero-live-badge {font-size:11px;letter-spacing:.1em;}
.grants-page .hero .lead {max-width:57ch;font-size:1rem;line-height:1.8;}
.grants-page .impact-inline {gap:24px;flex-wrap:wrap;}
.grants-page .impact-number {font-size:1.7rem;}
.grants-page .impact-label {font-size:.75rem;}
.grant-directory-ready .filter-bar {display:none;}
.grants-page .grant-search-tools {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:24px;margin:24px 0 16px;box-shadow:0 12px 32px #00286808;}
.grants-page .grant-search-tools[hidden] {display:none;}
.grants-page .grant-search-tools > div:first-child {grid-column:1 / -1;}
.grants-page .grant-search-tools label {font-size:12px;line-height:1.5;color:var(--text);margin:0 0 6px;}
.grants-page .grant-search-tools :is(input,select) {min-height:48px;font-size:16px;padding:12px;border:1px solid var(--border);border-radius:10px;}
.grants-page .grant-search-tools > .grant-toolbar-actions {grid-column:1 / -1;display:flex;align-items:center;flex-wrap:wrap;gap:8px;border-top:1px solid var(--border);padding-top:16px;}
.grants-page .grant-tool-button {min-height:44px;background:var(--surface-2);border:1px solid var(--border);border-radius:10px;padding:10px 14px;font:600 12px var(--font-body);color:var(--text);}
.grants-page .grant-tool-button[aria-pressed=true] {background:var(--brand-blue);color:#fff;border-color:var(--brand-blue);}
#grant-saved-count {display:inline-flex;justify-content:center;min-width:20px;margin-left:6px;font-weight:700;}
.grants-page .grant-search-tools .grant-tool-feedback {grid-column:1 / -1;font-size:12px;line-height:1.7;margin:0;overflow-wrap:anywhere;color:var(--text-secondary);}
.grant-tool-feedback:empty {display:none;}
.grant-directory-note {padding:12px 16px;border-left:3px solid var(--brand-blue);background:var(--surface-2);border-radius:8px;font-size:13px;line-height:1.8;color:var(--text-secondary);margin-bottom:20px;}
.grants-page .grant-guidance {margin:20px 0;}
.grants-page .grants-grid {grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:20px;align-items:start;}
.grants-page .grant-card {background:var(--surface);border-color:var(--border);border-radius:16px;box-shadow:0 6px 22px #14233c06;transition:box-shadow .15s;}
.grants-page .grant-card:hover {transform:none;box-shadow:0 12px 32px #14233c12;}
.grants-page .gc-header {display:grid;grid-template-columns:40px minmax(0,1fr);gap:10px 12px;padding:20px;border-color:var(--border);}
.grants-page .gc-icon {width:40px;height:40px;font-size:20px;}
.grants-page .gc-name {font-size:17px;line-height:1.4;color:var(--text);letter-spacing:-.02em;font-weight:700;}
.grants-page .gc-funder {font-size:10px;letter-spacing:.08em;line-height:1.6;color:var(--text-muted);margin-bottom:5px;}
.grant-save {grid-column:2;justify-self:start;min-height:44px;padding:9px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2);font:600 12px var(--font-body);color:var(--text);cursor:pointer;}
.grant-save[aria-pressed=true] {border-color:var(--brand-blue);color:var(--brand-blue);background:var(--surface-2);}
.grants-page .gc-tags {padding:16px 20px 0;gap:6px;}
.grants-page .gc-body {padding:16px 20px;}
.grants-page .gc-desc {font-size:13px;line-height:1.8;color:var(--text-secondary);}
.grants-page .gc-row {font-size:12px;line-height:1.7;gap:8px;}
.grants-page .gc-mval {color:var(--text-secondary);}
.grants-page .gc-mlabel {color:var(--text);}
.grants-page .gc-footer {padding:16px 20px 20px;border-color:var(--border);}
.grants-page :is(.btn-apply,.btn-tih) {display:inline-flex;align-items:center;justify-content:center;min-height:44px;line-height:1.5;font-size:12px;white-space:normal;text-align:center;}
.grants-page .btn-apply {background:var(--brand-blue);color:#fff;}
.grants-page .btn-tih {background:var(--surface-2);color:var(--text);border:1px solid var(--border);}
.grant-how {margin-top:16px;padding-top:4px;border-top:1px solid var(--border);}
.grant-how summary {min-height:44px;padding:12px 0;font-size:13px;font-weight:700;color:var(--text);cursor:pointer;}
.grant-how ol {margin:0 0 12px;padding-left:18px;font-size:13px;line-height:1.8;color:var(--text-secondary);}
.grant-how li {padding-left:4px;margin-bottom:8px;}
.grant-official-link {display:inline-flex;align-items:center;min-height:44px;font-size:12px;line-height:1.6;text-decoration:underline;text-underline-offset:3px;}
.grants-page .grant-checked {color:var(--text-muted);font-size:11px;}
.grant-readiness {background:var(--surface-2);}
.grant-readiness-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:28px;}
.grant-readiness-grid article {padding:24px;border:1px solid var(--border);border-radius:16px;background:var(--surface);}
.grant-readiness-grid article > span {display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--surface-2);border-radius:10px;color:var(--brand-red);font-weight:700;font-size:12px;margin-bottom:16px;}
.grant-readiness-grid h3 {font-size:18px;line-height:1.4;margin:0 0 12px;}
.grant-readiness-grid p {font-size:13px;line-height:1.8;color:var(--text-secondary);}
.grants-page :is(.grant-search-tools,.grant-card) :is(button,input,select,a,summary):focus-visible {outline:3px solid #1565d8;outline-offset:3px;}
.grants-page .no-results {border:1px dashed var(--border);background:var(--surface-2);border-radius:16px;padding:32px 20px;color:var(--text-secondary);}
@media(max-width:700px) {
 .grants-page .grant-search-tools {grid-template-columns:minmax(0,1fr);padding:18px;gap:14px;}
 .grants-page .hero-text h1 {font-size:clamp(2.3rem,9vw,3.3rem);}
 .grant-readiness-grid {grid-template-columns:minmax(0,1fr);gap:12px;}
 .grant-readiness-grid article {padding:20px;}
 .grants-page .gc-footer > a {width:100%;}
 .grants-page .gc-row {flex-wrap:wrap;gap:2px 8px;}
}

@media(max-width:700px) {.grants-page .grant-search-tools > .grant-toolbar-actions {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));}.grants-page .grant-toolbar-actions #grant-reset {grid-column:1 / -1;}}

.grants-page .grant-updates {display:flex;align-items:center;justify-content:space-between;gap:24px;margin:24px 0;padding:24px;border:1px solid var(--border);border-left:4px solid var(--brand-red);border-radius:16px;background:var(--surface-2);}
.grant-updates h3 {font-size:clamp(1.2rem,3vw,1.5rem);line-height:1.35;margin:8px 0;}
.grant-updates p:not(.section-label) {max-width:75ch;font-size:13px;line-height:1.8;color:var(--text-secondary);margin:0;}
.grant-update-link {flex-shrink:0;min-height:44px;display:inline-flex;align-items:center;font-size:13px;font-weight:700;color:var(--brand-blue);text-decoration:underline;text-underline-offset:4px;}
.grants-page .grant-new-badge {background:var(--brand-blue);color:#fff;border-color:var(--brand-blue);}
.grants-page .grant-card[data-added] {border-top:3px solid var(--brand-blue);}
@media(max-width:700px) {.grants-page .grant-updates {align-items:start;flex-direction:column;gap:12px;padding:20px;}.grants-page .grant-toolbar-actions #grant-reset {grid-column:auto;}}
