/*-- -------------------------- -->
<---        Navigation          -->
<--- -------------------------- -*/

/* Nav structural tokens */
:root {
	--nav-height:     4.5rem;
	--top-bar-height: 2.25rem;
	--nav-offset:     calc(var(--nav-height) + var(--top-bar-height));
	--mega-gap:       1.7rem;
}

body {
	margin: 0;
	padding: 0;
}

html {
	margin: 0;
	padding: 0;
}

/* ── WordPress Admin Bar ─────────────────────────────────── */
.admin-bar .top-bar {
	top: 32px;
	transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s ease;
}

.admin-bar .site-nav {
	top: calc(32px + var(--top-bar-height));
	transition: top 0.3s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.3s ease;
}

.admin-bar .site-nav.scrolled {
	top: 32px;
}

@media screen and (max-width: 782px) {
	.admin-bar .top-bar {
		top: 46px;
		transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s ease;
	}

	.admin-bar .site-nav {
		top: 46px;
		transition: top 0.3s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.3s ease;
	}

	.admin-bar .site-nav.scrolled {
		top: 46px;
	}
}

@media only screen and (max-width: 48rem) {
	.site-nav {
		top: 0 !important;
	}

	.admin-bar .site-nav {
		top: 46px !important;
	}
}

/* ── Keyframes ───────────────────────────────────────────── */
@keyframes nav-fadeSlideDown {
	from { opacity: 0; transform: translateY(-8px); }
	to   { opacity: 1; transform: translateY(0); }
}

@keyframes nav-shimmer {
	0%   { background-position: -200% 0; }
	100% { background-position:  200% 0; }
}

/* ═══════════════════════════════════════════════════════════
   Mobile — 0px
   ═══════════════════════════════════════════════════════════ */
