/* The document owns branding placement; the dialog owns its entire overlay. */
.jr-nav-menu {
	--jr-nav-bg: #fff;
	--jr-nav-text-color: #1a1a1a;
	--jr-nav-hover-color: #555;
	--jr-nav-current-color: inherit;
	--jr-nav-current-decoration: underline;
	--jr-nav-font-family: inherit;
	--jr-nav-font-size: 1rem;
	--jr-nav-font-weight: 500;
	--jr-nav-letter-spacing: .02em;
	--jr-nav-item-gap: 2rem;
	--jr-nav-padding-block: 1.25rem;
	--jr-nav-padding-inline: 1.5rem;
	--jr-nav-transition: 200ms ease;
	--jr-nav-dropdown-bg: #f5f5f3;
	--jr-nav-dropdown-row-padding-block: .75rem;
	--jr-nav-dropdown-row-padding-inline: 1rem;
	--jr-nav-dropdown-padding-block: .5rem;
	--jr-nav-dropdown-min-width: 12rem;
	--jr-nav-dropdown-chevron-size: .5rem;
	--jr-nav-dropdown-chevron-border-width: 1.5px;
	--jr-nav-mobile-bg: #fff;
	--jr-nav-mobile-text-color: #1a1a1a;
	--jr-nav-mobile-link-font-size: clamp(1.5rem, 4vw, 2.25rem);
	--jr-nav-panel-title-font-size: 1.5rem;
	--jr-nav-panel-title-font-weight: 600;
	--jr-nav-hamburger-color: currentColor;
	--jr-nav-hamburger-size: 1.5rem;
	--jr-nav-chevron-size: .65rem;
	--jr-nav-toggle-align: flex-end;
	--jr-nav-toggle-inline-offset: 0;
	--jr-nav-open-item-gap: .25rem;
	--jr-nav-control-size: 2.75rem;
	--jr-nav-border-color: #deded9;
	--jr-nav-focus-color: currentColor;
	--jr-nav-overlay-content-width: 60rem;
	--jr-nav-dropdown-radius: 0;
	--jr-nav-dropdown-shadow: 0 12px 30px rgb(0 0 0 / .09);
	--jr-nav-row-hover-bg: rgb(0 0 0 / .04);
	position: relative;
	display: flex;
	align-items: center;
	padding: var(--jr-nav-padding-block) var(--jr-nav-padding-inline);
	background: var(--jr-nav-bg);
	color: var(--jr-nav-text-color);
	font-family: var(--jr-nav-font-family);
	font-size: var(--jr-nav-font-size);
	font-weight: var(--jr-nav-font-weight);
	letter-spacing: var(--jr-nav-letter-spacing);
	line-height: 1.5;
}
.jr-nav-menu--julian {
	--jr-nav-font-family: 'Jost', sans-serif;
	--jr-nav-text-color: #2a2a2a;
	--jr-nav-mobile-text-color: #2a2a2a;
	--jr-nav-mobile-bg: #faf9f6;
	--jr-nav-dropdown-bg: #f0efeb;
}
/* Deliberately scoped resets: Divi styles lists and headings using ID selectors. */
.jr-nav-menu, .jr-nav-menu *, .jr-nav-menu *::before, .jr-nav-menu *::after { box-sizing: border-box; }
.jr-nav-menu [hidden] { display: none !important; }
.jr-nav-menu ul {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	line-height: inherit;
}
.jr-nav-menu li { margin: 0; padding: 0; }
.jr-nav-menu a, .jr-nav-menu button {
	font: inherit;
	letter-spacing: inherit;
	color: inherit;
	text-decoration: none;
	-webkit-tap-highlight-color: transparent;
}
.jr-nav-menu button { cursor: pointer; border: 0; border-radius: 0; background: transparent; }
.jr-nav-menu a[aria-current="page"] { color: var(--jr-nav-current-color); text-decoration: var(--jr-nav-current-decoration); text-underline-offset: .3em; text-decoration-thickness: 1px; }
.jr-nav-menu a:hover, .jr-nav-menu button:hover { color: var(--jr-nav-hover-color); }
.jr-nav-menu :is(a, button, [tabindex]):focus-visible {
	outline: 2px solid var(--jr-nav-focus-color);
	outline-offset: 4px;
	border-radius: 2px;
}
.jr-nav-menu .current-menu-ancestor > a, .jr-nav-menu .current-menu-parent > a { font-weight: 650; }
.jr-nav-menu__desktop { min-width: 0; width: 100%; }
.jr-nav-menu__desktop > ul { display: flex; align-items: center; flex-wrap: wrap; gap: .5rem var(--jr-nav-item-gap); }
.jr-nav-menu__desktop > ul > li > a { display: inline-flex; align-items: center; min-height: var(--jr-nav-control-size); }
/* Before enhancement, every destination is available, including on phones. */
.jr-nav-menu:not(.is-enhanced) .sub-menu { padding-inline-start: 1rem !important; }
.jr-nav-menu:not(.is-enhanced) .sub-menu a { display: block; padding-block: .4rem; }
.jr-nav-menu.is-enhanced .jr-nav-menu__parent { position: relative; display: flex; align-items: center; }
.jr-nav-menu .jr-nav-menu__disclosure {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: var(--jr-nav-control-size);
	min-height: var(--jr-nav-control-size);
	padding: .5rem;
}
.jr-nav-menu .jr-nav-menu__group { gap: .75rem; padding-inline: 0 .5rem; }
.jr-nav-menu__chevron {
	display: inline-block;
	width: var(--jr-nav-dropdown-chevron-size);
	height: var(--jr-nav-dropdown-chevron-size);
	border-right: var(--jr-nav-dropdown-chevron-border-width) solid currentColor;
	border-bottom: var(--jr-nav-dropdown-chevron-border-width) solid currentColor;
	transform: rotate(45deg) translateY(-2px);
	flex: 0 0 auto;
	transition: transform var(--jr-nav-transition);
}
.jr-nav-menu__disclosure[aria-expanded="true"] .jr-nav-menu__chevron { transform: rotate(225deg) translate(-2px, -1px); }
.jr-nav-menu.is-enhanced .jr-nav-menu__desktop .sub-menu {
	position: absolute;
	inset-block-start: 100%;
	inset-inline-start: 0;
	width: max-content;
	min-width: min(var(--jr-nav-dropdown-min-width), calc(100vw - 2rem));
	max-width: min(25rem, calc(100vw - 2rem));
	max-height: min(70vh, 32rem);
	overflow-y: auto;
	overscroll-behavior: contain;
	padding-block: var(--jr-nav-dropdown-padding-block) !important;
	background: var(--jr-nav-dropdown-bg);
	color: var(--jr-nav-text-color);
	border: 1px solid var(--jr-nav-border-color);
	border-radius: var(--jr-nav-dropdown-radius);
	box-shadow: var(--jr-nav-dropdown-shadow);
	z-index: 20;
}
.jr-nav-menu.is-enhanced .jr-nav-menu__desktop .sub-menu.is-aligned-end { inset-inline-start: auto; inset-inline-end: 0; }
/* A manual popover stays in the same DOM but escapes Divi stacking/clipping.
 * JS positions it against the trigger and constrains it to the viewport. */
