/* wp reset, except "post" pages */ :root header, :root footer, :root body:not(.single-post.post-template-default) main {
	* { margin-block-start:unset; margin-block-end:unset; }

	&:not(main) { margin-block-start:unset; margin-block-end:unset; }

	:is(.is-layout-flow) > *, :is(.is-layout-constrained) > *, :is(.wp-site-blocks) > *, :where(.is-layout-flow, .wp-block-button, .wp-block-button__link, .wp-block-buttons, .wp-block-buttons-is-layout-flex, .wp-block-column, .wp-block-column-is-layout-flow, .wp-block-columns, .wp-block-columns-is-layout-flex, .wp-block-group, .wp-block-group-is-layout-constrained,
	.wp-block-group-is-layout-flex, .wp-block-group-is-layout-flow, .wp-block-heading, .wp-block-image, .wp-block-paragraph, .wp-block-post-content, .wp-block-post-content-is-layout-flow, .wp-block-separator, .wp-block-spacer, .wp-block-template-part,
	.wp-element-button, .wp-embed-responsive, .wp-fonts-local, .wp-site-blocks, p, ol, ul, li, form, h1, h2, h3, h4, h5, h6) { margin:0; padding:0; margin-block-start:unset; margin-block-end:unset; max-width:unset; }

	div.wp-block-buttons { user-select:none; }

	:is(:root main :is(ul, ol, p, h1, h2, h3, h4, h5, h6, .growable-outer, .wp-block-columns, .leo-tabsection, .leo-tabsection-accordion-header-outer) + :is(ul, ol, p, h1, h2, h3, h4, h5, h6, .people-expertise-links, .growable-outer, .wp-block-columns, .leo-tabsection, .leo-tabsection-accordion-body-outer)) { margin-top:2rem; }
	.leo-tabsection-accordion-header-outer + .leo-tabsection-accordion-body-outer { padding-top:2rem; display:block; }
	.leo-tabsection-content-section > .leo-tabsection-accordion-header-outer:first-child + .leo-tabsection-accordion-body-outer { padding-top:0; }
	:not(h2) + h3 { margin-top:2rem; }
	:not(h3) + h4 { margin-top:2rem; }
	:not(h4) + h5 { margin-top:2rem; }
	:not(h5) + h6 { margin-top:2rem; }
	
	:is(.citation-group-buttons, .insightlink) + :is(h2, h3, h4, h5, h6) { margin-top:5rem; }
}



/* variables */ :root {

	--hoverzoom: 3%;
	--hovercolor:#576423;
	--personhovertime-out:400ms;
	--personhovertime-in:100ms;

	--font-base:calc(var(--site-px, 1px) * 20) !important;
	--min-font:24px !important;
	--pagemargin-x:calc(var(--site-px, 1px) * 120);
	--pagemargin-y:calc(var(--site-px, 1px) * 35);
	--site-width:min(1920px, calc(100vw - var(--scrollbar-width, 0px)));
	--site-px:calc(var(--site-width) / 1920);

	--wp--preset--font-size--fontsize-15: 15px !important;
	--wp--preset--font-size--fontsize-16: 16px !important;
	--wp--preset--font-size--fontsize-18: 18px !important;
	--wp--preset--font-size--fontsize-20: 20px !important;
	--wp--preset--font-size--fontsize-24: min(max(calc(var(--font-base) * 1.13), 15px), var(--max-font)) !important; /* button */
	--wp--preset--font-size--fontsize-28: min(max(calc(var(--font-base) * 1.40), 24px), var(--max-font)) !important;
	--wp--preset--font-size--fontsize-32: min(max(calc(var(--font-base) * 1.60), 24px), var(--max-font)) !important; /* factoid small */
	--wp--preset--font-size--fontsize-36: min(max(calc(var(--font-base) * 1.80), 28px), var(--max-font)) !important;
	--wp--preset--font-size--fontsize-48: min(max(calc(var(--font-base) * 2.40), 32px), var(--max-font)) !important;
	--wp--preset--font-size--fontsize-72: min(max(calc(var(--font-base) * 3.60), 36px), var(--max-font)) !important;
	--wp--preset--font-size--fontsize-95: min(max(calc(var(--font-base) * 4.75), 40px), var(--max-font)) !important;
	--wp--preset--font-size--fontsize-140: min(max(calc(var(--font-base) * 7.00), 40px), var(--max-font)) !important; /* factoid large */
	--wp--style--root--padding-right: var(--pagemargin-x) !important;
	--wp--style--root--padding-left: var(--pagemargin-x) !important;

	--h1-size:var(--wp--preset--font-size--fontsize-95); --h1-line-height:var(--wp--preset--line-height--fontsize-95); --h1-family:"Playfair Display", serif; --h1-weight:500; --h1-color:var(--wp--preset--color--deep-teal); --h1-style:normal;
	--h2-size:var(--wp--preset--font-size--fontsize-72); --h2-line-height:var(--wp--preset--line-height--fontsize-72); --h2-family:"Playfair Display", serif; --h2-weight:500; --h2-color:var(--wp--preset--color--deep-teal); --h2-style:normal;
	--h3-size:var(--wp--preset--font-size--fontsize-48); --h3-line-height:var(--wp--preset--line-height--fontsize-48); --h3-family:"Playfair Display", serif; --h3-weight:500; --h3-color:var(--wp--preset--color--deep-teal); --h3-style:normal;
	--h4-size:var(--wp--preset--font-size--fontsize-36); --h4-line-height:var(--wp--preset--line-height--fontsize-36); --h4-family:"Work Sans", sans-serif; --h4-weight:500; --h4-color:var(--wp--preset--color--deep-teal); --h4-style:normal;
	--h5-size:var(--wp--preset--font-size--fontsize-28); --h5-line-height:var(--wp--preset--line-height--fontsize-28); --h5-family:"Work Sans", sans-serif; --h5-weight:500; --h5-color:var(--wp--preset--color--deep-teal); --h5-style:normal;
	--h6-size:var(--wp--preset--font-size--fontsize-20); --h6-line-height:var(--wp--preset--line-height--fontsize-20); --h6-family:"Work Sans", sans-serif; --h6-weight:600; --h6-color:var(--wp--preset--color--deep-teal); --h6-style:normal;
	--h7-size:var(--wp--preset--font-size--fontsize-20); --h7-line-height:var(--wp--preset--line-height--fontsize-20); --h7-family:"Work Sans", sans-serif; --h7-weight:500; --h7-color:inherit; --h7-style:normal;
	--h8-size:var(--wp--preset--font-size--fontsize-20); --h8-line-height:var(--wp--preset--line-height--fontsize-20); --h8-family:"Work Sans", sans-serif; --h8-weight:400; --h8-color:inherit; --h8-style:italic;
	--h9-size:var(--wp--preset--font-size--fontsize-20); --h9-line-height:var(--wp--preset--line-height--fontsize-20); --h9-family:"Work Sans", sans-serif; --h9-weight:400; --h9-color:inherit; --h9-style:italic;

	--marginv-section:calc(var(--site-px, 1px) * 90);
	--marginv-button:calc(var(--site-px, 1px) * 60);
	--marginv-citation:calc(var(--site-px, 1px) * 30);
	--marginh-columngap:4rem;
	--marginv-rowgap:5rem;
	--marginh-columnleft:calc(var(--site-px, 1px) * 389);
	--marginv-headeroverhang:calc(var(--site-px, 1px) * 100);
	--marginh-peoplecolumngap:2.5rem;

	@media (max-width: 781px) {
		--marginv-citation:calc(var(--site-px, 1px) * 40);

		--font-base:4.5vw !important;
		--pagemargin-x:calc(var(--site-px, 1px) * 30);
		--pagemargin-y:calc(var(--site-px, 1px) * 25);
		--site-width:calc(100vw - var(--scrollbar-width)) !important;
		--site-px:calc(var(--site-width) / 400);

		--wp--preset--font-size--fontsize-15: 25.875px !important;
		--wp--preset--font-size--fontsize-16: 27.60px !important;
		--wp--preset--font-size--fontsize-18: 31.05px !important;
		--wp--preset--font-size--fontsize-20: 34.50px !important;
		--wp--preset--font-size--fontsize-28: min(max(calc(var(--font-base) * 1.33333), 36px), var(--max-font)) !important;


		h2 + h3 { margin-top:0rem; }


		--wp--preset--font-size--fontsize-24: min(max(calc(var(--font-base) * 1.55555), 36px), var(--max-font)) !important;
		--wp--preset--font-size--fontsize-32: min(max(calc(var(--font-base) * 1.55555), 40px), var(--max-font)) !important;
		--wp--preset--font-size--fontsize-36: min(max(calc(var(--font-base) * 1.55555), 40px), var(--max-font)) !important;
		--wp--preset--font-size--fontsize-48: min(max(calc(var(--font-base) * 1.77777), 44px), var(--max-font)) !important;
		--wp--preset--font-size--fontsize-72: min(max(calc(var(--font-base) * 2.11111), 44px), var(--max-font)) !important;
		--wp--preset--font-size--fontsize-95: min(max(calc(var(--font-base) * 2.77777), 48px), var(--max-font)) !important;
		--wp--preset--font-size--fontsize-140: min(max(calc(var(--font-base) * 5.55555), 48px), var(--max-font)) !important;

		--marginv-citation:calc(var(--site-px, 1px) * 15);
	}
}