@media only screen and (min-width: 0rem) {

	/* ── Top Bar ─────────────────────────────────────────── */
	.top-bar {
		display: none;
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		z-index: 210;
		height: 2.25rem;
		background: var(--navy);
		border-bottom: 1px solid rgba(255, 255, 255, 0.07);
		transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s ease;
	}

	.top-bar.hidden {
		transform: translateY(-100%);
		opacity: 0;
	}

	.top-bar-inner {
		height: 100%;
		padding: 0 3.5vw;
		display: flex;
		align-items: center;
		justify-content: flex-end;
	}

	.top-bar-left,
	.top-bar-right {
		display: flex;
		align-items: center;
		gap: 1rem;
	}

	.top-bar-divider {
		width: 1px;
		height: 0.875rem;
		background: rgba(255, 255, 255, 0.15);
		flex-shrink: 0;
	}

	.top-bar-link {
		font-family: var(--headerFont);
		font-size: 0.8rem;
		color: var(--white);
		text-decoration: none;
		white-space: nowrap;
		transition: color 0.2s ease;
	}

	.top-bar-link:hover {
		color: var(--white);
	}

	.top-bar-link--portal {
		display: flex;
		align-items: center;
		gap: 0.35rem;
		color: var(--signingGold);
		font-size: 0.8rem;
	}

	.top-bar-link--portal svg {
		opacity: 0.8;
	}

	.top-bar-link--portal:hover {
		color: #e8c06a;
	}

	.top-bar-socials {
		display: flex;
		align-items: center;
		gap: 0.15rem;
	}

	.top-bar-social {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 1.625rem;
		height: 1.625rem;
		color: rgba(255, 255, 255, 0.35);
		border-radius: 0.25rem;
		text-decoration: none;
		transition: color 0.2s ease, background 0.2s ease;
	}

	.top-bar-social:hover {
		color: var(--signingGold);
		background: rgba(255, 255, 255, 0.08);
	}

	/* ── Site Nav ────────────────────────────────────────── */
	.site-nav {
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		z-index: 200;
		height: var(--nav-height);
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding: 0 1.25rem;
		background: #fafaf8;
		box-shadow: 0 1px 0 rgba(10, 22, 40, 0.08), 0 4px 24px rgba(10, 22, 40, 0.07);
		animation: nav-fadeSlideDown 0.7s ease both;
		transition: top 0.3s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.3s ease;
	}

	.site-nav.hidden {
		visibility: hidden;
	}

	/* ── Logo ────────────────────────────────────────────── */
	.nav-logo {
		display: flex;
		align-items: center;
		flex-shrink: 0;
		position: relative;
		z-index: 1;
		text-decoration: none;
	}

	.nav-logo-img {
		display: block;
		height: 2.75rem;
		width: auto;
		object-fit: contain;
	}

	.nav-logo-img--light { display: none; }
	.nav-logo-img--dark  { display: block; }

	.nav-logo .custom-logo-link {
		display: flex;
		align-items: center;
		text-decoration: none;
		flex-shrink: 0;
		line-height: 0;
	}

	.nav-logo .custom-logo-link .custom-logo,
	.custom-logo {
		display: block;
		height: auto;
		max-height: 3rem;
		max-width: 180px;
		width: auto;
		object-fit: contain;
	}

	/* ── Nav Links (hidden mobile) ───────────────────────── */
	.nav-links {
		display: none;
	}

	/* ── Nav Right Cluster ───────────────────────────────── */
	.nav-right {
		display: flex;
		align-items: center;
		gap: 0.75rem;
		position: relative;
		z-index: 1;
	}

	.nav-ctas {
		display: flex;
		gap: 0.4rem;
	}

	/* ── CTA Buttons ─────────────────────────────────────── */
	.nav-cta {
		font-family: var(--headerFont);
		font-size: 0.7rem;
		letter-spacing: 0.1em;
		text-transform: capitalize;
		padding: 0.45rem 0.7rem;
		border-radius: 6.25rem;
		text-decoration: none;
		display: inline-block;
		white-space: nowrap;
		line-height: 1;
		border: 1.5px solid transparent;
		cursor: pointer;
		transition: all 0.22s ease;
	}

	.nav-cta--ghost {
		color: rgba(15, 47, 91, 0.65);
		background: transparent;
		border-color: rgba(15, 47, 91, 0.25);
	}

	.nav-cta--ghost:hover {
		color: var(--navy);
		border-color: rgba(15, 47, 91, 0.5);
		background: rgba(15, 47, 91, 0.04);
	}

	.nav-cta--solid {
		color: var(--white);
		background: var(--navy);
		border-color: var(--navy);
		font-weight: 700;
		position: relative;
		overflow: hidden;
	}

	.nav-cta--solid::after {
		content: '';
		position: absolute;
		inset: 0;
		background: linear-gradient(
			90deg,
			transparent 0%,
			rgba(255, 255, 255, 0.3) 50%,
			transparent 100%
		);
		background-size: 200% 100%;
		opacity: 0;
		transition: opacity 0.3s ease;
		animation: nav-shimmer 1.8s ease infinite;
	}

	.nav-cta--solid:hover {
		background: #1a4a8a;
		border-color: #1a4a8a;
		color: var(--white);
	}

	.nav-cta--solid:hover::after {
		opacity: 1;
	}

	/* ── Search Button ───────────────────────────────────── */
	.nav-search-btn {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 2.625rem;
		height: 2.625rem;
		background: transparent;
		border: none;
		cursor: pointer;
		padding: 0.5rem;
		border-radius: 0.375rem;
		color: var(--navy) !important;
		flex-shrink: 0;
		transition: background 0.2s ease, color 0.2s ease;
	}

	.nav-search-btn:hover {
		background: rgba(15, 47, 91, 0.06);
	}

	.nav-search-btn svg {
		display: block;
		flex-shrink: 0;
	}

	/* ── Hamburger ───────────────────────────────────────── */
	.hamburger {
		display: flex;
		flex-direction: column;
		justify-content: center;
		gap: 5px;
		width: 2.625rem;
		height: 2.625rem;
		background: transparent;
		border: none;
		cursor: pointer;
		padding: 0.5rem;
		border-radius: 0.375rem;
		transition: background 0.2s ease;
	}

	.hamburger:hover {
		background: rgba(255, 255, 255, 0.1);
	}

	.hamburger-bar {
		display: block;
		height: 1.5px;
		background: var(--navy);
		transform-origin: center;
		transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.2s ease, width 0.2s ease;
	}

	.hamburger-bar:nth-child(1) { width: 22px; }
	.hamburger-bar:nth-child(2) { width: 16px; }
	.hamburger-bar:nth-child(3) { width: 22px; }

	.hamburger.open .hamburger-bar:nth-child(1) {
		width: 22px;
		transform: translateY(6.5px) rotate(45deg);
	}

	.hamburger.open .hamburger-bar:nth-child(2) {
		opacity: 0;
		width: 0;
	}

	.hamburger.open .hamburger-bar:nth-child(3) {
		width: 22px;
		transform: translateY(-6.5px) rotate(-45deg);
	}

	/* ── Menu Overlay ────────────────────────────────────── */
	.menu-overlay {
		position: fixed;
		inset: 0;
		z-index: 300;
		background: var(--navy);
		display: block;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		pointer-events: none;
		visibility: hidden;
		opacity: 0;
		transition: opacity 0.35s ease, visibility 0.35s ease;
	}

	.menu-overlay.open {
		pointer-events: all;
		visibility: visible;
		opacity: 1;
	}

	.menu-overlay-header {
		position: relative;
		z-index: 1;
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding: 0 1.25rem;
		height: var(--nav-height);
		background: var(--navy);
		border-bottom: 1px solid rgba(255, 255, 255, 0.07);
	}

	.menu-close {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 2.5rem;
		height: 2.5rem;
		background: rgba(255, 255, 255, 0.08);
		border: 1px solid rgba(255, 255, 255, 0.15);
		border-radius: 0.375rem;
		color: var(--white);
		cursor: pointer;
		transition: background 0.2s ease, border-color 0.2s ease;
	}

	.menu-close:hover {
		background: rgba(255, 255, 255, 0.15);
		border-color: rgba(255, 255, 255, 0.35);
	}

	/* ── Menu Items ──────────────────────────────────────── */
	.menu-items {
		list-style: none;
		padding: 0;
		margin: 0;
	}

	.menu-items > .menu-item {
		border-bottom: 1px solid rgba(255, 255, 255, 0.07);
	}

	.menu-parent {
		width: 100%;
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding: 1.1rem 1.25rem;
		background: none;
		border: none;
		cursor: pointer;
		font-family: var(--headerFont);
		font-size: 0.9375rem;
		font-weight: 600;
		letter-spacing: 0.06em;
		text-transform: capitalize;
		color: rgba(255, 255, 255, 0.75);
		text-align: left;
		transition: color 0.2s ease, background 0.2s ease;
	}

	.menu-parent:hover {
		color: var(--white);
		background: rgba(255, 255, 255, 0.04);
	}

	.menu-item.is-active .menu-parent {
		color: var(--white);
	}

	.menu-chevron {
		flex-shrink: 0;
		color: rgba(255, 255, 255, 0.35);
		transition: transform 0.3s ease, color 0.2s ease;
	}

	.menu-item.is-active .menu-chevron {
		transform: rotate(90deg);
		color: var(--signingGold);
	}

	/* ── Accordion Sub ───────────────────────────────────── */
	.menu-sub {
		display: grid;
		grid-template-rows: 0fr;
		transition: grid-template-rows 0.32s ease;
	}

	.menu-item.is-active .menu-sub {
		grid-template-rows: 1fr;
	}

	.menu-sub-inner {
		overflow: hidden;
		min-height: 0;
	}

	.menu-sub-link {
		display: block;
		font-family: var(--bodyFont);
		font-size: 0.875rem;
		font-weight: 400;
		color: rgba(255, 255, 255, 0.45);
		text-decoration: none;
		padding: 0.65rem 1.25rem 0.65rem 1.75rem;
		border-left: 2px solid rgba(255, 255, 255, 0.1);
		margin-left: 1.25rem;
		transition: color 0.2s ease, border-color 0.2s ease, padding-left 0.2s ease;
	}

	.menu-sub-link:hover {
		color: var(--white);
		border-color: var(--signingGold);
		padding-left: 2rem;
	}

	.menu-sub-link:last-child {
		margin-bottom: 0.75rem;
	}

	/* ── Menu Carousel ───────────────────────────────────── */
	.menu-carousel {
		border-top: 1px solid rgba(255, 255, 255, 0.07);
		overflow: hidden;
	}

	.menu-carousel-slide {
		display: none;
		flex-direction: column;
	}

	.menu-carousel-slide.is-active {
		display: flex;
	}

	.menu-carousel-img-wrap {
		width: 100%;
		aspect-ratio: 16 / 9;
		overflow: hidden;
	}

	.menu-carousel-img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		display: block;
	}

	.menu-carousel-body {
		padding: 1rem 1.25rem;
	}

	.menu-carousel-title {
		font-family: var(--headerFont);
		font-size: 1rem;
		font-weight: 700;
		color: var(--white);
		margin-bottom: 0.35rem;
		text-transform: capitalize;
		letter-spacing: 0.04em;
	}

	.menu-carousel-text {
		font-family: var(--bodyFont);
		font-size: 0.8125rem;
		color: rgba(255, 255, 255, 0.5);
		line-height: 1.5;
		margin: 0 0 0.875rem;
	}

	.menu-carousel-cta {
		display: inline-block;
		font-family: var(--headerFont);
		font-size: 1rem;
		font-weight: 700;
		letter-spacing: 0.1em;
		text-transform: capitalize;
		text-decoration: none;
		color: var(--navy);
		background: var(--white);
		border: 1.5px solid var(--white);
		border-radius: 6.25rem;
		padding: 0.5rem 1.1rem;
		transition: background 0.22s ease, color 0.22s ease, border-color 0.22s ease;
	}

	.menu-carousel-cta:hover {
		background: transparent;
		color: var(--white);
		border-color: rgba(255, 255, 255, 0.6);
	}

	.menu-carousel-dots {
		display: flex;
		align-items: center;
		gap: 0.5rem;
		padding: 0.75rem 1.25rem 1rem;
	}

	.menu-carousel-dot {
		width: 8px;
		height: 8px;
		border-radius: 50%;
		border: 1.5px solid rgba(255, 255, 255, 0.3);
		background: transparent;
		cursor: pointer;
		padding: 0;
		transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
	}

	.menu-carousel-dot.is-active {
		background: var(--white);
		border-color: var(--white);
		transform: scale(1.2);
	}

	.menu-carousel-dot:hover {
		border-color: rgba(255, 255, 255, 0.7);
	}

	/* ── Mobile Bottom Bar ───────────────────────────────── */
	.menu-bottom {
		border-top: 1px solid rgba(255, 255, 255, 0.1);
		background: rgba(0, 0, 0, 0.2);
	}

	.menu-bottom-socials {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 0.5rem;
		padding: 1rem 1.25rem 0.75rem;
	}

	.menu-bottom-social {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 2.5rem;
		height: 2.5rem;
		border-radius: 50%;
		border: 1px solid rgba(255, 255, 255, 0.2);
		color: rgba(255, 255, 255, 0.55);
		text-decoration: none;
		transition: color 0.2s ease, border-color 0.2s ease, background 0.2s ease;
	}

	.menu-bottom-social:hover {
		color: var(--white);
		border-color: rgba(255, 255, 255, 0.5);
		background: rgba(255, 255, 255, 0.08);
	}

	.menu-bottom-apply {
		display: block;
		width: 100%;
		padding: 1.1rem 1.25rem;
		background: var(--brooklynBlue);
		color: var(--white);
		font-family: var(--headerFont);
		font-size: 1rem;
		letter-spacing: 0.12em;
		text-transform: capitalize;
		text-align: center;
		text-decoration: none;
		transition: background 0.22s ease;
	}

	.menu-bottom-apply:hover {
		background: #1562a0;
	}

} /* Mobile - 0px */

