/******/
/*** SECTIONS ***/
/******/

.site-main > section[id] { scroll-margin-top: var(--nav-height); }
.page-template-default .site-main,
.blog .site-main,
.archive .site-main,
.error404 .site-main { padding-top: var(--nav-height); }
.password-form { min-height: 60vh; align-items: center; }

.short-rule {
	display: block;
	width: 4.5rem;
	height: 0.0625rem;
	margin: 2rem auto;
	background: currentColor;
}

.media-placeholder {
	display: flex;
	height: 100%;
	min-height: 18rem;
	align-items: center;
	justify-content: center;
	background:
		linear-gradient(135deg, transparent 49.8%, color-mix(in srgb, currentColor 14%, transparent) 50%, transparent 50.2%),
		color-mix(in srgb, currentColor 5%, transparent);
	color: color-mix(in srgb, currentColor 50%, transparent);
}

.media-placeholder span {
	font-family: var(--type-mono);
	font-size: var(--text-p-xs);
	letter-spacing: var(--tracking-wide);
	text-transform: uppercase;
}

/* INTRO */

.home-intro {
	min-height: 100svh;
	display: flex;
	flex-direction: column;
	overflow: clip;
}

.home-intro__inner {
	min-height: calc(100svh - 1.9rem);
	padding-top: calc(var(--nav-height) + 2rem);
	flex: 1 1 auto;
}

.home-intro__art {
	position: absolute;
	inset: 0;
	background-image: var(--intro-art, none);
	background-position: center;
	background-size: cover;
	pointer-events: none;
	opacity: 0.55;
}

.home-intro:not([style]) .home-intro__art::before,
.home-intro:not([style]) .home-intro__art::after {
	content: "";
	position: absolute;
	border: 0.0625rem solid color-mix(in srgb, var(--color-heritage-brown) 32%, transparent);
	border-radius: 50%;
}

.home-intro:not([style]) .home-intro__art::before { width: 85vw; height: 130vh; right: -42vw; top: -58vh; transform: rotate(-24deg); }
.home-intro:not([style]) .home-intro__art::after { width: 95vw; height: 90vh; right: -52vw; bottom: -42vh; transform: rotate(34deg); }
.home-intro__headline { position: relative; z-index: 1; }
.home-intro__meta { position: relative; z-index: 1; margin-top: auto; }

.intro-inner .services-intro__form .gform_wrapper p.gform_description {
	font-size: var(--text-p-sm);
}

/* LOCATION TICKER */

.locations-ticker {
	position: relative;
	height: 1.9rem;
	border-block: 0.0625rem solid currentColor;
	overflow: hidden;
	z-index: 2;
	padding: .5rem 0;
}

.locations-ticker__track,
.locations-ticker__group {
	display: flex;
	width: max-content;
	align-items: center;
	flex: none;
}

.locations-ticker__item {
	display: inline-flex;
	align-items: center;
	padding-inline: 0.6rem;
	font-family: var(--type-mono);
	font-size: var(--text-p-sm);
	letter-spacing: var(--tracking-wide);
	line-height: 1;
	text-transform: uppercase;
	white-space: nowrap;
}

.locations-ticker__item > span {
	display: block;
	width: clamp(2.5rem, 5vw, 5rem);
	height: 0.0625rem;
	background: currentColor;
}

/* ANIMATED STATEMENT */

.text-animated__statement > p {
	line-height: 1.12;
	letter-spacing: var(--tracking-tight);
}

.text-animated__statement > p em {
	font-size: 180%;
	line-height: 55.56%;
	padding-inline-start: .75rem;
}
.word-reveal__word { opacity: var(--word-opacity, 0.14); transition: opacity 90ms linear; }

/* IMAGE + TEXT */

.image-text__media { min-height: clamp(36rem, 68vw, 64rem); }
.image-text__image { height: 100%; object-fit: cover; }
.image-text__content { border-radius: 0; }
.image-text__content .button-container { justify-content: center; }

/* INTRO */

.intro-inner .rich-text img {
	max-width: 9rem;
	margin-bottom: var(--gap-24);
}

/* TEXT FORM */

.text-form__content > .eyebrow,
.text-form__content > h2 { text-align: center; }
.text-form__content > h2 {
	margin-bottom: var(--gap-32);
	padding-bottom: var(--gap-32);
	border-bottom: 0.0625rem solid currentColor;
}
.text-form__form { margin-top: var(--gap-48); }