/* basics */ :root:is(#ok,*) {
	* { scroll-margin-top:calc(4px + var(--header-height, 200px)); }
	body { background-color:#fff !important; overflow-x:hidden; overflow-y:scroll; }
	b, strong { font-weight:600; }
	h1 { font-size:var(--h1-size); line-height:var(--h1-line-height); font-family:var(--h1-family); font-weight:var(--h1-weight); color:var(--h1-color); font-style:var(--h1-style); }
	h2 { font-size:var(--h2-size); line-height:var(--h2-line-height); font-family:var(--h2-family); font-weight:var(--h2-weight); color:var(--h2-color); font-style:var(--h2-style); }
	h3 { font-size:var(--h3-size); line-height:var(--h3-line-height); font-family:var(--h3-family); font-weight:var(--h3-weight); color:var(--h3-color); font-style:var(--h3-style); }
	h4 { font-size:var(--h4-size); line-height:var(--h4-line-height); font-family:var(--h4-family); font-weight:var(--h4-weight); color:var(--h4-color); font-style:var(--h4-style); }
	h5 { font-size:var(--h5-size); line-height:var(--h5-line-height); font-family:var(--h5-family); font-weight:var(--h5-weight); color:var(--h5-color); font-style:var(--h5-style); }
	h6 { font-size:var(--h6-size); line-height:var(--h6-line-height); font-family:var(--h6-family); font-weight:var(--h6-weight); color:var(--h6-color); font-style:var(--h6-style); }
	select { appearance:none; -webkit-appearance:none; -moz-appearance:none; padding-right:2rem; background-color:white; background-image:url('assets/darr.svg'); background-repeat:no-repeat; background-position:right 1.0em center; background-size:1em; &:open { background-image:url('assets/uarr.svg'); } }
	ul:not(:is(.cmplz-links *)) { li:first-child { margin-top:0; } li:not(:first-child) { margin-top:0.75em; } }
	:is(p, ul, ol, div.people-expertise-links) + :is(h1, h2, h3, h4, h5, h6) { margin-top:4rem !important; }
	li { margin-left:1.25em; }

	:focus-visible, div.ts-wrapper.focus { outline:2px solid var(--wp--preset--color--deep-teal); }
	footer :focus-visible { outline:none; box-shadow:0 0 0 2px var(--wp--preset--color--deep-teal), 0 0 0 4px white; }


	.aural { width:1px; height:1px; overflow:hidden; position:fixed; top:-10px; left:-10px; display:block; opacity:0.001; }
	.is-style-desktop-only { @media (max-width: 781px) { display:none; } }
	.is-style-mobile-only { @media not (max-width: 781px) { display:none; } }


	div.wp-block-columns { gap:var(--marginh-columngap); }

	&:not(.carousel-indrag) a[href]:hover, .dragging {
		color:var(--hovercolor) !important;

		svg {
			&, g, path {
				&[stroke]:not([stroke="none" i]) { stroke:var(--hovercolor); }
				&[fill]:not([fill="none" i], .logo-gold, .logo-green) { fill:var(--hovercolor); }
			}
		}
	}
}





/* elevate priority of everything in this block, begin */ :root:is(#ok,*):is(#ok,*) {





/*****
**
** common components begin
**
*/



h3 + div.wp-block-accordion { margin-top:1em; }
div.wp-block-accordion-item {
	border:1px solid var(--wp--preset--color--deep-teal); padding:0; margin-top:2rem;

	.wp-block-accordion-heading {
		margin:0;

		button.wp-block-accordion-heading__toggle {
			background:none; border:none; display:flex; width:100%; justify-content:space-between; cursor:pointer; padding:1.25rem 2rem; gap:2em;
			font-size:var(--h5-size); line-height:var(--h5-line-height); font-family:var(--h5-family); font-weight:var(--h5-weight); color:var(--h5-color); font-style:var(--h5-style);

			.wp-block-accordion-heading__toggle-title { text-decoration:none; }
			.wp-block-accordion-heading__toggle-icon {
				transform:none;
				svg {
					display:inline-block; stroke:currentColor; stroke-width:2; stroke-linecap:round; width:0.75em; height:0.75em;
					line {
						transform-origin:center; transition:transform 200ms, opacity 200ms;
						&:is(div.wp-block-accordion-item.leo-tabsection-expanded &):last-child { transform:scaleY(0); opacity:0; }
					}
				}
			}
		}
	}
	.wp-block-accordion-panel-outer {
		height:0; overflow:hidden; transition:height 200ms; margin:0; padding:0;

		.wp-block-accordion-panel-flex {
			display:flex; padding:0; margin:0;

			.wp-block-accordion-panel { display:none; padding:0em 2rem 1.25rem 2rem; }
		}
	}
}



div.wp-block-buttons.is-style-with-arrow {
	align-items:stretch; gap:1.2em;
	
	div.wp-block-button {
		flex-basis:0; flex-grow:1; flex-shrink:1;
		
		a {
			position:relative; text-align:left; padding:1em 2.5em 1em 1em;
			
			span.svg-container {
				position:absolute; right:1.5rem; top:calc(50% - 0.5em);
				
				svg { width:auto; height:1em; }
			}
		}
	}
}



div.wp-block-buttons {
	margin-top:var(--marginv-button); gap:1rem var(--marginh-peoplecolumngap);

	@media (max-width: 781px) {
		gap:var(--marginh-columngap);
		flex-direction:column;
	}
	div.wp-block-button {
		a {
			font-weight: 500;
			line-height: 1.0;
			padding-top: 1.7rem;
			padding-right: 3.65rem;
			padding-bottom: 1.4rem;
			padding-left: 3.65rem;

			&:not(.has-custom-font-size):not(:is(.has-custom-font-size &)) {
				font-size: var(--wp--preset--font-size--fontsize-24);
				@media (max-width: 781px) { font-size:var(--wp--preset--font-size--fontsize-18); line-height:var(--wp--preset--line-height--fontsize-18); }
			}

			&:hover { border-color:var(--hovercolor); }
			@media not (max-width: 781px) {
				@media (max-width: 1000px) {
					padding-right: 3.0rem;
					padding-left: 3.0rem;
				}
				@media (max-width: 850px) {
					padding-right: 2.5rem;
					padding-left: 2.5rem;
				}
			}
		}

		@media (max-width: 781px) {
			width:100%;
		}
	}

	&:is(div.citation-group-buttons &) a { text-align:center; }
}



html.carousel-indrag:not(.carousel-indrag-line) { user-select:none; -webkit-user-select:none; * { cursor:grabbing !important; } }
div.carousel {
	position:relative; user-select:none; -webkit-user-select:none;

	div.carousel-track {
		position:relative; width:100%; height:100px; overflow:hidden; cursor:grab;

		div.carousel-slide { position:absolute; }
	}

	div.carousel-scroller {
		position:relative; width:100%; height:10px; padding-right:0px; box-sizing:border-box; cursor:pointer; overflow:hidden;

		@media (max-width: 781px) { display:none; }

		div.carousel-scroller-line { position:absolute; top:50%; height:1px; width:100%; background-color:var(--wp--preset--color--deep-teal); }

		div.carousel-scroller-inner {
			width:100%; height:100%; position:relative;


			div.carousel-scroller-ball {
				position:absolute; top:0%; left:0%; width:50px; height:100%; background-color:var(--wp--preset--color--deep-teal); cursor:grab;
				&:hover:is(html:not(.carousel-indrag) *), &.dragging { background-color:var(--hovercolor) !important; }
			}
		}
	}

	div.carousel-buttons {
		display:flex; flex-direction:row; justify-content:space-between; padding:0 1em 1em 1em; gap:5%;

		@media not (max-width: 781px) { display:none; }

		a { flex-grow:1; text-align:center; background-color:var(--wp--preset--color--deep-teal); color:white; text-decoration:none; }
	}
}



body:not(.citation-init) {
	div.insightlink + div.insightlink + div.insightlink + div.insightlink { display:none; }
}
div.insightlink.citation-waitfornext, div#searchmenu div.people-grid div.person-tile.citation-waitfornext, div#searchmenu div.services-list div.services-tile.citation-waitfornext, li.citation-waitfornext { display:none; }
div.citation-group-buttons {
	margin-top:var(--marginv-button); text-transform:uppercase;

	&.citation-group-buttons-all:not(:is(.leo-insights-tile-list:last-child &)) { margin-bottom:var(--marginv-section); }

	a { display:block; }
}



.ep-embed-content-wraper, .ep-gutenberg-content {
	max-width:100% !important;

	.ose-wistia, .wistia_embed { width:100% !important; max-height:unset !important; height:auto !important; aspect-ratio:16 / 9 !important; }

	.w-bottom-bar-lower > div > div:last-child { background:var(--wp--preset--color--deep-teal) !important; }
}



div.faz-btn-revisit-wrapper.faz-revisit-bottom-left {
	&:hover { background-color:var(--hovercolor) !important; }
	@media (max-width: 781px) {
		width:var(--wp--preset--font-size--fontsize-24); height:var(--wp--preset--font-size--fontsize-24);
	}
	svg { width:67%; height:67%; }
}
div#faz-consent {
	min-width:75vw; max-height:calc(100dvh - 40px * 2); overflow:hidden auto;

	border-radius: 0;
	div.faz-consent-bar { padding:3rem 4rem !important; border-radius:0; border:1px solid var(--wp--preset--color--deep-teal); }

	@media (max-width: 781px) {
		min-width:calc(100vw - 40px * 2);
	}

	* { font-family:'Work Sans', sans-serif !important; letter-spacing: -0.1px !important; }
	h2.faz-title {
		padding:0 0 0.2em 0 !important; font-weight:500 !important;

		font-family: "Playfair Display", serif !important;
		font-size: var(--wp--preset--font-size--fontsize-48) !important;
		line-height: var(--wp--preset--line-height--fontsize-48) !important;
	}
	a.faz-policy { border:none !important; outline:none !important; }
	p, a {
		font-size:var(--wp--preset--font-size--fontsize-18) !important;
		line-height:var(--wp--preset--line-height--fontsize-18);
	}
	div.faz-notice-btn-wrapper {
		gap:var(--wp--preset--spacing--50);
		@media (max-width: 781px) {
			padding-top:1em;
			flex-direction:column;
			gap:0.5em;
		}

		button.faz-btn {
			opacity:1 !important; border-width:1px !important; font-size:var(--wp--preset--font-size--fontsize-24); text-transform:uppercase; padding:1.7rem 0; line-height:1;

			@media (max-width: 781px) {
				font-size:var(--wp--preset--font-size--fontsize-18) !important; width:100%; margin:0;
			}
			&:hover { border-color:var(--hovercolor) !important; }
			&.faz-btn-customize:hover { color:var(--hovercolor) !important; }
			&.faz-btn-reject:hover, &.faz-btn-accept:hover { background-color:var(--hovercolor) !important; }
		}
	}
}



div.fluentform {
	margin-top:var(--marginv-section); border-top:1px solid var(--wp--preset--color--deep-teal);

	form {
		margin-top:var(--marginv-section); padding:var(--marginv-button); background-color:#F2F5F4;
		@media (max-width: 781px) { padding:3rem 2rem; }
	
		h3 {
			border-top:none !important; margin-top:0 !important; padding-top:0 !important;
		
			font-size: var(--h3-size) !important;
			line-height: var(--h3-line-height) !important;
			font-family: var(--h3-family) !important;
			font-weight: var(--h3-weight) !important;
			color: var(--h3-color) !important;
			font-style: var(--h3-style) !important;
			margin-bottom:2rem;
		}
		
		label {
			font-size:var(--wp--preset--font-size--fontsize-20) !important; line-height:var(--wp--preset--line-height--fontsize-20) !important; font-weight:400 !important; padding-bottom:0.5rem;
		}
		.ff-el-is-required.asterisk-right label::after { font-size:80%; vertical-align:text-top; margin-left:0; content:'*'; }
		
		div.ff-el-group:not(:has(button[type="submit"])) { margin-bottom:2rem; }
		
		input, select, textarea { border-radius:0; font-size:var(--wp--preset--font-size--fontsize-20) !important; line-height:var(--wp--preset--line-height--fontsize-20) !important; font-weight:400 !important; }

		button[type="submit"] {
			border:1px solid var(--wp--preset--color--deep-teal);
			color:var(--wp--preset--color--deep-teal);
			background:transparent;
			font-weight: 500;
			line-height: 1.0;
			padding-top: 1.7rem;
			padding-right: 3.65rem;
			padding-bottom: 1.4rem;
			padding-left: 3.65rem;
			text-transform:uppercase;
			border-radius:0;

			&:not(.has-custom-font-size):not(:is(.has-custom-font-size &)) {
				font-size: var(--wp--preset--font-size--fontsize-24);
				@media (max-width: 781px) { font-size:var(--wp--preset--font-size--fontsize-18); line-height:var(--wp--preset--line-height--fontsize-18); }
			}
			
			@media (max-width: 781px) { width:100%; }

			&:hover { border-color:var(--hovercolor); color:var(--hovercolor); }
		}
	}
	
	div.ff-message-success { border:none; box-shadow:none; padding:inherit; margin:var(--marginv-section) 0; font-weight:500; }
}



div.growable-outer { width:100%; overflow:hidden; transition:height 300ms; }



body div.wp-site-blocks footer {
	--hovercolor:#EFE9D6; --min-font:12px !important; width:var(--site-width); overflow-x:clip; margin:0 auto 0 auto; margin-top:var(--marginv-section) !important; background-color:white;


	@media (max-width: 1400px) {
		--font-base2:calc(var(--site-width, 1400px) / 1400 * 18) !important;
		--wp--preset--font-size--fontsize-18: min(max(calc(var(--font-base2) * 1.0), var(--min-font)), var(--max-font)) !important;
	}


	@media (max-width: 781px) {
		--wp--preset--font-size--fontsize-15: min(max(calc(var(--font-base) * 0.74000), var(--min-font)), var(--max-font)) !important;
		--wp--preset--font-size--fontsize-18: min(max(calc(var(--font-base) * 0.9), var(--min-font)), var(--max-font)) !important;
	}

	#footer-nav, #footer-bottom { user-select:none; }


	@media (max-width: 781px) { margin-top:calc(var(--site-px, 1px) * 40); }


	> div {
		padding:calc(var(--site-px, 1px) * 100) var(--pagemargin-x) 0;
		@media (max-width: 781px) { padding:calc(var(--site-px, 1px) * 47) var(--pagemargin-x) calc(var(--site-px, 1px) * 30); }
	}


	a {
		white-space:nowrap; text-decoration:none; display:inline-block;

		span.offsite-link-svg-container svg g { fill:white; }

		@media (max-width: 781px) { white-space:normal; }
	}


	div#footer-top {

		@media (max-width: 781px) { display:flex; flex-direction:column; gap:calc(var(--site-px, 1px) * 28); }


		div#footer-contact {
			gap:1.7rem;

			@media (max-width: 781px) { gap:1.5em; width:100%; position:relative; }

			#footer-logo {

				@media (max-width: 781px) { width:100%; }

				img, svg {
					height:calc(3.89em); width:auto; max-width:unset; margin-bottom:calc(var(--site-px, 1px) * 5);
					@media (max-width: 781px) { height:calc(3.85em); width:auto; max-width:100%; margin-bottom:0; }
				}
			}
		}


		div#footer-nav {
			min-width:calc(var(--site-px, 1px) * 742);


			@media (max-width: 781px) { flex-direction:column; gap:calc(var(--site-px, 1px) * 28); }


			p { padding-bottom:calc(var(--site-px, 1px) * 20); }


			div#footer-social {

				span.offsite-link-svg-container { display:none; }

				gap:calc(var(--site-px, 1px) * 18); margin-top:calc(var(--site-px, 1px) * 21);

				img, svg { height:1.35em; max-width:unset; width:auto; display:block; }
			}
		}
	}


	div.wp-block-separator {
		margin:calc(var(--site-px, 1px) * 48) 0 calc(var(--site-px, 1px) * 34) !important;
		@media (max-width: 781px) { margin:calc(var(--site-px, 1px) * 36) 0 calc(var(--site-px, 1px) * 36) !important; }
	}


	div#footer-bottom {
		gap:0;


		@media not (max-width: 781px) { & > * { padding-bottom:calc(var(--site-px, 1px) * 51); } }

		div#footer-legal {
			gap:2.3em; margin-right:2.3em;

			@media (max-width: 781px) { flex-direction:column; gap:calc(var(--site-px, 1px) * 28); align-items:start; }
		}


		div.wp-block-separator {
			display:none;

			@media (max-width: 781px) { display:block; width:100%; margin:calc(var(--site-px, 1px) * 36) 0 calc(var(--site-px, 1px) * 36); }
		}
	}
}



