/* Shared, compact content layouts for the consolidated site. */
.compact-section { padding: 64px 0; }
.compact-muted { background: var(--gray-100); }
.compact-intro { max-width: 720px; margin-bottom: 28px; }
.compact-intro h2 { margin-bottom: 14px; text-wrap: balance; }
.compact-intro .section-tag { margin-bottom: 14px; }
.compact-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.compact-card { min-width: 0; padding: 30px; background: var(--panel); border: 1px solid var(--border); border-radius: 18px; }
.compact-card h3 { font-size: 1.25rem; font-weight: 600; line-height: 1.3; margin-bottom: 14px; }
.compact-card h4 { font-size: 1rem; margin: 22px 0 10px; }
.compact-card p + p { margin-top: 14px; }
.compact-card p, .compact-list { font-size: .95rem; }
.compact-number { display: block; margin-bottom: 16px; color: var(--cyan); font: .75rem/1.5 ui-monospace, monospace; letter-spacing: .08em; }
.compact-list { list-style: disc; padding-left: 20px; margin-top: 16px; color: var(--text-muted); line-height: 1.75; }
.compact-list li + li { margin-top: 8px; }
.compact-steps { list-style: decimal; }
.compact-steps strong { color: var(--text); font-weight: 600; }
.compact-jump-links { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 24px; }
.compact-jump-links a { display: inline-flex; align-items: center; min-height: 44px; padding: 9px 14px; border: 1px solid var(--border); border-radius: 8px; font-size: .83rem; color: var(--text-muted); background: var(--panel); }
.compact-jump-links a:hover { color: var(--cyan); border-color: var(--cyan); }
.compact-text-link { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; color: var(--cyan); font-size: .9rem; font-weight: 500; text-decoration: underline; text-underline-offset: 4px; }
.compact-card > .compact-text-link { margin-top: 14px; }
.compact-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 24px; margin-top: 28px; }
.compact-disclosure { border-top: 1px solid var(--border); }
.compact-disclosure summary { min-height: 52px; padding: 14px 0; color: var(--text); font-size: .95rem; font-weight: 500; cursor: pointer; }
.compact-disclosure summary::marker { color: var(--cyan); }
.compact-disclosure p { padding-bottom: 18px; max-width: 75ch; }
.compact-disclosure[open] summary { color: var(--cyan); }
.compact-faq { max-width: 860px; }
.compact-faq .compact-disclosure:last-child { border-bottom: 1px solid var(--border); }
.compact-jump-links a:focus-visible, .compact-text-link:focus-visible, .compact-disclosure summary:focus-visible { outline: 2px solid var(--cyan); outline-offset: 4px; border-radius: 4px; }
.compact-section[id], .compact-card[id], .compact-card h4[id] { scroll-margin-top: 104px; }
@media (max-width: 700px) {
  .compact-section { padding: 48px 0; }
  .compact-grid { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .compact-card { padding: 24px; }
  .compact-jump-links { gap: 7px; }
  .compact-jump-links a { padding-inline: 11px; font-size: .8rem; }
  .compact-actions { align-items: flex-start; flex-direction: column; }
}