/* LEGALESE */

.heading-border-bottom *:is(h1, h2, h3) {
	padding-bottom: var(--gap-48);
	border-bottom: 0.0625rem solid currentColor;
	text-align: center;
	margin-bottom: var(--gap-48);
}

.legalese__links {
	padding-top: var(--gap-48);
	gap: var(--gap-24);
}

/* WORLD MAP */

.world-map__stage {
	height: min(70rem, 82vw);
	min-height: 48rem;
	overflow: clip;
}

.world-map__heading {
	position: absolute;
	top: 7%;
	left: 50%;
	margin: 0;
	transform: translateX(-50%);
}

.world-map__canvas {
	position: absolute;
	inset: 8% -3% 0;
	display: flex;
	align-items: center;
	justify-content: center;
}

.world-map__svg { height: 100%; overflow: visible; }
.world-map__svg path { stroke: color-mix(in srgb, var(--color-confident-charcoal) 24%, transparent); stroke-width: 0.48; transition: fill 180ms ease; }
.world-map__svg #us path:not(.map-borders) { stroke: none; }
.world-map__svg .is-active { fill: var(--color-light-stone); cursor: pointer; }
.world-map__svg g.is-active:hover path:not(.map-borders),
.world-map__svg g.is-active:focus path:not(.map-borders),
.world-map__svg g.is-active:focus-within path:not(.map-borders),
.world-map__svg path.is-active:hover,
.world-map__svg path.is-active:focus { fill: var(--color-heritage-brown); }
.world-map__svg .marker { fill: var(--color-heritage-brown); stroke: var(--color-light-stone); stroke-width: 0.65; }
.world-map__svg .marker-ring { fill: none; stroke: var(--color-heritage-brown); stroke-width: 0.7; opacity: 0.55; }

.world-map__callout {
	position: absolute;
	left: var(--map-callout-x, 49%);
	top: var(--map-callout-y, 57%);
	display: flex;
	min-width: 11rem;
	padding: 0 0 1.75rem;
	align-items: center;
	flex-direction: column;
	text-align: center;
	transform: translate(-50%, -100%);
	pointer-events: none;
	z-index: 2;
}
.world-map__callout[hidden] { display: none; }

.world-map__callout::before {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 0.2rem;
	height: 1.2rem;
	border-left: 0.0625rem solid currentColor;
	transform: translateX(-50%);
}

.world-map__callout::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 0;
	width: 0.58rem;
	height: 0.58rem;
	border: 0.0625rem solid currentColor;
	border-radius: 50%;
	transform: translate(-50%, 50%);
}

.world-map__scribble {
	--map-parallax-y: 0px;
	position: absolute;
	right: 11%;
	bottom: 16%;
	max-width: 16ch;
	font-family: var(--type-accent);
	line-height: 0.9;
	text-align: center;
	transform: translate3d(0, var(--map-parallax-y), 0) rotate(-7deg);
	z-index: 2;
}

.world-map__copy { row-gap: var(--gap-32); }

/* HORIZONTAL MARKET GALLERIES */

.locked-horizontal__inner { display: block; }
.market-group__frame .market-group-heading { border-top: 0.0625rem solid currentColor; }
.market-group-heading .grid-80 { max-width: 78%; }
.market-gallery-lock { position: relative; height: var(--lock-height, 100vh); }
.market-gallery-sticky { position: sticky; top: 0; height: 100svh; overflow: hidden; }
.market-group__frame { display: flex; height: 100%; flex-direction: column; justify-content: center; padding-inline: clamp(1.5rem, 4vw, 3rem); }
.market-gallery-viewport { position: relative; left: 50%; width: 100vw; overflow: hidden; transform: translateX(-50%); }
.market-gallery-track {
	--market-gallery-height: clamp(19rem, calc(100svh - 22rem), 44rem);
	display: flex;
	width: max-content;
	height: var(--market-gallery-height);
	align-items: flex-start;
	gap: var(--gap-16);
	padding-inline: clamp(1.5rem, 4vw, 3rem);
	will-change: transform;
}
.market-card { display: flex; width: clamp(18rem, 31vw, 34rem); height: 84%; margin: 0; flex: none; flex-direction: column; }
.market-card--1 { width: clamp(19rem, 38vw, 42rem); height: 68%; }
.market-card--2 { width: clamp(17rem, 24vw, 28rem); height: 100%; }
.market-card__media { height: auto; min-height: 0; flex: 1 1 auto; filter: grayscale(1); overflow: hidden; }
.market-card__media img { height: 100%; object-fit: cover; }
.market-card__media .media-placeholder { min-height: 100%; }
.market-card figcaption { padding-top: 0.75rem; }


