/* Accessible responsive navigation: desktop horizontal menu, mobile-only drawer. */
#masthead { box-sizing: border-box; }
#masthead .site-branding { flex: 0 0 auto; min-width: max-content; }
#masthead .site-branding .site-title,
#masthead .site-branding .site-title a { white-space: nowrap !important; }
#masthead #site-navigation { flex: 1 1 auto; min-width: 0; margin-left: auto; }
#masthead #site-navigation > div { min-width: 0; }
#masthead #site-navigation .primary-menu { display: flex; flex-wrap: nowrap; align-items: center; justify-content: flex-end; gap: 0; margin: 0; padding: 0; list-style: none; }
#masthead #site-navigation .primary-menu > li { flex: 0 0 auto; white-space: nowrap; }
#masthead #site-navigation .primary-menu > li > a { display: block; padding: 8px clamp(5px, .65vw, 10px); font-size: clamp(10px, .76vw, 12px); line-height: 1.25; white-space: nowrap; }
#masthead #site-navigation .primary-menu > li:last-child > a { padding: 9px clamp(9px, .9vw, 14px) !important; }
#masthead > .sidebar-open { display: none !important; }
#secondary[aria-hidden="true"] { visibility: hidden; }
#secondary[aria-hidden="false"] { visibility: visible; }
#secondary .inner-wrapper { position: relative; }
#secondary .sidebar-close { display: block; }

@media (min-width: 1024px) {
  #masthead { display: flex; flex-wrap: nowrap; align-items: center; gap: clamp(8px, 1.1vw, 18px); padding-right: clamp(14px, 2vw, 30px); padding-left: clamp(14px, 2vw, 30px); }
  #masthead .site-branding .site-title { font-size: clamp(14px, 1.22vw, 20px) !important; }
  #masthead #site-navigation .primary-menu > li > a { font-size: clamp(9px, .72vw, 11.5px); padding-right: clamp(4px, .48vw, 8px); padding-left: clamp(4px, .48vw, 8px); }
  #masthead #site-navigation .primary-menu > li:last-child > a { padding-right: clamp(7px, .7vw, 12px) !important; padding-left: clamp(7px, .7vw, 12px) !important; }
  #masthead > .sidebar-open,
  #secondary { display: none !important; }
  #masthead #site-navigation { display: block !important; visibility: visible !important; }
}

@media (max-width: 1023px) {
  #masthead { display: flex; flex-wrap: nowrap; align-items: center; gap: 12px; }
  #masthead #site-navigation { display: none !important; }
  #masthead > .sidebar-open { display: inline-flex !important; align-items: center; justify-content: center; flex: 0 0 44px; width: 44px; height: 44px; margin-left: auto; padding: 8px; }
  #secondary.absolute-sidebar { position: fixed !important; inset: 0 !important; z-index: 100000 !important; display: block !important; width: 100vw !important; max-width: none !important; height: 100vh; height: 100dvh; margin: 0 !important; padding: 0 !important; overflow: hidden !important; background: rgba(15, 25, 20, .56); opacity: 0; visibility: hidden; pointer-events: none; transform: none !important; transition: opacity .2s ease, visibility .2s ease; }
  #secondary.absolute-sidebar.visible { opacity: 1; visibility: visible; pointer-events: auto; }
  #secondary .inner-wrapper { width: min(420px, 100vw); height: 100%; max-height: 100%; margin: 0 0 0 auto; padding: 74px 22px 28px; overflow-y: auto; overscroll-behavior: contain; background: #fff; color: #26332d; box-shadow: -10px 0 32px rgba(0,0,0,.18); transform: translateX(100%); transition: transform .22s ease; }
  #secondary.visible .inner-wrapper { transform: translateX(0); }
  #secondary .sidebar-close { position: absolute !important; z-index: 2; top: 12px; right: 14px; display: inline-flex !important; align-items: center; justify-content: center; width: 46px; height: 46px; margin: 0 !important; padding: 0 !important; border: 1px solid #d8ded9; border-radius: 50%; background: #fff; color: #26332d; cursor: pointer; }
  #secondary .mobile-navigation, #secondary .mobile-navigation > div { display: block !important; width: 100%; }
  #secondary .mobile-navigation .primary-menu { display: block !important; margin: 0; padding: 0; list-style: none; }
  #secondary .mobile-navigation .primary-menu > li { display: block; margin: 0; padding: 0; border-bottom: 1px solid #e7ebe8; }
  #secondary .mobile-navigation .primary-menu > li > a { display: block; padding: 12px 8px; color: #26332d; font-size: 16px; line-height: 1.35; text-decoration: none; }
  #secondary .mobile-navigation .primary-menu > li:last-child > a { margin-top: 16px; padding: 13px 18px !important; border-radius: 4px; background: var(--apple-terracotta, #bd6847); color: #fff !important; text-align: center; font-weight: 700; }
  body.sidebar-opened { overflow: hidden !important; }
}

@media (max-width: 480px) {
  #masthead { gap: 8px; padding-right: 14px; padding-left: 14px; }
  #masthead .site-branding .site-title,
  #masthead .site-branding .site-title a { font-size: clamp(14px, 4.1vw, 17px) !important; }
  #secondary .inner-wrapper { padding-right: 18px; padding-left: 18px; }
}

@media (prefers-reduced-motion: reduce) {
  #secondary.absolute-sidebar, #secondary .inner-wrapper { transition: none; }
}