.jr-nav-menu.is-enhanced .jr-nav-menu__desktop .sub-menu[popover] {
	position: fixed;
	inset: auto;
	margin: 0 !important;
}
.jr-nav-menu__desktop .sub-menu a {
	display: block;
	padding: var(--jr-nav-dropdown-row-padding-block) var(--jr-nav-dropdown-row-padding-inline);
	overflow-wrap: anywhere;
}
.jr-nav-menu__desktop .sub-menu a:hover { background: var(--jr-nav-row-hover-bg); }
.jr-nav-menu .jr-nav-menu__control {
	align-items: center;
	justify-content: center;
	width: var(--jr-nav-control-size);
	height: var(--jr-nav-control-size);
	flex: 0 0 auto;
	padding: 0;
}
.jr-nav-menu__control svg { display: block; width: var(--jr-nav-hamburger-size); height: var(--jr-nav-hamburger-size); }
.jr-nav-menu .jr-nav-menu__toggle { display: none; color: var(--jr-nav-hamburger-color); }
.jr-nav-menu.is-mobile { justify-content: var(--jr-nav-toggle-align); padding-inline: var(--jr-nav-toggle-inline-offset); }
.jr-nav-menu.is-mobile .jr-nav-menu__desktop { display: none; }
.jr-nav-menu.is-mobile .jr-nav-menu__toggle { display: inline-flex; }
/* showModal() promotes this element to the top layer without moving its DOM. */
.jr-nav-menu .jr-nav-menu__dialog {
	display: none;
	position: fixed;
	inset: 0;
	margin: 0;
	width: 100%;
	max-width: none;
	height: 100%;
	height: 100dvh;
	max-height: none;
	padding: env(safe-area-inset-top, 0px) env(safe-area-inset-right, 0px) env(safe-area-inset-bottom, 0px) env(safe-area-inset-left, 0px);
	border: 0;
	background: var(--jr-nav-mobile-bg);
	color: var(--jr-nav-mobile-text-color);
	font-family: var(--jr-nav-font-family);
	font-size: var(--jr-nav-font-size);
	font-weight: var(--jr-nav-font-weight);
	letter-spacing: var(--jr-nav-letter-spacing);
	line-height: 1.5;
	overflow: hidden;
}
.jr-nav-menu .jr-nav-menu__dialog[open] { display: flex; flex-direction: column; }
.jr-nav-menu__dialog::backdrop { background: rgb(0 0 0 / .2); }
.jr-nav-menu__header {
	display: grid;
	grid-template-columns: var(--jr-nav-control-size) minmax(0, 1fr) var(--jr-nav-control-size);
	align-items: center;
	gap: .5rem;
	width: 100%;
	max-width: var(--jr-nav-overlay-content-width);
	margin-inline: auto;
	padding: var(--jr-nav-padding-block) var(--jr-nav-padding-inline);
	flex: 0 0 auto;
}
.jr-nav-menu .jr-nav-menu__back { display: inline-flex; grid-column: 1; grid-row: 1; }
.jr-nav-menu__heading { grid-column: 2; grid-row: 1; min-width: 0; text-align: center; }
.jr-nav-menu .jr-nav-menu__close { display: inline-flex; grid-column: 3; grid-row: 1; }
.jr-nav-menu .jr-nav-menu__brand { display: inline-block; font-size: 1.1rem; font-weight: 600; overflow-wrap: anywhere; }
.jr-nav-menu .jr-nav-menu__title { margin: 0; padding: 0; color: inherit; font: inherit; font-size: var(--jr-nav-panel-title-font-size); font-weight: var(--jr-nav-panel-title-font-weight); overflow-wrap: anywhere; }
.jr-nav-menu__mobile { position: relative; flex: 1 1 auto; min-height: 0; width: 100%; max-width: var(--jr-nav-overlay-content-width); margin-inline: auto; overflow: hidden; }
.jr-nav-menu .jr-nav-menu__pane {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	gap: var(--jr-nav-open-item-gap);
	padding: 1rem var(--jr-nav-padding-inline) 2rem !important;
	overflow-y: auto;
	overscroll-behavior: contain;
	animation: jr-nav-enter var(--jr-nav-transition);
}
.jr-nav-menu .jr-nav-menu__pane li { flex: 0 0 auto; }
.jr-nav-menu .jr-nav-menu__pane a, .jr-nav-menu .jr-nav-menu__drill {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
	width: 100%;
	min-height: var(--jr-nav-control-size);
	padding: .6rem 0;
	font-size: var(--jr-nav-mobile-link-font-size);
	line-height: 1.35;
	text-align: start;
	overflow-wrap: anywhere;
}
.jr-nav-menu__drill .jr-nav-menu__chevron { width: var(--jr-nav-chevron-size); height: var(--jr-nav-chevron-size); transform: rotate(-45deg); margin-inline-end: .5rem; }
.jr-nav-menu:dir(rtl) .jr-nav-menu__drill .jr-nav-menu__chevron { transform: rotate(135deg); }
.jr-nav-menu:dir(rtl) .jr-nav-menu__back svg { transform: rotate(180deg); }
.jr-nav-menu__social { flex: 0 1 auto; overflow-y: auto; max-height: 25%; width: 100%; max-width: var(--jr-nav-overlay-content-width); margin-inline: auto; padding: 1rem var(--jr-nav-padding-inline); border-top: 1px solid var(--jr-nav-border-color); }
.jr-nav-menu__social ul { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; }
.jr-nav-menu__social a { display: inline-flex; align-items: center; min-height: var(--jr-nav-control-size); }
.jr-nav-menu .jr-nav-menu__sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
@keyframes jr-nav-enter { from { opacity: 0; transform: translateX(1rem); } to { opacity: 1; transform: translateX(0); } }
@media (prefers-reduced-motion: reduce) {
	.jr-nav-menu *, .jr-nav-menu *::before, .jr-nav-menu *::after { animation: none !important; transition: none !important; }
}
@media (forced-colors: active) {
	.jr-nav-menu__dialog, .jr-nav-menu__desktop .sub-menu { border: 1px solid CanvasText; }
}

