.ppd-layout { display: grid; grid-template-columns: 208px minmax(0, 1fr); column-gap: clamp(2rem, 5vw, 5rem); }
.ppd-rail { position: sticky; top: 2rem; align-self: start; padding-right: 1.25rem; border-right: 1px solid var(--ppd-line); }
.ppd-rail__label { font: 500 1rem/1.5 var(--ppd-mono); color: var(--ppd-muted); margin-bottom: 1rem; }
.ppd-rail__nav { display: flex; flex-direction: column; }
.ppd-rail__nav a { display: flex; align-items: center; min-height: 48px; font-size: 1rem; line-height: 1.4; padding: .75rem 0; text-decoration: none; }
.ppd-rail__nav a:hover { text-decoration: underline; }
.ppd-rail__note { margin-top: 2rem; color: var(--ppd-muted); font-size: 1rem; }
.ppd-layout__body { width: 100%; }
@media (max-width: 900px) {
  .ppd-layout { grid-template-columns: minmax(0, 1fr); gap: 3rem; }
  .ppd-rail { position: static; border: 1px solid var(--ppd-line); border-radius: 8px; padding: 1rem 1.25rem; }
  .ppd-rail__label { margin-bottom: .5rem; }
  .ppd-rail__nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 1.5rem; }
  .ppd-rail__note { display: none; }
}
@media (max-width: 480px) { .ppd-rail__nav { grid-template-columns: minmax(0, 1fr); } }
@media print { .ppd-layout { display: block; } }
