.diag-main { max-width: 760px; }
.diag-intro h1 { max-width: 16ch; }
.diag-card { padding: 1.6rem; border: 1px solid var(--border); border-radius: 10px; background: var(--surface); }
.diag-card + .diag-card { margin-top: 1rem; }
.diag-card h2 { margin: 0; color: var(--ink); font-family: var(--font-display); font-size: clamp(1.35rem, 2.6vw, 1.9rem); line-height: 1.25; }
.diag-card > p:not(.section-label) { margin-top: 0.85rem; }
.diag-downloads { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.75rem; margin-top: 1.25rem; }
.diag-download { display: flex; flex-direction: column; gap: 0.25rem; padding: 1rem; border: 1px solid var(--border); border-radius: 8px; background: var(--well); }
.diag-download:hover { background: var(--accent-pale); text-decoration: none; }
.diag-download strong { color: var(--accent-text); font-family: var(--font-display); font-size: 1.15rem; }
.diag-download span { color: var(--muted); font-size: 0.75rem; line-height: 1.4; }
.diag-steps { display: grid; gap: 0; margin-top: 1.25rem; list-style: none; counter-reset: diag-step; }
.diag-steps li { display: grid; grid-template-columns: 2rem 1fr; gap: 0.85rem; padding: 0.9rem 0; border-top: 1px solid var(--border); counter-increment: diag-step; }
.diag-steps li::before { content: counter(diag-step); display: grid; place-items: center; width: 1.75rem; height: 1.75rem; border: 1px solid var(--accent); border-radius: 50%; color: var(--accent-text); font-family: var(--font-display); font-size: 0.75rem; }
.diag-steps strong { color: var(--ink); font-family: var(--font-display); }
.diag-steps p { margin-top: 0.25rem; color: var(--muted); font-size: 0.85rem; line-height: 1.5; }
.diag-note { margin-top: 1.25rem; padding: 1rem; border-left: 3px solid var(--accent); background: var(--accent-pale); color: var(--ink); font-size: 0.85rem; line-height: 1.55; }
.diag-main .ai-footer { margin-top: 2rem; }
@media (max-width: 720px) { .diag-downloads { grid-template-columns: 1fr; } .diag-card { padding: 1.2rem; } }