/* NEWS */

.news { overflow: clip; }
.news__heading { display: flex; flex-direction: column; align-items: center; padding-bottom: 3rem; }
.news__heading h2 { max-width: 14ch; }
.news-slider { overflow: visible; }
.news-card__meta { padding: 0.6rem 0 0.6rem 0.75rem; border-left: 0.0625rem solid currentColor; }
.news-slider .swiper-button-prev,
.news-slider .swiper-button-next { width: 2.5rem; height: 2.5rem; border: 0.0625rem solid currentColor; border-radius: 50%; color: currentColor; background: var(--color-growth-sage); }
.news .swiper a {
	text-decoration: none;
}

/* FINRA */

.finra .padding-container { border-radius: 0; }
.finra__content { padding-left: clamp(1rem, 3vw, 3rem); border-left: 0.0625rem solid currentColor; }
.finra__content .button { margin-top: 1rem; }

/* FOOTER */

.site-footer { overflow: clip; }
.site-footer .grid-container-full { align-items: flex-start; }
.footer-mark { min-height: 4rem; }
.footer-tagline h3 { color: var(--color-clarity-stone); }
.footer-navigation { display: flex; align-items: flex-start; }
.footer-menu-group { flex: 1 1 0; min-width: 0; }
.footer-menu-group__toggle,
.footer-menu-group > .eyebrow {
	display: flex;
	padding: 0 0 0.75rem;
	border: 0;
	background: transparent;
	color: var(--color-venture-orange);
	font-family: var(--type-mono);
	font-size: var(--text-p-xs);
	letter-spacing: var(--tracking-wide);
	text-align: left;
	text-transform: uppercase;
}
.footer-menu-group__toggle { cursor: default; }
.footer-menu-group__icon { display: none; margin-left: auto; }
.footer-menu-group__links { margin: 0; padding: 0; list-style: none; }
.footer-menu-group__links li + li { margin-top: 0.55rem; }
.footer-menu-group__links a,
.footer-menu-group__standalone { color: var(--color-clarity-stone); font-family: var(--type-mono); font-size: var(--text-p-xs); letter-spacing: var(--tracking-wide); text-decoration: none; text-transform: uppercase; }
.footer-newsletter .eyebrow { color: var(--color-venture-orange); margin-bottom: 0.75rem; }
.footer-newsletter__note { margin-top: 1rem; opacity: 0.7; }
.footer-bottom { margin-top: 2rem; padding-top: 1rem; border-top: 0.0625rem solid color-mix(in srgb, currentColor 75%, transparent); }
.footer-utility { margin: 0; padding: 0; list-style: none; }
.footer-utility a { font-family: var(--type-mono); font-size: var(--text-p-xs); letter-spacing: var(--tracking-wide); text-decoration: none; text-transform: uppercase; }

/* TEXT CTA */

.text-cta .grid-100 {
	background-size: cover;
}

.text-image-cta {
	padding-bottom: 1rem;
}

/* CTA THIRDS */

.cta-thirds .grid-container-full > div {
	background-size: cover;
}

@media screen and (max-width: 64rem) {
	.home-intro__headline { max-width: 70%; }
	.world-map__stage { min-height: 42rem; }
	.footer-navigation { margin-left: 0; max-width: 60%; min-width: 60%; }
	.footer-newsletter { max-width: 35%; min-width: 35%; }
}

@media screen and (min-width: 48rem) {
	
	/* CTA THIRDS */
	
	.cta-thirds .padding-container {
		min-height: 37.5rem;
	}
	
	/* TITLE TEXT COLUMNS */
	
	.title-text-columns .columns-container {
		border-top: solid 0.0625rem currentColor;
	}
	
	.title-text-columns .columns-container > div {
		border-right: solid 0.0625rem currentColor;
		padding-right: 1.5rem;
	}
	
	.title-text-columns .columns-container > div:nth-child(4n+4) {
		border-right: none!important;
	}
	
}