/* ═══════════════════════════════════════════════════════════
   Tablet — 768px
   ═══════════════════════════════════════════════════════════ */
@media only screen and (min-width: 48rem) {

	.site-nav {
		padding: 0 3.5vw;
	}

	.nav-logo-img {
		height: 3.25rem;
	}

	.custom-logo {
		max-height: 3.25rem;
		max-width: 200px;
	}

} /* Tablet - 768px */

/* ═══════════════════════════════════════════════════════════
   Desktop — 1024px
   ═══════════════════════════════════════════════════════════ */
@media only screen and (min-width: 64rem) {

	/* ── Top bar ─────────────────────────────────────────── */
	.top-bar {
		display: block;
	}

	.site-nav {
		top: var(--top-bar-height);
		padding: 0 3.5vw;
	}

	.site-nav.hidden {
		visibility: visible;
	}

	.site-nav.scrolled {
		top: 0;
		box-shadow: 0 1px 0 rgba(10, 22, 40, 0.1), 0 6px 32px rgba(10, 22, 40, 0.12);
	}

	/* ── Logo ────────────────────────────────────────────── */
	.nav-logo-img {
		height: 3.25rem;
	}

	.custom-logo {
		max-height: 3.25rem;
		max-width: 200px;
		width: auto;
		height: auto;
		object-fit: contain;
	}

	/* ── Top Bar Nav ─────────────────────────────────────── */
	.top-bar-nav {
		list-style: none;
		margin: 0;
		padding: 0;
		display: flex;
		align-items: center;
		gap: 0;
	}

	.top-bar-nav li {
		display: flex;
		align-items: center;
	}

	.top-bar-nav li.menu-item {
		border-bottom: none !important;
	}

	.top-bar-nav li + li::before {
		content: '';
		display: inline-block;
		width: 1px;
		height: 0.875rem;
		background: rgba(255, 255, 255, 0.15);
		flex-shrink: 0;
		margin-right: 1rem;
	}

	.top-bar-nav li a {
		font-family: var(--headerFont);
		font-size: 0.75rem;
		color: rgba(255, 255, 255, 0.55);
		text-decoration: none !important;
		border-bottom: none !important;
		white-space: nowrap;
		transition: color 0.2s ease;
		padding-right: 1rem;
	}

	.top-bar-nav li a:hover {
		color: var(--signingGold);
	}

	.top-bar-nav li:last-child::after {
		content: '';
		display: inline-block;
		width: 1px;
		height: 0.875rem;
		background: rgba(255, 255, 255, 0.15);
		flex-shrink: 0;
		margin-left: 1rem;
	}

	.top-bar .top-bar-nav li a,
	.top-bar .top-bar-link {
		text-decoration: none !important;
		border-bottom: none !important;
	}

	/* ── Nav Links ───────────────────────────────────────── */
	.nav-links {
		display: flex;
		align-items: center;
		gap: 1.5rem;
		list-style: none;
		padding: 0;
		margin: 0;
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
		max-width: calc(100% - 500px);
	}

	.nav-item {
		display: flex;
		align-items: center;
	}

	.nav-item::after {
		content: '';
		position: absolute;
		left: -3.5vw;
		right: -3.5vw;
		top: 100%;
		height: var(--mega-gap);
		background: transparent;
		pointer-events: none;
		display: none;
	}

	.nav-item:hover::after {
		display: block;
		pointer-events: all;
	}

	.nav-item:hover > .mega-menu {
		opacity: 1;
		visibility: visible;
		transform: translateY(0);
		pointer-events: all;
	}

	.nav-link {
		font-family: var(--headerFont);
		font-size: 0.9rem;
		letter-spacing: 0.09em;
		text-transform: capitalize;
		color: rgba(15, 47, 91, 0.6);
		text-decoration: none;
		white-space: nowrap;
		transition: color 0.2s ease;
		display: flex;
		align-items: center;
		gap: 0.3rem;
	}

	.nav-link:hover {
		color: var(--navy);
	}

	.nav-link::after {
		content: '';
		display: inline-block;
		width: 0;
		height: 0;
		border-left: 3px solid transparent;
		border-right: 3px solid transparent;
		border-top: 4px solid currentColor;
		opacity: 0.5;
		transition: transform 0.2s ease, opacity 0.2s ease;
	}

	.nav-item:hover .nav-link::after {
		transform: rotate(180deg);
		opacity: 1;
	}

	.nav-link[href="#"] {
		cursor: default;
		pointer-events: none;
	}

	/* ── CTA Buttons — unified size across all desktop widths ── */
	.nav-ctas {
		display: flex;
		align-items: center;
		gap: 0.5rem;
	}

	.nav-cta {
		font-size: 0.78rem;
		padding: 0.45rem 0.7rem;
	}

	/* ── Search Button ───────────────────────────────────── */
	.nav-search-btn {
		display: flex;
		color: var(--navy);
	}

	/* ── Hide mobile-only elements ───────────────────────── */
	.hamburger,
	.menu-bottom,
	.menu-carousel,
	.menu-overlay {
		display: none;
	}

	/* ── Mega Menu ───────────────────────────────────────── */
	.mega-menu {
		position: absolute;
		left: calc(-1 * (100vw - 100%) / 2 - 3.5vw);
		right: calc(-1 * (100vw - 100%) / 2 - 3.5vw);
		top: calc(100% + var(--mega-gap));
		z-index: 199;
		opacity: 0;
		visibility: hidden;
		transform: translateY(-6px);
		pointer-events: none;
		transition: opacity 0.22s ease, transform 0.22s ease, visibility 0.22s ease;
		background-image: url('https://websthetic.tor1.cdn.digitaloceanspaces.com/brooklyn-college/landing-page/brooklyn-college-interior-front-entrance.webp');
		background-size: cover;
		background-position: center;
		border-top: 1px solid rgba(255, 255, 255, 0.07);
		border-radius: 0 0 1rem 1rem;
		box-shadow: 0 12px 40px rgba(10, 22, 40, 0.2);
	}

	.mega-menu::before {
		content: '';
		position: absolute;
		inset: -4px 0 0 0;
		background: rgba(15, 47, 91, 0.90);
		z-index: 0;
	}

	.mega-menu-inner {
		position: relative;
		z-index: 1;
		max-width: 100%;
		margin: 0 auto;
		padding: 2.5rem 8vw;
		display: grid;
		grid-template-columns: 1fr 1fr 1fr 16rem;
		gap: 0 3rem;
	}

	.mega-menu-col {
		padding-right: 3rem;
		border-right: 1px solid rgba(255, 255, 255, 0.08);
	}

	.mega-menu-col:last-child {
		border-right: none;
		padding-right: 0;
	}

	.mega-menu-heading {
		font-family: var(--headerFont);
		font-size: 0.625rem;
		font-weight: 700;
		letter-spacing: 0.12em;
		text-transform: uppercase;
		color: var(--signingGold);
		margin-bottom: 0.75rem;
	}

	.mega-menu-link {
		display: block;
		text-decoration: none;
		padding: 0.6rem 0;
		border-bottom: 1px solid rgba(255, 255, 255, 0.08);
		transition: padding-left 0.18s ease;
	}

	.mega-menu-link:last-of-type {
		border-bottom: none;
	}

	.mega-menu-link:hover {
		padding-left: 0.35rem;
	}

	.mega-menu-link:hover .mega-menu-link-title {
		color: var(--signingGold);
	}

	.mega-menu-link-title {
		font-family: var(--headerFont);
		font-size: 0.875rem;
		font-weight: 600;
		color: rgba(255, 255, 255, 0.90);
		transition: color 0.18s ease;
	}

	.mega-menu-link-desc {
		font-family: var(--bodyFont);
		font-size: 0.75rem;
		color: rgba(255, 255, 255, 0.8);
		margin-top: 0.2rem;
		line-height: 1.4;
	}

	.mega-menu-featured {
		background: rgba(255, 255, 255, 0.08);
		border: 1px solid rgba(255, 255, 255, 0.15);
		border-radius: 0.75rem;
		padding: 1.5rem;
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		min-height: 10rem;
		backdrop-filter: blur(6px);
		-webkit-backdrop-filter: blur(6px);
	}

	.mega-menu-feat-label {
		font-family: var(--headerFont);
		font-size: 0.5625rem;
		font-weight: 700;
		letter-spacing: 0.12em;
		text-transform: uppercase;
		color: var(--signingGold);
		margin-bottom: 0.4rem;
	}

	.mega-menu-feat-title {
		font-family: var(--headerFont);
		font-size: 1.125rem;
		font-weight: 700;
		color: var(--white);
		line-height: 1.3;
		margin-bottom: 1.25rem;
	}

	.mega-menu-feat-cta {
		display: inline-block;
		font-family: var(--headerFont);
		font-size: 0.625rem;
		font-weight: 700;
		letter-spacing: 0.1em;
		text-transform: uppercase;
		text-decoration: none;
		color: var(--navy);
		background: var(--white);
		border-radius: 6.25rem;
		padding: 0.55rem 1.1rem;
		transition: background 0.2s ease, color 0.2s ease;
		align-self: flex-start;
	}

	.mega-menu-feat-cta:hover {
		background: var(--signingGold);
		color: var(--navy);
	}

	.mega-menu-news {
		position: relative;
		z-index: 1;
		border-top: 1px solid rgba(255, 255, 255, 0.08);
		padding: 1.25rem 8vw 1.75rem;
	}

	.mega-menu-news-heading {
		font-family: var(--headerFont);
		font-size: 0.625rem;
		font-weight: 700;
		letter-spacing: 0.12em;
		text-transform: uppercase;
		color: var(--signingGold);
		margin-bottom: 0.875rem;
	}

	.mega-menu-news-grid {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 1rem;
	}

	.mega-menu-news-item {
		border: 1px solid rgba(255, 255, 255, 0.12);
		border-radius: 0.5rem;
		padding: 0.75rem;
		display: flex;
		align-items: flex-start;
		gap: 0.75rem;
		text-decoration: none;
		transition: background 0.18s ease;
		background: rgba(255, 255, 255, 0.05);
	}

	.mega-menu-news-item:hover {
		background: rgba(255, 255, 255, 0.12);
	}

	.mega-menu-news-item:hover .mega-menu-news-title {
		color: var(--signingGold);
	}

	.mega-menu-news-thumb {
		width: 5rem;
		height: 3.75rem;
		border-radius: 0.375rem;
		object-fit: cover;
		flex-shrink: 0;
		background: rgba(255, 255, 255, 0.1);
	}

	.mega-menu-news-title {
		font-family: var(--headerFont);
		font-size: 0.8125rem;
		font-weight: 600;
		color: rgba(255, 255, 255, 0.85);
		line-height: 1.35;
		margin-bottom: 0.2rem;
	}

	.mega-menu-news-date {
		font-family: var(--bodyFont);
		font-size: 0.6875rem;
		color: rgba(255, 255, 255, 0.4);
	}

} /* Desktop - 1024px */

