.tb-menu-toggle,
.tb-navigation-mobile-actions {
	display: none;
}

.tb-utility > div {
	display: flex;
	gap: 16px;
}

.tb-utility a:hover,
.tb-utility a:focus-visible {
	color: var(--tb-ink);
}

.tb-nav-list {
	align-items: center;
}

.tb-nav-mega-item {
	position: relative;
}

.tb-nav-trigger {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 0;
	border: 0;
	background: transparent;
	color: #3d4a60;
	font: 700 13px/1 var(--tb-sans);
	cursor: pointer;
}

.tb-nav-trigger > span {
	color: #7b8798;
	font-size: 14px;
	line-height: .8;
	transition: transform .18s ease;
}

.tb-nav-trigger:hover,
.tb-nav-trigger:focus-visible,
.tb-nav-trigger[aria-expanded="true"] {
	color: var(--tb-coral);
	outline: none;
}

.tb-nav-trigger[aria-expanded="true"] > span {
	transform: rotate(180deg);
}

.tb-nav-mega-panel {
	position: absolute;
	z-index: 30;
	top: calc(100% + 27px);
	left: -118px;
	display: grid;
	grid-template-columns: 246px minmax(520px, 1fr);
	width: min(930px, calc(100vw - 48px));
	border: 1px solid #cbd3dc;
	background: #fff;
	box-shadow: 0 22px 42px rgba(21, 35, 59, .16);
}

.tb-nav-mega-panel[hidden] {
	display: none;
}

.tb-nav-panel-intro {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: 29px 27px;
	background: #eef3f7;
}

.tb-nav-panel-intro p {
	margin: 0 0 12px;
	color: #66778f;
	font-size: 9px;
	font-weight: 800;
	letter-spacing: .13em;
}

.tb-nav-panel-heading {
	margin: 0;
	font: 500 26px/.98 var(--tb-serif);
	letter-spacing: -.055em;
}

.tb-nav-panel-intro > span {
	margin: 15px 0 21px;
	color: #5d6b7c;
	font-size: 11px;
	line-height: 1.55;
}

.tb-nav-panel-intro > a,
.tb-footer-brand-link,
.tb-footer-brief-link {
	margin-top: auto;
	padding-bottom: 4px;
	border-bottom: 1px solid #aab6c4;
	color: var(--tb-ink);
	font-size: 11px;
	font-weight: 800;
}

.tb-nav-panel-intro > a b,
.tb-nav-group-title b {
	margin-left: 4px;
	color: var(--tb-coral);
	font-size: 14px;
}

.tb-nav-panel-groups {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 25px;
	padding: 20px 26px;
}

.tb-nav-panel-groups > div {
	padding: 10px 0 16px;
	border-bottom: 1px solid #e2e6eb;
}

.tb-nav-panel-groups > div:nth-last-child(-n + 2) {
	border-bottom: 0;
}

.tb-nav-panel-groups a {
	display: block;
	margin-top: 9px;
	color: #56647a;
	font-size: 11px;
	font-weight: 600;
	line-height: 1.25;
}

.tb-nav-panel-groups a:hover,
.tb-nav-panel-groups a:focus-visible {
	color: var(--tb-coral);
	outline: none;
}

.tb-nav-panel-groups .tb-nav-group-title {
	margin-top: 0;
	color: var(--tb-ink);
	font-size: 12px;
	font-weight: 800;
}

.tb-nav-learn-panel {
	left: -294px;
	grid-template-columns: 278px minmax(395px, 1fr);
	width: min(760px, calc(100vw - 48px));
}

.tb-nav-panel-groups--two {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-content: center;
}

.tb-nav-panel-groups--two > div {
	padding: 13px 0;
	border-bottom: 0;
}

.tb-footer-brief {
	border-bottom: 1px solid #33445e;
	background: #203353;
}

.tb-footer-brief-inner {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 50px;
	padding: 43px 0;
}

.tb-footer-brief p:first-child {
	margin: 0 0 10px;
	color: #92a5c2;
	font-size: 9px;
	font-weight: 800;
	letter-spacing: .14em;
}

.tb-footer-brief h2 {
	margin: 0;
	font: 500 34px/.99 var(--tb-serif);
	letter-spacing: -.06em;
}

.tb-footer-brief-inner > div:last-child > p {
	max-width: 415px;
	margin: 2px 0 17px;
	color: #c4cfde;
	font-size: 13px;
	line-height: 1.55;
}

.tb-footer-brief-link {
	display: inline-block;
	margin: 0;
	border-color: #8495ad;
	color: #fff;
}

.tb-footer-brief-link span,
.tb-footer-brand-link span {
	margin-left: 4px;
	color: var(--tb-coral);
	font-size: 14px;
}

.tb-footer-brief small {
	display: block;
	margin-top: 11px;
	color: #91a1b8;
	font-size: 9px;
}

.tb-footer-brief small a {
	text-decoration: underline;
	text-underline-offset: 2px;
}

.tb-footer-main {
	grid-template-columns: 1.55fr repeat(4, 1fr) !important;
	gap: 28px !important;
	padding: 55px 0 47px !important;
}

.tb-footer-brand p {
	max-width: 245px;
}

.tb-footer-brand-link {
	display: inline-block !important;
	margin-top: 5px !important;
	margin-bottom: 0 !important;
	border-color: #61728b;
	color: #fff !important;
}

.tb-footer h3 {
	margin-top: 6px;
}

.tb-footer a:not(.tb-brand):hover,
.tb-footer a:not(.tb-brand):focus-visible {
	color: var(--tb-coral);
	outline: none;
}

.tb-footer-bottom {
	align-items: center;
}

