.iv-header {
	overflow: visible;
	--iv-header-gutter: clamp(24px, 4.6vw, 78px);
}

.iv-header .brand-lockup {
	overflow: visible;
}

.iv-header .nav {
	position: static;
}

.iv-nav-entry {
	display: flex;
	align-items: center;
	position: relative;
}

.iv-nav-entry > a {
	position: relative;
	z-index: 2;
	padding: 34px 0;
}

.iv-mega-toggle {
	display: grid;
	width: 16px;
	height: 36px;
	margin-left: 3px;
	padding: 0;
	border: 0;
	color: #8f958a;
	background: transparent;
	cursor: pointer;
	place-items: center;
	transition: color 180ms ease;
}

.iv-mega-toggle span {
	display: block;
	width: 7px;
	height: 7px;
	border-right: 1px solid currentColor;
	border-bottom: 1px solid currentColor;
	transform: translateY(-2px) rotate(45deg);
	transition: transform 220ms cubic-bezier(.2, .8, .2, 1);
}

.iv-nav-entry.is-open .iv-mega-toggle span {
	transform: translateY(2px) rotate(225deg);
}

.iv-mega-toggle:hover,
.iv-mega-toggle:focus-visible {
	color: #d8cfc2;
	outline: 0;
}

.iv-mega {
	position: fixed;
	top: 90px;
	right: var(--iv-header-gutter);
	left: var(--iv-header-gutter);
	z-index: 80;
	display: grid;
	width: auto;
	grid-template-columns: minmax(260px, .72fr) minmax(0, 1.28fr);
	overflow: hidden;
	border-top: 1px solid rgba(216, 207, 194, .18);
	border-bottom: 1px solid rgba(216, 207, 194, .2);
	border-radius: 0 0 30px 30px;
	background:
		radial-gradient(circle at 14% 20%, rgba(58, 70, 51, .36), transparent 34%),
		linear-gradient(145deg, #121411, #1f1f1f);
	box-shadow: 0 34px 90px rgba(0, 0, 0, .52);
	opacity: 0;
	pointer-events: none;
	transform: translateY(12px);
	transition: opacity 180ms ease, visibility 180ms ease, transform 240ms cubic-bezier(.2, .8, .2, 1);
	visibility: hidden;
}

.iv-submenu {
	position: absolute;
	top: calc(100% - 2px);
	left: 50%;
	z-index: 82;
	display: grid;
	width: 250px;
	padding: 9px;
	border: 1px solid rgba(216, 207, 194, .19);
	border-radius: 17px;
	background: rgba(18, 20, 17, .98);
	box-shadow: 0 24px 65px rgba(0, 0, 0, .48);
	opacity: 0;
	pointer-events: none;
	transform: translate(-50%, 10px);
	transition: opacity 180ms ease, visibility 180ms ease, transform 220ms ease;
	visibility: hidden;
}

.iv-submenu a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 48px;
	padding: 0 13px;
	border-radius: 11px;
	color: #b8bdb4;
	font-size: 11px;
}

.iv-submenu a:hover {
	color: #faf9f6;
	background: rgba(58, 70, 51, .34);
}

.iv-submenu i {
	color: #d8cfc2;
	font-style: normal;
}

.iv-nav-entry.is-open > .iv-mega,
.iv-nav-entry:focus-within > .iv-mega,
.iv-nav-entry.is-open > .iv-submenu,
.iv-nav-entry:focus-within > .iv-submenu {
	opacity: 1;
	pointer-events: auto;
	visibility: visible;
}

.iv-nav-entry.is-open > .iv-mega,
.iv-nav-entry:focus-within > .iv-mega {
	transform: translateY(0);
}

.iv-nav-entry.is-open > .iv-submenu,
.iv-nav-entry:focus-within > .iv-submenu {
	transform: translate(-50%, 0);
}

.iv-mega-intro {
	display: flex;
	flex-direction: column;
	min-height: 405px;
	padding: 36px;
	border-right: 1px solid rgba(216, 207, 194, .16);
}

.iv-mega-intro > span {
	color: #d8cfc2;
	font: 9px var(--font-geist-mono), monospace;
	letter-spacing: .13em;
}

.iv-mega-intro h2 {
	margin: 67px 0 0;
	color: #faf9f6;
	font-size: clamp(2.3rem, 3vw, 3.8rem);
	font-weight: 520;
	letter-spacing: -.045em;
	line-height: 1.02;
}

.iv-mega-intro h2 em {
	color: #9ba096;
	font-style: normal;
	font-weight: 400;
}

.iv-mega-intro p {
	max-width: 390px;
	margin: 18px 0 0;
	color: #aeb3aa;
	font-size: 12px;
	line-height: 1.65;
}

.iv-mega-intro > a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: min(100%, 290px);
	margin-top: auto;
	padding: 14px 17px;
	border: 1px solid rgba(216, 207, 194, .22);
	border-radius: 999px;
	color: #faf9f6;
	font-size: 11px;
}

.iv-mega-intro > a i,
.iv-mega-grid a i,
.iv-mega-tool-list a i,
.iv-mega-quick a i {
	font-style: normal;
}

.iv-mega-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.iv-mega-grid > a {
	position: relative;
	display: flex;
	flex-direction: column;
	min-height: 170px;
	padding: 27px;
	border-right: 1px solid rgba(216, 207, 194, .13);
	border-bottom: 1px solid rgba(216, 207, 194, .13);
	transition: background 180ms ease, transform 180ms ease;
}

.iv-mega-grid > a:hover,
.iv-mega-tool-list > a:hover {
	color: #faf9f6;
	background: rgba(58, 70, 51, .28);
}

