/*
 * TM Base - the chrome on every page: header bar, menu panel, footer.
 * Measurements were read off the Elementor header 2491 and footer 2487 as
 * rendered on 2026-10-03, so the switch is invisible.
 */

/* ---------- Header bar ---------- */
.tmb-site .tmb-header { position: relative; z-index: 999; background: #fff; box-shadow: 0 2px 8px rgba(0, 0, 0, .05); }
.tmb-site .tmb-header__bar { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-top: 22px; padding-bottom: 22px; }
.tmb-site .tmb-logo { display: inline-flex; align-items: center; flex: none; line-height: 0; }
.tmb-site .tmb-logo img { display: block; width: 170px; height: auto; }
.tmb-site .tmb-logo__text { font-size: 22px; font-weight: 700; line-height: 1.2; color: var(--wp--preset--color--navy, #283071); }
.tmb-site .tmb-header__tools { display: flex; align-items: center; gap: 12px; }
.tmb-site .tmb-header__tools .tmb-menu-btn { margin-left: 10px; }
.tmb-site .tmb-menu-btn {
	display: inline-flex; align-items: center; gap: 9px; padding: 12px 21px 12px 18px; border: 0; border-radius: 8px;
	background: var(--wp--preset--color--navy, #283071); color: #fff; font-size: 15px; font-weight: 600; line-height: 1.65; cursor: pointer;
	transition: background-color .15s ease;
}
.tmb-site .tmb-menu-btn:hover, .tmb-site .tmb-menu-btn:focus-visible { background: var(--wp--preset--color--orange, #F57B20); }

/* ---------- Menu panel ---------- */
.tmb-site .tmb-panel { position: fixed; inset: 0; z-index: 100000; }
.tmb-site .tmb-panel[hidden] { display: none; }
.tmb-site .tmb-panel__overlay { position: absolute; inset: 0; background: rgba(0, 0, 0, .74); opacity: 0; transition: opacity .25s ease; }
.tmb-site .tmb-panel__box {
	position: absolute; top: 20px; right: 20px; bottom: 20px; width: min(600px, calc(100% - 40px));
	display: flex; flex-direction: column; overflow: hidden;
	background: rgba(45, 46, 131, .91); border-radius: 24px; box-shadow: 2px 8px 23px 3px rgba(0, 0, 0, .2);
	-webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
	transform: translateX(calc(100% + 40px)); transition: transform .3s cubic-bezier(.2, .7, .2, 1);
}
.tmb-site .tmb-panel.is-open .tmb-panel__overlay { opacity: 1; }
.tmb-site .tmb-panel.is-open .tmb-panel__box { transform: none; }
@media (prefers-reduced-motion: reduce) {
	.tmb-site .tmb-panel__overlay, .tmb-site .tmb-panel__box { transition: none; }
}
html.tmb-locked, html.tmb-locked body { overflow: hidden; }

.tmb-site .tmb-panel__top { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 28px 28px 8px; flex: none; }
.tmb-site .tmb-panel__logo img { width: 160px; }
.tmb-site .tmb-panel__close {
	display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; padding: 0;
	border: 0; border-radius: 8px; background: transparent; color: #fff; cursor: pointer;
}
.tmb-site .tmb-panel__close:hover, .tmb-site .tmb-panel__close:focus-visible { color: var(--wp--preset--color--orange, #F57B20); }
.tmb-site .tmb-panel__body { flex: 1; overflow-y: auto; overscroll-behavior: contain; padding: 16px 25px 32px; scrollbar-color: var(--wp--preset--color--orange, #F57B20) transparent; }

.tmb-site .tmb-panel__slot { margin: 0 0 22px; padding: 8px 16px; border-radius: 10px; background: rgba(255, 255, 255, .06); color: #fff; }
.tmb-site .tmb-panel__slot a { color: #fff; }
.tmb-site .tmb-panel__slot svg { stroke: currentColor; }

.tmb-site .tmb-panel__menu, .tmb-site .tmb-panel__menu ul, .tmb-site .tmb-panel__more { list-style: none; margin: 0; padding: 0; }
.tmb-site .tmb-panel__menu > li + li { margin-top: 2px; }
.tmb-site .tmb-panel__menu > li > a {
	display: block; padding: 12px 12px 12px 16px; border-radius: 10px;
	color: #fff; font-size: 17px; font-weight: 600; line-height: 26px; letter-spacing: -.17px;
}
.tmb-site .tmb-panel__menu a:hover, .tmb-site .tmb-panel__menu a:focus-visible { color: var(--wp--preset--color--orange, #F57B20); background: rgba(255, 255, 255, .06); }
.tmb-site .tmb-panel__menu a { position: relative; }
.tmb-site .tmb-panel__menu .current-menu-item > a { color: var(--wp--preset--color--orange, #F57B20); background: rgba(255, 255, 255, .06); }
.tmb-site .tmb-panel__menu .current-menu-item > a::before { content: ""; position: absolute; left: 0; top: 9px; bottom: 9px; width: 3px; background: var(--wp--preset--color--orange, #F57B20); }
.tmb-site .tmb-panel__menu .sub-menu { margin: 2px 0 6px 14px; }
.tmb-site .tmb-panel__menu .sub-menu a { display: block; padding: 9px 12px 9px 16px; border-radius: 8px; color: #fff; font-size: 15px; font-weight: 500; line-height: 20px; }


.tmb-site .tmb-panel__ctas { display: flex; flex-direction: column; align-items: center; gap: 14px; margin: 32px 0 8px; }
.tmb-site .tmb-panel__ctas .tmb-btn { width: 270px; max-width: 100%; font-size: 15.5px; }
.tmb-site .tmb-panel__rule { border: 0; border-top: 1px solid rgba(255, 255, 255, .14); margin: 28px 0 22px; }
.tmb-site .tmb-panel__label { margin: 0 0 8px; font-size: 11px; font-weight: 700; line-height: 1; letter-spacing: 1.76px; text-transform: uppercase; color: #8B8FC7; }
.tmb-site .tmb-panel__more { display: flex; flex-wrap: wrap; gap: 0 22px; }
.tmb-site .tmb-panel__more a { display: block; padding: 5px 0; color: #C5C8E8; font-size: 14px; font-weight: 500; letter-spacing: -.5px; }
.tmb-site .tmb-panel__more a:hover { color: #fff; }
.tmb-site .tmb-panel__social { display: flex; gap: 10px; list-style: none; margin: 26px 0 16px; padding: 0; }
.tmb-site .tmb-panel__social a {
	display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 4px;
	background: rgba(245, 123, 32, .86); color: var(--wp--preset--color--navy, #283071);
}
.tmb-site .tmb-panel__social a:hover { background: var(--wp--preset--color--orange, #F57B20); color: #fff; }
.tmb-site .tmb-panel__social svg { width: 20px; height: 20px; }
.tmb-site .tmb-panel__copy { margin: 0; font-size: 11px; line-height: 1.4; color: #8B8FC7; }

/* ---------- Footer ---------- */
.tmb-site .tmb-footer { background: #fff; border-top: 1px solid #ECEAF4; padding-top: 64px; }
.tmb-site .tmb-footer__logo { display: flex; justify-content: center; margin-bottom: 40px; }
.tmb-site .tmb-footer__cols { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; padding: 10px; }
.tmb-site .tmb-fcol__head {
	margin: 0 0 10px; font-size: 12.5px; font-weight: 700; line-height: 1.25; letter-spacing: 1px;
	text-transform: uppercase; color: var(--wp--preset--color--orange, #F57B20);
}
.tmb-site .tmb-fmenu, .tmb-site .tmb-fcontact, .tmb-site .tmb-fsocial { list-style: none; margin: 0; padding: 0; }
.tmb-site .tmb-fmenu a { display: inline-block; padding: 5px 0; font-size: 14.5px; line-height: 20px; color: var(--wp--preset--color--navy, #283071); }
.tmb-site .tmb-fmenu a:hover { color: var(--wp--preset--color--orange, #F57B20); }
.tmb-site .tmb-fsocial { display: flex; gap: 10px; margin: 6px 0 18px; }
.tmb-site .tmb-fsocial a {
	display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 50%;
	border: 1px solid #D8DBEF; color: var(--wp--preset--color--navy, #283071);
}
.tmb-site .tmb-fsocial a:hover { border-color: var(--wp--preset--color--orange, #F57B20); color: var(--wp--preset--color--orange, #F57B20); }
.tmb-site .tmb-fsocial svg { width: 15px; height: 15px; }
.tmb-site .tmb-fcontact { margin-bottom: 20px; }
.tmb-site .tmb-fcontact li { display: flex; align-items: flex-start; gap: 10px; margin-bottom: 10px; font-size: 15px; line-height: 1.65; color: var(--wp--preset--color--navy, #283071); }
.tmb-site .tmb-fcontact svg { flex: none; margin-top: 3px; }
.tmb-site .tmb-fcontact a { color: inherit; }
.tmb-site .tmb-fcontact a:hover { color: var(--wp--preset--color--orange, #F57B20); }

.tmb-site .tmb-footer__bottom {
	display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px;
	max-width: 1295px; margin: 48px auto 0; padding: 22px 20px; border-top: 1px solid #ECEAF4;
}
.tmb-site .tmb-footer__bottom p { margin: 0; font-size: 13px; line-height: 1.65; color: #8B90B8; }
.tmb-site .tmb-footer__legal { display: flex; gap: 20px; }
.tmb-site .tmb-footer__legal a { color: #8B90B8; }
.tmb-site .tmb-footer__legal a:hover { color: var(--wp--preset--color--navy, #283071); }

/* ---------- Tablet and phone ---------- */
@media (max-width: 1024px) {
	.tmb-site .tmb-header__bar { padding-top: 16px; padding-bottom: 16px; }
	.tmb-site .tmb-logo img { width: 150px; }
}
@media (max-width: 767px) {
	.tmb-site .tmb-header__bar { padding-top: 12px; padding-bottom: 12px; }
	/* Everything must fit inside the 20px gutter on a 360px phone: tighter
	   tools, and the logo (not the Menu button) gives way if it still does not. */
	.tmb-site .tmb-header__bar { gap: 12px; }
	.tmb-site .tmb-header__tools { gap: 4px; }
	.tmb-site .tmb-header__tools .tmb-menu-btn { margin-left: 6px; }
	.tmb-site .tmb-header .tmb-header__tools a.tm-acct { padding: 8px 6px; }
	.tmb-site .tmb-logo { flex: 0 1 auto; min-width: 0; }
	.tmb-site .tmb-logo img { width: 130px; max-width: 100%; }
	.tmb-site .tmb-menu-btn { padding: 10px 15px 10px 12px; }
	.tmb-site .tmb-panel__box { top: 0; right: 0; bottom: 0; width: 100%; border-radius: 0; }
	.tmb-site .tmb-panel__top { padding: 20px 20px 4px; }
	.tmb-site .tmb-panel__body { padding: 12px 18px 28px; }

	/* Footer columns fold into an accordion; chrome.js wires the toggles. */
	.tmb-site .tmb-footer { padding-top: 44px; }
	.tmb-site .tmb-footer__logo { margin-bottom: 24px; }
	.tmb-site .tmb-footer__cols { grid-template-columns: 1fr; gap: 0; padding: 0; }
	.tmb-site .tmb-fcol { border-top: 1px solid #ECEAF4; }
	.tmb-site .tmb-fcol:last-child { border-bottom: 1px solid #ECEAF4; }
	.tmb-site .tmb-fcol__head { margin: 0; }
	.tmb-site .tmb-fcol__toggle {
		display: flex; width: 100%; align-items: center; justify-content: space-between; padding: 18px 0;
		border: 0; background: none; color: inherit; font: inherit; letter-spacing: inherit; text-transform: inherit; cursor: pointer;
	}
	.tmb-site .tmb-fcol__toggle svg { color: #8B90B8; transition: transform .2s ease; }
	.tmb-site .tmb-fcol__toggle[aria-expanded="true"] svg { transform: rotate(45deg); }
	.tmb-site .tmb-fcol__body { padding: 0 0 18px; }
	.tmb-site .tmb-fcol__body[hidden] { display: none; }
	.tmb-site .tmb-footer__bottom { flex-direction: column; text-align: center; margin-top: 24px; }
}
