/* V86: the same wordmark, menu coordinates and responsive mode on every page. */
body.home .bridge-promo,
body.site-page .bridge-promo { display: none; }
body.home .nav-inner,
body.site-page .nav-inner { --nav-item-gap: clamp(14px, 1.6vw, 26px); grid-template-columns: minmax(190px, 1fr) max-content max-content; max-width: 1500px; padding-inline: 48px; gap: var(--nav-item-gap); }
/* Both legacy link wrappers form one continuous row, not two opposing groups. */
body.home .nav-links,
body.site-page .nav-links { gap: var(--nav-item-gap); }
body.home .nav-wordmark,
body.site-page .nav-wordmark { grid-column: 1; grid-row: 1; justify-self: start; }
body.home .nav-wordmark span,
body.site-page .nav-wordmark span { font: 400 23px/1 Georgia, "Times New Roman", serif; letter-spacing: .025em; padding: 0; }
body.home .nav-wordmark small,
body.site-page .nav-wordmark small { font-size: 8px; letter-spacing: .12em; }
body.home .nav-links-left,
body.site-page .nav-links-left { grid-column: 2; grid-row: 1; }
body.home .nav-links-right,
body.site-page .nav-links-right { grid-column: 3; grid-row: 1; justify-content: flex-start; }
body.home .nav-links a.nav-contact,
body.site-page .nav-links a.nav-contact { border: 1px solid currentColor; }
body.home .hamburger,
body.site-page .hamburger { display: none; }

