/* Education resource cards and consistent actions. */
.education-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; }
.education-grid .tool-card { border: 1px solid var(--line); transform: none; }
.education-summary { max-width: 760px; color: var(--muted); line-height: 1.7; }
.education-screenshot { display: block; }
.education-screenshot img { display: block; width: 100%; height: 100%; object-fit: contain; filter: grayscale(1); opacity: 1; }
.education-screenshot::after { background: none; pointer-events: none; }
.education-grid .tool-card:hover img,
.education-grid .tool-card:focus-within img { filter: grayscale(0); transform: none; }
.education-resource-group { margin-top: 3rem; scroll-margin-top: 160px; }
.education-resource-group > h3 { margin: 0; padding-bottom: 1rem; border-bottom: 1px solid var(--line); font-size: clamp(1.3rem, 2vw, 1.8rem); line-height: 1.4; }
.education-resource-group .tool-grid { margin-top: 1.5rem; }
.education-catalogue .tool-card h4 { margin: 0 0 1rem; font-size: 1.45rem; letter-spacing: -.035em; line-height: 1.2; }
.education-actions { display: flex; flex-wrap: wrap; gap: .65rem; margin-top: auto; padding-top: 1rem; }
.education-actions .mini-button { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; text-decoration: none; line-height: 1.5; }
.education-section-actions { margin-top: .5rem; }
.education-preview-note { position: absolute; bottom: 0; left: 0; padding: .5rem .75rem; background: var(--ink-soft); color: var(--muted); font: .65rem var(--mono); }
.education-screenshot:focus-visible, .education-actions a:focus-visible { outline: 3px solid var(--blue-bright); outline-offset: 3px; }
.tool-section { scroll-margin-top: 140px; }
@media (max-width: 960px) { .education-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .education-grid { grid-template-columns: 1fr; } .education-actions .mini-button { flex: 1 1 auto; } }
@media (min-width: 961px) {
  .education-grid > .tool-card:only-child { display: grid; grid-template-columns: 1.2fr 1fr; grid-column: 1 / -1; }
  .education-grid > .tool-card:only-child .tool-body { padding: clamp(1.6rem, 3vw, 3rem); }
}

.education-attribution { font-size: .75rem; line-height: 1.7; }
.education-attribution a { color: var(--blue-bright); text-decoration: underline; text-underline-offset: .2em; }
.education-attribution a:focus-visible { outline: 2px solid var(--blue-bright); outline-offset: 3px; }