div.insightlink {
	color:var(--wp--preset--color--deep-teal); position:relative;
	padding-top:var(--marginv-citation);
	padding-bottom:var(--marginv-citation);
	cursor:pointer;

	div.insightlink-cat {
		color:var(--wp--preset--color--deep-teal); font-size:var(--wp--preset--font-size--fontsize-18); line-height:var(--wp--preset--line-height--fontsize-18); font-weight:600; text-transform:uppercase;

		a { position:relative; z-index:2; }

		&:empty { display:none; }
	}
	div.insightlink-title {
		color:var(--wp--preset--color--deep-teal); font-size:var(--wp--preset--font-size--fontsize-28); line-height:var(--wp--preset--line-height--fontsize-28); font-weight:500; padding-top:calc(var(--site-px, 1px) * 0); padding-bottom:calc(var(--site-px, 1px) * 15);

		.insightlink-title-1 { position:absolute; top:0; left:0; right:0; bottom:0; }
		&:is(div.insights-homepage1 &) { font-family:"Playfair Display", serif; font-size:var(--wp--preset--font-size--fontsize-48); line-height:var(--wp--preset--line-height--fontsize-48); }
		a {
			text-decoration:none; white-space:normal;

			&:focus-visible { outline:none; }
			&:focus-visible span.insightlink-title-1 { outline:2px solid var(--wp--preset--color--deep-teal); }
		}
	}
	div.insightlink-dateauth {
		font-size:var(--wp--preset--font-size--fontsize-18); line-height:var(--wp--preset--line-height--fontsize-18); display:flex; flex-direction:row; gap:0.25em;
		a { position:relative; z-index:2; }
		@media (max-width: 781px) { flex-direction:column; }

		span.insightlink-date { white-space:nowrap; flex-direction:row; gap:calc(var(--site-px, 1px) * 15); }
		span.insightlink-authors { display:inline-block; vertical-align:top; a { white-space:nowrap; }}

		@media (max-width: 781px) {
			span.insightlink-dateauth-delim { display:none; }
		}
	}

	&:hover:is(html:not(.carousel-indrag) *):not(:has(:is(div.insightlink-dateauth, div.insightlink-cat) a:hover)) {
		color:var(--hovercolor) !important;
		svg g { fill:var(--hovercolor) !important; }
		a, div { color:var(--hovercolor) !important; }
	}

	@media not (max-width: 781px) {
		&:is(:is(p,ul,ol) + &) { border-top:1px solid var(--wp--preset--color--deep-teal); }
	}

	&:not(.insights-homepage1 *) {
		border-bottom:1px solid var(--wp--preset--color--deep-teal);

		&.citation-group-last {
			@media (max-width: 781px) {
				border-bottom:none;
				&:is(.personinsightblock *) { border-bottom:1px solid var(--wp--preset--color--deep-teal); }
				&:is(.personinsightblock:last-child *) { border-bottom:none; }
			}
		}
	}

	&.insightlink-with-image {
		@media (max-width: 781px) {
			div.insightlink-image {
				width:100%; aspect-ratio:345 / 260; position:relative; flex-shrink:0; overflow:hidden; margin-bottom:calc(var(--site-px, 1px) * 15);

				img { display:none; }

				div {
					background-size:cover; background-position:center center; position:absolute; top:0; left:0; width:100%; height:100%; transition:top var(--personhovertime-out), left var(--personhovertime-out), width var(--personhovertime-out), height var(--personhovertime-out);

					&:is(div.insightlink-with-image:hover &) { top:calc(0% - var(--hoverzoom)); left:calc(0% - var(--hoverzoom)); width:calc(100% + 2 * var(--hoverzoom)); height:calc(100% + 2 * var(--hoverzoom));
					transition:top var(--personhovertime-in), left var(--personhovertime-in), width var(--personhovertime-in), height var(--personhovertime-in);
					}
				}
			}
		}

		@media not (max-width: 781px) {
			span {
				display:flex; flex-direction:row-reverse; justify-content:space-between; align-items:center; gap:calc(var(--site-px, 1px) * 20);

				div.insightlink-image {
					width:calc(var(--site-px, 1px) * 345); height:calc(var(--site-px, 1px) * 260); position:relative; flex-shrink:0; overflow:hidden;

					img { display:none; }

					div {
						background-size:cover; background-position:center; position:absolute; top:0; left:0; width:100%; height:100%; transition:top var(--personhovertime-out), left var(--personhovertime-out), width var(--personhovertime-out), height var(--personhovertime-out);

						&:is(div.insightlink-with-image:hover &) { top:calc(0% - var(--hoverzoom)); left:calc(0% - var(--hoverzoom)); width:calc(100% + 2 * var(--hoverzoom)); height:calc(100% + 2 * var(--hoverzoom));
						transition:top var(--personhovertime-in), left var(--personhovertime-in), width var(--personhovertime-in), height var(--personhovertime-in);
						}
					}
				}
			}
		}
	}
}



