/* The real header stays in document flow: no cloned menu or layout jump. */
html.scroll-tools-ready { scroll-padding-top: calc(var(--urs-sticky-height, 0px) + 1rem); }
.scroll-tools-ready .site-chrome {
  position: sticky;
  top: calc(var(--urs-admin-height, 0px) - var(--urs-utility-height, 0px));
  z-index: 100;
}
.site-chrome.is-stuck { box-shadow: 0 .4rem 1.2rem rgb(54 54 54 / 13%); }
.site-chrome:focus { outline: none; }
.utility-bar__inner { flex-wrap: wrap; }
.site-branding { max-width: 100%; }
.site-branding__name { min-width: 0; overflow-wrap: anywhere; }
.roomy-navigation .site-header__inner { grid-template-areas: "brand brand" "toggle toggle" "actions actions" "navigation navigation"; }
.roomy-navigation .site-branding { width: 100%; flex-wrap: wrap; }
.roomy-navigation .site-branding__name { flex: 1 1 8rem; }
.sticky-header-disabled .site-chrome { position: relative; top: auto; box-shadow: none; }
.back-to-top {
  position: fixed;
  z-index: 850;
  right: max(1rem, env(safe-area-inset-right));
  bottom: calc(var(--urs-banner-height, 0px) + max(1rem, env(safe-area-inset-bottom)));
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: .1rem;
  width: 4.25rem;
  min-height: 4.25rem;
  padding: .4rem;
  border: 2px solid var(--color-ink);
  border-radius: 1rem;
  color: var(--color-ink);
  background: var(--brand-sun);
  box-shadow: 0 .25rem 1rem #0003;
  text-decoration: none;
  font-size: .75rem;
  font-weight: 750;
  line-height: 1.25;
}
.back-to-top:hover { color: var(--color-ink); background: var(--brand-orange); }
.back-to-top span { white-space: nowrap; }
:is(.menu-archive-end, .calendar-archive-end) a { display: inline-flex; align-items: center; min-height: 44px; }
.scroll-tools-ready .back-to-top:not(.is-visible) { visibility: hidden; pointer-events: none; }
html.has-consent-dialog .back-to-top, html.has-lightbox .back-to-top { visibility: hidden; pointer-events: none; }
/* Keep both corner controls clear of the last links, within the dark footer. */
.footer-bottom { padding-bottom: max(6rem, var(--urs-launcher-height, 0px)); }
.footer-grid > *, .footer-brand > div { min-width: 0; }
.footer-brand { flex-wrap: wrap; }
.footer-brand > div { flex: 1 1 12rem; }
.site-footer .search-form { flex-wrap: wrap; }
.site-footer .search-form label { flex: 1 1 12rem; min-width: 0; }
.privacy-toc a { max-width: 100%; overflow-wrap: anywhere; }
.eyebrow { overflow-wrap: anywhere; }
.urs-cmp.urs-cmp-launcher { max-width: calc(100% - 6.5rem); }
@media (max-width: 60rem) {
  .header-actions { flex-wrap: wrap; }
  .header-actions .button { flex: 1 1 8rem; }
  .scroll-tools-ready:not(.sticky-header-disabled) .site-navigation.is-open {
    max-height: max(6rem, calc(100dvh - var(--urs-header-base-height, 150px) - var(--urs-admin-height, 0px) - var(--urs-banner-height, 0px) - 1rem));
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
  }
}
html[data-contrast="high"] .back-to-top { color: #000; background: #fff; border-color: #000; }
@media (forced-colors: active) {
  .back-to-top { color: ButtonText; background: ButtonFace; border-color: ButtonText; }
  .site-chrome.is-stuck { border-bottom: 1px solid CanvasText; }
}
@media print {
  .site-chrome, .back-to-top { display: none !important; }
  html.scroll-tools-ready { scroll-padding-top: 0; }
}
