/* Responsive corrections for the native WordPress navigation block. */
@media (max-width:900px) {
  .header .header-row { min-width:0; gap:16px; }
  .header .wp-block-site-logo { max-width:calc(100% - 64px); }
  .header .wp-block-site-logo img { max-width:100%; height:auto; }
  .header nav.cbs-navigation { flex:none; min-width:44px; }
  .header nav.cbs-navigation .wp-block-navigation__responsive-container-open,
  .header nav.cbs-navigation .wp-block-navigation__responsive-container-close {
    align-items:center; justify-content:center; width:44px; height:44px;
    min-width:44px; min-height:44px; padding:10px; border-radius:6px;
    color:var(--ink); -webkit-tap-highlight-color:transparent;
  }
  .header nav.cbs-navigation .wp-block-navigation__responsive-container-open {
    background:transparent; border:1px solid var(--line);
  }
  .header nav.cbs-navigation .wp-block-navigation__responsive-container.is-menu-open {
    position:fixed; inset:0; width:auto; max-width:none;
    /* A transformed overlay would make its fixed close button scroll away. */
    animation:none; transform:none;
    height:100vh; height:100dvh; min-height:0; max-height:none;
    box-sizing:border-box; margin:0; border:0; background:#fff; color:var(--ink);
    padding:calc(84px + env(safe-area-inset-top, 0px) + var(--wp-admin--admin-bar--height, 0px))
      max(24px, env(safe-area-inset-right, 0px))
      max(28px, env(safe-area-inset-bottom, 0px))
      max(24px, env(safe-area-inset-left, 0px));
    overflow-x:hidden; overflow-y:auto; overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    --navigation-layout-justification-setting:flex-start;
    --navigation-layout-justify:flex-start;
    --navigation-layout-align:stretch;
  }
  .header nav.cbs-navigation .is-menu-open .wp-block-navigation__responsive-close,
  .header nav.cbs-navigation .is-menu-open .wp-block-navigation__responsive-dialog {
    width:100%; max-width:none; margin:0; padding:0;
  }
  .header nav.cbs-navigation .is-menu-open .wp-block-navigation__responsive-container-close {
    display:flex; position:fixed; z-index:2;
    top:calc(max(16px, env(safe-area-inset-top, 0px)) + var(--wp-admin--admin-bar--height, 0px));
    right:max(20px, env(safe-area-inset-right, 0px));
    margin:0; border:1px solid var(--line); background:var(--paper);
  }
  .header nav.cbs-navigation .is-menu-open .wp-block-navigation__responsive-container-content {
    display:flex; flex-direction:column; align-items:stretch; justify-content:flex-start;
    width:100%; max-width:560px; margin:0 auto; padding:0; gap:0; text-align:left;
  }
  .header nav.cbs-navigation .is-menu-open .wp-block-navigation__container {
    display:flex; flex-direction:column; flex-wrap:nowrap; align-items:stretch;
    justify-content:flex-start; width:100%; max-width:none; margin:0; padding:0;
    gap:6px; list-style:none; text-align:left;
  }
  .header nav.cbs-navigation .is-menu-open .wp-block-navigation-item {
    align-items:stretch; width:100%; max-width:100%; margin:0;
  }
  .header nav.cbs-navigation .is-menu-open .wp-block-navigation-item__content {
    display:flex; align-items:center; justify-content:flex-start; width:100%; min-height:50px;
    margin:0; padding:12px 14px; font-size:20px; line-height:1.4; font-weight:650;
    white-space:normal; overflow-wrap:anywhere; text-align:left; text-decoration:none;
  }
  .header nav.cbs-navigation .is-menu-open .wp-block-navigation-item__label { white-space:normal; }
  .header nav.cbs-navigation .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item:not(:last-child) > a {
    border-bottom:1px solid var(--line);
  }
  .header nav.cbs-navigation .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item:last-child > a {
    justify-content:center; margin-top:14px; padding:13px 18px; border-radius:6px;
    background:var(--ink); color:#fff; text-align:center;
  }
  .header nav.cbs-navigation .is-menu-open .wp-block-navigation__submenu-container {
    width:100%; min-width:0; margin:0 0 8px; padding:4px 0 4px 16px;
    border-left:2px solid var(--line); align-items:stretch; gap:2px; text-align:left;
  }
  .header nav.cbs-navigation .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item > a {
    background:transparent; color:var(--ink); border-radius:0; font-size:17px;
  }
  /* Readable fields also avoid the cramped, small-text input experience on iOS. */
  .cbs-field input,.cbs-field textarea,.cbs-field select { font-size:16px; min-height:48px; max-width:100%; }
  .cbs-field input[type=file] { font-size:14px; padding:10px 8px; }
  .cbs-form-fields,.cbs-field { min-width:0; }
}
@media (max-width:650px) {
  .team-person > div,.footer-grid > div,.about-grid > div { min-width:0; }
  .team-person h3,.team-person p,.prose { overflow-wrap:anywhere; }
  .cbs-utility-details > p { min-width:0; }
}
