/* Editorial navigation panels: existing destinations, clearer hierarchy. */
.primary-nav .sub-menu { padding: 20px; background: #fbfaf7; border: 1px solid #e4dce2; border-top: 3px solid #9b7e9a; border-radius: 3px 3px 10px 10px; box-shadow: 0 24px 65px -20px rgba(20,13,27,.36), 0 4px 12px rgba(20,13,27,.05); counter-reset: nav-item; }
.primary-nav .sub-menu > li:not(.nav-panel__intro) { counter-increment: nav-item; min-width: 0; }
.primary-nav .sub-menu a { display: grid; grid-template-columns: 22px minmax(0,1fr) 18px; align-items: center; gap: 10px; min-height: 76px; height: 100%; padding: 18px 13px; border: 1px solid transparent; border-radius: 4px; color: #352b3b; }
.primary-nav .sub-menu a::before { content: counter(nav-item, decimal-leading-zero); position: static; width: auto; height: auto; margin-top: 2px; background: none; color: #927d57; border-radius: 0; transform: none; font: italic 400 .8125rem/1.5 Georgia, serif; }
.primary-nav .sub-menu a::after { content: "↗"; font-size: 1rem; line-height: 1.45; color: #947e94; transition: transform .2s ease, color .2s ease; }
.primary-nav .sub-menu a:hover::before, .primary-nav .sub-menu .current-menu-item > a::before { height: auto; }
.primary-nav .sub-menu a:hover, .primary-nav .sub-menu a:focus-visible, .primary-nav .sub-menu .current-menu-item > a { background: #f0eaf0; border-color: #e2d5e1; color: #682765; }
.primary-nav .sub-menu a:hover::after, .primary-nav .sub-menu a:focus-visible::after { color: #682765; transform: translate(2px,-2px); }
.primary-nav .sub-menu a:focus-visible { outline: 2px solid #82567e; outline-offset: 2px; }
.nav-item__copy, .nav-item__title { display: block; }
.nav-item__title { font-size: .875rem; line-height: 1.45; font-weight: 600; }
.primary-nav .sub-menu > .nav-panel__intro { display: flex; align-items: baseline; justify-content: space-between; gap: 24px; grid-column: 1 / -1; padding: 0 13px 16px; margin-bottom: 4px; border-bottom: 1px solid #e4dce2; color: #817184; font-size: .5625rem; font-weight: 600; letter-spacing: .11em; text-transform: uppercase; }
.nav-panel__intro > span:last-child { color: #947e56; font-variant-numeric: tabular-nums; }
.primary-nav .menu > .menu-item--cta > a { background: #e5c995; color: #28202c; letter-spacing: .065em; }
.site-header.is-scrolled .primary-nav .menu > .menu-item--cta > a { background: #5a315a; color: #fff; }
@media (min-width: 1080px) {
	.primary-nav .sub-menu { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 5px 8px; width: min(660px, calc(100vw - 80px)); min-width: 0; top: calc(100% + 17px); transform: translateY(10px); }
	.primary-nav .sub-menu::before { top: -21px; height: 21px; }
	.primary-nav .nav-panel--programs > .sub-menu { width: min(870px, calc(100vw - 80px)); grid-template-columns: repeat(3,minmax(0,1fr)); }
	.primary-nav .nav-panel--programs .sub-menu a { grid-template-columns: 22px minmax(0,1fr); align-items: start; padding: 17px 16px 20px; }
	.primary-nav .nav-panel--programs .sub-menu a::after { grid-column: 2; margin-top: 8px; }
	.primary-nav .nav-panel--programs .sub-menu > li:not(.nav-panel__intro) + li { border-left: 1px solid #e4dce2; }
	.primary-nav .nav-panel--staff > .sub-menu { width: 385px; grid-template-columns: 1fr; }
	.primary-nav.nav-enhanced .menu > li:not(.is-open) > .sub-menu { opacity: 0; visibility: hidden; transform: translateY(10px); pointer-events: none; }
	.primary-nav.nav-enhanced .menu > li.is-open > .sub-menu { opacity: 1; visibility: visible; transform: none; pointer-events: auto; }
}
@media (max-width: 1079px) {
	.primary-nav { padding-top: 16px; background: #fbfaf7; }
	.primary-nav .menu > li { border-bottom-color: #e4dce2; }
	.primary-nav .menu-parent { min-height: 64px; font-size: 1.0625rem; color: #352b3b; }
	.primary-nav .menu-parent .icon { width: 27px; height: 27px; padding: 6px; background: #eee6ee; border-radius: 50%; color: #754771; }
	.primary-nav .sub-menu { padding: 2px 0 14px 8px; border: 0; border-left: 2px solid #d8c5d4; border-radius: 0; background: transparent; box-shadow: none; }
	.primary-nav .sub-menu > .nav-panel__intro { display: none; }
	.primary-nav .sub-menu a { min-height: 60px; padding: 14px 8px; gap: 7px; grid-template-columns: 20px minmax(0,1fr) 15px; }
	.nav-item__title { font-size: .8125rem; }
	.primary-nav .sub-menu a::after { font-size: .875rem; }
	.primary-nav .menu > li.is-open > .menu-parent { color: #682765; }
	.nav-drawer-extra { border-top-color: #e4dce2; font-size: .8125rem; }
}
@media (prefers-reduced-motion: reduce) {
	.site-header, .site-header::before, .site-header::after, .primary-nav, .nav-backdrop,
	.primary-nav .sub-menu, .primary-nav .sub-menu a, .primary-nav .sub-menu a::after, .primary-nav .menu-parent .icon { transition: none; }
}
