/* PS2 WCAG Foundation. Local assets only. */
.wp-site-blocks { --wp--preset--color--lightgrey: #586a81; }
.wp-site-blocks .has-dark-background-color { --wp--preset--color--lightgrey: #aab8ca; }
.ps2-skip-link:not(:focus) {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
.ps2-skip-link:focus {
  position: fixed;
  inset: 12px auto auto 12px;
  z-index: 2147483647;
  max-width: calc(100vw - 24px);
  padding: 12px 18px;
  color: #fff;
  background: #172d45;
  border-radius: 6px;
  font-size: 1rem;
  font-weight: 700;
  text-decoration: underline;
}
.wp-site-blocks :where(a, button, input, select, textarea, summary, [tabindex]):focus-visible,
.ps2-skip-link:focus-visible {
  outline: 3px solid #172d45 !important;
  outline-offset: 3px;
  box-shadow: 0 0 0 3px #fff !important;
}
#main-content, #site-navigation, #site-footer, .wp-site-blocks :where(a, button, input) {
  scroll-margin-top: calc(var(--blockpress-sticky-height, 90px) + 16px);
}
/* Keep the prior root layout when multiple content sections need a main. */
.wp-site-blocks > .ps2-main-root { margin-block: 0; }
.ps2-main-root > * { margin-block-start: var(--wp--style--block-gap, 0); margin-block-end: 0; }
.ps2-main-root > :first-child { margin-block-start: 0; }
.ps2-main-root > .alignwide { max-width: var(--wp--style--global--wide-size); margin-inline: auto; }
.ps2-main-root > .alignfull { max-width: none; }
.ps2-main-root .algori-image-video-slider-ps2 .slick-list { width: 100%; }
/* A perspective flip on a full-bleed section extends past both viewport edges. */
.wp-site-blocks .fr-animate.fr-flip:not(.fr-animate-init) { transform: translateY(30px); }
.wp-site-blocks :where(.wp-block-column, .wp-block-search, .wp-block-group) { min-width: 0; }
.wp-site-blocks :where(p, h1, h2, h3, li, .wp-block-site-title) { overflow-wrap: anywhere; }
.wp-site-blocks .wp-block-search__input { color: #172d45; }
.wp-site-blocks .wp-block-search__input::placeholder { color: #49586b; opacity: 1; }
.wp-site-blocks .wp-block-search__button { color: #172d45; background: #f1f4f8; }
.wp-site-blocks :where(.wp-block-navigation__responsive-container-open, .wp-block-navigation__responsive-container-close, .wp-block-navigation-submenu__toggle) {
  min-width: 24px;
  min-height: 24px;
}
.wp-block-navigation .has-child:focus-within > .wp-block-navigation__submenu-container { transform: translateY(0); }
.wp-block-navigation .wp-block-navigation-item__content:focus-visible { text-decoration: underline; }
.wp-block-navigation .wp-block-navigation-item__content { overflow-wrap: normal; }
@media (min-width: 782px) {
  header.site-header .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content { white-space: nowrap; }
}
/* Do not hide a keyboard user's focused controls as the header contracts. */
@media (max-width: 781px) {
  .wp-site-blocks :where(.fr-move-left, .fr-move-right):not(.fr-animate-init) { transform: translateY(30px); }
  header.site-header > .fr-sticky-header { transition-property: box-shadow, background-color !important; }
  /* Use the WP modal on tablets too: the prior absolute nav overlapped here. */
  header.site-header .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
  header.site-header .wp-block-navigation__responsive-container:not(.is-menu-open):not(.hidden-by-default) { display: none; }
  header.site-header.fr-sticky-enable:focus-within > .fr-sticky-header > .wp-block-group.alignwide > p:not(.wp-block-site-title),
  header.site-header.fr-sticky-enable:focus-within > .fr-sticky-header .wp-block-search { display: block !important; }
  header.site-header > .fr-sticky-header .wp-block-search { max-width: calc(100% - 12px) !important; }
}
@media (max-width: 599px) {
  .wp-site-blocks .wp-block-navigation__responsive-container-open,
  .wp-site-blocks .wp-block-navigation__responsive-container-close { min-width: 44px; min-height: 44px; }
  .wp-site-blocks .wp-block-columns { flex-wrap: wrap !important; }
  .wp-site-blocks .wp-block-columns > .wp-block-column { flex-basis: 100% !important; }
  .wp-site-blocks :where(.wp-block-table, pre) { max-width: 100%; overflow-x: auto; }
  .wp-site-blocks .wp-block-navigation__submenu-container { max-width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  html:focus-within { scroll-behavior: auto !important; }
  .wp-site-blocks .fr-animate { opacity: 1 !important; visibility: visible !important; transform: none !important; }
  .wp-site-blocks :where(.fr-animate, .wp-block-navigation *, .fr-hover-scale-img img, .wp-block-button *, .fr-sticky-header), #blockpresstotop {
    transition: none !important;
    animation: none !important;
  }
  .fr-page-preloader { display: none !important; }
}

/* Let desktop menu items wrap when user text spacing exceeds available width.
 * Keep labels and submenu behavior intact; ordinary single-row layout stays.
 */
@media (min-width: 782px) {
  header.site-header .wp-block-navigation__container {
    flex-wrap: wrap;
    flex-shrink: 0;
    max-width: calc(100vw - 24px);
  }
}
