/* Sticky navigation: opaque surface, stable flow and room for anchor targets. */
html{scroll-padding-top:calc(var(--sticky-nav-height,112px) + 16px)}
body>header,body>header.header,body.booking-route>header.header{position:sticky;top:0;z-index:50;background:var(--sticky-nav-background,var(--cream,#fff))}
body>header .article-menu-panel,body>header .mobile-menu nav,body>header .nav{max-height:max(80px,calc(100dvh - var(--sticky-nav-height,112px) - 16px));overflow-y:auto;overscroll-behavior:contain}
/* In-flow mobile navigation must not size itself from its own expanded height. */
body>header .nav{max-height:max(80px,calc(100dvh - 128px))}
.leaflet-container{isolation:isolate}
body>.skip:focus{position:fixed;top:12px;left:12px;z-index:1001}
@media print{html{scroll-padding-top:0}body>header,body>header.header,body.booking-route>header.header{position:static;z-index:auto}}
