/* The setup walkthroughs: the site's own styles plus what a long how-to needs. */
.guide .wrap { max-width: 800px; }
.guide h2 { font-size: clamp(1.5rem, 3vw, 2rem); margin-top: 2.4rem; }
.guide p { line-height: 1.6; }
.guide code { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: .92em; background: var(--white); border: 1px solid var(--line); border-radius: 4px; padding: .05em .35em; word-break: break-all; }
.facts { display: grid; gap: .75rem; margin: 1.5rem 0 0; padding: 0; }
.facts div { background: var(--white); border: 1px solid var(--line); border-radius: var(--radius); padding: .9rem 1.1rem; }
.facts dt { font-family: var(--font-head); font-weight: 600; font-size: .85rem; letter-spacing: .04em; text-transform: uppercase; color: var(--stake-deep); margin-bottom: .25rem; }
.facts dd { margin: 0; line-height: 1.5; }
.steps { counter-reset: step; list-style: none; padding: 0; margin: 1rem 0 0; }
.steps li { counter-increment: step; position: relative; padding: .85rem 0 .85rem 3rem; border-top: 1px solid var(--line); line-height: 1.55; }
.steps li::before { content: counter(step); position: absolute; left: 0; top: .8rem; width: 2rem; height: 2rem; border-radius: 6px; background: var(--ink); color: #fff; font-family: var(--font-head); font-weight: 700; display: grid; place-items: center; font-size: .95rem; }
.steps li:last-child { border-bottom: 1px solid var(--line); }
.done { margin-top: 1.5rem; padding: .9rem 1.1rem; border-radius: var(--radius); background: #e8f5ec; color: #1d6b38; font-weight: 500; }
.guide .note { margin-top: 1rem; }
.two { display: grid; gap: 1rem; margin-top: 1rem; }
@media (min-width: 640px) { .two { grid-template-columns: 1fr 1fr; } .facts { grid-template-columns: 1fr 1fr; } }
.muted { color: var(--slate); margin-top: 2rem; }
.get-install { display: flex; flex-wrap: wrap; gap: .6rem; align-items: flex-end; margin-top: 1rem; background: var(--white); border: 1px solid var(--line); border-radius: var(--radius); padding: 1rem; }
.get-install label { font-weight: 600; font-size: .9rem; flex-basis: 100%; }
.get-install input { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; letter-spacing: .04em; text-transform: uppercase; flex: 1 1 14rem; min-width: 0; padding: .7rem .8rem; border: 1px solid var(--line); border-radius: 6px; font-size: 1rem; }
.get-install .btn { flex: none; }

.shot { margin: 1.2rem 0 0; }
.shot img { display: block; width: 100%; height: auto; border: 1px solid var(--line); border-radius: 6px; background: var(--white); box-shadow: 0 10px 30px rgba(15,26,43,.08); }
.shot figcaption { font-size: .9rem; color: var(--slate); margin-top: .5rem; line-height: 1.45; }
.shots { display: grid; gap: 1.2rem; margin-top: 1.2rem; }
@media (min-width: 760px) { .shots { grid-template-columns: 1fr 1fr 1fr; } .shots .shot { margin: 0; } }