.iv-mega-grid > a > span,
.iv-mega-tool-list > a > span {
	color: #d8cfc2;
	font: 9px var(--font-geist-mono), monospace;
}

.iv-mega-grid > a strong {
	margin-top: 45px;
	color: #faf9f6;
	font-size: 1.25rem;
	font-weight: 540;
}

.iv-mega-grid > a small,
.iv-mega-tool-list > a small {
	margin-top: 7px;
	color: #92978e;
	font-size: 10px;
}

.iv-mega-grid > a > i {
	position: absolute;
	right: 25px;
	bottom: 25px;
	color: #d8cfc2;
}

.iv-mega-quick {
	display: grid;
	grid-column: 1 / -1;
	grid-template-columns: repeat(4, 1fr);
}

.iv-mega-quick a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 62px;
	padding: 0 20px;
	border-right: 1px solid rgba(216, 207, 194, .13);
	color: #b3b7af;
	font-size: 10px;
}

.iv-mega-tool-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.iv-mega-tool-list > a {
	position: relative;
	display: grid;
	grid-template-columns: 36px 1fr auto;
	align-content: center;
	gap: 3px 14px;
	min-height: 135px;
	padding: 24px 28px;
	border-right: 1px solid rgba(216, 207, 194, .13);
	border-bottom: 1px solid rgba(216, 207, 194, .13);
}

.iv-mega-tool-list > a strong {
	color: #faf9f6;
	font-size: 1.08rem;
	font-weight: 540;
}

.iv-mega-tool-list > a small {
	grid-column: 2;
}

.iv-mega-tool-list > a i {
	grid-column: 3;
	grid-row: 1 / 3;
	align-self: center;
	color: #d8cfc2;
}

.iv-mega-tool-list > a:last-child {
	grid-column: 1 / -1;
}

.iv-footer-social {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.iv-footer-social a {
	padding: 9px 12px;
	border: 1px solid rgba(216, 207, 194, .17);
	border-radius: 999px;
	color: #aeb3aa;
	font-size: 9px;
}

.iv-footer .footer-main {
	grid-template-columns: .9fr 1fr 1.1fr;
}

.iv-footer .footer-nav {
	grid-template-columns: repeat(2, minmax(115px, max-content));
}

.iv-footer .iv-footer-social {
	grid-column: 2 / -1;
	justify-content: flex-end;
}

@media (min-width: 1181px) {
	.iv-nav-entry.has-mega:hover > .iv-mega,
	.iv-nav-entry.has-submenu:hover > .iv-submenu {
		opacity: 1;
		pointer-events: auto;
		visibility: visible;
	}

	.iv-nav-entry.has-mega:hover > .iv-mega {
		transform: translateY(0);
	}

	.iv-nav-entry.has-submenu:hover > .iv-submenu {
		transform: translate(-50%, 0);
	}
}

@media (max-width: 1180px) {
	.iv-header {
		grid-template-columns: 1fr auto;
	}

	.iv-header .header-side {
		display: none;
	}

	.iv-header .menu-button {
		display: block;
		justify-self: end;
	}

	.iv-header .nav {
		position: fixed;
		top: 78px;
		right: 14px;
		left: 14px;
		z-index: 90;
		display: none;
		max-height: calc(100vh - 94px);
		overflow-y: auto;
		padding: 12px;
		border: 1px solid rgba(216, 207, 194, .18);
		border-radius: 24px;
		background: rgba(18, 20, 17, .98);
		box-shadow: 0 30px 80px rgba(0, 0, 0, .55);
	}

	.iv-header .nav.is-open {
		display: block;
	}

	.iv-nav-entry {
		display: grid;
		grid-template-columns: 1fr 42px;
		border-bottom: 1px solid rgba(216, 207, 194, .12);
	}

	.iv-nav-entry > a {
		padding: 18px 10px;
		font-size: 14px;
	}

	.iv-mega-toggle {
		width: 42px;
		height: 52px;
	}

	.iv-mega {
		position: static;
		display: none;
		width: auto;
		grid-column: 1 / -1;
		grid-template-columns: 1fr;
		margin: 0 0 12px;
		border-radius: 18px;
		box-shadow: none;
		opacity: 1;
		pointer-events: auto;
		transform: none;
		visibility: visible;
	}

	.iv-submenu {
		position: static;
		display: none;
		width: auto;
		grid-column: 1 / -1;
		margin: 0 0 10px;
		padding: 7px;
		border-radius: 15px;
		box-shadow: none;
		opacity: 1;
		pointer-events: auto;
		transform: none;
		visibility: visible;
	}

	.iv-nav-entry.is-open > .iv-mega,
	.iv-nav-entry.is-open > .iv-submenu {
		display: grid;
		transform: none;
	}

	.iv-mega-intro {
		display: none;
	}

	.iv-mega-grid,
	.iv-mega-tool-list {
		grid-template-columns: 1fr;
	}

	.iv-mega-grid > a,
	.iv-mega-tool-list > a,
	.iv-mega-tool-list > a:last-child {
		grid-column: auto;
		min-height: 86px;
		padding: 18px;
	}

	.iv-mega-grid > a strong {
		margin-top: 18px;
	}

	.iv-mega-quick {
		grid-template-columns: 1fr;
	}

	.iv-mega-quick a {
		min-height: 52px;
	}

	.iv-footer .footer-main {
		grid-template-columns: 1fr 1fr;
	}

	.iv-footer .footer-nav {
		justify-self: start;
	}
}

@media (max-width: 560px) {
	.iv-footer .footer-main,
	.iv-footer .footer-nav {
		grid-template-columns: 1fr;
	}

	.iv-footer .iv-footer-social {
		grid-column: 1;
		justify-content: flex-start;
	}
}
