/* /projects/osint — boite a outils OSINT (refonte du 04/10/2026).
   Toutes les cartes quittent le site : le nom d'hote et la fleche sortante
   le disent avant le clic. */

.osint-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr));
  gap: 1rem;
  margin: 2rem 0 0;
  padding: 0;
  list-style: none;
}
.osint-item {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: .55rem;
  padding: 1.2rem 1.3rem;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: var(--surface);
  transition: border-color .2s ease, background-color .2s ease;
}
.osint-item:hover { border-color: color-mix(in srgb, var(--accent) 50%, var(--border)); background: var(--surface-hover); }
.osint-item:focus-within { outline: 2px solid var(--accent); outline-offset: 3px; }
.site-main .osint-name { margin: 0; font-size: 1.15rem; }
.osint-name a { display: inline-block; padding: .2rem 0; color: var(--text); text-decoration: none; }
.osint-name a::after { content: ''; position: absolute; inset: 0; border-radius: inherit; }
.osint-name a:focus-visible { outline: none; }
.osint-item p { margin: 0; color: color-mix(in srgb, var(--text) 86%, var(--text-muted)); font-size: .95rem; line-height: 1.55; }
.osint-host { margin-top: auto; color: var(--text-muted); font-family: var(--mono); font-size: .8rem; }
.osint-closing { margin-top: 1.75rem; font-weight: 600; }
.sec .readable + .readable { margin-top: 1rem; }
.sec h2 + .readable { margin-top: 1.1rem; }

@media (prefers-reduced-motion: reduce) {
  .osint-item { transition: none; }
}
