.tools-page .tools-heading {
  display: flex;
  align-items: center;
  min-height: 180px;
  padding-bottom: 40px;
}
.cluster-light .tools-page h1.title {
  margin: 0;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(3.5rem, 6.5vw, 5rem);
  font-weight: 400;
  line-height: 1;
  letter-spacing: -.045em;
}
.tools-page h1.title::after { content: '.'; color: var(--site-yellow); }
.tools-availability { margin: 22px 0 0; color: var(--site-muted); font-size: .85rem; }
.tools-section {
  display: grid;
  grid-template-columns: 164px minmax(0, 1fr);
  gap: 36px;
  margin-top: 52px;
}
.cluster-light .tools-section__title {
  margin: 0;
  padding-top: 28px;
  font-family: var(--font-body);
  font-size: .9rem;
  font-weight: 500;
  line-height: 1.5;
}
.tools-section__title::before {
  content: '';
  display: block;
  width: 22px;
  height: 2px;
  margin-bottom: 14px;
  background: var(--site-yellow);
}
.tool-entries { min-width: 0; }
.tools-page .tool-link {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) auto;
  gap: 24px;
  align-items: start;
  padding: 28px 12px;
  color: var(--site-ink);
  text-decoration: none;
  transition: background-color 180ms ease;
}
.tool-icon { display: flex; align-items: center; justify-content: center; min-height: 40px; color: var(--site-muted); }
.tool-icon img { display: block; width: 40px; height: 40px; object-fit: contain; }
.tools-page .tool-link--editors { grid-template-columns: 104px minmax(0, 1fr) auto; }
.tool-icon--editors { gap: 8px; }
.tool-icon--editors img { flex: none; }
.tool-icon--editors > span { font-size: 16px; }
.tool-body { min-width: 0; }
.tool-heading { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; }
.tool-platform { display: inline-flex; align-items: center; gap: 6px; color: var(--site-muted); font-size: .7rem; line-height: 1.5; white-space: nowrap; }
.tool-platform img { display: block; width: 16px; height: 16px; opacity: .65; }
.tools-page .tool-title {
  margin: 0;
  color: var(--site-ink);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(1.4rem, 2.1vw, 1.75rem);
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: -.025em;
  text-wrap: pretty;
  text-decoration: underline;
  text-decoration-color: transparent;
  text-decoration-thickness: 2px;
  text-underline-offset: 5px;
  transition: text-decoration-color 180ms ease;
}
.tool-description { max-width: 62ch; margin: 12px 0 0; color: var(--site-muted); font-size: .9rem; line-height: 1.65; }
.tool-cta { display: block; width: 32px; padding-top: 5px; color: var(--site-muted); transition: color 180ms ease; }
.tool-cta .engraving-icon { display: block; width: 28px; height: 28px; transition: transform 220ms ease; }
.tool-link:focus-visible .tool-cta { color: var(--site-yellow); }
.tool-link:focus-visible .tool-cta .engraving-icon { transform: translateX(4px); }
.tool-link:focus-visible .tool-cta path { animation: tool-arrow-draw 450ms ease-out; }
@keyframes tool-arrow-draw {
  from { stroke-dasharray: 60; stroke-dashoffset: 60; }
  to { stroke-dasharray: 60; stroke-dashoffset: 0; }
}
.tools-page .tool-link:focus-visible { background-color: color-mix(in srgb, var(--site-yellow) 6%, var(--site-white)); outline: 2px solid var(--site-ink); outline-offset: 3px; }
.tool-link:focus-visible .tool-title { text-decoration-color: var(--site-yellow); }
@media (hover: hover) {
  .tools-page .tool-link:hover { background-color: color-mix(in srgb, var(--site-yellow) 6%, var(--site-white)); }
  .tool-link:hover .tool-title { text-decoration-color: var(--site-yellow); }
  .tool-link:hover .tool-cta { color: var(--site-yellow); }
  .tool-link:hover .tool-cta .engraving-icon { transform: translateX(4px); }
  .tool-link:hover .tool-cta path { animation: tool-arrow-draw 450ms ease-out; }
}
@media (max-width: 1023px) {
  .tools-section { grid-template-columns: 120px minmax(0, 1fr); gap: 24px; }
  .tools-page .tool-link { gap: 18px; }
}
@media (max-width: 767px) {
  .tools-page .tools-heading { min-height: 124px; padding-bottom: 28px; }
  .cluster-light .tools-page h1.title { font-size: clamp(2.5rem, 10vw, 4rem); }
  .tools-section { grid-template-columns: minmax(0, 1fr); gap: 18px; margin-top: 36px; }
  .cluster-light .tools-section__title { padding-top: 0; }
  .tools-section__title::before { display: inline-block; width: 16px; margin: 0 10px 4px 0; }
  .tools-page .tool-link { grid-template-columns: 32px minmax(0, 1fr) 28px; gap: 12px 16px; padding: 24px 0; }
  .tool-icon { min-height: 32px; }
  .tool-icon img { width: 32px; height: 32px; }
  .tool-icon svg { width: 26px; height: 26px; }
  .tools-page .tool-link--editors { grid-template-columns: minmax(0, 1fr) 28px; }
  .tool-icon--editors { grid-column: 1 / -1; justify-content: flex-start; margin-bottom: 4px; }
  .tools-page .tool-title { font-size: 1.4rem; line-height: 1.25; }
  .tool-description { font-size: .875rem; }
  .tool-cta { width: 28px; padding-top: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .tools-page .tool-link, .tools-page .tool-title, .tool-cta, .tool-cta .engraving-icon { transition: none; }
  .tools-page .tool-link .tool-cta .engraving-icon { transform: none; }
  .tools-page .tool-link .tool-cta path { animation: none; }
}
