/* Source-led comparison tables: retain semantic headers and contain mobile overflow. */
.company-evidence{margin:2rem 0;padding:1.25rem 1.5rem;border:1px solid #dce4de;background:#f1f6f2;border-radius:10px}
.company-evidence h3{margin:0 0 .8rem;color:#204f25;font-size:1.1rem}
.company-evidence p{margin:.75rem 0;line-height:1.7}
.company-evidence a{text-decoration:underline;text-underline-offset:.2em}
.research-table{max-width:100%;overflow-x:auto;margin:1.75rem 0 2rem;border:1px solid #dce4de;border-radius:12px;background:#fff;overscroll-behavior-inline:contain}
.research-table:focus-visible{outline:3px solid #204f25;outline-offset:4px}
.research-table table{width:100%;min-width:590px;border-collapse:collapse;font-size:.94rem;line-height:1.65;text-align:left}
.research-table caption{text-align:left;padding:1rem 1.25rem;color:#204f25;font-weight:700;background:#f1f6f2}
.research-table th,.research-table td{padding:1rem 1.25rem;vertical-align:top;border-bottom:1px solid #e2e8e3;overflow-wrap:anywhere}
.research-table thead th{background:#204f25;color:white;font-weight:600}
.research-table tbody th{width:22%;color:#204f25;font-weight:650}
.research-table tbody tr:last-child>*{border-bottom:0}
.research-table a{text-decoration:underline;text-underline-offset:.18em}
.research-table a:focus-visible{outline:2px solid #204f25;outline-offset:3px}
.research-table>p{padding:.65rem 1rem;margin:0;color:#4c5d51}
@media(max-width:640px){.research-table{margin:1.25rem 0 1.75rem}.research-table th,.research-table td{padding:.8rem 1rem}.research-table caption{font-size:.85rem}}
.funding-calendar{--calendar-ink:#204f25;--calendar-line:#dce4de;--calendar-paper:#f1f6f2}
.calendar-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:20px;background:var(--calendar-paper);border-radius:12px;margin:24px 0}
.calendar-controls[hidden],.deadline-card[hidden],[data-calendar-empty][hidden]{display:none}
.calendar-controls label{display:grid;gap:8px;font-weight:650;font-size:14px;color:var(--calendar-ink)}
.calendar-controls select,.calendar-controls button{min-height:44px;font:inherit;max-width:100%;width:100%;border:1px solid #7b8c80;border-radius:8px;padding:10px;background:#fff;color:#173b1b}
.calendar-controls button{width:auto;justify-self:start;cursor:pointer}
.calendar-controls :focus-visible,.deadline-actions a:focus-visible{outline:3px solid var(--calendar-ink);outline-offset:4px}
.calendar-cards{display:grid;gap:24px}
.deadline-card{border:1px solid var(--calendar-line);border-radius:14px;padding:24px;background:#fff;min-width:0}
.deadline-card h3{font-size:1.3rem;line-height:1.35;margin:18px 0 12px;color:var(--calendar-ink)}
.deadline-meta{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;color:var(--calendar-ink);font-size:.88rem;font-weight:650}
.deadline-meta span{background:var(--calendar-paper);border-radius:6px;padding:3px 8px}
.deadline-card .deadline-tags,.deadline-card .deadline-checked{font-size:.88rem;color:#465b4b}
.deadline-actions{--calendar-ink:#204f25;--calendar-line:#dce4de;--calendar-paper:#f1f6f2;display:flex;flex-wrap:wrap;gap:12px;margin:20px 0}
.deadline-actions a{display:inline-flex;align-items:center;min-height:44px;padding:8px 12px;border:1px solid var(--calendar-line);border-radius:8px;box-sizing:border-box;font-size:.88rem;color:var(--calendar-ink);text-decoration:none!important;line-height:1.5}
.deadline-actions a:hover{background:var(--calendar-paper);border-color:var(--calendar-ink)}
@media(max-width:480px){.calendar-controls{grid-template-columns:1fr;padding:16px}.deadline-card{padding:18px}.deadline-actions{flex-direction:column;align-items:stretch}}
