.site-header .title-area {
	float: left;
	text-align: left;
}

.site-header .responsive-menu-icon {
	display: none;
}

.mobile-menu-toggle,
.mobile-menu-toggle:hover,
.mobile-menu-toggle:focus,
.mobile-menu-toggle:active {
	align-items: center;
	background: transparent;
	border: 0;
	color: #fff;
	cursor: pointer;
	justify-content: center;
	padding: 10px;
}
.mobile-menu-toggle {
	display: none;
}
.mobile-menu-toggle .dashicons {
	font-size: 28px;
	height: 28px;
	margin: 0;
	width: 28px;
}

@media only screen and (max-width: 1023px) {
	.front-page-1 .image-section {
		align-items: center;
		display: flex;
		justify-content: center;
	}
	.front-page-1 .image-section .flexible-widgets {
		padding-bottom: 20px;
		padding-top: 20px;
		width: 100%;
	}
}

/* Wider tablet portrait (801-1023): padding-bottom = header height shifts the
 * flex-centred widget up by half the header, aligning with visual viewport centre. */
@media only screen and (min-width: 801px) and (max-width: 1023px) {
	.front-page-1 .image-section {
		height: auto !important;
		min-height: calc(100vh - 136px);
		min-height: calc(100dvh - 136px);
		padding-bottom: 136px;
	}
	.site-header .nav-secondary .genesis-nav-menu {
		float: none !important;
		text-align: center !important;
		width: 100%;
	}
	.site-header .nav-secondary .genesis-nav-menu > .menu-item {
		display: inline-block;
		float: none !important;
	}
}

@media only screen and (max-width: 800px) {
	.front-page-1 .image-section {
		height: auto !important;
		min-height: calc(100vh - 68px);
		min-height: calc(100dvh - 68px);
		padding-bottom: 68px;
	}

	.site-header > .wrap {
		align-items: center;
		display: flex;
		flex-wrap: wrap;
	}
	.site-header .title-area         { order: 1; float: none; width: auto; }
	.site-header .mobile-menu-toggle { order: 2; margin-left: auto; display: inline-flex; }
	.site-header .nav-secondary      { order: 3; width: 100%; border-bottom: 0; }
	.site-header .nav-primary        { order: 4; width: 100%; }

	.site-header .nav-primary,
	.site-header .nav-secondary {
		display: none;
	}
	body.mobile-menu-open .site-header .nav-primary,
	body.mobile-menu-open .site-header .nav-secondary {
		display: block;
	}

	/* Theme hides .genesis-nav-menu.responsive-menu via its own @media max-width: 800px.
	 * Re-show it when the hamburger is open. */
	body.mobile-menu-open .site-header .genesis-nav-menu.responsive-menu,
	body.mobile-menu-open .site-header .genesis-nav-menu.responsive-menu .menu-item {
		display: block;
	}

	/* Secondary menu: 4-column grid sized to content (not viewport), centred as a whole.
	 * Icons (items 1-4) take one cell each on row 1; text CTAs (items 5+) span two
	 * cells each so they don't wrap. */
	body.mobile-menu-open .site-header .nav-secondary .genesis-nav-menu.responsive-menu {
		display: grid;
		grid-template-columns: repeat(4, auto);
		justify-content: center;
		justify-items: center;
		align-items: center;
		column-gap: 1rem;
		text-align: center;
	}
	body.mobile-menu-open .site-header .nav-secondary .genesis-nav-menu.responsive-menu .menu-item:nth-child(n+5) {
		grid-column: span 2;
	}
}