/* Portable presets: no font requests, viewport assumptions, or behavior changes. */
.jr-nav-menu--minimal {
	--jr-nav-letter-spacing: 0;
	--jr-nav-item-gap: 2.5rem;
	--jr-nav-dropdown-bg: #fff;
	--jr-nav-dropdown-shadow: none;
	--jr-nav-mobile-link-font-size: clamp(1.4rem, 4vw, 2rem);
	--jr-nav-overlay-content-width: 48rem;
}
.jr-nav-menu--minimal .jr-nav-menu__header { border-bottom: 1px solid var(--jr-nav-border-color); }
.jr-nav-menu--minimal .jr-nav-menu__pane > li { border-bottom: 1px solid var(--jr-nav-border-color); }
.jr-nav-menu--editorial {
	--jr-nav-font-family: Georgia, 'Times New Roman', serif;
	--jr-nav-font-weight: 400;
	--jr-nav-font-size: 1.125rem;
	--jr-nav-letter-spacing: -.015em;
	--jr-nav-bg: #faf8f3;
	--jr-nav-dropdown-bg: #faf8f3;
	--jr-nav-mobile-bg: #faf8f3;
	--jr-nav-border-color: #d8d3c8;
	--jr-nav-mobile-link-font-size: clamp(2rem, 6vw, 3.5rem);
	--jr-nav-panel-title-font-weight: 400;
	--jr-nav-dropdown-shadow: none;
	--jr-nav-open-item-gap: .5rem;
}
.jr-nav-menu--editorial .jr-nav-menu__desktop { border-block: 1px solid var(--jr-nav-border-color); padding-block: .4rem; }
.jr-nav-menu--editorial .jr-nav-menu__header { border-bottom: 3px double var(--jr-nav-border-color); }
.jr-nav-menu--editorial .jr-nav-menu__pane > li { border-bottom: 1px solid var(--jr-nav-border-color); }
.jr-nav-menu--soft {
	--jr-nav-font-family: system-ui, sans-serif;
	--jr-nav-letter-spacing: 0;
	--jr-nav-bg: #f3f4f2;
	--jr-nav-dropdown-bg: #fff;
	--jr-nav-mobile-bg: #f3f4f2;
	--jr-nav-dropdown-radius: 1rem;
	--jr-nav-dropdown-shadow: 0 8px 28px rgb(0 0 0 / .07);
	--jr-nav-row-hover-bg: #e7e9e5;
	--jr-nav-open-item-gap: .75rem;
	--jr-nav-mobile-link-font-size: clamp(1.35rem, 4vw, 2rem);
}
.jr-nav-menu--soft .jr-nav-menu__desktop > ul > li { background: var(--jr-nav-dropdown-bg); border-radius: 2rem; padding-inline: 1rem; }
.jr-nav-menu--soft .jr-nav-menu__pane > li { background: var(--jr-nav-dropdown-bg); border-radius: 1rem; padding-inline: 1rem; }
.jr-nav-menu--soft .jr-nav-menu__control { border-radius: 50%; background: var(--jr-nav-dropdown-bg); }
.jr-nav-menu--contrast {
	--jr-nav-font-family: system-ui, sans-serif;
	--jr-nav-bg: #191919;
	--jr-nav-text-color: #f5f5f5;
	--jr-nav-hover-color: #fff;
	--jr-nav-mobile-text-color: #f5f5f5;
	--jr-nav-mobile-bg: #191919;
	--jr-nav-dropdown-bg: #252525;
	--jr-nav-border-color: #666;
	--jr-nav-font-weight: 650;
	--jr-nav-letter-spacing: -.02em;
	--jr-nav-mobile-link-font-size: clamp(2rem, 6vw, 3.5rem);
	--jr-nav-row-hover-bg: #383838;
	--jr-nav-dropdown-shadow: none;
}
.jr-nav-menu--contrast .jr-nav-menu__pane > li { border-bottom: 1px solid var(--jr-nav-border-color); }
.jr-nav-menu--contrast .jr-nav-menu__header { border-bottom: 1px solid var(--jr-nav-border-color); }
.jr-nav-menu--outline {
	--jr-nav-font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
	--jr-nav-font-size: .9375rem;
	--jr-nav-letter-spacing: .015em;
	--jr-nav-item-gap: .75rem;
	--jr-nav-dropdown-bg: #fff;
	--jr-nav-border-color: #737373;
	--jr-nav-dropdown-shadow: 4px 4px 0 var(--jr-nav-border-color);
	--jr-nav-mobile-link-font-size: clamp(1.2rem, 4vw, 1.75rem);
	--jr-nav-open-item-gap: .75rem;
}
/* Align the outlined items with surrounding page content; dialog gutters
 * continue to use --jr-nav-padding-inline independently. */