header {
	--min-font:12px !important; width:var(--site-width); overflow-x:clip; margin:0 auto; background-color:white; user-select:none;


	@media (max-width: 1400px) {
		--font-base2:calc(var(--site-width, 1400px) / 1400 * 18) !important;
		--wp--preset--font-size--fontsize-18: min(max(calc(var(--font-base2) * 1.0), var(--min-font)), var(--max-font)) !important;
	}


	@media (max-width: 781px) {
		--wp--preset--font-size--fontsize-18: min(max(calc(var(--font-base) * 0.9), var(--min-font)), var(--max-font)) !important;
	}


	div#header-links a { text-decoration:none; white-space:nowrap; }


	div#header-reserve-space { height:var(--header-height, 0px) !important; }


	div#header-sticky {
		position:fixed; top:var(--wpadminbar-height); width:var(--site-width); background-color:white; z-index:999; transition:top 0.3s;



		&:is(body.header-hide-menu &:not(:focus-within)) { top:calc(0px - var(--header-height, 0px) + var(--wpadminbar-height, 0px)); }


		div#header-top {
			padding:var(--pagemargin-y) 0; font-size:var(--wp--preset--font-size--fontsize-18) !important; line-height:var(--wp--preset--line-height--fontsize-18);

			figure#header-logo :is(img, svg) {
				height:5em; width:auto; max-width:unset; padding-left:var(--pagemargin-x);
				@media (max-width: 781px) { height:3em; }
			}
		}


		div#header-right {
			gap:0;

			@media (max-width: 781px) {
				img, svg {
					height:1.6em; width:auto; max-width:unset; margin-right:var(--pagemargin-x);

					@media (max-width: 781px) {
						height:1.9em; width:auto; margin-left:calc(var(--pagemargin-x) / 2);

						&:not(#header-mobilemenu &) { margin-right:calc(var(--pagemargin-x) / 2); }
					}
				}

				& > figure:first-child {
					img, svg {
						&:is(body.searchopen &) {
							background-image:url('assets/close.svg'); background-size:cover;
							&:hover { background-image:url('assets/close-hover.svg'); background-size:cover; }
							* { visibility:hidden; }
						}
					}
				}
			}

			div#header-search-link {
				margin:calc(var(--site-px, 1px) * 30) 0 calc(var(--site-px, 1px) * 30) 0;

				a { padding-bottom: 10px; padding-top: 10px; margin-top: -10px; margin-bottom: -10px; }

				img, svg {
					margin-left:calc(var(--site-px, 1px) * 30);
					margin-right:var(--pagemargin-x);
					height:1.9em;
					width:auto;

					&:is(body.searchopen &) {
						background-image:url('assets/close.svg'); background-size:cover;
						&:hover { background-image:url('assets/close-hover.svg'); background-size:cover; }
						* { visibility:hidden; }
					}
					@media (max-width:1550px) { margin-left:calc(var(--site-px, 1px) * 20); }
					@media (max-width:900px) { margin-left:calc(var(--site-px, 1px) * 0); }
				}

				.wp-block-separator {
					max-width: calc(var(--site-px, 1px) * 30 * 2 + 1.9em);
					@media (max-width:1550px) { max-width:calc(var(--site-px, 1px) * 20 * 2 + 1.9em); }
					@media (max-width:900px) { max-width:calc(var(--site-px, 1px) * 0 * 2 + 1.9em); }
				}

				@media (max-width: 781px) { margin:0; }

			}


			figure#header-mobilemenu {
				display:none;

				@media (max-width: 781px) {
					display:block; min-width:4.7em;

					img, svg {
						height:1.9em; width:auto; max-width:unset;

						&:is(body.menuopen &) {
							background-image:url('assets/close.svg'); background-size:cover;
							&:hover { background-image:url('assets/close-hover.svg'); background-size:cover; }
							* { visibility:hidden; }
						}
					}
				}
			}


			div#header-links {
				gap:0;

				@media (max-width: 781px) {
					display:block; position:fixed; top:calc(var(--header-height) - 2px); left:0px; padding:0 var(--pagemargin-x); width:100%; height:0px; box-sizing:border-box; background:white; overflow:hidden; transition:height 200ms, padding 200ms;

					&:is(body.menuopen &) { height:100%; padding:var(--pagemargin-y) var(--pagemargin-x); }
					& > div { border-top:1px solid var(--wp--preset--color--deep-teal); }

					a { display:block; font-family:"Playfair Display", serif; font-size:var(--wp--preset--font-size--fontsize-48) !important; line-height:var(--wp--preset--line-height--fontsize-48); font-weight:500; padding-top:calc(var(--site-px, 1px) * 14); padding-bottom:calc(var(--site-px, 1px) * 14); }

					div.wp-block-separator { display:none; }

					figure#header-close {
						display:flex; flex-direction:row; justify-content:flex-end;

						a {
							font-size:unset !important; line-height:var(--wp--preset--line-height--fontsize-20);

							img, svg { width:calc(var(--site-px, 1px) * 14); height:auto; padding-left:calc(var(--site-px, 1px) * 16); }
						}
					}
				}


				div#header-social {

					span.offsite-link-svg-container { display:none; }

					@media not (max-width: 781px) { display:none; }

					@media (max-width: 781px) {
						border-bottom:1px solid var(--wp--preset--color--deep-teal); display:flex; flex-direction:row; justify-content:space-between; padding-top:calc(var(--site-px, 1px) * 10); border-bottom:none;

						a {
							font-family:'Work Sans', sans-serif !important; font-weight:500; font-size:var(--wp--preset--font-size--fontsize-16) !important; line-height:var(--wp--preset--line-height--fontsize-16);

							img, svg { width:calc(var(--site-px, 1px) * 34); height:auto; padding-left:calc(var(--site-px, 1px) * 9); }
						}
					}
				}
			}

			@media not (max-width: 781px) {
				div:has(div.wp-block-separator) {
					position:relative;

					p > a { text-decoration:none; padding:calc(var(--site-px, 1px) * 30); text-transform:uppercase; }

					div.wp-block-separator {
						position:absolute; width:100%; margin:calc(var(--site-px, 1px) * 9) 0 0 0; height:calc(var(--site-px, 1px) * 10); visibility:hidden; pointer-events:none;

						&:not(:is(body.searchopen &)) {
							&:is(body.page-template-about-page    div#header-about-link    &) { visibility:visible; }
							&:is(body.page-template-services-page div#header-services-link &) { visibility:visible; }
							&:is(body.services-template-default   div#header-services-link &) { visibility:visible; }
							&:is(body.page-template-careers-page  div#header-careers-link  &) { visibility:visible; }
							&:is(body.page-template-insights-page div#header-insights-link &) { visibility:visible; }
							&:is(body.archive.tag                 div#header-insights-link &) { visibility:visible; }
							&:is(body.post-template-default       div#header-insights-link &) { visibility:visible; }
							&:is(body.page-template-people-page   div#header-people-link   &) { visibility:visible; }
							&:is(body.people-template-default     div#header-people-link   &) { visibility:visible; }
						}
					}
				}
			}
		}
	}


	span.header-breadcrumbs {
		margin-top:0rem; padding:2rem var(--pagemargin-x) 0 var(--pagemargin-x); position:relative; z-index:1; display:block;
		
		@media not (max-width: 781px) { &:is(body:has(.leo-header-block-no-image) &) { padding-bottom:2rem; } }

		a { text-decoration:underline; }
		svg { width:auto; height:0.385em; max-width:unset; padding:0 0.75em 0.075em; }
	}
}



div.leo-header-block {
	position:relative;

	@media (max-width: 781px) {
		padding-top:var(--marginv-section);
		margin-left:var(--pagemargin-x);
		h1 { padding-bottom:0.35em; }
		div.leo-header-block-img { width:100%; aspect-ratio:940 / 610; }
		div.leo-header-block-left:not(:is(.page-template-services-page &)) { margin-right:var(--pagemargin-x); padding-bottom:var(--marginv-section); }
		div.leo-header-block-img + div.leo-header-block-left { padding-bottom:3rem; }
		
		&.leo-header-block-with-image + div.wp-block-group.has-background { margin-top: calc(var(--site-px, 1px) * -240); padding-top: calc(var(--site-px, 1px) * 240 + 2rem); }
	}

	@media not (max-width: 781px) {
		&.leo-header-block-no-image {

			& + h2, & + h3, & + p { margin-top:0; }

			.leo-header-block-left { min-height:unset; padding-bottom:calc(var(--site-px, 1px) * 90); padding-top:cal(0px - var(--marginv-section)); width:75%; }
		}

		&:not(.leo-header-block-no-image) {
			margin-top:-1.5rem;
		}

		h1 { font-size:var(--wp--preset--font-size--fontsize-95); line-height:var(--wp--preset--line-height--fontsize-95); font-family:"Playfair Display", serif; color:#003D4C; font-weight:500; margin-bottom:2rem; }

		div.leo-header-block-img { width:calc(50% - var(--marginh-columngap) / 2); height:calc(100% + var(--marginv-headeroverhang)); position:absolute; min-height:118.677%; right:0; z-index:1; }
		div.leo-header-block-left { box-sizing:border-box; width:100%; min-height:calc(var(--site-px, 1px) * 514); display:flex; flex-direction:column; justify-content:center; padding:2rem var(--pagemargin-x); }
		div.leo-header-block-img + div.leo-header-block-left { width:calc(var(--site-px, 1px) * (1920 - 940)); padding-right:calc(var(--site-px, 1px) * 50); }
	}

	& + .leo-tabsection {
		@media (max-width: 781px) {
			padding-top:var(--pagemargin-x) !important;
		}
		@media not (max-width: 781px) {
			padding-top:calc(var(--site-px, 1px) * 100);
		}
	}

	&.leo-header-block-with-image {
		@media (max-width: 781px) {
			display:flex; flex-direction:column-reverse; gap:0;

			div.leo-header-block-img { position: relative; z-index: 1; }
		}
	}
}



div.leo-tabsection {
	&:is(main > &) { padding-left:var(--pagemargin-x); padding-right:var(--pagemargin-x); }
	div.leo-tabsection-sidebar-inline { display:none; }

	@media (max-width: 781px) {
		&:is(body.people-template-default &) {
			div.leo-tabsection-sidebar { display:none; }
			div.leo-tabsection-sidebar-inline { display:block; margin-top:4rem; }
		}
	}

	aside.leo-tabsection-links {
		position:relative;

		div.leo-tabsection-links-inner { position:absolute; width:100%; }
		a { user-select:none; }
	}
	&.leo-tabsection-sidebar-notabs nav.leo-tabsection-links-tabs { display:none; }

	@media not (max-width: 781px) {
		display:flex; flex-direction:row; gap:var(--marginh-columngap);

		span.leo-insights-tile-list.leo-tabsection-link-empty { display:none; }

		aside.leo-tabsection-links {

			min-width:225px;

			&:is(div.leo-tabsection-sidebar-noleft &) { display:none; }

			--min-font:14px !important;

			flex-basis:var(--marginh-columnleft); flex-grow:0; flex-shrink:0; font-weight:500; color:var(--wp--preset--color--deep-teal);

			a.leo-tabsection-link {
				display:block; padding:0.2em 0em 1.0em 1.3em; text-transform:uppercase; margin-bottom:0; text-decoration:none; position:relative;
				.leo-tabsection-link-line { position:absolute; top:0; left:0; bottom:0.8em; width:0.5em; background-color:transparent; background-color:var(--wp--preset--color--soft-wheat) !important; visibility:hidden; }
				&.leo-tabsection-on .leo-tabsection-link-line { visibility:visible; }
				&:not(.leo-tabsection-on).leo-tabsection-link-empty { display:none; }
			}

			div.leo-tabsection-sidebar {
				color:var(--wp--preset--color--black); padding-top:calc(var(--site-px, 1px) * 36);

				&:is(.leo-tabsection-sidebar-notabs &) {
					margin-top:0; padding-top:0;
					& > h3:first-child {
						margin-top:0; border:none; padding-top:0;
					}
				}

				h2, h3, h4, h5, h6 { font-size:var(--wp--preset--font-size--fontsize-18) !important; line-height:var(--wp--preset--line-height--fontsize-18); font-family:'Work Sans', sans-serif; font-weight:600; margin-block-start:1em; color:inherit; border-top:1px solid var(--wp--preset--color--black); padding-top:1em; margin-top:1em !important; }
				h2, h3 { text-transform:uppercase; margin-bottom:0.3em; }
				p { margin:0 0 1em 0; }
				:is(h2, h3, h4, h5, h6) + p { margin-top:0.5em; }
			}
		}

		div.leo-tabsection-content {

			flex-grow:1;

			div.leo-tabsection-content-section {

				&:is(div.leo-tabsection-sidebar-noleft &) { padding-left:calc(var(--marginh-columngap) / 2 + var(--marginh-columnleft) / 2); padding-right:calc(var(--marginh-columngap) / 2 + var(--marginh-columnleft) / 2); }

				&:not(.leo-tabsection-on) { display:none; }

				&>:first-child:is(h2,h3,h4,h5,h6) { margin-top:0; }
				span.leo-tabsection-accordion-header-inner >:first-child:is(h2,h3,h4,h5,h6) { margin-top:0; }
				span.leo-tabsection-accordion-header-icon :is(img, svg) { display:none; }

				span.leo-tabsection-accordion-body-outer {
					span.leo-tabsection-accordion-body-inner { }
				}


				h3:is(body:not(.page-template) &) { border-top:1px solid var(--wp--preset--color--black); padding-top:1em; margin-top:1em; }
			}
		}
	}
	@media (max-width: 781px) {
		display:flex; flex-direction:column-reverse;

		aside.leo-tabsection-links {
			min-height:unset !important;
			
			a.leo-tabsection-link { display:none; }
		}

		div.leo-tabsection-content {

			border-bottom:1px solid var(--wp--preset--color--deep-teal);

			div.leo-tabsection-content-section {
				border-top:1px solid var(--wp--preset--color--deep-teal);

				.leo-tabsection-accordion-header-outer {
					display:flex; flex-direction:row; justify-content:space-between; align-items:center;

					&:is(.leo-tabsection-sidebar-notabs &) {}
					&:not(:is(.leo-tabsection-sidebar-notabs &)) { cursor:pointer; }

					span.leo-tabsection-accordion-header-inner {
						display:block;

						.wp-block-heading { font-family:'Work Sans', sans-serif; font-size:var(--wp--preset--font-size--fontsize-18) !important; line-height:var(--wp--preset--line-height--fontsize-18); text-transform:uppercase; font-weight:500; margin-top:0; margin-bottom:0; padding-top:calc(var(--site-px, 1px) * 26); padding-bottom:calc(var(--site-px, 1px) * 22); }
					}

					span.leo-tabsection-accordion-header-icon {
						:is(.leo-tabsection-sidebar-notabs &) { display:none; }

						:is(img, svg) {
							width:0.85em; padding-right:0.1em; height:auto; transform:scaleY(1); transition:transform 200ms; transform-origin:center;

							&:is(div.leo-tabsection-expanded .leo-tabsection-accordion-header-outer span.leo-tabsection-accordion-header-icon &) { transform:scaleY(-1); }
						}
					}
				}

				span.leo-tabsection-accordion-body-outer {
					display:block; overflow:hidden; transition:height 10ms; margin-top:0;

					&:not(:is(.leo-tabsection-sidebar-notabs &)) { height:0px; }

					span.leo-tabsection-accordion-body-inner {
						border-top:calc(var(--site-px, 1px) * 10) solid var(--wp--preset--color--soft-wheat); padding-top:calc(var(--site-px, 1px) * 15); padding-bottom:var(--marginv-section);

						&:is(.leo-tabsection-sidebar-notabs &) { display:block; }
						&:not(:is(.leo-tabsection-sidebar-notabs &)) { display:none; }
					}
				}
			}
		}
	}
}
body.page div.wp-block-column, body:not(.page) div.leo-tabsection {
	h2:not([class*='has-fontsize']) { font-size:var(--h3-size); line-height:var(--h3-line-height); font-family:var(--h3-family); font-weight:var(--h3-weight); color:var(--h3-color); font-style:var(--h3-style); }
	h3:not([class*='has-fontsize']) { font-size:var(--h4-size); line-height:var(--h4-line-height); font-family:var(--h4-family); font-weight:var(--h4-weight); color:var(--h4-color); font-style:var(--h4-style); }
	h4:not([class*='has-fontsize']) { font-size:var(--h5-size); line-height:var(--h5-line-height); font-family:var(--h5-family); font-weight:var(--h5-weight); color:var(--h5-color); font-style:var(--h5-style); }
	h5:not([class*='has-fontsize']) { font-size:var(--h6-size); line-height:var(--h6-line-height); font-family:var(--h6-family); font-weight:var(--h6-weight); color:var(--h6-color); font-style:var(--h6-style); }
	h6:not([class*='has-fontsize']) { font-size:var(--h7-size); line-height:var(--h7-line-height); font-family:var(--h7-family); font-weight:var(--h7-weight); color:var(--h7-color); font-style:var(--h7-style); }
}



@keyframes loader-rotation {
	0% { transform: rotate(0deg); }
	100% { transform: rotate(360deg); }
}
.loader {
	--color-1: #cbb677;
	--color-2: #576423;
	--size: 1em;

	width: var(--size);
	height: var(--size);
	border: 2px solid var(--color-1);
	border-bottom-color: var(--color-2);
	border-radius: 50%;
	display: inline-block;
	box-sizing: border-box;
	animation: loader-rotation 1s linear infinite;
	vertical-align: text-bottom;
}



main {
	width:var(--site-width); overflow-x:clip; margin:0 auto; background-color:white;

	:is(body:not(.single-post.post-template-default) &) { .has-global-padding { padding-left:var(--pagemargin-x); padding-right:var(--pagemargin-x); .has-global-padding { padding:0; } } }
}



div.people-grid {

	font-size:var(--wp--preset--font-size--fontsize-20) !important; line-height:var(--wp--preset--line-height--fontsize-20); grid-template-columns:repeat(4, 1fr); display:grid; gap:var(--marginv-rowgap) var(--marginh-peoplecolumngap);

	@media not (max-width:1450px) { &:is(div.leo-tabsection-content *) { grid-template-columns:repeat(3, 1fr); }}
	@media (max-width:1450px) { grid-template-columns:repeat(3, 1fr); }
	@media (max-width:1050px) { grid-template-columns:repeat(2, 1fr); }
	@media (max-width: 781px) { grid-template-columns:repeat(1, 1fr); gap:calc(var(--site-px, 1px) * 20); }



	@media (max-width: 781px) {
		font-size:var(--wp--preset--font-size--fontsize-20) !important; line-height:var(--wp--preset--line-height--fontsize-20); display:grid;

		grid-template-columns:repeat(1, 1fr); gap:calc(var(--site-px, 1px) * 30);
	}

	&:is(main > &) { margin-left:var(--pagemargin-x); margin-right:var(--pagemargin-x); }


	.person-tile {
		width:100%; overflow:hidden; padding:2px; box-sizing:border-box;

		&:not(.no-link) { color:var(--wp--preset--color--deep-teal); }

		a { text-decoration:none; color:inherit; }

		.person-tile-inner {
			width:100%; height:100%; box-sizing:border-box; position:relative; display:flex; flex-direction:column; justify-content:space-between;

			.person-tile-name {
				font-size:var(--wp--preset--font-size--fontsize-36); line-height:var(--wp--preset--line-height--fontsize-36); font-weight:500;

				@media (max-width: 781px) { font-size:var(--wp--preset--font-size--fontsize-28); line-height:var(--wp--preset--line-height--fontsize-28); padding-top:0.8em; padding-bottom:0.25em; }
			}

			.person-tile-mainlink {
				position:absolute; top:0; left:0; width:100%; height:100%; box-sizing:border-box;

				&:has(.person-random-background-layer):not(:has(.person-random-background-layer-set)) { visibility:hidden; }

				& > :first-child {
					display:inline-block; width:100%; aspect-ratio:1; background-color:var(--wp--preset--color--deep-teal); overflow:hidden; position:relative;


					span.person-random-background-layer {
						position:absolute; transition:top var(--personhovertime-out) ease-out, left var(--personhovertime-out) ease-out, width var(--personhovertime-out) ease-out, height var(--personhovertime-out) ease-out; top:calc(0% - var(--hoverzoom)); left:calc(0% - var(--hoverzoom)); height:calc(100% + 2 * var(--hoverzoom)) !important; width:calc(100% + 2 * var(--hoverzoom)) !important;
						&:is(.person-tile:not(.no-link):hover &) { transition:top var(--personhovertime-in) ease-out, left var(--personhovertime-in) ease-out, width var(--personhovertime-in) ease-out, height var(--personhovertime-in) ease-out; }

						&:is(.person-tile:not(.no-link):hover &) { top:0 !important; left:0 !important; height:100% !important; width:100% !important; }
						&:is(.person-tile:not(.no-link):hover:nth-child(even) &) { }
					}

					span.person-layer {
						top:0; left:0; width:100%; height:100%; aspect-ratio:1; transform:none; transition:top var(--personhovertime-out) ease-out, left var(--personhovertime-out) ease-out, width var(--personhovertime-out) ease-out, height var(--personhovertime-out) ease-out; position:absolute;
						&:is(.person-tile:not(.no-link):hover &) { transition:top var(--personhovertime-in) ease-out, left var(--personhovertime-in) ease-out, width var(--personhovertime-in) ease-out, height var(--personhovertime-in) ease-out; }

						&:is(.person-tile:not(.no-link):hover &) { top:-1%; left:calc(0% - var(--hoverzoom)) !important; width:calc(100% + 2 * var(--hoverzoom)) !important; height:calc(100% + 2 * var(--hoverzoom)) !important; }
						&:is(.person-tile:not(.no-link):hover:nth-child(even) &) { }
					}
				}

				.person-tile-name { visibility:hidden; }
			}

			.person-tile-spacer {
				display:inline-block; width:100%; aspect-ratio:1; transition:opacity var(--personhovertime-out) ease-out; opacity:0; background:var(--hovercolor); pointer-events:none;
				&:is(.person-tile:not(.no-link):hover &) { transition:opacity var(--personhovertime-in) ease-out; }
			}

			.person-tile-body {
				position:relative; pointer-events:none; align-items:flex-start; display:flex; flex-direction:column; flex-grow:1; justify-content:space-between;

				@media not (max-width: 781px) {
					padding-top:calc(var(--site-px, 1px) * 30);
				}

				span {  display: flex; flex-direction: column; width: 100%; }

				a[href] {
					pointer-events:all; white-space:nowrap; padding-right:1em;
					@media (max-width: 781px) { display:block; width: max-content; padding-right:0; }
				}

				.person-tile-divider:not(:is(.no-linked-authors *)) {
					height:1px; width:100%; margin:0.8em 0;
					@media (max-width: 781px) { margin:0.8em 0; }

					&:is(.no-link &) { background-color:var(--wp--preset--color--deep-teal); }
					&:not(:is(.no-link &)) { background-color:var(--wp--preset--color--deep-teal); }
				}
			}
		}
	}
}



div#searchmenu {
	height: calc(100dvh - var(--header-height)); overflow:hidden scroll;
	position: fixed;
	z-index:3;
	top: var(--header-height);
	left: 0;
	width: 100vw;
	transition: height 200ms;
	background: white;

	&:not(body.searchopen &) { height:0; }

	form {
		padding:0 var(--pagemargin-x);
		margin:0 auto;
		width: var(--site-width);
		box-sizing: border-box;


		span.input-container {
			width:calc(var(--site-px, 1px) * 1393); margin: 0 auto; position:relative;

			@media (max-width: 781px) {
				width:100%;
			}

			input#search-q {
				width: 100%;
				font-size: inherit;
				line-height: inherit;
				box-sizing: border-box;
				min-height: 3.5em;
				padding: 0 3.5em 0 0.9em;
				margin: 0;
				border: 1px solid var(--wp--preset--color--deep-teal);
				color: inherit;

				&::placeholder { color:#4d7882; }
			}

			span {
				position: absolute;
				pointer-events: none;
				top: 0;
				right: 0;
				height: 100%;
				display: flex;
				flex-direction: row;
				align-items: center;
				justify-content: space-between;
				padding: 0 1.1em 0 0.9em;
				box-sizing: border-box;
			}
		}

		span.input-container-links {
			display:block; width:100%; margin: 0 auto; position:relative; padding-top:calc(var(--site-px, 1px) * 28); text-align:right; font-weight: 500;

			a { text-decoration:underline; margin-left:3em; font-size:var(--wp--preset--font-size--fontsize-18) !important; }
			@media (max-width: 781px) { width:100%; }
		}

		span.input-container-checkboxes-container {
			display:block; text-align:center; padding:calc(var(--site-px, 1px) * 60) 0;

			@media (max-width: 781px) {
				text-align:left;
			}
			span.input-container-checkboxes {
				display:inline-flex; gap:2em;
				@media (max-width: 781px) {
					gap:0;
					flex-direction:column;
				}
			}
		}

		div.sort-section-people:is(#searchmenu:not(:has(input#search-checkbox-people:checked)):not(:has(input#search-checkbox-all:checked)) *) { display:none; }
		div.sort-section-services:is(#searchmenu:not(:has(input#search-checkbox-services:checked)):not(:has(input#search-checkbox-all:checked)) *) { display:none; }
		div.sort-section-insights:is(#searchmenu:not(:has(input#search-checkbox-insights:checked)):not(:has(input#search-checkbox-all:checked)) *) { display:none; }

		h1 {
			padding-top:calc(var(--marginv-section) + 1rem); margin-bottom:var(--marginv-button);
			@media (max-width: 781px) { padding-top:0; }
		}

		div#search-results {

			padding-bottom:calc(var(--site-px, 1px) * 200);

			& > div + div { padding-top:var(--marginv-section); }

			h2 { margin-bottom:2rem; }
			h3 { margin-top:var(--marginv-section); }
			h2 + h3 { margin-top:0rem; }
			h2 + h3 { margin-top:0rem; }

			div.services-list {
				grid-template-columns:repeat(3, 1fr); display:grid; gap:var(--marginv-rowgap) var(--marginh-columngap); --slide-width:100%; --slide-height:100%;

				@media (max-width:1050px) { grid-template-columns:repeat(2, 1fr); }
				@media (max-width: 781px) { grid-template-columns:repeat(1, 1fr); gap:calc(var(--site-px, 1px) * 30); }

				div.services-tile {
					position:relative;
					overflow: hidden;

					div.services-carousel-name-image-outer {
						aspect-ratio:94 / 61; width:100%; height:auto; position:relative; overflow:hidden;

						div.services-carousel-name-image-inner {
							position:absolute; top:0; left:0; width:100%; height:100%; transition:top var(--personhovertime-out), left var(--personhovertime-out), width var(--personhovertime-out), height var(--personhovertime-out);

							&:is(html:not(.carousel-indrag) div.services-tile:hover &) { top:calc(0% - var(--hoverzoom)); left:calc(0% - var(--hoverzoom)); width:calc(100% + 2 * var(--hoverzoom)); height:calc(100% + 2 * var(--hoverzoom));
							transition:top var(--personhovertime-in), left var(--personhovertime-in), width var(--personhovertime-in), height var(--personhovertime-in);
							}
						}
					}

					img, svg { width:100%; display:block; }

					div.services-carousel-name-spacer { opacity:0; }
					div.services-carousel-name-spacer, div.services-carousel-bottom div.services-carousel-name { width:75%; font-size:var(--wp--preset--font-size--fontsize-36); line-height:var(--wp--preset--line-height--fontsize-36); font-weight:500; padding-top:calc(var(--site-px, 1px) * 20); padding-left:calc(var(--site-px, 1px) * 30); padding-bottom:calc(var(--site-px, 1px) * 26); }

					div.services-carousel-bottom {
						position:absolute; top:0; height:var(--slide-height); width:var(--slide-width); border:1px solid var(--wp--preset--color--deep-teal); box-sizing:border-box;

						@media (max-width: 781px) { width:100%; height:100%; }

						a { display:block; height:var(--slide-height); width:var(--slide-width); }

						div.services-carousel-name { position:absolute; bottom:0; }
						div.services-carousel-arrow {
							position:absolute; bottom:calc(var(--site-px, 1px) * 18); right:calc(var(--site-px, 1px) * 27);

							img, svg { width:auto; height:var(--wp--preset--font-size--fontsize-36); }
						}

						@media (max-width: 781px) {
							div.services-carousel-arrow { bottom:calc(var(--site-px, 1px) * 20); right:calc(var(--site-px, 1px) * 20); }
						}
					}

					@media (max-width: 781px) {
						display:none;

						&:nth-child(1), &:nth-child(2), &:nth-child(3) { display:block; position:relative; left:unset !important; &:not(:last-child) { margin-bottom:1em; } }
					}
				}
			}
		}

	}
}
body.searchopen {
	overflow:hidden; padding-right:var(--scrollbar-width);
	header > p { visibility:hidden; }
}



div.wp-block-mailchimp-mailchimp {
	margin:0 var(--pagemargin-x);
	
	@media not (max-width: 781px) { width:calc(100% - var(--marginh-columngap) - var(--marginh-columnleft)); margin:0 auto; }

	input[type="text"] { font-size:var(--wp--preset--font-size--fontsize-20) !important; line-height:var(--wp--preset--line-height--fontsize-20); }

	h2.mc_custom_border_hdr { padding-bottom:2rem; }
	.mc_error_msg { padding-bottom:3rem; display:block; }

	div.mc_container {
		&.loading { cursor:wait; form { opacity:0.5; } }
		&.success div.mc_form_inside > :not(.mc_message_wrapper) { display:none; }
	}
	
	span.mc_required { font-size:80%; vertical-align:text-top; color:#f56c6c; }
	.mc-indicates-required { display:none; }
	div.mc_interests_header {
		font-size: var(--h4-size) !important;
		line-height: var(--h4-line-height) !important;
		font-family: var(--h4-family) !important;
		font-weight: var(--h4-weight) !important;
		color: var(--h4-color) !important;
		font-style: var(--h4-style) !important;
		padding-bottom:2rem;
	}
	
	div.mc_interest {
		input[type="checkbox"] {
			display:inline-block; vertical-align:text-top; height:1em; width:1em; line-height:var(--wp--preset--font-size--fontsize-20);
			@media (max-width: 781px) { margin-top:0.6em; }
		}
		label {
			max-width: calc(100% - 4rem);
			display: inline-block;
			vertical-align:top;
			line-height:1;
		}
		label::after { content:' '; display:block; width:1rem; height:2rem; }
	}
	
	div.wp-block-mailchimp-mailchimp-form-field div.mc_merge_var {
		padding-bottom:2rem;
		
		label { padding-bottom:0.5rem; line-height:1; }
	}
	
	div.wp-block-mailchimp-mailchimp-audience-group {
		padding-bottom:2rem; padding-top:2rem;
	}
	
	div.mc_signup_submit {
		text-align:left;
		
		input[type="submit"] {
			border:1px solid var(--wp--preset--color--deep-teal);
			color:var(--wp--preset--color--deep-teal);
			background:transparent;
			font-weight: 500;
			line-height: 1.0;
			padding-top: 1.7rem;
			padding-right: 3.65rem;
			padding-bottom: 1.4rem;
			padding-left: 3.65rem;
			text-transform:uppercase;
			border-radius:0;
			width:auto;
			cursor:pointer;
			
			&:not(.has-custom-font-size):not(:is(.has-custom-font-size &)) {
				font-size: var(--wp--preset--font-size--fontsize-24);
				@media (max-width: 781px) { font-size:var(--wp--preset--font-size--fontsize-18); line-height:var(--wp--preset--line-height--fontsize-18); }
			}
			
			@media (max-width: 781px) { width:100%; }

			&:hover { border-color:var(--hovercolor); color:var(--hovercolor); }
		}
	}
}



/*
**
** common components end
**
******/





/*****
**
** page-specific rules begin
**
*/



body.error404 {
	margin:0; padding:0;

	header {
		@media not (max-width: 781px) {
			display:none;

		}
		@media (max-width: 781px) {
			& > p { display:none; }
		}
	}

	main {
		display:flex; align-items:center; justify-content:center; min-height:100dvh;

		@media (max-width: 781px) { min-height:calc(100dvh - var(--header-height, 0px)); }


		div.wp-block-columns {
			margin:0; min-height:70dvh; gap:0; width:100%;

			@media (max-width: 781px) { min-height:calc(0.7 * (100dvh - var(--header-height, 0px))); }

			div.wp-block-column {
				padding:0 var(--pagemargin-x) 2em var(--pagemargin-x);

				@media (max-width: 781px) {
					&:first-child { display:none; }
				}
				@media not (max-width: 781px) {
					&:first-child svg { width:19rem; aspect-ratio:270 / 90; height:auto; }
					&:not(:last-child) { border-right:1px solid var(--wp--preset--color--deep-teal); align-self:stretch; display:flex; justify-content:flex-end; align-items:center; }
				}

				h1 {
					@media not (max-width: 781px) { font-size:min(max(calc(var(--font-base) * 15.00), 40px), var(--max-font)) !important; }
					@media (max-width: 781px) { font-size:max(var(--min-font), 32vw); }
				}
				h2 {
					font-family:var(--h4-family);
					@media (max-width: 781px) { font-size:max(var(--min-font), 8vw); }
				}
			}
		}
	}
}



body.footer-page-template-default {
	--min-font:20px !important;


	main div.wp-block-post-content, main > h1 { 
		margin-left:calc(var(--pagemargin-x) + (var(--marginh-columnleft) + var(--marginh-columngap)) / 2) !important; margin-right:calc(var(--pagemargin-x) + (var(--marginh-columnleft) + var(--marginh-columngap)) / 2) !important;
		@media (max-width: 781px) {
			margin-left:var(--pagemargin-x) !important; margin-right:var(--pagemargin-x) !important;
		}
	}

	h1 {
		&:is(main > &) {
			margin-left:var(--pagemargin-x); margin-right:var(--pagemargin-x);
		}

		margin-top:var(--marginv-section) !important; margin-bottom:2rem;
		
		@media (max-width: 781px) {
			margin-top:var(--marginv-section) !important; margin-bottom:0.35em;
		}
	}

	h2 { margin-top:1em; padding-bottom:0; }
	h3 { margin-top:0.5em; padding-bottom:0; }


	h2:not([class*='has-fontsize']) { font-size:var(--h5-size); line-height:var(--h5-line-height); font-family:var(--h5-family); font-weight:var(--h5-weight); color:var(--h5-color); font-style:var(--h5-style); }
	h3:not([class*='has-fontsize']) { font-size:var(--h6-size); line-height:var(--h6-line-height); font-family:var(--h6-family); font-weight:var(--h6-weight); color:var(--h6-color); font-style:var(--h6-style); }
	h4:not([class*='has-fontsize']) { font-size:var(--h7-size); line-height:var(--h7-line-height); font-family:var(--h7-family); font-weight:var(--h7-weight); color:var(--h7-color); font-style:var(--h7-style); }
	h5:not([class*='has-fontsize']) { font-size:var(--h8-size); line-height:var(--h8-line-height); font-family:var(--h8-family); font-weight:var(--h8-weight); color:var(--h8-color); font-style:var(--h8-style); }
	h6:not([class*='has-fontsize']) { font-size:var(--h9-size); line-height:var(--h9-line-height); font-family:var(--h9-family); font-weight:var(--h9-weight); color:var(--h9-color); font-style:var(--h9-style); }
}



body.page-template-about-page {
	h2 {
		padding-bottom:0; padding-top:var(--marginv-section);

		&:is(.leo-header-block + .wp-block-group > h2:first-child) { padding-top:4rem; }
		& + p {
			margin-left:0 !important;
			@media not (max-width: 781px) { width:75%; }
		}
	}
	h3 {
		padding-top:2rem;
	}
	div.people-grid {
		padding-top:var(--marginh-columngap);
		@media (min-width:1450px) { grid-template-columns:repeat(3, 1fr); }
	}

	div.leo-header-block + div.wp-block-group {
		@media (max-width: 781px) {
			padding-left:var(--pagemargin-x) !important;
			padding-right:var(--pagemargin-x) !important;
			padding-bottom:var(--marginv-section) !important;

			div.wp-block-columns:last-child div.wp-block-column:last-child { padding-bottom:0; }
		}

		@media not (max-width: 781px) {
			padding-top:var(--marginv-headeroverhang); padding-bottom:var(--marginv-section);
		}
	}


	div.wp-block-group.dropimage-right-low-about {

		padding-top:var(--marginv-section);
		margin-top:var(--marginv-section);

		@media not (max-width: 1600px) {
			padding-bottom:var(--pagemargin-x) !important; box-sizing:border-box; min-height:calc(var(--site-px, 1px) * 430); margin-bottom:4rem;

			div.wp-block-column {

				&:last-child {
					position:absolute; top:0; left:0; width:100%; height:100%; pointer-events:none;

					figure {
						position:absolute; top:calc(100% - var(--site-px, 1px) * 100); right:0; width:calc(50% - 3rem / 2); max-width: unset; aspect-ratio:1880 / 1220; overflow:hidden;

						img, svg { width: 100%; height:100%; object-fit:cover; object-position:center; }
					}
				}
			}

			& + div.wp-block-group div.wp-block-columns {
				div.wp-block-column { padding-top:calc(var(--site-px, 1px) * 0); h3 { padding-top:0; }}
				& + div.wp-block-columns { margin-top:4rem; }
			}

		}

		@media (max-width: 1600px) {
			@media not (max-width: 781px) { h2 { padding-bottom:1em; } }

			div.wp-block-columns { display:block; }

			div.wp-block-column {

				&:first-child {
					h2 { font-size:calc(var(--site-px, 1px) * 50) !important; margin-right:12.5%; padding-bottom:calc(var(--site-px, 1px) * 105); padding-top:0; }
				}

				&:last-child {
					padding-bottom:calc(var(--site-px, 1px) * 90);

					figure {
						position:absolute; top:calc(100% - var(--site-px, 1px) * 160); width:calc(100% - var(--pagemargin-x)); max-width: unset; aspect-ratio:1880 / 1220; overflow:hidden; padding-top:calc(var(--site-px, 1px) * 26);

						img, svg { width: 100%; height:100%; object-fit:cover; object-position:center; }
					}
				}
			}

			& + div.wp-block-group {

				div.wp-block-columns { display:block !important; }

				margin-top:calc(0% - var(--site-px, 1px) * 120 + (100% - var(--pagemargin-x)) / 1024 * 644 + var(--pagemargin-x));
				padding-top:0vw;

				h3 { margin-top:calc(var(--site-px, 1px) * 30) !important; padding-bottom:calc(var(--site-px, 1px) * 10); }
			}
		}
	}


	div.wp-block-group.map {
		margin-top:var(--marginv-section);
		padding-top:var(--marginv-section);
		padding-bottom:var(--marginv-section);
		margin-bottom:var(--marginv-section);

		div.wp-block-column:first-child { display:flex; align-items:center; }
		div.wp-block-column:last-child { padding-top:calc(var(--site-px, 1px) * 0); }

		@media (max-width: 1200px) {
			.wp-block-columns { display:block; }
			div.wp-block-column:first-child { padding-top:0; padding-bottom:calc(var(--site-px, 1px) * 90); }
		}

		@media (max-width: 781px) {
			padding-top:calc(var(--site-px, 1px) * 60); padding-bottom:var(--marginv-section); margin-top:var(--marginv-section); margin-bottom:var(--marginv-section);

			div.wp-block-column:first-child { padding-top:0; padding-bottom:var(--marginv-rowgap); }
			
			& + div.wp-block-group {
				h3 { padding-top:0; }
				div.wp-block-buttons { gap:var(--marginh-columngap) !important; margin-top:var(--marginv-button) !important; }
			}
		}

		h2 { padding-top:0; }

		div.wp-block-buttons {
			margin-top:var(--marginv-button);
		}
	}

	div.wp-block-button {
		@media (max-width: 781px) {
			width:100%;

			* { font-size:var(--wp--preset--font-size--fontsize-18); line-height:var(--wp--preset--line-height--fontsize-18) !important; }
		}
	}
}



body.page-template-careers-page {
	div.carousel.testimonial-carousel {
		padding-bottom:var(--marginv-section);

		div.carousel-track {

			background-color:#DFE1D7;

			div.carousel-slide {
				overflow:hidden; padding:var(--marginh-columngap); box-sizing:border-box; color:var(--wp--preset--color--deep-teal);

				@media (max-width: 781px) {
					padding:0;
				}

				div.testimonial-carousel-row {
					display:flex; flex-direction:row; gap:var(--marginh-columngap); justify-content:normal; align-items:flex-start;

					@media (max-width: 781px) {
						flex-direction:column; gap:0;
					}

					div.testimonial-carousel-img {
						flex-basis:25%; flex-shrink:0; flex-grow:0; aspect-ratio:1; background-size:cover; background-position:center center;
						@media (max-width: 781px) { width:100%; }
					}

					div.testimonial-carousel-content {
						flex-shrink:1; flex-grow:1; position:relative; padding-right:2em;

						div.testimonial-carousel-content-inner {
							@media (max-width: 781px) { padding:1em; }

							& > p {
								margin-top:0; padding-top:0;

								a {
									img, svg { vertical-align:middle; }
									img:last-child, svg:last-child { vertical-align:baseline; margin-bottom:-0.1em; }
								}
							}
						}
					}
				}
			}
		}
		div.carousel-scroller { margin-top:var(--marginv-button); }
		div.carousel-buttons { background-color:#DFE1D7; }
	}

	h2 { margin-top:var(--marginv-section); }

	div.leo-header-block.leo-header-block-with-image + div.wp-block-group {
		div.wp-block-group h2 { margin-top:calc(var(--marginv-section) - var(--marginh-columngap)); }

		& > .wp-block-group:first-child {
			gap:var(--marginh-columngap);
			& > .wp-block-group:first-child {
				margin-bottom:var(--marginv-section);
			}
			& > .wp-block-group:last-child {
				padding:0 0 var(--marginv-section) 0;
				gap:var(--marginh-columngap);
				@media (max-width: 781px) {
					gap:var(--marginv-rowgap);
				}

				.wp-block-group { padding:0; }
			}
		}

		@media not (max-width: 781px) {
			padding-top:calc(var(--marginv-headeroverhang) + var(--marginh-columngap));
		}

		div.wp-block-group:first-child {
			flex-basis:66%; flex-grow:0; flex-shrink:0;
			@media (max-width: 781px) { flex-direction:column; gap:0; }
		}
		div.wp-block-group:last-child { flex-grow:1; div.wp-block-group { margin-left:auto; margin-right:auto; } }

		div.wp-block-buttons.is-style-with-arrow {
			margin-top:var(--marginh-columngap);
			div.wp-block-button a {
				position:relative; text-align:left; padding:3rem 3rem;

				span.svg-container {
					position:absolute; right:3rem;
					svg {
						height:1.1rem;
						@media (max-width: 781px) { height:2.2rem; }
					}
				}

				@media (max-width: 781px) {
					font-size: var(--h4-size) !important;
					padding:3rem 3rem;
					line-height: var(--h4-line-height);
					font-family: var(--h4-family);
					font-weight: var(--h4-weight);
					color: var(--h4-color);
					font-style: var(--h4-style);
				}

			}
		}

		div.wp-block-group.has-border-color {
			margin-top:var(--marginh-columngap);
			padding:3rem 3rem;
			h2:not([class*='has-fontsize']) { font-size:var(--h3-size); line-height:var(--h3-line-height); font-family:var(--h3-family); font-weight:var(--h3-weight); color:var(--h3-color); font-style:var(--h3-style); }
			h3:not([class*='has-fontsize']) { font-size:var(--h4-size); line-height:var(--h4-line-height); font-family:var(--h4-family); font-weight:var(--h4-weight); color:var(--h4-color); font-style:var(--h4-style); }
			h4:not([class*='has-fontsize']) { font-size:var(--h5-size); line-height:var(--h5-line-height); font-family:var(--h5-family); font-weight:var(--h5-weight); color:var(--h5-color); font-style:var(--h5-style); }
			h5:not([class*='has-fontsize']) { font-size:var(--h6-size); line-height:var(--h6-line-height); font-family:var(--h6-family); font-weight:var(--h6-weight); color:var(--h6-color); font-style:var(--h6-style); }
			h6:not([class*='has-fontsize']) { font-size:var(--h7-size); line-height:var(--h7-line-height); font-family:var(--h7-family); font-weight:var(--h7-weight); color:var(--h7-color); font-style:var(--h7-style); }
			div {
				margin-top:2rem;
				a {
					text-transform:uppercase;
					span.rarr {
						display: inline-block;
						vertical-align: middle;
						svg {
							display: block;
							width: auto;
							padding-left: 0.6em;
							height: 1.1rem;
						}
					}
				}
			}
		}
	}

	div.wp-block-columns div.wp-block-column > h2:first-child { margin-top:0; }

	div.wp-block-columns + div.wp-block-columns {
		margin-top:4rem; padding-bottom:var(--marginv-section);
		h2 { margin-top:0; }
	}

	div.leo-tabsection {
		padding-top:var(--marginv-button);
		
		& + .wp-block-separator {
			margin-top:var(--marginv-section);
			& + h2 { margin-bottom:2rem; }
		}

		@media (max-width: 781px) { & + hr { display:none; } }
	}
}



body.page.home {
	--marginv-citation:calc(var(--site-px, 1px) * 60);

	.wp-block-button { text-transform:uppercase; }

	h2 {
		padding-top:var(--marginv-section); padding-bottom:var(--marginv-button);
		&.services-header {
			& + p:empty { margin:0; }
		}
	}

	@media not (max-width: 781px) {
		h2 {
			margin-left:0 !important;

			&:not(.wp-block-column &) { max-width:75%; }
		}
	}
	@media (max-width: 781px) {
		h2.services-header { font-size:var(--wp--preset--font-size--fontsize-36) !important; line-height:var(--wp--preset--line-height--fontsize-36); }
	}

	div.carousel.services-carousel {
		color:var(--wp--preset--color--deep-teal);

		div.carousel-track {
			@media (max-width: 781px) { height:unset !important; cursor:initial; }

			div.carousel-slide {

				img, svg { width:100%; display:block; }

				div.services-carousel-name-spacer { opacity:0; }
				div.services-carousel-name-spacer, div.services-carousel-bottom div.services-carousel-name {
					width:75%; font-size:calc(var(--site-px, 1px) * 36); line-height:calc(var(--site-px, 1px) * 40.5); font-weight:500; padding-top:calc(var(--site-px, 1px) * 20); padding-left:calc(var(--site-px, 1px) * 30); padding-bottom:calc(var(--site-px, 1px) * 26);

					@media (max-width: 781px) { font-size:var(--wp--preset--font-size--fontsize-36); line-height:var(--wp--preset--line-height--fontsize-36); }
				}
				div.services-carousel-name-image-outer {
					aspect-ratio:94 / 61; width:100%; height:auto; position:relative; overflow:hidden;

					div.services-carousel-name-image-inner {
						position:absolute; top:0; left:0; width:100%; height:100%; transition:top var(--personhovertime-out), left var(--personhovertime-out), width var(--personhovertime-out), height var(--personhovertime-out);

						&:is(html:not(.carousel-indrag) div.carousel-slide:hover &) { top:calc(0% - var(--hoverzoom)); left:calc(0% - var(--hoverzoom)); width:calc(100% + 2 * var(--hoverzoom)); height:calc(100% + 2 * var(--hoverzoom));
						transition:top var(--personhovertime-in), left var(--personhovertime-in), width var(--personhovertime-in), height var(--personhovertime-in);
						}
					}
				}
				div.services-carousel-bottom {
					position:absolute; top:0; height:var(--slide-height); width:var(--slide-width); border:1px solid var(--wp--preset--color--deep-teal); box-sizing:border-box;

					@media (max-width: 781px) { width:100%; height:100%; }

					a {
						display:block; height:var(--slide-height); width:var(--slide-width); outline-offset:-4px;
						@media (max-width: 781px) { width:100%; height:100%; }
					}

					div.services-carousel-name { position:absolute; bottom:0; }
					div.services-carousel-arrow {
						position:absolute; bottom:calc(var(--site-px, 1px) * 18); right:calc(var(--site-px, 1px) * 27);

						img, svg {
							width:auto; height:calc(var(--site-px, 1px) * 36);

							@media (max-width: 781px) { height:var(--wp--preset--font-size--fontsize-36); }
						}
					}

					@media (max-width: 781px) {
						div.services-carousel-arrow { bottom:calc(var(--site-px, 1px) * 20); right:calc(var(--site-px, 1px) * 20); }
					}
				}

				@media (max-width: 781px) {
					display:none;

					&:nth-child(1), &:nth-child(2), &:nth-child(3) { display:block; position:relative; left:unset !important; }
					&:nth-child(1), &:nth-child(2) { margin-bottom:2rem; }
				}
			}
		}
		div.carousel-scroller {
			margin-top:var(--marginv-button);
			@media (max-width: 781px) { display:none !important; }
		}
		div.carousel-buttons { display:none !important; }
	}

	div.wp-block-group.dropimage-right-low-home {

		@media not (max-width: 1000px) {
			position:relative; margin:0; padding:0;

			div.wp-block-column {

				&:last-child {
					position:absolute; top:0; left:0; width:100%; height:100%; pointer-events:none;

					figure {
						position:absolute; top:calc(100% - var(--marginv-headeroverhang)); right:0; width:calc(50% - var(--marginh-columngap) / 2); max-width: unset; aspect-ratio:1880 / 1220; overflow:hidden;

						img, svg { width: 100%; height:100%; object-fit:cover; object-position:center; }
					}
				}
			}

			& + div.wp-block-group div.wp-block-columns {
				div.wp-block-column:last-child { padding-top:calc(var(--site-px, 1px) * 512); }
			}
		}

		@media (max-width: 1000px) {
			margin-top:0; padding:0;

			div.wp-block-columns { display:block; }

			div.wp-block-column {

				&:last-child {
					padding-bottom:calc(var(--site-px, 1px) * 90);
					@media (max-width: 781px) {
						padding-bottom:var(--marginh-columngap);
					}


					figure {
						position:absolute; top:calc(100% - var(--site-px, 1px) * 90); width:calc(100% - var(--pagemargin-x)); max-width: unset; aspect-ratio:1880 / 1220; overflow:hidden; padding-top:calc(var(--site-px, 1px) * 26);

						@media (max-width: 781px) {
							top: calc(100% - var(--site-px, 1px) * 39);
							right: 0;
							padding-top: 0;
						}

						img, svg { width: 100%; height:100%; object-fit:cover; object-position:center; }
					}
				}
			}

			& + div.wp-block-group {

				div.wp-block-columns { display:block !important; }

				margin-top:calc(0% - var(--site-px, 1px) * (90 - 26) + (100% - var(--pagemargin-x)) / 1024 * 664 + var(--pagemargin-x));
				padding-top:0vw;
			}
		}
	}

	div.wp-block-columns:has(span.countto) {
		margin:0 var(--pagemargin-x);
		@media (max-width: 781px) { gap:var(--marginv-section); }
	}

	div.insights-homepage1 {
		margin:0; padding:0;

		span.pdf-link-svg-container svg { width:0.5em !important; height:0.5em !important; }
		span.offsite-link-svg-container svg { width:0.5em !important; height:0.5em !important; }

		div.insightlink {

			:is(img, svg):not(:is(.offsite-link-svg-container *)) { display:none; }
			div.insightlink-cat { font-size:var(--wp--preset--font-size--fontsize-18); line-height:var(--wp--preset--line-height--fontsize-18); }
			div.insightlink-title { font-family:"Playfair Display", serif; }
			div.insightlink-dateauth { font-size:var(--wp--preset--font-size--fontsize-18); line-height:var(--wp--preset--line-height--fontsize-18); }

			@media (max-width: 781px) {
				min-height:unset; box-sizing:border-box; padding:calc(var(--site-px, 1px) * 30) calc(var(--pagemargin-x) - 2px) calc(var(--site-px, 1px) * 30) calc(var(--pagemargin-x) - 2px);
			}

			@media not (max-width: 781px) {
				min-height:calc(var(--site-px, 1px) * 430); box-sizing:border-box; padding:var(--marginv-section) calc(var(--pagemargin-x) - 2px) calc(var(--marginv-section) + var(--site-px, 1px) * 50) calc(var(--pagemargin-x) - 2px);
			}

			div.insightlink-title {
				max-width:75%; padding-top:calc(var(--site-px, 1px) * 30); padding-bottom:calc(var(--site-px, 1px) * 30);
				@media (max-width: 781px) { max-width:unset; }
			}

			:is(img, svg):not(:is(.offsite-link-svg-container *)) { display:none; }

		}
	}

	div.insights-homepage2 {
		padding-top:var(--marginv-button);

		@media (max-width: 781px) {
			padding-top:calc(var(--site-px, 1px) * 15);
			--marginv-citation:calc(var(--site-px, 1px) * 40);
		}

		div.insightlink {
			border-bottom:1px solid var(--wp--preset--color--deep-teal);

			&:first-child { border-top:1px solid var(--wp--preset--color--deep-teal); }
			:is(img, svg):not(:is(.offsite-link-svg-container *)) { display:none; }

			div.insightlink-title {
				padding-top:calc(var(--site-px, 1px) * 15);
			}
		}

		&.leo-insights-tile-list + p:empty { display:none; }
	}

	div.wp-block-group.dropimage-left-high {

		@media not (max-width: 781px) {
			margin-top:var(--marginv-section); padding-bottom:var(--marginv-section); box-sizing:border-box; min-height:calc(var(--site-px, 1px) * 640); margin-bottom:calc(var(--marginv-section) + var(--site-px, 1px) * 90);

			h2 {
				padding-top:calc(var(--marginv-section) + var(--site-px) * 60); padding-bottom:0;
			}

			div.wp-block-buttons { padding-top:var(--marginv-button); }

			div.wp-block-column:first-child {
				figure {
					position:absolute; left:0; width:calc(50% - var(--marginh-columngap) / 2); max-width:unset; height:100%; overflow:hidden; padding-top:var(--marginv-headeroverhang);

					img, svg { width: 100%; height:100%; object-fit:cover; object-position:center; }
				}
			}

			& + div.wp-block-group div.wp-block-column:first-child { padding-top:calc(var(--site-px, 1px) * 512); }

			@media (max-width:1280px) {
				& + .wp-block-columns {
					.has-fontsize-140-font-size { font-size:calc(var(--wp--preset--font-size--fontsize-140) * 0.9) !important; line-height:1; }
					.has-fontsize-32-font-size { font-size:calc(var(--wp--preset--font-size--fontsize-32) * 0.8) !important; line-height:1.2; }
				}
			}
			@media (max-width:1100px) {
				& + .wp-block-columns {
					.has-fontsize-140-font-size { font-size:calc(var(--wp--preset--font-size--fontsize-140) * 0.8) !important; line-height:1; }
					.has-fontsize-32-font-size { font-size:calc(var(--wp--preset--font-size--fontsize-32) * 0.7) !important; line-height:1.2; }
				}
			}
		}

		@media (max-width: 781px) {
			margin-bottom:var(--marginv-section); margin-top:var(--marginv-section);

			div.wp-block-buttons { padding-bottom:var(--marginv-section); }

			h2 { padding-top:calc(var(--site-px, 1px) * 7); padding-bottom:calc(var(--site-px, 1px) * 7); }

			div.wp-block-column:first-child { margin-left:calc(0px - var(--pagemargin-x)); margin-right:0px; margin-top:0px; }
		}
	}
}



body.page-template-insights-page, body.archive.tag {

	@media not (max-width: 781px) {
		div.leo-header-block-with-image {
			display:flex; flex-direction:row-reverse; justify-content:space-between;

			div.leo-header-block-img { position:initial; height:unset; min-height:calc(var(--site-px, 1px) * 620); }
		}
	}

	div.insights-landing {
		padding-top:calc(var(--site-px, 1px) * 30);
		margin:0 var(--pagemargin-x);

		form.insights-landing-form {

			@media (max-width: 781px) {
				select {
					width:100%;
					font-family: var(--wp--preset--font-family--work-sans);
					font-size: var(--wp--preset--font-size--fontsize-16);
					line-height: var(--wp--preset--line-height--fontsize-16);
					color: var(--wp--preset--color--deep-teal);
					border: 1px solid var(--wp--preset--color--deep-teal);
					padding: 0 3.5em 0 1em;
					min-height:3.5em;
					margin-bottom:calc(var(--site-px, 1px) * 30);
				}

				div.insights-landing-reset {
					font-size: var(--wp--preset--font-size--fontsize-18) !important;
					line-height: var(--wp--preset--line-height--fontsize-18);
					font-weight: 500;
					text-align:right;
					padding-bottom:calc(var(--site-px, 1px) * 30);

					a { text-decoration:underline; }
				}
			}

			@media not (max-width: 781px) {
				padding:calc(var(--site-px, 1px) * 30) 0 calc(var(--site-px, 1px) * 30) 0;

				div.insights-landing-form-selects {
					display:flex; flex-direction:row; gap:var(--marginh-columngap); justify-content:space-between;

					div.ts-wrapper { flex-grow:1; flex-basis:calc(50% - var(--site-px, 1px) * 40 / 2); flex-shrink:0; }
				}

				div.insights-landing-reset { text-align:right; padding-top:calc(var(--site-px, 1px) * 30); text-decoration:underline; font-weight:500; font-size: var(--wp--preset--font-size--fontsize-18) !important; }
			}

		}
	}

	@media (max-width: 781px) {
		div.insightlink-cat { display:none; }
		div.leo-tabsection-content-section[data-tabid="0"] { display:none; }
		div.leo-tabsection-content-section.leo-tabsection-link-empty:not([data-tabid="0"]) { display:none; }
		
		span.leo-tabsection-accordion-body-inner.leo-insights-tile-list { padding-bottom:var(--marginv-section) !important; }
	}

	span.leo-insights-tile-list {

		div[data-tile-mode="hidden"] { display:none; }

		&[data-list-mode="complete"] {
			a.insights-button-more { display:none; }
			a.insights-button-less { display:none; }
			span.insights-noresults { display:none; }
		}

		&[data-list-mode="none"] {
			&:is(div.leo-tabsection-content-section[data-tabid="0"] &) { display:none; }
			a.insights-button-more { display:none; }
			a.insights-button-less { display:none; }
			span.insights-noresults { display:block; }
			div[data-tile-mode="short"] { display:none; }
			div[data-tile-mode="long"] { display:none; }
		}

		&[data-list-mode="short"] {
			a.insights-button-more { display:block; }
			a.insights-button-less { display:none; }
			span.insights-noresults { display:none; }
		}

		&[data-list-mode="long"] {
			a.insights-button-more { display:none; }
			a.insights-button-less { display:block; }
			span.insights-noresults { display:none; }
		}
	}
}



body.page-template-people-page {
	form.people-list-form {
		margin-left:var(--pagemargin-x); margin-right:var(--pagemargin-x);

		div.people-list-form-inputs {

			display:flex; flex-direction:row; gap:var(--marginh-peoplecolumngap);

			@media (max-width: 781px) { flex-direction:column; gap:calc(var(--site-px, 1px) * 30); }

			>span {

				position:relative; color:var(--wp--preset--color--deep-teal);

				&:first-child { flex-grow:1; flex-shrink:1; flex-basis:57.4%; }
				&:last-child { flex-grow:1; flex-shrink:1; flex-basis:40.3%; }
				span.people-list-label { position:absolute; pointer-events:none; top:0; left:0; width:100%; height:100%; display:flex; flex-direction:row; align-items:center; justify-content:space-between; padding:0 1.1em 0 0.9em; box-sizing:border-box; }
				img, svg { height:42%; width:auto; }
				input { padding-right:2em; }
				input, select {
					width:100%; font-size:inherit; line-height:inherit; box-sizing:border-box; min-height:3.5em; padding:0 3.5em 0 0.9em; margin:0; border:1px solid var(--wp--preset--color--deep-teal); color:inherit;
					&:not(.empty) + span > label { opacity:0; }
				}
				select {
					padding-left:1em;
					&:focus + span > label { opacity:0; }
				}
				label { color:#4d7882; white-space:nowrap; }
				@media (max-width: 781px) { label, input, select { font-size:var(--wp--preset--font-size--fontsize-16); line-height:var(--wp--preset--line-height--fontsize-16); }}
			}
		}
		div.people-list-reset {
			text-align:right; font-size:var(--wp--preset--font-size--fontsize-18) !important; line-height:var(--wp--preset--line-height--fontsize-18); font-weight:500; padding-top:calc(var(--site-px, 1px) * 30); color:var(--wp--preset--color--deep-teal);
			a { text-decoration:underline; }
		}
		div.people-list-count {
			font-weight:500; padding-bottom:calc(var(--site-px, 1px) * 30);

			@media (max-width: 781px) { padding-top:calc(var(--site-px, 1px) * 30); padding-bottom:calc(var(--site-px, 1px) * 15); }
		}
	}
}



body.people-template-default {
	h2:not([class*='has-fontsize']) { font-size:var(--h3-size); line-height:var(--h3-line-height); font-family:var(--h3-family); font-weight:var(--h3-weight); color:var(--h3-color); font-style:var(--h3-style); }
	h3:not([class*='has-fontsize']) { font-size:var(--h4-size); line-height:var(--h4-line-height); font-family:var(--h4-family); font-weight:var(--h4-weight); color:var(--h4-color); font-style:var(--h4-style);
		@media not (max-width: 781px) {

			&:not(:is(.leo-tabsection-sidebar *)):not(:is(:is(div.ts-wrapper, div.personinsightblock.personinsightblock-hidden) + div.personinsightblock h3)):not(:is(span.leo-tabsection-accordion-body-inner > div.personinsightblock h3)):not(:is(div.personinsightblock:has(div.insightlink:last-child) + div.personinsightblock h3)) {
				border-top:1px solid var(--wp--preset--color--deep-teal); padding-top:var(--marginv-button); margin-top:var(--marginv-button);
			}
		}
	}
	h4:not([class*='has-fontsize']) { font-size:var(--h5-size); line-height:var(--h5-line-height); font-family:var(--h5-family); font-weight:var(--h5-weight); color:var(--h5-color); font-style:var(--h5-style); }
	h5:not([class*='has-fontsize']) { font-size:var(--h6-size); line-height:var(--h6-line-height); font-family:var(--h6-family); font-weight:var(--h6-weight); color:var(--h6-color); font-style:var(--h6-style); }
	h6:not([class*='has-fontsize']) { font-size:var(--h7-size); line-height:var(--h7-line-height); font-family:var(--h7-family); font-weight:var(--h7-weight); color:var(--h7-color); font-style:var(--h7-style); }

	div.person-top {
		margin-left:var(--pagemargin-x); margin-right:var(--pagemargin-x);
	}

	div.person-header {
		margin:calc(var(--site-px, 1px) * 72) var(--pagemargin-x) calc(var(--site-px, 1px) * 90) var(--pagemargin-x);
		position:relative; min-height:calc(var(--site-px, 1px) * 530); color:var(--wp--preset--color--deep-teal);

		@media (max-width: 781px) { display:flex; flex-direction:column-reverse; margin-bottom:var(--marginv-section); margin-top:var(--marginv-section); }
		
		div.person-header-body {
			div.person-header-buttons a {
				span.offsite-link-svg-container { display:none; }
				span.pdf-link-svg-container { display:none; }
			}
			
			@media not (max-width: 781px) {

				width:calc(100% - calc(var(--site-px, 1px) * 570));

				h1 { font-size:var(--wp--preset--font-size--fontsize-72) !important; line-height:var(--wp--preset--line-height--fontsize-72); font-weight:500; margin:0; padding-top:calc(var(--site-px, 1px) * 67); }

				div.person-header-jobtitle { font-size:var(--wp--preset--font-size--fontsize-24) !important; line-height:var(--wp--preset--line-height--fontsize-24); font-weight:500; padding-top:calc(var(--site-px, 1px) * 10); }

				div.person-header-buttons {
					display:flex; flex-direction:row; gap:1em; padding-top:calc(var(--site-px, 1px) * 36); user-select:none;

					a {
						text-decoration:none; color:inherit; display:flex; flex-direction:row; white-space:nowrap; align-items:center; gap:1em; border:1px solid var(--wp--preset--color--deep-teal); min-width:10em; justify-content:space-between; padding:1em; font-weight:500; font-size:var(--wp--preset--font-size--fontsize-24); line-height:var(--wp--preset--line-height--fontsize-24);

						img, svg { width:1.5em; height:auto; }
					}
				}

				div.person-header-contact-title { padding-top:calc(var(--site-px, 1px) * 37); font-size:var(--wp--preset--font-size--fontsize-28); line-height:var(--wp--preset--line-height--fontsize-28); font-weight:500; padding-bottom:calc(var(--site-px, 1px) * 20); }

				div.person-header-contact-row {
					display:flex; flex-direction:row; border-top:1px solid var(--wp--preset--color--deep-teal) !important; font-size:var(--wp--preset--font-size--fontsize-24) !important; line-height:var(--wp--preset--line-height--fontsize-24); font-weight:500;

					a {
						text-decoration:none; color:inherit; display:flex; flex-direction:row; white-space:nowrap; align-items:center; padding:1em 0; gap:0.5em; flex-grow:1;

						&:not(:first-child) { padding-left:1em; }

						&:not(:last-child) { padding-right:1em; border-right:1px solid var(--wp--preset--color--deep-teal) !important; }

						img, svg { width:1.1em; height:auto; }

						span {}
					}
				}
			}
			@media (max-width: 781px) {
				h1 { font-size:var(--wp--preset--font-size--fontsize-72) !important; line-height:var(--wp--preset--line-height--fontsize-72); font-weight:500; margin:0; padding-top:calc(var(--site-px, 1px) * 34); }

				div.person-header-jobtitle { font-weight:500; padding-top:calc(var(--site-px, 1px) * 14); }

				div.person-header-buttons {
					display:flex; flex-direction:column; gap:var(--marginh-columngap); padding-top:var(--marginv-button); user-select:none;
					a {
						text-decoration:none; color:inherit; display:flex; flex-direction:row; white-space:nowrap; align-items:center; border:1px solid var(--wp--preset--color--deep-teal); min-width:10em; justify-content:space-between; padding:calc(var(--site-px, 1px) * 11) calc(var(--site-px, 1px) * 18); font-weight:500; overflow:hidden;
						span {}
						img, svg { width:1.1em; height:auto; }
					}
				}

				div.person-header-contact-title { padding-top:var(--marginv-section); font-size:var(--wp--preset--font-size--fontsize-24) !important; line-height:var(--wp--preset--line-height--fontsize-24); font-weight:500; padding-bottom:calc(var(--site-px, 1px) * 14); border-bottom:1px solid var(--wp--preset--color--deep-teal); }

				div.person-header-contact-row {
					font-weight:500; padding-top:calc(var(--site-px, 1px) * 20); display:flex; flex-direction:column; gap:calc(var(--site-px, 1px) * 16);

					a {
						text-decoration:none; display:flex; flex-direction:row; gap:0.5em; align-items:center;
						img, svg { width:1.4em; height:auto; }
					}
				}
			}
		}
		div.person-header-img {
			&:has(.person-random-background-layer):not(:has(.person-random-background-layer-set)) { visibility:hidden; }

			@media not (max-width: 781px) {
				div { width:calc(var(--site-px, 1px) * 430); height:calc(var(--site-px, 1px) * 430); }
				div.person-header-img-bg { position:absolute; right:0; top:0; background-color:var(--wp--preset--color--light-stone); }
				div.person-random-background-layer { position:absolute; right:calc(var(--site-px, 1px) * 100); top:calc(var(--site-px, 1px) * 100); background-color:var(--wp--preset--color--deep-teal); }
				div.person-header-img-fg { position:absolute; right:calc(var(--site-px, 1px) * 100); top:calc(var(--site-px, 1px) * 100); }
			}
			@media (max-width: 781px) {
				div.person-header-img-bg { position:absolute; margin-left:calc(var(--site-px, 1px) * 70); width:calc(var(--site-width) - 1 * var(--pagemargin-x) - var(--site-px, 1px) * 70); height:calc(var(--site-width) - 1 * var(--pagemargin-x) - var(--site-px, 1px) * 70); background-color:var(--wp--preset--color--light-stone); z-index:1; }
				div.person-random-background-layer { margin-top:calc(var(--site-px, 1px) * 30); width:calc(var(--site-width) - 2 * var(--pagemargin-x)); height:calc(var(--site-width) - 2 * var(--pagemargin-x)); background-color:var(--wp--preset--color--deep-teal); position:absolute; z-index:2; }
				div.person-header-img-fg { margin-top:calc(var(--site-px, 1px) * 30); width:calc(var(--site-width) - 2 * var(--pagemargin-x)); height:calc(var(--site-width) - 2 * var(--pagemargin-x)); position:relative; z-index:2; }
			}
		}
	}

	div.people-expertise-links {
		white-space:normal;
	}

	div.leo-tabsection-content-section {
		&:has(span.personinsightblock-header) {
		
			span.leo-tabsection-accordion-body-outer { margin-top:0; }
		
			select {
				width: 100%;
				padding: 1em 2em;
				color: var(--wp--preset--color--deep-teal);
				border-color: var(--wp--preset--color--deep-teal);
				margin-bottom: 2em;
			}
			.personinsightblock-hidden { display:none; }
			@media not (max-width: 781px) {
				h2 { display:none; }
				h3:not([class*='has-fontsize']) { font-size:var(--h3-size) !important; line-height:var(--h3-line-height) !important; font-family:var(--h3-family) !important; font-weight:var(--h3-weight) !important; color:var(--h3-color) !important; font-style:var(--h3-style) !important; }
				h4:not([class*='has-fontsize']) { font-size:var(--h4-size) !important; line-height:var(--h4-line-height) !important; font-family:var(--h4-family) !important; font-weight:var(--h4-weight) !important; color:var(--h4-color) !important; font-style:var(--h4-style) !important; }
				h5:not([class*='has-fontsize']) { font-size:var(--h5-size) !important; line-height:var(--h5-line-height) !important; font-family:var(--h5-family) !important; font-weight:var(--h5-weight) !important; color:var(--h5-color) !important; font-style:var(--h5-style) !important; }
				h6:not([class*='has-fontsize']) { font-size:var(--h6-size) !important; line-height:var(--h6-line-height) !important; font-family:var(--h6-family) !important; font-weight:var(--h6-weight) !important; color:var(--h6-color) !important; font-style:var(--h6-style) !important; }

				div.personinsightblock {
					&:not(.personinsightblock-hidden) + div.personinsightblock { padding-top:var(--marginv-section); }
				}
			}
			@media (max-width: 781px) {
				div.personinsightblock:not(.personinsightblock-hidden) + div.personinsightblock { padding-top:var(--marginv-section); }
			}
		}
		&:not(:has(span.personinsightblock-header)) {
			div.citation-group-buttons {
				@media (max-width: 781px) {
					padding-bottom:var(--marginv-button);
				}
			}
		}
	}


	.leo-tabsection-accordion-body-inner div[data-insightblockid] :is(ul,li) { list-style-type:none; margin:0 !important; }
	.leo-tabsection-accordion-body-inner div[data-insightblockid] li { padding:calc(var(--site-px, 1px) * 30) 0; border-bottom:1px solid var(--wp--preset--color--deep-teal);
		font-size: var(--wp--preset--font-size--fontsize-28);
		line-height: var(--wp--preset--line-height--fontsize-28);
	}
	.leo-tabsection-accordion-body-inner div[data-insightblockid] ul { padding:0; }
}



body.post-template-default {
	main {
		div.wp-block-group.dropimage-right-low-insights {

			@media not (max-width: 1000px) {
				position:relative; margin:0; padding:0;

				div.wp-block-column {

					&:last-child {
						position:absolute; top:0; left:0; width:100%; height:100%; pointer-events:none;

						figure {
							position:absolute; top:calc(100% - var(--marginv-headeroverhang)); right:0; width:calc(50% - var(--marginh-columngap) / 2); max-width: unset; aspect-ratio:1880 / 1220; overflow:hidden;

							img, svg { width: 100%; height:100%; object-fit:cover; object-position:center; }
						}
					}
				}

				& + div.wp-block-group div.wp-block-columns {
					div.wp-block-column:last-child { padding-top:calc(var(--site-px, 1px) * 512); }
				}
			}

			@media (max-width: 1000px) {
				margin-top:0; padding:0;

				div.wp-block-columns { display:block; }

				div.wp-block-column {

					&:last-child {
						padding-bottom:calc(var(--site-px, 1px) * 90);
						@media (max-width: 781px) {
							padding-bottom:var(--marginh-columngap);
						}


						figure {
							position:absolute; top:calc(100% - var(--site-px, 1px) * 90); width:calc(100% - var(--pagemargin-x)); max-width: unset; aspect-ratio:1880 / 1220; overflow:hidden; padding-top:calc(var(--site-px, 1px) * 26);

							@media (max-width: 781px) {
								top: calc(100% - var(--site-px, 1px) * 39);
								right: 0;
								padding-top: 0;
							}

							img, svg { width: 100%; height:100%; object-fit:cover; object-position:center; }
						}
					}
				}

				& + div.wp-block-group {

					div.wp-block-columns { display:block !important; }

					margin-top:calc(0% - var(--site-px, 1px) * (90 - 26) + (100% - var(--pagemargin-x)) / 1024 * 664 + var(--pagemargin-x));
					padding-top:0vw;
				}
			}
		}
		div.blog-cat { padding:calc(var(--site-px, 1px) * 40) var(--pagemargin-x) 0 var(--pagemargin-x); box-sizing:border-box; text-transform:uppercase; }

		h1 { padding:0 var(--pagemargin-x); box-sizing:border-box; }

		h1.with-image {
			display:flex; padding-right:0 !important; gap:var(--marginh-columngap); align-items:center;
			img { flex-basis:calc(var(--site-px, 1px) * 940); flex-shrink:0; flex-grow:0; align-self:start; }
		}
		div.blog-tags { padding:2em var(--pagemargin-x); box-sizing:border-box; }
		div.blog-share {
			padding:2em var(--pagemargin-x) 2em var(--pagemargin-x); box-sizing:border-box;

			span.offsite-link-svg-container { display:none; }
			span.pdf-link-svg-container { display:none; }
			a {
				&:not(.button) { display:inline-block; svg { display:block; } }
				&.button {
					margin-left:1em;
					text-decoration:none; color:inherit; display:inline-flex; flex-direction:row; white-space:nowrap; align-items:center; gap:1em; border:1px solid var(--wp--preset--color--deep-teal); min-width:10em; justify-content:space-between; padding:1em; font-weight:500; font-size:var(--wp--preset--font-size--fontsize-24); line-height:var(--wp--preset--line-height--fontsize-24);
					&:not(:hover) { color:var(--wp--preset--color--deep-teal); }

					img, svg { width:1.5em; height:auto; display:inline-block !important; }
				}
			}
		}
		div.people-grid-title, div.blog-services {
			padding:0 calc(var(--pagemargin-x) + var(--marginh-columngap) / 2 + var(--marginh-columnleft) / 2); box-sizing:border-box;
			@media (max-width: 781px) {
				padding:0 calc(var(--pagemargin-x));
			}
		}

		div.blog-services { padding-top:3em; }
		div.blog-body {
			padding:0 calc(var(--pagemargin-x) + var(--marginh-columngap) / 2 + var(--marginh-columnleft) / 2) 0;

			@media (max-width: 781px) {
				padding:0 calc(var(--pagemargin-x));
			}
			box-sizing:border-box;

			&:is(.blog-container.media *) { padding:0 var(--pagemargin-x) 0; }
			a { text-decoration:underline; }
		}

		div.people-grid-title { font-size:var(--h3-size); line-height:var(--h3-line-height); font-family:var(--h3-family); font-weight:var(--h3-weight); color:var(--h3-color); font-style:var(--h3-style); padding-top:0.5em; padding-bottom:0.2em; }
		div.people-grid {
			padding:0 calc(var(--pagemargin-x) + var(--marginh-columngap) / 2 + var(--marginh-columnleft) / 2);
			@media (max-width: 781px) {
				padding:0 calc(var(--pagemargin-x));
			}
		}

		h2 { padding:2em var(--pagemargin-x) calc(var(--site-px) * 30 + 1.2rem) var(--pagemargin-x); }
		div.carousel.blog-carousel {
			padding:0 var(--pagemargin-x) 2em var(--pagemargin-x); box-sizing:border-box; background-color:var(--wp--preset--color--light-stone);

			div.carousel-slide { padding:2px; box-sizing:border-box; }

			div.insightlink {
				padding-bottom:2em; border:none; margin:0;

				&.insightlink-with-image > img { display:none; }
			}
		}
	}
}



body.services-template-default {
	h2:not([class*='has-fontsize']) { font-size:var(--h3-size); line-height:var(--h3-line-height); font-family:var(--h3-family); font-weight:var(--h3-weight); color:var(--h3-color); font-style:var(--h3-style); }
	h3:not([class*='has-fontsize']) {
		font-size:var(--h4-size); line-height:var(--h4-line-height); font-family:var(--h4-family); font-weight:var(--h4-weight); color:var(--h4-color); font-style:var(--h4-style);


		&:not(:is(.leo-tabsection-sidebar *)):not(:is(.wp-block-accordion-item > :first-child)):not(:is(.wp-block-accordion-item > :first-child *)) {
			border-top:1px solid var(--wp--preset--color--deep-teal); padding-top:var(--marginv-button); margin-top:var(--marginv-button);
		}


	}
	h4:not([class*='has-fontsize']) { font-size:var(--h5-size); line-height:var(--h5-line-height); font-family:var(--h5-family); font-weight:var(--h5-weight); color:var(--h5-color); font-style:var(--h5-style); }
	h5:not([class*='has-fontsize']) { font-size:var(--h6-size); line-height:var(--h6-line-height); font-family:var(--h6-family); font-weight:var(--h6-weight); color:var(--h6-color); font-style:var(--h6-style); }
	h6:not([class*='has-fontsize']) { font-size:var(--h7-size); line-height:var(--h7-line-height); font-family:var(--h7-family); font-weight:var(--h7-weight); color:var(--h7-color); font-style:var(--h7-style); }

	.leo-tabsection { padding-top:calc(var(--marginv-section) + var(--marginv-headeroverhang)); }
	.people-grid { margin-top:var(--marginh-peoplecolumngap); }
}



body.page-template-services-page {
	.leo-header-block-left { width:80% !important; }
	div.services-page {
		@media not (max-width: 781px) { width:calc(100% - var(--marginh-columngap) - var(--marginh-columnleft)); margin:0 auto; }

		p:first-child { border-top:1px solid var(--wp--preset--color--deep-teal); }
		p:has(a:first-child:last-child) {
			font-size:var(--wp--preset--font-size--fontsize-36); line-height:var(--wp--preset--line-height--fontsize-36); border-bottom:1px solid var(--wp--preset--color--deep-teal); margin:0; padding:0.0em 0; position:relative;

			a { display:block; padding:0.5em 0; }

			&:has(strong) {
				& a span { display:block; padding-right:2em; }
				&::after { content:''; position:absolute; right:0; top:calc(50% - 0.5em); background:url('assets/major-service.svg') right center no-repeat; width:1em; height:1em; background-size:contain; }
				&:hover a { color:var(--hovercolor); }
				&:hover::after { background-image:url('assets/major-service-hover.svg'); pointer-events:none; }
			}
		}
	}
}



/*
**
** page-specific rules end
**
******/

} /* elevate priority of everything in this block, end */