.stack-tools { list-style: none; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.4rem; }
.stack-tool { display: grid; grid-template-columns: 30px minmax(0, 1fr); column-gap: 0.8rem; align-items: start; font-size: 0.95rem; }
.stack-tool img { width: 30px; height: 30px; object-fit: contain; margin-top: 0.2rem; }
.stack-tool a { font-weight: 500; }
.stack-tool small { display: block; color: var(--muted); font-size: 0.95rem; line-height: 1.65; margin-top: 0.3rem; }
.stack-tool a:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
.stack-section h3 { margin-top: 2rem; margin-bottom: 1rem; }
@media (max-width: 34rem) { .stack-tools { grid-template-columns: 1fr; gap: 1rem; } }

.project-origin { font-size: 1.05rem; margin-bottom: 1.5rem; }
.acquisition { margin-top: 2.75rem; }
.stack-tool img { transition: transform 180ms ease; transform-origin: center; }
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .stack-tool img:hover { transform: translateY(-3px) rotate(-5deg) scale(1.08); }
  .stack-tool:focus-within img { transform: translateY(-3px); }
}
@media (prefers-reduced-motion: reduce) { .stack-tool img { transition: none; } }


.acquisition-intro { color: var(--muted); }
.acquisition-channels { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem 1.5rem; margin-top: 1.5rem; }
.acquisition-channel { padding: 1.25rem 0 0; border-top: 1px solid var(--line); }
.acquisition-channel.is-active { padding: 1.25rem; background: #f1f4f2; border: 0; border-radius: 10px; }
.channel-status { display: inline-block; font-size: 0.75rem; font-weight: 500; color: #52665c; }
.acquisition-channel h3 { margin: 0.45rem 0 0.7rem; }
.acquisition-channel p { font-size: 0.95rem; margin-bottom: 0; }
@media (max-width: 34rem) { .acquisition-channels { grid-template-columns: 1fr; } }

body main a.stack-icon-link { display: inline-flex; align-items: center; justify-content: center; width: 30px; border-bottom: 0; text-decoration: none; border-radius: 4px; }

.acquisition-channel h3 { display: flex; align-items: center; gap: 0.65rem; }
.channel-icon { width: 30px; height: 30px; object-fit: contain; flex: 0 0 30px; }