/* Compact text-only submenus reuse the collection's pointer/keyboard logic. */
body:is(.home,.site-page) .nav-information-group { position: relative; }
body:is(.home,.site-page) .nav-information-group .nav-information-panel {
  top: 100%; left: 0; right: auto; width: 270px; max-width: calc(100vw - 32px);
  padding: 12px 20px; border: 1px solid #e6e3de; transform: none;
}
body:is(.home,.site-page) .nav-information-panel a {
  display: flex; align-items: center; min-height: 44px; padding: 10px 0;
  white-space: normal; text-transform: none; font-size: 14px; line-height: 1.45;
  letter-spacing: 0; text-decoration: none;
}
body:is(.home,.site-page) .nav-information-panel a:is(:hover,[aria-current="page"]) { color: #784b35; }
body:is(.home,.site-page) .nav-information-group .nav-mega-trigger { width: 28px; }
@media (pointer: coarse) {
  body:is(.home,.site-page) .nav-information-group .nav-mega-trigger { width: 44px; }
}

/* Large touch screens keep desktop navigation with comfortable hit areas. */
@media (min-width: 1200px) and (pointer: coarse), (min-width: 1200px) and (hover: none) {
  body.home .nav-links > a,
  body.site-page .nav-links > a,
  body.home .nav-collection-entry > a,
  body.site-page .nav-collection-entry > a,
  body.home .nav-links .language-pair a,
  body.site-page .nav-links .language-pair a { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; }
  body.home .nav-mega-categories a,
  body.site-page .nav-mega-categories a { min-height: 44px; }
}

@media (min-width: 901px) and (max-width: 1150px) {
  body.home .nav-inner,
  body.site-page .nav-inner { --nav-item-gap: 12px; padding-inline: 18px; }
}

/* Keep this query identical to initNav in app.js. */
@media (max-width: 900px), (max-width: 1199px) and (hover: none), (max-width: 1199px) and (pointer: coarse) {
  body.home .nav,
  body.home .nav.solid,
  body.home .nav[data-home="true"]:not(.solid),
  body.site-page .nav,
  body.site-page .nav.solid,
  body.home .nav-inner,
  body.site-page .nav-inner { height: 66px; }

  body.home .nav-inner,
  body.site-page .nav-inner { display: flex; justify-content: center; padding-inline: max(64px, env(safe-area-inset-left)) max(64px, env(safe-area-inset-right)); gap: 0; }
  body.home .nav-inner > .nav-links.nav-links-left:first-child,
  body.site-page .nav-inner > .nav-links.nav-links-left:first-child,
  body.home .nav-inner > .nav-links,
  body.site-page .nav-inner > .nav-links { display: none !important; }
  body.home .nav-wordmark,
  body.site-page .nav-wordmark { min-width: 0; justify-self: center; }
  body.home .nav-wordmark span { font-size: 22px; }
  body.site-page .nav-wordmark span { font-size: 22px; }
  body.home .nav-mega,
  body.site-page .nav-mega { display: none; }

  body.home .hamburger,
  body.site-page .hamburger { display: flex; position: absolute; left: max(16px, env(safe-area-inset-left)); right: auto; top: 11px; width: 44px; height: 44px; padding: 0; align-items: center; justify-content: center; gap: 5px; }
  body.home .hamburger span,
  body.site-page .hamburger span { width: 24px; align-self: center; }
  body.home .nav[data-home="true"]:not(.solid) .hamburger span,
  body.home .nav[data-home="true"] .hamburger span { background: #242321; }
  body.site-page .nav .hamburger span { background: #242321; }

  body.home .mobile-menu,
  body.site-page .mobile-menu { display: block; inset: 0; height: 100vh; height: 100dvh; padding: calc(78px + env(safe-area-inset-top)) max(24px, env(safe-area-inset-right)) calc(32px + env(safe-area-inset-bottom)) max(24px, env(safe-area-inset-left)); background: #fff; color: #242321; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; transition: none; }
  body.home .mobile-menu.open,
  body.site-page .mobile-menu.open { transform: none; transition: none; }
  body.home .mobile-menu .mobile-close,
  body.site-page .mobile-menu .mobile-close { position: fixed; top: calc(12px + env(safe-area-inset-top)); right: max(18px, env(safe-area-inset-right)); width: 44px; height: 44px; padding: 0; background: #fff; color: #242321; font-size: 30px; }
  body.home .mobile-menu > a,
  body.site-page .mobile-menu > a,
  body.home .mobile-menu > .mobile-collection-group,
  body.site-page .mobile-menu > .mobile-collection-group,
  body.home .mobile-menu > .language-pair,
  body.site-page .mobile-menu > .language-pair { width: min(100%, 560px); margin-inline: auto; }
  body.home .mobile-menu > a,
  body.site-page .mobile-menu > a { display: flex; align-items: center; min-height: 56px; padding-block: 14px; font-size: 18px; font-weight: 400; color: #242321; border-bottom: 1px solid #e6e3de; text-align: left; }
  body.home .mobile-menu a,
  body.site-page .mobile-menu a { transition: none; }
  body.home .mobile-menu .mobile-collection-link,
  body.site-page .mobile-menu .mobile-collection-link { min-height: 56px; display: flex; align-items: center; padding: 14px 54px 14px 0; }
  body.home .mobile-collection-group .mobile-collection-menu,
  body.site-page .mobile-collection-group .mobile-collection-menu { width: 100%; max-width: none; }
  body.home .mobile-collection-group summary,
  body.site-page .mobile-collection-group summary { width: 44px; height: 56px; color: #242321; padding: 0; }
  body.home .mobile-collection-menu > div,
  body.site-page .mobile-collection-menu > div { gap: 0 16px; padding-bottom: 16px; }
  body.home .mobile-collection-menu a,
  body.site-page .mobile-collection-menu a { display: flex; align-items: center; min-height: 44px; padding: 10px 0; color: #45423d; font-size: 15px; line-height: 1.45; opacity: 1; }
  body.home .mobile-menu > .language-pair,
  body.site-page .mobile-menu > .language-pair { display: flex; justify-content: flex-start; gap: 10px; margin-top: 22px; color: #242321; }
  body.home .mobile-menu .language-pair a,
  body.site-page .mobile-menu .language-pair a { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 10px; color: #242321; font-size: 14px; }
  body:is(.home,.site-page) .mobile-information-menu > div { grid-template-columns: 1fr; padding-left: 16px; }
  body:is(.home,.site-page) .mobile-legal { width: min(100%, 560px); margin: 18px auto 0; }
  body:is(.home,.site-page) .mobile-legal a { display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; color: #605d58; }
}
