.rv-header { position: sticky; top: 0; z-index: 100; background: var(--rv-white); border-bottom: 1px solid var(--rv-border); transition: background .25s, border-color .25s, box-shadow .25s; }
.admin-bar .rv-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .rv-header { top: 46px; } }

.rv-header__inner { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; min-height: var(--rv-header-h); }
.rv-logo { display: inline-flex; align-items: center; text-decoration: none; color: var(--rv-navy); font-weight: 700; font-size: var(--rv-fs-lg); }
.rv-logo__img { height: 48px; width: auto; max-width: 220px; object-fit: contain; }
.rv-logo__img--light { display: none; }

.rv-header__panel { display: flex; align-items: center; gap: 1.5rem; }
.rv-menu { display: flex; align-items: center; gap: 1.5rem; list-style: none; margin: 0; padding: 0; }
.rv-menu li { position: relative; }
.rv-menu a { display: block; padding: .5rem 0; color: var(--rv-text); text-decoration: none; font-weight: 500; border-bottom: 2px solid transparent; }
.rv-menu a:hover { color: var(--rv-blue); }
.rv-menu > li.current-menu-item > a,
.rv-menu > li.current-menu-ancestor > a,
.rv-menu > li.current_page_item > a { color: var(--rv-blue); border-bottom-color: var(--rv-blue); }

.rv-menu .sub-menu { position: absolute; top: 100%; left: 0; min-width: 230px; margin: 0; padding: .5rem; list-style: none; background: var(--rv-white); border: 1px solid var(--rv-border); border-radius: var(--rv-radius-sm); box-shadow: var(--rv-shadow); display: none; }
.rv-menu li:hover > .sub-menu,
.rv-menu li:focus-within > .sub-menu { display: block; }
.rv-menu .sub-menu a { padding: .55rem .75rem; border-radius: 6px; border-bottom: 0; color: var(--rv-text); }
.rv-menu .sub-menu a:hover { background: var(--rv-blue-light); }

.rv-header__tools { display: flex; align-items: center; gap: 1rem; }
.rv-header__corp { font-size: var(--rv-fs-sm); font-weight: 600; color: var(--rv-blue); text-decoration: none; white-space: nowrap; }
.rv-header__corp:hover { text-decoration: underline; }
.rv-search-toggle, .rv-nav-toggle { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; background: transparent; border: 0; border-radius: 8px; color: var(--rv-navy); cursor: pointer; }
.rv-search-toggle:hover, .rv-nav-toggle:hover { background: var(--rv-blue-light); }

.rv-nav-toggle { display: none; }
.rv-nav-toggle__bars, .rv-nav-toggle__bars::before, .rv-nav-toggle__bars::after { display: block; width: 22px; height: 2px; background: currentColor; border-radius: 2px; transition: transform .2s, top .2s, background .2s; }
.rv-nav-toggle__bars { position: relative; }
.rv-nav-toggle__bars::before, .rv-nav-toggle__bars::after { content: ""; position: absolute; left: 0; }
.rv-nav-toggle__bars::before { top: -7px; }
.rv-nav-toggle__bars::after { top: 7px; }
.rv-nav-toggle[aria-expanded="true"] .rv-nav-toggle__bars { background: transparent; }
.rv-nav-toggle[aria-expanded="true"] .rv-nav-toggle__bars::before { top: 0; transform: rotate(45deg); }
.rv-nav-toggle[aria-expanded="true"] .rv-nav-toggle__bars::after { top: 0; transform: rotate(-45deg); }

.rv-search { background: var(--rv-white); border-top: 1px solid var(--rv-border); padding: 1rem 0; }
.rv-search[hidden] { display: none; }
.rv-search .search-form { display: flex; gap: .5rem; max-width: 640px; }
.rv-search .search-form label { flex: 1; }
.rv-search .search-field { width: 100%; padding: .75rem 1rem; font: inherit; border: 1px solid var(--rv-border); border-radius: var(--rv-radius-sm); }
.rv-search .search-submit { padding: .75rem 1.25rem; font: inherit; font-weight: 600; color: #fff; background: var(--rv-blue); border: 0; border-radius: var(--rv-radius-sm); cursor: pointer; }
.rv-search .search-submit:hover { background: var(--rv-navy); }

/* Transparent header over the hero (homepage) */
.rv-header-overlay .rv-header { position: fixed; left: 0; right: 0; }
.rv-header-overlay .rv-header:not(.is-scrolled):not(.is-nav-open):not(.is-search-open) { background: transparent; border-bottom-color: transparent; }
.rv-header-overlay .rv-header:not(.is-scrolled):not(.is-nav-open):not(.is-search-open) .rv-logo,
.rv-header-overlay .rv-header:not(.is-scrolled):not(.is-nav-open):not(.is-search-open) .rv-nav-toggle,
.rv-header-overlay .rv-header:not(.is-scrolled):not(.is-nav-open):not(.is-search-open) .rv-search-toggle { color: #fff; }
.rv-header-overlay .rv-header:not(.is-scrolled):not(.is-nav-open):not(.is-search-open) .rv-search-toggle:hover,
.rv-header-overlay .rv-header:not(.is-scrolled):not(.is-nav-open):not(.is-search-open) .rv-nav-toggle:hover { background: rgba(255, 255, 255, .15); }
.rv-header-overlay .rv-header:not(.is-scrolled):not(.is-nav-open):not(.is-search-open) .rv-logo__img--dark { filter: brightness(0) invert(1); }
.rv-header-overlay.rv-has-light-logo .rv-header:not(.is-scrolled):not(.is-nav-open):not(.is-search-open) .rv-logo__img--dark { display: none; }
.rv-header-overlay.rv-has-light-logo .rv-header:not(.is-scrolled):not(.is-nav-open):not(.is-search-open) .rv-logo__img--light { display: block; }

@media (min-width: 900px) {
	.rv-header-overlay .rv-header:not(.is-scrolled):not(.is-nav-open):not(.is-search-open) .rv-menu > li > a,
	.rv-header-overlay .rv-header:not(.is-scrolled):not(.is-nav-open):not(.is-search-open) .rv-header__corp { color: #fff; }
	.rv-header-overlay .rv-header:not(.is-scrolled):not(.is-nav-open):not(.is-search-open) .rv-menu > li.current-menu-item > a { border-bottom-color: #fff; }
}

/* Mobile */
@media (max-width: 899px) {
	.rv-nav-toggle { display: inline-flex; }
	.rv-header__panel { display: none; position: absolute; top: 100%; left: 0; right: 0; flex-direction: column; align-items: stretch; gap: 1rem; padding: 1rem var(--rv-gutter) 1.5rem; background: var(--rv-white); border-bottom: 1px solid var(--rv-border); max-height: calc(100vh - var(--rv-header-h)); overflow-y: auto; }
	.rv-header__panel.is-open { display: flex; }
	.rv-menu { flex-direction: column; align-items: stretch; gap: 0; }
	.rv-menu a { padding: .75rem 0; }
	.rv-menu .sub-menu { position: static; display: block; min-width: 0; border: 0; box-shadow: none; padding: 0 0 0 1rem; }
	.rv-header__tools { justify-content: space-between; }
}