@media (max-width: 1100px) {
	.tb-nav-mega-panel {
		left: -170px;
	}

	.tb-nav-learn-panel {
		left: -355px;
	}

	.tb-footer-main {
		grid-template-columns: 1.3fr repeat(4, 1fr) !important;
		gap: 19px !important;
	}
}

@media (max-width: 1000px) {
	.tb-header {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto auto;
		align-items: center;
		column-gap: 12px;
		height: auto;
		min-height: 70px;
		padding-top: 13px;
		padding-bottom: 13px;
	}

	.tb-menu-toggle {
		display: inline-flex;
		grid-column: 2;
		align-items: center;
		gap: 7px;
		min-height: 38px;
		padding: 8px 10px;
		border: 1px solid var(--tb-line);
		border-radius: 4px;
		background: #fff;
		color: var(--tb-ink);
		font: 700 12px/1 var(--tb-sans);
		letter-spacing: .02em;
		cursor: pointer;
	}

	.tb-menu-toggle:hover,
	.tb-menu-toggle:focus-visible {
		border-color: var(--tb-ink);
		outline: none;
	}

	.tb-menu-toggle-icon {
		display: grid;
		gap: 3px;
		width: 15px;
	}

	.tb-menu-toggle-icon i {
		display: block;
		height: 1.5px;
		background: currentColor;
	}

	.tb-navigation {
		display: block;
		grid-column: 1 / -1;
		grid-row: 2;
		width: 100%;
		padding-top: 14px;
	}

	/* Hide the collapsed navigation before the footer script initializes it.
	 * The early html.tb-js marker prevents a full-menu flash and the resulting CLS. */
	.tb-js .tb-navigation {
		display: none;
	}

	.tb-js .tb-navigation.is-open {
		display: block;
	}

	.tb-navigation > ul,
	.tb-navigation .tb-nav-list {
		display: flex;
		flex-wrap: wrap;
		gap: 8px 18px;
		margin: 0;
		padding: 14px 0 0;
		border-top: 1px solid var(--tb-line);
	}

	.tb-navigation > ul a,
	.tb-navigation > ul button {
		display: inline-block;
		padding: 4px 0;
	}

	.tb-navigation.tb-navigation--mobile-ready[hidden] {
		display: none !important;
	}

	.tb-nav-mega-panel {
		position: static;
		display: block;
		width: 100%;
		margin-top: 7px;
		box-shadow: none;
	}

	.tb-nav-mega-panel[hidden] {
		display: none;
	}

	.tb-nav-panel-intro {
		display: none;
	}

	.tb-nav-panel-groups,
	.tb-nav-panel-groups--two {
		grid-template-columns: repeat(2, minmax(170px, 1fr));
		width: 100%;
		padding: 12px 16px;
	}

	.tb-nav-panel-groups > div:nth-last-child(-n + 2) {
		border-bottom: 0;
	}

	.tb-actions {
		display: flex;
		grid-column: 3;
		grid-row: 1;
		gap: 10px;
	}

	.tb-footer-main {
		grid-template-columns: 1.4fr repeat(2, 1fr) !important;
		gap: 33px !important;
	}

	.tb-footer-brand {
		grid-column: 1 / -1;
	}
}

@media (max-width: 700px) {
	.tb-utility p,
	.tb-utility > div a:last-child {
		display: none;
	}

	.tb-header {
		grid-template-columns: minmax(0, 1fr) auto;
		column-gap: 9px;
		min-height: 62px;
		padding-top: 11px;
		padding-bottom: 11px;
	}

	.tb-brand {
		min-width: 0;
	}

	.tb-menu-toggle {
		grid-column: 2;
	}

	.tb-actions {
		display: none;
	}

	.tb-navigation {
		padding-top: 11px;
	}

	.tb-navigation > ul,
	.tb-navigation .tb-nav-list {
		gap: 7px 15px;
		padding-top: 12px;
	}

	.tb-nav-panel-groups,
	.tb-nav-panel-groups--two {
		grid-template-columns: 1fr;
		padding: 8px 13px;
	}

	.tb-nav-panel-groups > div,
	.tb-nav-panel-groups > div:nth-last-child(-n + 2) {
		padding: 10px 0 14px;
		border-bottom: 1px solid #e2e6eb;
	}

	.tb-nav-panel-groups > div:last-child {
		border-bottom: 0;
	}

	.tb-navigation-mobile-actions {
		display: flex;
		flex-wrap: wrap;
		gap: 8px 16px;
		margin-top: 14px;
		padding-top: 13px;
		border-top: 1px solid var(--tb-line);
	}

	.tb-navigation-mobile-actions a {
		color: var(--tb-ink);
		font: 700 12px/1.3 var(--tb-sans);
		text-decoration: none;
	}

	.tb-navigation-mobile-actions span {
		color: var(--tb-coral);
	}

	.tb-footer-brief-inner {
		grid-template-columns: 1fr;
		gap: 21px;
		padding: 36px 0;
	}

	.tb-footer-brief h2 {
		font-size: 30px;
	}

	.tb-footer-main {
		grid-template-columns: 1fr 1fr !important;
		gap: 30px !important;
		padding: 43px 0 !important;
	}

	.tb-footer-bottom div {
		flex-wrap: wrap;
	}
}

/* ToolMerit brand refresh: keep the compact editorial lockup and render the SVG crisply. */
.tb-brand {
	letter-spacing: -.055em;
}

.tb-brand img {
	display: block;
	width: 32px;
	height: 32px;
	flex: 0 0 auto;
}

@media (prefers-reduced-motion: reduce) {
	.tb-menu-toggle,
	.tb-navigation,
	.tb-nav-trigger > span {
		transition: none;
	}
}