/* ═══════════════════════════════════════════════════════════
   Small Desktop — 1024px to 1120px (hamburger reappears)
   ═══════════════════════════════════════════════════════════ */
@media only screen and (min-width: 64rem) and (max-width: 70rem) {

	.nav-links {
		display: none;
	}

	.nav-search-btn {
		display: flex;
	}

	.hamburger {
		display: flex;
	}

	.menu-overlay,
	.menu-bottom {
		display: block;
	}

	.site-nav.hidden {
		visibility: hidden;
	}

	.menu-carousel {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 1rem;
		padding: 1.25rem;
		align-items: stretch;
	}

	.menu-carousel-slide {
		display: flex;
		flex-direction: column;
		background: rgba(255, 255, 255, 0.05);
		border: 1px solid rgba(255, 255, 255, 0.12);
		border-radius: 0.5rem;
		overflow: hidden;
	}

	.menu-carousel-body {
		flex: 1;
		display: flex;
		flex-direction: column;
		justify-content: space-between;
	}

	.menu-carousel-cta {
		font-size: 0.625rem;
		align-self: flex-start;
		margin-top: auto;
	}

	.menu-carousel-dots {
		display: none;
	}

} /* Small Desktop - 1024px to 1120px */

/* ═══════════════════════════════════════════════════════════
   Large Desktop — 1360px (wider gaps only)
   ═══════════════════════════════════════════════════════════ */
@media only screen and (min-width: 85rem) {

	.nav-links {
		gap: 2.5rem;
	}

	.nav-ctas {
		gap: 0.6rem;
	}

} /* Large Desktop - 1360px */