/* Pi PDF landing page; reuse the site's shared typography and color tokens. */
.pdf-landing section[id] { scroll-margin-top: 6rem; }
.pdf-landing .features { grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); }
.pdf-landing .feature { min-width: 0; }
.pdf-landing .app-hero { padding-top: calc(4.5rem + var(--s-6)); }
.pdf-landing .app-hero__tagline { margin-top: var(--s-4); word-break: keep-all; overflow-wrap: anywhere; }
.pdf-landing .pdf-note { margin-top: var(--s-4); }
.pdf-landing .app-hero__cta .btn { white-space: normal; text-align: center; }
.pdf-breadcrumb, .pdf-jump { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-3); }
.pdf-breadcrumb { margin-bottom: var(--s-8); font-size: var(--step--1); color: var(--fg-2); }
.pdf-jump { margin-top: var(--s-8); gap: var(--s-2) var(--s-6); }
.pdf-jump a { padding-block: var(--s-3); }
.pdf-breadcrumb a, .pdf-jump a { text-decoration: underline; text-underline-offset: 0.25em; }
.pdf-note { font-size: var(--step--1); color: var(--fg-2); }
.pdf-band { background: var(--bg-sunken); border-block: 1px solid var(--rule); }
.pdf-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s-8); padding-left: var(--s-6); }
.pdf-steps li { padding-left: var(--s-2); }
.pdf-steps li::marker { color: var(--accent); font-weight: 600; }
.pdf-steps h3 { font-size: var(--step-1); margin-bottom: var(--s-3); }
.pdf-steps p, .pdf-closing p { color: var(--fg-2); line-height: var(--leading-relaxed); }
.pdf-card-link { display: inline-block; margin-top: var(--s-4); }
.pdf-closing h2 { margin-bottom: var(--s-4); }
.pdf-skip { position: fixed; top: var(--s-3); left: var(--s-3); z-index: 9999; padding: var(--s-3) var(--s-5); background: var(--bg); color: var(--fg-1); transform: translateY(-200%); }
.pdf-skip:focus { transform: translateY(0); }
@media (max-width: 680px) { .pdf-steps { grid-template-columns: 1fr; gap: var(--s-5); } }
