

/* Accessibility & mobile UX (no color overrides) */
:root{ --radius-lg: 14px; --shadow-sm: 0 1px 3px rgba(0,0,0,.06) }
*{box-sizing:border-box}
a.skip-link{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
a.skip-link:focus{left:1rem;top:1rem;width:auto;height:auto;background:#fff;padding:.5rem 1rem;border-radius:.5rem;border:2px solid currentColor}
:focus-visible{outline:3px solid currentColor; outline-offset:3px}

/* Drawer (mobile shelf, right) */
.nav-drawer{position:fixed; inset:0 0 0 auto; width:min(80vw,360px); transform:translateX(100%);
  transition: transform .25s ease; background:#fff; border-left:1px solid rgba(0,0,0,.08);
  box-shadow:var(--shadow-sm); display:flex; flex-direction:column; gap:.5rem; padding:1rem; z-index:1000}
.nav-drawer.open{transform:none}
.nav-overlay{position:fixed; inset:0; background:rgba(0,0,0,.35); opacity:0; visibility:hidden; transition:.2s; z-index:999}
.nav-overlay.open{opacity:1; visibility:visible}

.nav-list{list-style:none; padding:0; margin:0}
.nav-item{margin:.15rem 0}
.nav-item > button{display:flex; align-items:center; justify-content:space-between; width:100%; border:0; background:transparent; font:inherit; padding:.55rem .5rem; border-radius:.6rem; cursor:pointer}
.nav-sub{list-style:none; padding:.25rem .5rem .5rem 1rem; margin:0; display:none}
.nav-sub.open{display:block}

.menu-fab{position:fixed; top:12px; right:12px; z-index:1100; border:0; border-radius:999px; padding:.6rem .75rem; line-height:1;
  box-shadow:0 4px 14px rgba(0,0,0,.15); background:#fff; cursor:pointer}
@media(min-width: 900px){ .menu-fab{display:none} }

/* Desktop-only hide for mobile UI */
@media (min-width: 992px){
  [data-menu-toggle],
  .menu-fab,
  #nav-drawer,
  #nav-overlay{ display:none !important; }
}

/* Search flyout */
.search-overlay{position:fixed; inset:0; background:rgba(0,0,0,.35); opacity:0; visibility:hidden; transition:.2s; z-index:1200}
.search-overlay.open{opacity:1; visibility:visible}
.search-flyout{position:fixed; top:10vh; left:50%; transform:translateX(-50%); width:min(680px,92vw);
  background:#fff; border-radius:14px; border:1px solid rgba(0,0,0,.08); box-shadow:0 6px 32px rgba(0,0,0,.25);
  padding:1rem; z-index:1201}
.search-flyout header{display:flex; justify-content:space-between; align-items:center; gap:.5rem; margin-bottom:.5rem}
.search-flyout form{display:flex; gap:.5rem}
.search-flyout input[type="search"]{flex:1; padding:.7rem .8rem; border:1px solid #d1d5db; border-radius:.6rem}
.search-flyout button{padding:.65rem 1rem; border-radius:.6rem; border:1px solid #d1d5db; background:#fff; cursor:pointer}
.search-trigger{background:#fff; border:1px solid #e5e7eb; border-radius:.6rem; padding:.4rem .6rem; cursor:pointer}
@media (max-width: 480px){
  .search-flyout{top:6vh; padding:.75rem}
}
