/* Content pages (download, upgrade, support, legal). Builds on common.css. */
.sw-page h1 { font-family: var(--sw-font-stencil); text-transform: uppercase; letter-spacing: .12em; font-size: clamp(1.5rem, 4vw, 2.2rem); margin: 0 0 .4em; }
.sw-page h2 { font-size: 1.15rem; margin: 2em 0 .6em; color: var(--sw-text); }
.sw-page p, .sw-page li { color: var(--sw-muted); line-height: 1.65; }
.sw-page a:not(.btn) { color: var(--sw-cyan); }
.sw-page .lede { font-size: 1.05rem; color: var(--sw-text); margin: 0 0 1.6em; }
.sw-page .panel { padding: clamp(18px, 4vw, 32px); margin: 0 0 20px; }
.sw-page .updated { font-size: .85rem; color: var(--sw-muted); margin-bottom: 2em; }

.form-actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-top: 8px; }

.serial-meta { text-align: center; font-size: .9rem; color: var(--sw-muted); margin: 0 0 18px; }
.downloads { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; margin: 22px 0 6px; }
.steps { counter-reset: step; list-style: none; padding: 0; margin: 0; display: grid; gap: 12px; }
.steps li { counter-increment: step; position: relative; padding: 14px 16px 14px 60px; background: var(--sw-recess); border-radius: var(--sw-radius-sm); color: var(--sw-text); }
.steps li::before { content: counter(step); position: absolute; left: 14px; top: 12px; width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; background: #2e2e2e; color: var(--sw-amber); font-family: var(--sw-font-mono); }
.steps li small { display: block; color: var(--sw-muted); margin-top: 2px; }
.faq dt { color: var(--sw-text); font-weight: 600; margin-top: 1.2em; }
.faq dd { margin: .3em 0 0; color: var(--sw-muted); line-height: 1.6; }
.legal h2 { font-size: 1.05rem; }
.legal ul { padding-left: 1.2em; }
[hidden] { display: none !important; }
