diff --git a/src/components/RoadmapRoute.astro b/src/components/RoadmapRoute.astro index 70a073b..3bdb2f6 100644 --- a/src/components/RoadmapRoute.astro +++ b/src/components/RoadmapRoute.astro @@ -69,12 +69,15 @@ const initialShippingX = lastShippingIndex >= 0 ? layout.itemX[lastShippingIndex - -
+ +
-
-
+ {items.map((item, i) => (
= 0 ? layout.itemX[lastShippingIndex @@ -240,6 +300,15 @@ const initialShippingX = lastShippingIndex >= 0 ? layout.itemX[lastShippingIndex /* ── Desktop route ──────────────────────────────────────────────── */ .rr-wrap { position: relative; } + + /* Escape the parent .page max-width so the route can use the actual + viewport width. The headline, dispatch banner, section header, and + legend all stay centred at content width — only the route widens. */ + .rr-fullbleed { + width: 100vw; + margin-left: calc(50% - 50vw); + margin-right: calc(50% - 50vw); + } .rr-scroll { /* overflow-x: auto + overflow-y: visible is the only thing that lets hovered cards expand above/below the track without being clipped. @@ -251,11 +320,13 @@ const initialShippingX = lastShippingIndex >= 0 ? layout.itemX[lastShippingIndex scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; - /* Top/bottom give cards room to grow above/below the track. The 60px - sides give the first/last cards room when fully scrolled. */ - padding: 60px 60px 80px; - scroll-padding-left: 60px; - scroll-padding-right: 60px; + /* Top/bottom give cards room to grow above/below the track. The 80px + sides give the first/last cards room when fully scrolled inside + the now full-bleed container — small but visible breathing room + between the route and the absolute viewport edges. */ + padding: 60px 80px 80px; + scroll-padding-left: 80px; + scroll-padding-right: 80px; } .rr-scroll::-webkit-scrollbar { display: none; } .rr-scroll-inner { /* structural — keeps the track on its own layer */ }