.jr-nav-menu--outline:not(.is-mobile) { padding-inline: 0; }
.jr-nav-menu--outline .jr-nav-menu__desktop > ul > li { border: 1px solid var(--jr-nav-border-color); padding-inline: .75rem; }
.jr-nav-menu--outline .jr-nav-menu__pane > li { border: 1px solid var(--jr-nav-border-color); padding: .25rem 1rem; }
.jr-nav-menu--outline .jr-nav-menu__control { border: 1px solid var(--jr-nav-border-color); }
:is(.jr-nav-menu--minimal, .jr-nav-menu--editorial, .jr-nav-menu--soft, .jr-nav-menu--contrast, .jr-nav-menu--outline) .jr-nav-menu__pane > li:hover {
	background: var(--jr-nav-row-hover-bg);
}

/* Divided rows must touch: flex gaps sit outside the hovered row background.
 * Keep the extra breathing room inside the clickable row instead. */
:is(.jr-nav-menu--minimal, .jr-nav-menu--editorial, .jr-nav-menu--contrast) .jr-nav-menu__pane {
	gap: 0;
}
:is(.jr-nav-menu--minimal, .jr-nav-menu--editorial, .jr-nav-menu--contrast) .jr-nav-menu__pane > li > :is(a, button) {
	padding-block-start: calc(.6rem + var(--jr-nav-open-item-gap));
}
