/* Sticky header (all devices): navigation bar stays pinned; open menus scroll inside the viewport */
.fv-shell > [data-fv-style]{position:-webkit-sticky;position:sticky;top:0;z-index:1000}
/* Only the panels themselves get a height limit (never their containers, which are deliberately 0px tall) */
.fv-shell > [data-fv-style] [data-fv-if^="is"] > *,.fv-shell > [data-fv-style] [data-fv-if="mobileOpen"] > *{max-height:calc(100vh - var(--fv-nav-h, 64px) - 56px);max-height:calc(100dvh - var(--fv-nav-h, 64px) - 56px);overflow-y:auto;overscroll-behavior:contain}
html{scroll-padding-top:calc(var(--fv-nav-h, 64px) + 16px)}
/* Sticky "In this article" sidebar on blog posts */
@media (min-width:900px){aside:has(nav[aria-label="In this article"]){position:-webkit-sticky;position:sticky;top:calc(var(--fv-nav-h, 64px) + 20px);align-self:flex-start;max-height:calc(100vh - var(--fv-nav-h, 64px) - 40px);overflow-y:auto;overscroll-behavior:contain}}
/* Article headings */
.fv-prose h1{font-size:28px;font-weight:900;letter-spacing:-0.02em;line-height:1.2;color:#0A2135}
.fv-prose h5,.fv-prose h6{font-size:16px;font-weight:900;line-height:1.35;color:#0A2135}
/* Hero floating cards: never cover the tracker's content or escape the hero */
@media (max-width:1180px){.fv-float{display:none !important}}
@media (min-width:1181px){.fv-uc-raise{top:-28px !important}}
/* The mobile menu's designed minimum height would override its height limit (and push its end off-screen) */
.fv-shell [data-fv-if="mobileOpen"] > div{min-height:0 !important}
