/* Side rail navigation and the collection layout beside it, on the shared
   twelve/eight/four-column grid. The full-page controller (reading-room-
   fullpage.css) positions the rail and the section panels. */
.collection-rail nav { display:flex; flex-direction:column; margin-top:var(--space-group); }
.collection-rail nav a { user-select:none; -webkit-user-select:none; -webkit-user-drag:none; position:relative; appearance:none; background:none; border:0; padding:var(--space-tight); text-align:left; color:var(--color-muted); font:inherit; font-family:"Timeless Sans Variable",var(--font-body); font-weight:var(--weight-body); font-variation-settings:"STYL" 100,"wght" calc(var(--weight-body) + 20); text-decoration:none; cursor:pointer; min-height:var(--size-control-min); transition:font-variation-settings var(--motion-feedback) var(--ease-enter),color var(--motion-feedback) var(--ease-enter); }
.collection-rail nav a::before { content:""; position:absolute; inset:0 0 auto; height:1px; background:var(--color-rule); mask-image:linear-gradient(to right,#000,transparent); }
.collection-rail nav a:hover, .collection-rail nav a[aria-current] { color:var(--color-active); }
.collection-rail nav a:focus-visible { outline:2px solid var(--color-focus); outline-offset:var(--space-small); }

.rail-page .reading, .rail-page .collection .reading, .rail-page .work-introduction { width:var(--grid-reading-width); max-width:100%; }
.rail-page .collection .employer { grid-template-columns:repeat(10,minmax(0,1fr)); }
.rail-page .employer-rail { grid-column:1 / -1; padding-bottom:var(--space-inset); border-bottom:1px solid var(--color-rule); }
.rail-page .employer-intro { margin:0; }
.rail-page .employer + .employer { padding-top:var(--space-group); }
/* The page scrolls inside its section panels; the document scrollbar stays hidden. */
.rail-document { scrollbar-width:none; }
.rail-document::-webkit-scrollbar { display:none; }
/* Sections are native snap targets in the mobile document scroll. */
.rail-page .introduction, .rail-page .collection { margin:0; scroll-margin-top:0; scroll-snap-align:start; scroll-snap-stop:always; }
@media(max-width:1000px) {
 .rail-page .collection .employer { grid-template-columns:repeat(6,minmax(0,1fr)); }
}
@media(max-width:600px),(max-height:600px) {
 .rail-page .collection .employer { grid-template-columns:repeat(var(--grid-columns),minmax(0,1fr)); }
}
@media(prefers-reduced-motion:reduce) { .collection-rail nav a { transition:none; } }
