/* ==========================================================================
   Site Header
   Starts transparent over the top of the page, turns white on scroll.
   ========================================================================== */

.site-header{
	position:fixed;
	top:0;
	left:0;
	width:100%;
	z-index:999;
	background:transparent;
	border-bottom:1px solid transparent;
	transition:background .35s ease, border-color .35s ease, box-shadow .35s ease;
}

.site-header.is-scrolled{
	background:var(--color-bg);
	border-bottom-color:var(--color-border);
	box-shadow:0 4px 20px rgba(0,0,0,0.06);
}

.site-header__inner{
	display:flex;
	align-items:center;
	justify-content:space-between;
	height:var(--header-height);
	gap:24px;
}

/* Logo */
.site-header__logo img{
	max-height:52px;
	width:auto;
}

.site-header__logo-text{
	font-family:var(--font-heading);
	font-size:26px;
	font-weight:700;
	letter-spacing:0.02em;
	color:var(--color-black);
}

.site-header:not(.is-scrolled) .site-header__logo-text{
	color:#fff;
}

/* Nav */
.site-header__nav{
	flex:1;
	display:flex;
	justify-content:center;
}

.nav-menu{
	display:flex;
	align-items:center;
	gap:16px;
}

.nav-menu li{
	position:relative;
}

.nav-menu a{
	font-family:var(--font-heading);
	font-size:16px;
	font-weight:400;
	letter-spacing:0.02em;
	color:var(--color-black);
	padding:8px 2px;
	transition:color .25s ease;
	position:relative;
}

/*.nav-menu a::after{*/
/*	content:"";*/
/*	position:absolute;*/
/*	left:0;*/
/*	bottom:-2px;*/
/*	width:0;*/
/*	height:2px;*/
/*	background:var(--color-gold);*/
/*	transition:width .25s ease;*/
/*}*/

/*.nav-menu a:hover::after,*/
/*.nav-menu li.current-menu-item a::after{*/
/*	width:100%;*/
/*}*/

.nav-menu a:hover{
	color:var(--color-gold);
}

/* Sub-menu (dropdown) support - dynamic if editor adds one later */
.nav-menu ul.sub-menu{
	position:absolute;
	top:100%;
	left:0;
	min-width:220px;
	background:var(--color-bg);
	border:1px solid var(--color-border);
	border-radius:4px;
	padding:10px 0;
	opacity:0;
	visibility:hidden;
	transform:translateY(8px);
	transition:opacity .25s ease, transform .25s ease, visibility .25s ease;
	box-shadow:0 12px 30px rgba(0,0,0,0.08);
	z-index:10;
}

.nav-menu li:hover > ul.sub-menu{
	opacity:1;
	visibility:visible;
	transform:translateY(0);
}

.nav-menu ul.sub-menu a{
	display:block;
	color:var(--color-black) !important;
	padding:8px 20px;
	font-size:15px;
}

/* CTA */
.site-header__cta .btn--cta{
	white-space:nowrap;
}

/* Mobile toggle button */
.mobile-menu-toggle{
	display:none;
	flex-direction:column;
	justify-content:center;
	align-items:center;
	gap:5px;
	width:40px;
	height:40px;
	background:transparent;
	border:none;
	padding:0;
	z-index:1001;
}

.mobile-menu-toggle__bar{
	display:block;
	width:26px;
	height:2px;
	background:var(--color-black);
	transition:background .3s ease, transform .3s ease, opacity .3s ease;
}

.mobile-menu-toggle.is-open .mobile-menu-toggle__bar{
	background:var(--color-black);
}

.mobile-menu-toggle.is-open .mobile-menu-toggle__bar:nth-child(1){
	transform:translateY(7px) rotate(45deg);
}
.mobile-menu-toggle.is-open .mobile-menu-toggle__bar:nth-child(2){
	opacity:0;
}
.mobile-menu-toggle.is-open .mobile-menu-toggle__bar:nth-child(3){
	transform:translateY(-7px) rotate(-45deg);
}
.site-header__cta--mobile{
	display:none;
}
/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width: 1024px){
	.nav-menu{
		gap:22px;
	}
	.nav-menu a{
		font-size:16px;
	}
}

@media (max-width: 860px){

	.site-header__nav{
		position:fixed;
		top:0;
		right:0;
		height:100vh;
		width:100%;
		max-width:300px;
		background:var(--color-bg);
		display:flex;
		flex-direction:column;
		justify-content:flex-start;
		align-items:flex-start;
		padding:100px 28px 40px;
		transform:translateX(100%);
		transition:transform .35s ease;
		box-shadow:-10px 0 40px rgba(0,0,0,0.12);
	}
	
		.site-header__cta--mobile{
		display:inline-flex;
		width:100%;
		justify-content:center;
		margin-top:24px;
	}

	.site-header__nav.is-open{
		transform:translateX(0);
	}

	.nav-menu{
		flex-direction:column;
		align-items:flex-start;
		gap:18px;
		width:100%;
	}

	.nav-menu a,
	.site-header:not(.is-scrolled) .nav-menu a{
		color:var(--color-black);
		font-size:18px;
	}

	.nav-menu ul.sub-menu{
		position:static;
		opacity:1;
		visibility:visible;
		transform:none;
		box-shadow:none;
		border:none;
		text-align:left;
		padding:6px 0 0 12px;
		display:none;
	}

	.site-header__cta{
		display:none;
	}

	.mobile-menu-toggle{
		display:flex;
	}

	body.menu-open{
		overflow:hidden;
	}
}

@media (max-width: 480px){
	.site-header__logo img{
		max-height:44px;
	}
	.site-header__logo-text{
		font-size:20px;
	}
}
