.upcoming-rail-section{padding:var(--space-2) 0 var(--space-4)}.upcoming-rail-header{padding:0 var(--space-3) var(--space-3);justify-content:space-between;align-items:baseline;gap:var(--space-3);display:flex}.upcoming-rail-eyebrow{font-family:var(--font-body);font-size:var(--text-xs);font-weight:var(--weight-medium);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--color-ink-muted);margin:0}.upcoming-rail-viewport{overflow:hidden}.upcoming-rail-track{gap:var(--space-3);padding:0 var(--space-3) var(--space-2);will-change:transform;margin:0;list-style:none;transition:transform 1.5s cubic-bezier(.34,1.56,.64,1);display:flex}.upcoming-rail-track--snap{transition:none}.upcoming-rail-item{flex:none}.event-rail-card{gap:var(--space-1);width:230px;min-height:calc(2 * var(--space-3) + var(--text-xs) * 1.5 + var(--text-base) * 1.3 * 2 + var(--text-xs) * 1.5 + 2 * var(--space-1));padding:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);transition:border-color var(--motion-fast) var(--easing-out);flex-direction:column;display:flex}.event-rail-card:hover{border-color:var(--color-border-strong)}.event-rail-card--ghost{opacity:.55;pointer-events:none}.event-rail-card-header{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.event-rail-card-date{font-family:var(--font-body);font-size:var(--text-xs);font-weight:var(--weight-regular);color:var(--color-event);line-height:var(--leading-normal)}.event-rail-card-kind-pill{padding:1px var(--space-2);font-family:var(--font-body);font-size:var(--text-xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:var(--tracking-caps);border-radius:var(--radius-pill);white-space:nowrap;background:0 0;border:1px solid;flex:none;align-items:center;line-height:1.4;display:inline-flex}.event-rail-card-kind-pill--bordeaux{color:var(--color-bordeaux-ink)}.event-rail-card-kind-pill--event{color:var(--color-event)}.event-rail-card-kind-pill--accent{color:var(--color-accent)}.event-rail-card-title{font-family:var(--font-heading);font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--color-ink);line-height:var(--leading-snug);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.event-rail-card-title a{color:var(--color-ink);transition:color var(--motion-fast) var(--easing-out);text-decoration:none}.event-rail-card-title a:hover{color:var(--color-accent);text-decoration:underline}.event-rail-card-location{font-family:var(--font-body);font-size:var(--text-xs);color:var(--color-ink-faint);align-items:center;gap:var(--space-1);display:flex;overflow:hidden}.event-rail-card-location a{color:var(--color-ink-faint);transition:color var(--motion-fast) var(--easing-out);white-space:nowrap;text-overflow:ellipsis;text-decoration:none;overflow:hidden}.event-rail-card-location a:hover{color:var(--color-accent);text-decoration:underline}.event-rail-card-pin{flex:none;display:block}.event-rail-card-online-badge{padding:1px var(--space-2);border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface-muted);font-family:var(--font-body);font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-ink-muted);white-space:nowrap;align-self:flex-start;display:inline-block}.upcoming-rail-row{align-items:center;gap:var(--space-2);padding:0 var(--space-3);display:flex}.upcoming-rail-row>.upcoming-rail-viewport{flex:1 1 0;min-width:0;padding:0}.upcoming-rail-row>.upcoming-rail-viewport .upcoming-rail-track{padding-left:0;padding-right:0}.upcoming-rail-arrow{color:#fff;width:36px;height:36px;font-size:var(--text-lg);cursor:pointer;transition:background var(--motion-fast) var(--easing-out);background:#00000073;border:0;border-radius:50%;flex:none;justify-content:center;align-items:center;padding:0;line-height:1;display:flex}.upcoming-rail-arrow:hover{background:#000000b3}@media (prefers-reduced-motion:reduce){.upcoming-rail-viewport{scrollbar-width:none;overflow-x:auto}.upcoming-rail-viewport::-webkit-scrollbar{display:none}.upcoming-rail-track,.upcoming-rail-arrow{transition:none}}