@media screen and (max-width: 47.999rem) {
	.home-intro__inner { min-height: calc(100svh - 1.9rem); padding-top: calc(var(--nav-height) + 2rem); }
	.home-intro__headline { max-width: 100%; min-height: 35vh; justify-content: flex-start; }
	.home-intro__meta { gap: var(--gap-16); }
	.home-intro__meta .grid-33 { min-width: 100%; justify-content: center; }
	.home-intro__meta .grid-33:first-child,
	.home-intro__meta .grid-33:last-child { width: auto; min-width: 0; max-width: 48%; }
	.home-intro__meta .grid-33:first-child { align-self: flex-start; }
	.home-intro__meta .grid-33:last-child { align-self: flex-end; margin-top: -2.25rem; }
	.home-intro__meta .grid-33:last-child p { text-align: right; }

	.text-animated__statement .button-container { justify-content: center; }
	.image-text .grid-container-full { gap: 0; }
	.image-text__media { min-height: 0; aspect-ratio: 1 / 0.82; }
	.image-text__content { padding-block: 4rem; }
	
	.text-form { padding-top: 4rem; }

	.world-map__stage { height: 38rem; min-height: 0; }
	.world-map__heading { top: 8%; line-height: 0.88; }
	.world-map__canvas { inset: 17% -43% 7%; }
	.world-map__callout { min-width: 8rem; }
	.world-map__scribble { right: 6%; bottom: 13%; max-width: 12ch; }
	.world-map__copy .grid-70 { margin-inline: 0; }

	.market-group__frame { display: block; height: auto; }
	.market-group-heading { gap: var(--gap-24); }
	.market-group-heading .grid-80 { max-width: 100%; }
	.market-gallery-lock { height: auto !important; }
	.market-gallery-sticky { position: static; height: auto; }
	.market-gallery-viewport { margin-top: 2rem; overflow-x: auto; scroll-padding-inline: 1.5rem; scroll-snap-type: x mandatory; scrollbar-width: thin; }
	.market-gallery-track { --market-gallery-height: clamp(24rem, 105vw, 34rem); transform: none !important; will-change: auto; scrollbar-width: none; }
	.market-gallery-track::-webkit-scrollbar { display: none; }
	.market-card,
	.market-card--1,
	.market-card--2 { width: 72vw; scroll-snap-align: center; }

	.news__heading { margin-inline: 0; }
	.news-slider .news-card { width: 100%; min-width: 100%; max-width: 100%; }
	.news-card__media { height: 15rem; }
	.finra .grid-container-full { padding-inline: 0.75rem; }
	.finra__content { padding: 1.5rem 0 0; border-top: 0.0625rem solid currentColor; border-left: 0; }
	
	/* TITLE TEXT COLUMNS */
	
	/* TITLE TEXT COLUMNS */
	
	.title-text-columns .columns-container > div {
		border-bottom: solid 0.0625rem currentColor;
	}
	
	.title-text-columns .columns-container > div:last-child {
		border-bottom: none!important;
	}
	
	/* FOOTER */

	.site-footer .grid-container-full { gap: var(--gap-32); }
	.footer-mark,
	.footer-tagline,
	.footer-navigation,
	.footer-newsletter { max-width: 100%; min-width: 100%; margin: 0; }
	.footer-navigation { flex-direction: column; }
	.footer-menu-group { border-top: 0.0625rem solid var(--color-venture-orange); }
	.footer-menu-group__toggle { padding-block: 0.75rem; cursor: pointer; }
	.footer-menu-group__icon {
		display: block;
		width: 1.5rem;
		height: 1.5rem;
		flex: 0 0 1.5rem;
		background: url("../images/accordion-carrot.svg") center / contain no-repeat;
		transition: transform 180ms ease;
	}
	.footer-menu-group__toggle[aria-expanded="true"] .footer-menu-group__icon { transform: rotate(180deg); }
	.footer-menu-group__links { display: none; padding-bottom: 1rem; }
	.footer-menu-group__toggle[aria-expanded="true"] + .footer-menu-group__links { display: block; }
	.footer-menu-group > .eyebrow + .footer-menu-group__links { display: block; }
	.footer-utility { flex-wrap: wrap; }
	.footer-menu-group { min-width: 100%; }
}
