/* The shared header and footer stay mounted while only this region changes. */
.page-view{display:flow-root;view-transition-name:page-content}
.page-view:focus,[data-navigation-focus]:focus{outline:none}
html{view-transition-name:none;scrollbar-gutter:stable}
html.navigation-committing{scroll-behavior:auto}
::view-transition-group(page-content){animation:none}
::view-transition-old(page-content){animation:content-leave 280ms ease-in-out both;object-position:left top}
@keyframes content-leave{from{opacity:1}to{opacity:0}}
/* Incoming blocks animate in the live DOM. Late images retain their own fade. */
html.navigation-committing .js-back-to-top{visibility:hidden}
.navigation-status{position:fixed;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.navigation-error{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:10000;max-width:calc(100vw - 32px);padding:14px 20px;border:1px solid #e5e5e5;border-radius:6px;background:#fff;color:#666;font:400 16px/1.5 FS,sans-serif;box-shadow:0 4px 24px #0001}
.navigation-error button{margin-left:12px;background:none;border:0;padding:0;color:#2280a4;font:inherit;text-decoration:underline;cursor:pointer}
@media(prefers-reduced-motion:reduce){::view-transition-old(page-content){animation:none!important}}
