/* Shared fixed header and navigation. Loaded after page-specific styles. */
body:not(.drive4usa-home) { padding-top: 94px; }
.site-header, .site-header--overlay { position: fixed; inset: 0 0 auto; z-index: 100; }
.site-header::before { content: ""; position: absolute; inset: 0; z-index: -1; background: #031330e6; border-bottom: 1px solid #5a76a940; box-shadow: 0 8px 24px #00000026; backdrop-filter: blur(16px); opacity: 0; pointer-events: none; transition: opacity 240ms ease; }
.site-header.is-scrolled::before, .nav-open .site-header::before { opacity: 1; }
.admin-bar .site-header { top: var(--header-admin-offset, 32px); }
.site-header .header-inner { position: relative; width: calc(100% - 80px); max-width: none; min-height: 94px; padding-block: 20px; gap: 20px; }
.site-header .site-branding { font-size: 24px; }
.site-header .site-logo { max-width: 201px; max-height: 32px; }
.site-header .primary-navigation { position: relative; z-index: 0; padding: 14px 20px; background: transparent; border: 1px solid #ffffff33; backdrop-filter: none; box-shadow: 0 0 12px #5a76a966; }
.site-header .primary-navigation::before, .site-header .site-menu .sub-menu::before { content: ""; position: absolute; inset: 0; z-index: -1; background: #5a76a94d; backdrop-filter: blur(20px); pointer-events: none; }
.site-header .site-menu { gap: 32px; }
.site-header .site-menu > li { gap: 6px; }
.site-header .site-menu > li > a { padding: 0; color: #fff; font: 400 14px/1 Inter, sans-serif; letter-spacing: 0; transition: opacity 180ms ease; }
.site-header .site-menu a:hover { opacity: .75; }
.site-header .submenu-toggle { flex: 0 0 18px; width: 18px; height: 18px; padding: 0; border: 0; font-size: 0; background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M14.25 6.75L9 11.25L3.75 6.75' stroke='white' stroke-width='1.125' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E") center / 18px no-repeat; transition: transform 220ms ease; }
.site-header .submenu-toggle[aria-expanded="true"] { transform: rotate(180deg); }
.site-header .site-menu .sub-menu { display: flex; flex-direction: column; gap: 12px; top: calc(100% + 19px); left: -21px; width: max-content; min-width: 0; padding: 14px 20px; background: transparent; border: 1px solid transparent; backdrop-filter: none; box-shadow: none; opacity: 1; visibility: hidden; pointer-events: none; transform: none; transition: visibility 0s linear 200ms; }
.site-header .site-menu .sub-menu::before { inset: -1px; border: 1px solid #ffffff33; box-shadow: 0 0 12px #5a76a966; }
.site-header .site-menu .sub-menu::before, .site-header .site-menu .sub-menu > li { opacity: 0; transform: translateY(-6px); transition: opacity 200ms ease, transform 200ms ease; }
.site-header .sub-menu a { padding: 0; white-space: nowrap; color: #fff; background: transparent; font: 400 14px/1 Inter, sans-serif; letter-spacing: 0; transition: opacity 180ms ease; }
.site-header .sub-menu a:hover { background: transparent; }
.site-header .menu-item-has-children::after { content: ""; position: absolute; top: 100%; left: 0; right: 0; height: 20px; }
.site-header .menu-item-has-children:is(:hover, :focus-within, .is-open) > .sub-menu { display: flex; opacity: 1; visibility: visible; pointer-events: auto; transform: none; transition-delay: 0s; }
.site-header .menu-item-has-children:is(:hover, :focus-within, .is-open) > .sub-menu::before, .site-header .menu-item-has-children:is(:hover, :focus-within, .is-open) > .sub-menu > li { opacity: 1; transform: none; }
.site-header .header-apply { display: inline-flex; gap: 2px; padding: 0; min-height: 46px; border: 0; color: #031330; background: transparent; font: 600 18px/22px Inter, sans-serif; }
.site-header .header-apply > span:not(.button-arrow) { padding: 12px 20px; background: #fff; }
.site-header .header-apply .button-arrow { width: 46px; min-width: 46px; border: 0; background: #fff; font-size: 24px; }
.site-header .header-apply .button-arrow { font-size: 0; }
.site-header .header-apply .button-arrow::after { content: ""; width: 24px; height: 24px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h14m-6-6 6 6-6 6' fill='none' stroke='%23031330' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat; }
.site-header .menu-toggle { background: #5a76a94d; border: 1px solid #ffffff33; backdrop-filter: blur(20px); box-shadow: 0 0 12px #5a76a966; }
.site-header .menu-toggle span { width: 16px; height: 1.5px; border-radius: 2px; background: #fff; transition: transform 240ms ease, opacity 180ms ease; }

@media (min-width: 901px) {
 .site-header .menu-item-has-children:is(:hover, :focus-within, .is-open) > .submenu-toggle { transform: rotate(180deg); }
 .site-header.is-scrolled .primary-navigation { border-color: #5a76a940; box-shadow: none; }
 .site-header.is-scrolled .primary-navigation::before { background: #03133080; backdrop-filter: none; }
 .site-header.is-scrolled .site-menu .sub-menu::before { background: #031330f5; border-color: #5a76a940; box-shadow: 0 12px 28px #00000040; }
 .site-header.is-scrolled .menu-item-has-children:is(:hover, :focus-within, .is-open) > a,
 .site-header.is-scrolled .site-menu :is(.current-menu-item, .current-menu-ancestor) > a,
 .site-header.is-scrolled .sub-menu a:is(:hover, :focus-visible) { color: #b9d5ff; opacity: 1; }
}

@media (max-width: 1200px) and (min-width: 901px) {
	.site-header .header-inner { width: calc(100% - 48px); gap: 16px; }
	.site-header .primary-navigation { padding-inline: 14px; }
	.site-header .site-menu { gap: 16px; }
}
@media (max-width: 1050px) and (min-width: 901px) {
	.site-header .site-menu { gap: 12px; }
	.site-header .site-menu > li > a { font-size: 13px; }
}
@media (max-width: 1100px) {
	.site-header .site-branding { font-size: 19px; }
	.site-header .site-logo { max-width: 157px; }
}
@media (max-width: 900px) {
	body:not(.drive4usa-home) { padding-top: 72px; }
	.site-header .header-inner { width: calc(100% - 32px); min-height: 72px; padding: 16px 0; }
	.site-header .header-inner::before { content: ""; position: absolute; inset: 0 -16px; z-index: 1; background: #00050f; opacity: 0; pointer-events: none; transition: opacity 260ms ease; }
	.nav-open .site-header .header-inner::before { opacity: 1; }
	.site-header .site-branding, .site-header .menu-toggle { position: relative; z-index: 2; }
	.site-header .menu-toggle { display: flex; flex: 0 0 40px; width: 40px; height: 40px; gap: 3.5px; }
	.site-header .header-apply { display: none; }
	.site-header .primary-navigation { display: block; position: fixed; top: var(--header-admin-offset, 0px); left: 0; right: 0; height: calc(100dvh - var(--header-admin-offset, 0px)); max-height: none; padding: 88px 16px 48px; overflow-y: auto; scrollbar-width: none; -ms-overflow-style: none; overscroll-behavior: contain; background: #00050f; border: 0; box-shadow: none; backdrop-filter: none; isolation: isolate; opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(-12px); transition: opacity 260ms ease, transform 320ms cubic-bezier(.22, 1, .36, 1), visibility 320ms; }
	.site-header .primary-navigation::-webkit-scrollbar { display: none; width: 0; height: 0; }
	.site-header .primary-navigation::before { content: ""; position: absolute; z-index: -1; left: 0; right: 0; top: max(352px, calc(100dvh - 288px)); height: 288px; background: url('../images/menu-glow.webp') center / 100% 100% no-repeat; backdrop-filter: none; transform: scaleX(-1); opacity: .56; mix-blend-mode: color-dodge; pointer-events: none; }
	.site-header .site-menu .sub-menu::before { display: none; }
	.site-header .primary-navigation.is-open { opacity: 1; visibility: visible; pointer-events: auto; transform: none; }
	.site-header .site-menu { display: flex; flex-direction: column; align-items: stretch; gap: 8px; }
	.site-header .site-menu > li { flex-wrap: wrap; padding: 12px; column-gap: 6px; row-gap: 0; opacity: 0; transform: translateY(8px); transition: opacity 180ms ease, transform 240ms ease; }
	.site-header .primary-navigation.is-open .site-menu > li { opacity: 1; transform: none; transition-delay: 70ms; }
	.site-header .site-menu > li > a { flex: 1; padding: 0; font-size: 16px; line-height: 19px; }
	.site-header .menu-item-has-children::after { display: none; }
	.site-header .site-menu .sub-menu { display: flex; position: static; width: 100%; min-width: 0; max-height: 0; overflow: hidden; margin: 0; padding: 0; border: 0; background: transparent; box-shadow: none; backdrop-filter: none; transform: none; opacity: 0; visibility: hidden; pointer-events: none; transition: max-height 280ms ease, padding 280ms ease, opacity 200ms ease, visibility 280ms; }
	.site-header .menu-item-has-children:is(:hover, :focus-within) > .sub-menu { display: flex; opacity: 0; visibility: hidden; pointer-events: none; }
	.site-header .menu-item-has-children.is-open > .sub-menu { max-height: 400px; margin-top: 0; padding: 12px 0 0; opacity: 1; visibility: visible; pointer-events: auto; }
	.site-header .sub-menu a { white-space: normal; line-height: 19px; }
	.nav-open .site-header .menu-toggle span:nth-child(1) { transform: translateY(5px) rotate(45deg); }
	.nav-open .site-header .menu-toggle span:nth-child(2) { opacity: 0; transform: scaleX(.5); }
	.nav-open .site-header .menu-toggle span:nth-child(3) { transform: translateY(-5px) rotate(-45deg); }
}
@media (prefers-reduced-motion: reduce) {
	.site-header *, .site-header *::before, .site-header::before { transition: none !important; animation: none !important; }
}
