/*
 * HTA 2026 design.
 *
 * Loads after hta-design.css, and only while HTA Setup → 2026 Design is on
 * (the body then carries .hta-v2). Turning the design off removes this file,
 * and the previous look returns untouched.
 *
 * Direction: a cinematic drone-footage hero, then photo-led editorial bands.
 * Playfair Display headings with italic accents, Montserrat for UI and body,
 * Caveat for the handwritten line. The HTA navy and the client's yellow
 * (#FEEC59, instruction of 2 Sept 2026) carry the brand. Yellow is only ever
 * text on dark grounds or a fill behind dark text; on white, the darker
 * #B58900 is used for yellow-looking text.
 *
 * Specificity: hta-design.css uses body.hta-site.hta-site (0-3-1) with
 * !important in places, so rules here start from body.hta-v2.hta-v2.hta-v2.
 */

body.hta-v2 {
	--v2-navy: #073B75;
	--v2-navy-dk: #031A3F;
	--v2-yellow: #FEEC59;
	--v2-yellow-ink: #8A6A00;
	--v2-green: #23802F;
	--v2-teal: #06767F;
	--v2-paper: #FBFAF6;
	--v2-sand: #F1EDE3;
	--v2-white: #FFFFFF;
	--v2-ink: #171717;
	--v2-muted: #5A6470;
	--v2-line: #E2DED3;
	--v2-serif: "Playfair Display", Georgia, "Times New Roman", serif;
	--v2-sans: "Montserrat", system-ui, -apple-system, "Segoe UI", sans-serif;
	--v2-script: "Caveat", "Segoe Print", cursive;
	--v2-r: 4px;
	--v2-g: clamp(16px, 3vw, 56px);
	--v2-max: 1720px;
	--v2-ease: cubic-bezier(.2, .75, .2, 1);
	--v2-util: 38px;

	/* Feed the existing theme's font variables, so every rule it already
	 * has picks up the new faces without being restated here. */
	--hta-head: var(--v2-serif);
	--hta-body: "Poppins", system-ui, -apple-system, "Segoe UI", sans-serif; /* Paragraph font: Poppins, client request 14 Oct 2026. */
	--hta-script: var(--v2-script);

	background: var(--v2-paper);
	color: var(--v2-ink);
}

body.hta-v2 #page-container,
body.hta-v2 #main-content,
body.hta-v2 .et_pb_section { background-color: transparent; }
body.hta-v2 #main-content { background: var(--v2-paper); }

/* --- Type ----------------------------------------------------------- */

body.hta-v2.hta-v2.hta-v2 :is(h1, h2, h3, h4, h5, h6),
body.hta-v2.hta-v2.hta-v2 #page-container :is(h1, h2, h3, h4, h5, h6) {
	font-family: var(--v2-serif) !important;
	text-transform: none !important;
	letter-spacing: -.01em;
	font-weight: 500;
	line-height: 1.05;
	color: var(--v2-navy);
	text-wrap: balance;
	padding-bottom: 0;
}
body.hta-v2 :is(h1, h2, h3) em { font-style: italic; color: var(--v2-yellow-ink); }
body.hta-v2 .hta2-text h2 { font-size: clamp(38px, 4.6vw, 68px); }
body.hta-v2 .hta2-text h3 { font-size: clamp(22px, 2vw, 28px); }
body.hta-v2 .hta2-text p { padding-bottom: 0; }

body.hta-v2 .hta2-kicker {
	font: 600 12px/1 var(--v2-sans) !important;
	letter-spacing: .28em;
	text-transform: uppercase;
	color: var(--v2-teal);
	display: inline-flex;
	align-items: center;
	gap: 14px;
	margin-bottom: 18px;
}
body.hta-v2 .hta2-kicker::after { content: ""; width: 40px; height: 1px; background: currentColor; }
body.hta-v2 .hta2-lede { color: var(--v2-muted); font-size: 17px; line-height: 1.7; max-width: 56ch; }
body.hta-v2.hta-v2.hta-v2 .hta2-script { font: 600 clamp(26px, 2.6vw, 34px)/1.1 var(--v2-script) !important; color: var(--v2-yellow-ink); }
body.hta-v2 .hta2-center { text-align: center; }
body.hta-v2 .hta2-note { color: var(--v2-muted); }
body.hta-v2 .hta2-todo { color: var(--v2-yellow-ink); border-bottom: 1px dashed currentColor; }

/* --- Section rhythm and the wide grid -------------------------------- */

body.hta-v2 .hta2-sec.et_pb_section { padding: 0; }
body.hta-v2 .hta2-pad.et_pb_section { padding: clamp(80px, 10vw, 140px) 0; }
body.hta-v2 .hta2-top0.et_pb_section { padding-top: 0; }
body.hta-v2 .hta2-row.et_pb_row {
	width: 100%;
	max-width: var(--v2-max);
	padding: 0 var(--v2-g);
	box-sizing: border-box;
}
body.hta-v2 .hta2-row.et_pb_row + .hta2-row.et_pb_row { margin-top: 28px; }
body.hta-v2 .hta2-sec .et_pb_module { margin-bottom: 0; }
body.hta-v2 .hta2-sec .et_pb_column .et_pb_module + .et_pb_module { margin-top: 0; }

body.hta-v2 .hta2-shead {
	display: grid;
	grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr);
	gap: 20px 64px;
	align-items: end;
	margin-bottom: clamp(32px, 4vw, 56px);
}
@media (max-width: 860px) { body.hta-v2 .hta2-shead { grid-template-columns: 1fr; } }

body.hta-v2 .hta2-endrow .et_pb_column {
	display: flex;
	flex-wrap: wrap;
	gap: 16px 28px;
	align-items: center;
	justify-content: space-between;
}

/* --- Buttons ---------------------------------------------------------- */

body.hta-v2.hta-v2.hta-v2 #page-container .et_pb_section .hta2-btn.et_pb_button,
body.hta-v2.hta-v2.hta-v2 .hta2-btn.et_pb_button {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	font: 600 13px/1 var(--v2-sans) !important;
	letter-spacing: .16em !important;
	text-transform: uppercase;
	padding: 19px 30px !important;
	border-radius: var(--v2-r) !important;
	border: 0 !important;
	position: relative;
	overflow: hidden;
	isolation: isolate;
	transition: color .35s var(--v2-ease) !important;
}
body.hta-v2 .hta2-btn.et_pb_button::after { content: "\2192" !important; font-family: var(--v2-sans) !important; position: static !important; opacity: 1 !important; margin: 0 !important; font-size: 15px !important; line-height: 1 !important; display: inline-block; transition: transform .35s var(--v2-ease); }
body.hta-v2 .hta2-btn.et_pb_button:hover::after { transform: translateX(5px); }
body.hta-v2 .hta2-btn.et_pb_button::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: var(--v2-navy-dk);
	transform: scaleX(0);
	transform-origin: right;
	transition: transform .45s var(--v2-ease);
}
body.hta-v2 .hta2-btn.et_pb_button:hover::before { transform: scaleX(1); transform-origin: left; }

body.hta-v2.hta-v2.hta-v2 .hta2-btn--gold.et_pb_button { background: var(--v2-yellow) !important; color: var(--v2-ink) !important; }
body.hta-v2.hta-v2.hta-v2 .hta2-btn--gold.et_pb_button:hover { color: #fff !important; }
body.hta-v2.hta-v2.hta-v2 .hta2-btn--line.et_pb_button { background: transparent !important; color: #fff !important; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .7); }
body.hta-v2 .hta2-btn--line.et_pb_button::before { background: #fff; }
body.hta-v2.hta-v2.hta-v2 .hta2-btn--line.et_pb_button:hover { color: var(--v2-navy) !important; }
body.hta-v2.hta-v2.hta-v2 .hta2-btn--navy.et_pb_button { background: var(--v2-navy) !important; color: #fff !important; }

body.hta-v2.hta-v2.hta-v2 .hta2-btn--link.et_pb_button {
	background: transparent !important;
	color: var(--v2-navy) !important;
	padding: 0 0 6px !important;
	border-bottom: 1px solid currentColor !important;
	border-radius: 0 !important;
	font-size: 12px !important;
	letter-spacing: .2em !important;
}
body.hta-v2 .hta2-btn--link.et_pb_button::before { display: none; }
body.hta-v2 .hta2-dark .hta2-btn--link.et_pb_button,
body.hta-v2 .hta2-join .hta2-btn--link.et_pb_button { color: var(--v2-yellow) !important; }

/* Buttons that sit side by side. */
body.hta-v2 .et_pb_button_module_wrapper:has(> .hta2-inline) { display: inline-block; margin: 0 12px 12px 0 !important; }
body.hta-v2 .hta2-intro__body .et_pb_button_module_wrapper,
body.hta-v2 .hta2-adv__body .et_pb_button_module_wrapper,
body.hta-v2 .hta2-opps__list .et_pb_button_module_wrapper { margin-top: 26px !important; }

/* --- Utility bar and the Divi header --------------------------------- */

body.hta-v2 .hta2-util {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	z-index: 100000;
	height: var(--v2-util);
	color: rgba(255, 255, 255, .85);
	font: 500 12px/1 var(--v2-sans);
	letter-spacing: .08em;
	border-bottom: 1px solid rgba(255, 255, 255, .18);
}
body.admin-bar.hta-v2 .hta2-util { top: 32px; }
body.hta-v2 .hta2-util__in {
	max-width: var(--v2-max);
	margin: 0 auto;
	padding: 0 var(--v2-g);
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}
body.hta-v2 .hta2-util a { color: inherit; text-decoration: none; }
body.hta-v2 .hta2-util a:hover { color: var(--v2-yellow); }
body.hta-v2 .hta2-util__r { display: flex; gap: 24px; }
body.hta-v2:not(.hta2-overlay) .hta2-util { display: none; }
@media (max-width: 640px) { body.hta-v2 .hta2-util__l { display: none; } body.hta-v2 .hta2-util__in { justify-content: flex-end; } }

body.hta-v2.hta-v2.hta-v2 #main-header {
	transition: transform .45s var(--v2-ease), background-color .35s, top .35s, box-shadow .35s;
	border-bottom: 1px solid var(--v2-line);
	box-shadow: none;
}
body.hta-v2.hta-v2.hta-v2 #main-header .container {
	width: 100%;
	max-width: var(--v2-max);
	padding: 0 var(--v2-g);
	box-sizing: border-box;
	display: flex;
	align-items: center;
	gap: 24px;
	height: auto !important;
	min-height: 84px;
}
body.hta-v2.hta-v2.hta-v2 #main-header .logo_container {
	position: relative !important;
	width: auto !important;
	height: auto !important;
	display: flex;
	align-items: center;
	padding: 10px 0;
}
body.hta-v2.hta-v2.hta-v2 #main-header .logo_container .logo_helper { display: none; }
body.hta-v2.hta-v2.hta-v2 #logo {
	max-height: none !important;
	height: 92px !important;
	width: auto !important;
	background: #fff;
	padding: 4px;
	border-radius: 4px;
	transition: height .35s var(--v2-ease) !important;
}
body.hta-v2.hta-v2.hta-v2 #main-header.et-fixed-header #logo,
body.hta-v2.hta-v2.hta-v2.hta-scrolled #logo { height: 64px !important; }
body.hta-v2.hta-v2.hta-v2 #et-top-navigation {
	float: none !important;
	margin-left: auto;
	padding: 0 !important;
	display: flex;
	align-items: center;
}
body.hta-v2.hta-v2.hta-v2 #top-menu-nav,
body.hta-v2.hta-v2.hta-v2 #top-menu { display: flex; align-items: center; }
body.hta-v2.hta-v2.hta-v2 #top-menu > li { padding-right: 0 !important; margin-left: 26px; }
body.hta-v2.hta-v2.hta-v2 #top-menu > li > a {
	font: 600 12px/1 var(--v2-sans) !important;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--v2-ink) !important;
	padding: 12px 0 !important;
}
body.hta-v2.hta-v2.hta-v2 #top-menu > li > a::before { background: var(--v2-yellow); height: 2px; bottom: 4px; }
body.hta-v2.hta-v2.hta-v2 #top-menu li.current-menu-item > a,
body.hta-v2.hta-v2.hta-v2 #top-menu li a:hover { color: var(--v2-navy) !important; }

/* Members Area dropdown. */
body.hta-v2.hta-v2.hta-v2 #top-menu li ul.sub-menu {
	background: #fff;
	border: 0;
	border-radius: var(--v2-r);
	box-shadow: 0 24px 50px -20px rgba(3, 26, 63, .45);
	padding: 12px;
	width: 270px;
}
body.hta-v2.hta-v2.hta-v2 #top-menu li li { padding: 0; width: 100%; }
body.hta-v2.hta-v2.hta-v2 #top-menu li li a {
	width: 100%;
	color: var(--v2-ink) !important;
	font: 600 12px/1.3 var(--v2-sans) !important;
	letter-spacing: .08em;
	text-transform: uppercase;
	padding: 12px 12px !important;
	border-radius: 3px;
}
body.hta-v2.hta-v2.hta-v2 #top-menu li li a:hover { background: var(--v2-sand); color: var(--v2-navy) !important; }

/* Become a Member, in the menu. */
body.hta-v2.hta-v2.hta-v2 #top-menu li.hta-nav-cta { margin-left: 28px; }
body.hta-v2.hta-v2.hta-v2 #top-menu li.hta-nav-cta > a {
	background: var(--v2-yellow) !important;
	color: var(--v2-ink) !important;
	border: 0 !important;
	border-radius: var(--v2-r) !important;
	padding: 16px 22px !important;
	letter-spacing: .16em;
}
body.hta-v2.hta-v2.hta-v2 #top-menu li.hta-nav-cta > a:hover { background: var(--v2-navy-dk) !important; color: #fff !important; }

/* Transparent header over the hero photo or video. */
body.hta-v2.hta2-overlay #page-container { padding-top: 0 !important; }
body.hta-v2.hta-v2.hta-v2.hta2-overlay #main-header:not(.et-fixed-header) {
	top: var(--v2-util);
	background: transparent !important;
	border-bottom-color: rgba(255, 255, 255, .18);
}
body.hta-v2.hta-v2.hta-v2.hta2-overlay.admin-bar #main-header:not(.et-fixed-header) { top: calc(32px + var(--v2-util)); }
body.hta-v2.hta-v2.hta-v2.hta2-overlay #main-header:not(.et-fixed-header) #top-menu > li:not(.hta-nav-cta) > a { color: #fff !important; }
body.hta-v2.hta-v2.hta-v2.hta2-overlay #main-header:not(.et-fixed-header) .mobile_menu_bar::before { color: #fff !important; }
body.hta-v2.hta-v2.hta-v2 #main-header.et-fixed-header { background: #fff !important; }
body.hta-v2.hta-v2.hta-v2 #main-header.hta2-hide { transform: translateY(-115%); }

@media (max-width: 1180px) {
	body.hta-v2.hta-v2.hta-v2 #top-menu > li { margin-left: 18px; }
	body.hta-v2.hta-v2.hta-v2 #top-menu > li > a { font-size: 11px !important; letter-spacing: .1em; }
}
@media (max-width: 980px) {
	body.hta-v2.hta-v2.hta-v2 #logo { height: 68px !important; }
	body.hta-v2.hta-v2.hta-v2 #main-header.et-fixed-header #logo { height: 54px !important; }
	body.hta-v2.hta-v2.hta-v2 #et_mobile_nav_menu { margin-left: auto; }
	/* Clear the utility bar on phones, and push the hero copy below the header. */
	body.hta-v2.hta-v2.hta-v2.hta2-overlay #main-header:not(.et-fixed-header) { top: var(--v2-util) !important; }
	body.hta-v2 .hta2-hero .et_pb_row { padding-top: 170px !important; }
	body.hta-v2.hta-v2.hta-v2 .et_mobile_menu { border-top-color: var(--v2-yellow); }
}

/* Hand the header to the mobile menu below 1100px. The flex rules above outrank Divi's own hide,
   and the full menu runs out of room before Divi's 980px switch. Keep the logo from being squeezed. */
body.hta-v2.hta-v2.hta-v2 .logo_container { flex-shrink: 0; }
body.hta-v2.hta-v2.hta-v2 #logo { max-width: none !important; }
/* Divi draws the search icon below a zero-height box; give it a real box so it centres on the menu row.
   The -2px lifts the lens to line up, since the handle hangs below it. */
body.hta-v2.hta-v2.hta-v2 #et_top_search { display: flex; align-items: center; height: 30px; }
body.hta-v2.hta-v2.hta-v2 #et_search_icon { display: block; position: relative; width: 17px; height: 17px; }
body.hta-v2.hta-v2.hta-v2 #et_search_icon::before { top: -2px; left: 0; line-height: 17px; }
body.hta-v2.hta-v2.hta-v2.hta2-overlay #main-header:not(.et-fixed-header) #et_search_icon::before { color: #fff; }
@media (max-width: 1100px) {
	body.hta-v2.hta-v2.hta-v2 #top-menu-nav { display: none !important; }
	body.hta-v2.hta-v2.hta-v2 #et_mobile_nav_menu { display: block; margin-left: auto; }
	body.hta-v2.hta-v2.hta-v2 #et_mobile_nav_menu .mobile_menu_bar { padding-bottom: 0; display: block; }
	/* Drop the open menu from the bottom of the header, not the bottom of the button, so it no longer covers the logo. */
	body.hta-v2.hta-v2.hta-v2 #et_mobile_nav_menu .mobile_nav,
	body.hta-v2.hta-v2.hta-v2 #et-top-navigation { position: static; }
	body.hta-v2.hta-v2.hta-v2 #main-header .container { position: relative; }
	body.hta-v2.hta-v2.hta-v2 #main-header .et_mobile_menu { top: 100%; left: 0; right: 0; width: 100%; box-sizing: border-box; }
	/* Show a close icon while the menu is open. */
	body.hta-v2.hta-v2.hta-v2 .mobile_nav.opened .mobile_menu_bar::before { content: "\4d"; }
	body.hta-v2.hta-v2.hta-v2 #et_top_search { margin: 0 18px 0 0 !important; float: none; }
}

/* --- Homepage hero ---------------------------------------------------- */

body.hta-v2 .hta2-hero.et_pb_section {
	min-height: min(100svh, 1000px);
	min-height: 640px;
	display: flex;
	align-items: flex-end;
	color: #fff;
	position: relative;
	isolation: isolate;
	overflow: hidden;
}
@supports (height: 100svh) { body.hta-v2 .hta2-hero.et_pb_section { min-height: max(640px, min(100svh, 1000px)); } }
body.hta-v2 .hta2-hero.et_pb_section::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background: linear-gradient(180deg, rgba(3, 26, 63, .62) 0%, rgba(3, 26, 63, .08) 30%, rgba(3, 26, 63, .15) 55%, rgba(3, 22, 50, .86) 100%);
}
body.hta-v2 .hta2-hero .et_pb_row { position: relative; z-index: 2; padding-bottom: clamp(110px, 14vh, 160px) !important; }
body.hta-v2 .hta2-hero__text h1 {
	font-size: clamp(38px, 5.4vw, 80px) !important;
	color: #fff !important;
	max-width: 20ch;
	line-height: 1.02 !important;
	margin: 14px 0 22px;
}
body.hta-v2 .hta2-hero__text h1 em { color: var(--v2-yellow); }
body.hta-v2 .hta2-hero .hta2-script { color: var(--v2-yellow); }
body.hta-v2 .hta2-tagline { font: 600 clamp(11px, 1.1vw, 13px)/1.6 var(--v2-sans) !important; letter-spacing: .3em; text-transform: uppercase; display: flex; flex-wrap: wrap; gap: 6px 18px; color: #fff; }
body.hta-v2 .hta2-tagline span:not(:last-child)::after { content: "/"; margin-left: 18px; color: var(--v2-yellow); }
body.hta-v2 .hta2-hero .hta2-copy { max-width: 56ch; color: rgba(255, 255, 255, .9); font-size: 17px; margin: 22px 0 30px; }
body.hta-v2 .hta2-coords {
	position: absolute;
	right: 0;
	bottom: 260px;
	transform: rotate(90deg);
	transform-origin: right bottom;
	font: 500 11px/1 var(--v2-sans);
	letter-spacing: .35em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, .7);
	white-space: nowrap;
}
body.hta-v2 .hta2-cue { position: absolute; left: 50%; bottom: -120px; width: 1px; height: 48px; background: rgba(255, 255, 255, .35); overflow: hidden; }
body.hta-v2 .hta2-cue::after { content: ""; position: absolute; left: 0; top: -50%; width: 1px; height: 50%; background: #fff; animation: hta2-cue 2.2s var(--v2-ease) infinite; }
@keyframes hta2-cue { to { top: 100%; } }
@media (max-width: 900px) { body.hta-v2 .hta2-coords { display: none; } }

/* Hero text rises in on load. */
body.hta-v2 .hta2-hero .et_pb_module { animation: hta2-up 1.1s var(--v2-ease) both; }
body.hta-v2 .hta2-hero .et_pb_module:nth-child(2) { animation-delay: .15s; }
body.hta-v2 .hta2-hero .et_pb_module:nth-child(n+3) { animation-delay: .3s; }
@keyframes hta2-up { from { opacity: .001; transform: translateY(30px); } }

/* --- Inner page hero -------------------------------------------------- */

body.hta-v2 .hta2-phero.et_pb_section {
	min-height: min(620px, 74svh);
	display: flex;
	align-items: flex-end;
	position: relative;
	isolation: isolate;
	overflow: hidden;
}
body.hta-v2 .hta2-phero.et_pb_section::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background: linear-gradient(180deg, rgba(3, 26, 63, .72) 0%, rgba(3, 26, 63, .2) 40%, rgba(3, 22, 50, .88) 100%);
}
body.hta-v2 .hta2-phero .et_pb_row { position: relative; z-index: 2; padding-top: 200px !important; padding-bottom: 72px !important; }
body.hta-v2 .hta2-phero h1 { font-size: clamp(44px, 6.4vw, 96px) !important; color: #fff !important; max-width: 17ch; margin: 16px 0 18px; }
body.hta-v2 .hta2-phero h1 em { color: var(--v2-yellow); }
body.hta-v2 .hta2-phero .hta2-copy { color: rgba(255, 255, 255, .9); max-width: 60ch; font-size: 18px; margin-bottom: 24px; }
body.hta-v2 .hta2-badge { display: inline-block; background: rgba(254, 236, 89, .16); color: var(--v2-yellow); font: 600 11px/1 var(--v2-sans) !important; letter-spacing: .2em; text-transform: uppercase; padding: 9px 12px; border-radius: 2px; }
body.hta-v2 .hta2-crumb,
body.hta-v2 .hta2-crumb * { color: rgba(255, 255, 255, .78) !important; font: 600 11px/1.4 var(--v2-sans) !important; letter-spacing: .22em; text-transform: uppercase; }
body.hta-v2 .hta2-crumb a:hover { color: var(--v2-yellow) !important; }
body.hta-v2 .hta2-phero .et_pb_row,
body.hta-v2 .hta2-phero .et_pb_module { animation: hta2-up 1s var(--v2-ease) both; }

/* --- Member finder ---------------------------------------------------- */

body.hta-v2 .hta2-finder-sec.et_pb_section { position: relative; z-index: 5; margin-top: -58px; }
body.hta-v2 .hta2-finder {
	display: grid;
	grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr) minmax(0, 1fr) auto;
	background: #fff;
	box-shadow: 0 30px 60px -30px rgba(3, 26, 63, .45);
	border-radius: var(--v2-r);
	overflow: hidden;
}
body.hta-v2 .hta2-finder label {
	padding: 20px 26px;
	border-right: 1px solid var(--v2-line);
	display: grid;
	gap: 6px;
	font: 600 11px/1 var(--v2-sans) !important;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--v2-teal);
	margin: 0;
}
body.hta-v2 .hta2-finder input,
body.hta-v2 .hta2-finder select {
	border: 0 !important;
	background: transparent !important;
	font: 500 16px/1.4 var(--v2-sans) !important;
	color: var(--v2-ink);
	padding: 0 !important;
	width: 100%;
	min-width: 0;
	letter-spacing: 0;
	text-transform: none;
	box-shadow: none !important;
}
body.hta-v2 .hta2-finder input:focus,
body.hta-v2 .hta2-finder select:focus { outline: none; }
body.hta-v2 .hta2-finder label:focus-within { background: var(--v2-sand); }
body.hta-v2 .hta2-finder button {
	border: 0;
	background: var(--v2-navy);
	color: #fff;
	font: 600 13px/1 var(--v2-sans) !important;
	letter-spacing: .18em;
	text-transform: uppercase;
	padding: 0 40px;
	cursor: pointer;
	transition: background .3s;
}
body.hta-v2 .hta2-finder button:hover { background: var(--v2-navy-dk); }
@media (max-width: 860px) {
	body.hta-v2 .hta2-finder { grid-template-columns: 1fr 1fr; }
	body.hta-v2 .hta2-finder label:first-child { grid-column: span 2; border-right: 0; border-bottom: 1px solid var(--v2-line); }
	body.hta-v2 .hta2-finder button { grid-column: span 2; padding: 20px; }
}
@media (max-width: 520px) {
	body.hta-v2 .hta2-finder { grid-template-columns: 1fr; }
	body.hta-v2 .hta2-finder label,
	body.hta-v2 .hta2-finder label:first-child { grid-column: auto; border-right: 0; border-bottom: 1px solid var(--v2-line); }
	body.hta-v2 .hta2-finder button { grid-column: auto; }
}

/* --- Sector marquee --------------------------------------------------- */

body.hta-v2 .hta2-marquee { overflow: hidden; padding-top: clamp(48px, 6vw, 80px); white-space: nowrap; -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
body.hta-v2 .hta2-marquee div { display: inline-flex; gap: 48px; animation: hta2-slide 48s linear infinite; font: italic 500 clamp(34px, 4.4vw, 64px)/1.1 var(--v2-serif); color: var(--v2-navy); }
body.hta-v2 .hta2-marquee span { display: inline-flex; align-items: center; gap: 48px; }
body.hta-v2 .hta2-marquee span::after { content: ""; width: 12px; height: 12px; border-radius: 50%; background: var(--v2-yellow); }
body.hta-v2 .hta2-marquee:hover div { animation-play-state: paused; }
@keyframes hta2-slide { to { transform: translateX(-50%); } }

/* --- About intro ------------------------------------------------------ */

body.hta-v2 .hta2-intro .et_pb_row { display: flex; align-items: center; gap: clamp(40px, 7vw, 110px); }
body.hta-v2 .hta2-intro .et_pb_column { margin-right: 0 !important; width: auto !important; flex: 1 1 0; }
body.hta-v2 .hta2-stack { position: relative; padding: 0 14% 16% 0; }
body.hta-v2 .hta2-stack .a { aspect-ratio: 4/5; object-fit: cover; width: 100%; border-radius: var(--v2-r); }
body.hta-v2 .hta2-stack .b { position: absolute; right: 0; bottom: 0; width: 52%; aspect-ratio: 1; object-fit: cover; border: 10px solid var(--v2-paper); border-radius: var(--v2-r); }
body.hta-v2 .hta2-stack__badge { position: absolute; left: -18px; top: 28px; background: var(--v2-navy); color: #fff; padding: 18px 20px; font: 600 11px/1.5 var(--v2-sans); letter-spacing: .24em; text-transform: uppercase; }
body.hta-v2 .hta2-stack__badge b { display: block; font: 500 34px/1 var(--v2-serif); letter-spacing: 0; }
body.hta-v2 .hta2-intro blockquote { margin: 26px 0; padding: 0 0 0 24px; border-left: 2px solid var(--v2-yellow); font: italic 500 clamp(26px, 2.6vw, 36px)/1.25 var(--v2-serif); color: var(--v2-navy); }
body.hta-v2 .hta2-serve { display: flex; flex-wrap: wrap; gap: 8px 10px; margin: 26px 0; }
body.hta-v2 .hta2-serve span { font: 500 13px/1 var(--v2-sans); padding: 10px 14px; border: 1px solid var(--v2-line); border-radius: 999px; }
@media (max-width: 900px) {
	body.hta-v2 .hta2-intro .et_pb_row { flex-direction: column; align-items: stretch; }
	body.hta-v2 .hta2-stack { max-width: 560px; }
	body.hta-v2 .hta2-stack__badge { left: 0; }
}

/* --- Pillar photo tiles ---------------------------------------------- */

body.hta-v2 .hta2-pillars { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
body.hta-v2 .hta2-pt { position: relative; aspect-ratio: 3/4.4; overflow: hidden; border-radius: var(--v2-r); color: #fff; isolation: isolate; text-decoration: none; display: flex; flex-direction: column; justify-content: flex-end; }
body.hta-v2 .hta2-pt img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; transition: transform 1.2s var(--v2-ease); }
body.hta-v2 .hta2-pt::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(3, 26, 63, .1) 20%, rgba(3, 22, 50, .92) 85%); transition: background .5s; }
body.hta-v2 .hta2-pt:hover img { transform: scale(1.08); }
body.hta-v2 .hta2-pt:hover::before { background: linear-gradient(180deg, rgba(3, 26, 63, .45), rgba(3, 22, 50, .95) 70%); }
body.hta-v2 .hta2-pt__no { position: absolute; top: 22px; left: 24px; font: 600 11px/1 var(--v2-sans); letter-spacing: .28em; color: var(--c); background: rgba(3, 22, 50, .6); padding: 7px 7px 7px 10px; border-radius: 999px; } /* Dark backing: the number sits on bright sky. */
body.hta-v2 .hta2-pt__in { padding: 28px 24px; display: grid; gap: 10px; }
body.hta-v2 .hta2-pt__title { font: 500 clamp(26px, 2.3vw, 32px)/1.05 var(--v2-serif); color: #fff; }
body.hta-v2 .hta2-pt__bar { width: 40px; height: 2px; background: var(--c); transition: width .5s var(--v2-ease); }
body.hta-v2 .hta2-pt:hover .hta2-pt__bar { width: 100%; }
body.hta-v2 .hta2-pt__list { display: grid; gap: 4px; font-size: 14px; color: rgba(255, 255, 255, .86); max-height: 0; opacity: 0; overflow: hidden; transition: max-height .6s var(--v2-ease), opacity .4s; }
body.hta-v2 .hta2-pt:hover .hta2-pt__list,
body.hta-v2 .hta2-pt:focus-visible .hta2-pt__list { max-height: 120px; opacity: 1; }
body.hta-v2 .hta2-pt__go { font: 600 11px/1 var(--v2-sans); letter-spacing: .22em; text-transform: uppercase; color: var(--c); }
body.hta-v2 .hta2-pt.c1 { --c: #8DB8F2; }
body.hta-v2 .hta2-pt.c2 { --c: #7FD08B; }
body.hta-v2 .hta2-pt.c3 { --c: #FEEC59; }
body.hta-v2 .hta2-pt.c4 { --c: #6FD3DB; }
@media (hover: none) { body.hta-v2 .hta2-pt__list { max-height: none; opacity: 1; } }
@media (max-width: 1000px) { body.hta-v2 .hta2-pillars { grid-template-columns: 1fr 1fr; } body.hta-v2 .hta2-pt { aspect-ratio: 4/5; } }
@media (max-width: 540px) { body.hta-v2 .hta2-pillars { grid-template-columns: 1fr; } body.hta-v2 .hta2-pt { aspect-ratio: 4/3.6; } }

/* --- Sector list with hover photo ------------------------------------ */

body.hta-v2 .hta2-sectors { border-top: 1px solid var(--v2-line); }
body.hta-v2 .hta2-sector { display: grid; grid-template-columns: 70px minmax(0, 1fr) minmax(0, 1fr) 40px; gap: 24px; align-items: center; padding: 26px 0; border-bottom: 1px solid var(--v2-line); text-decoration: none; transition: padding .4s var(--v2-ease); }
body.hta-v2 .hta2-sector .n { font: 600 12px/1 var(--v2-sans); letter-spacing: .2em; color: var(--v2-muted); }
body.hta-v2 .hta2-sector__t { font: 500 clamp(28px, 3.4vw, 48px)/1.05 var(--v2-serif); color: var(--v2-navy); letter-spacing: -.01em; transition: color .3s; }
body.hta-v2 .hta2-sector__t em { font-style: italic; color: var(--v2-yellow-ink); }
body.hta-v2 .hta2-sector__d { color: var(--v2-muted); font-size: 15px; }
body.hta-v2 .hta2-sector > p:empty, body.hta-v2 .hta2-sector > br { display: none; }
body.hta-v2 .hta2-arrow { font-size: 22px; color: var(--v2-yellow-ink); justify-self: end; }
body.hta-v2 .hta2-sector:hover { padding-left: 16px; }
body.hta-v2 .hta2-sector:hover .hta2-sector__t { color: var(--v2-yellow-ink); }
body.hta-v2 .hta2-sector:hover .hta2-sector__t em { color: var(--v2-navy); }
body.hta-v2 .hta2-peek { position: fixed; width: 260px; aspect-ratio: 4/5; object-fit: cover; pointer-events: none; border-radius: var(--v2-r); opacity: 0; transform: translate(-50%, -50%) scale(.85) rotate(-4deg); transition: opacity .3s, transform .4s var(--v2-ease); z-index: 50; box-shadow: 0 30px 60px -20px rgba(0, 0, 0, .4); top: 0; left: 0; }
body.hta-v2 .hta2-peek.on { opacity: 1; transform: translate(-50%, -50%) scale(1) rotate(-2deg); }
body.hta-v2 .hta2-peek:not([src]) { display: none; }
@media (max-width: 760px) { body.hta-v2 .hta2-sector { grid-template-columns: 44px minmax(0, 1fr) 24px; } body.hta-v2 .hta2-sector__d, body.hta-v2 .hta2-peek { display: none; } }

/* --- Dark bands ------------------------------------------------------- */

body.hta-v2 .hta2-dark.et_pb_section { background: var(--v2-navy-dk) !important; color: #fff; }
body.hta-v2.hta-v2.hta-v2 .hta2-dark :is(h2, h3) { color: #fff !important; }
body.hta-v2 .hta2-dark :is(h2, h3) em { color: var(--v2-yellow); }
body.hta-v2 .hta2-dark .hta2-kicker { color: var(--v2-yellow); }
body.hta-v2 .hta2-dark .hta2-lede,
body.hta-v2 .hta2-dark p { color: #B4C2D6; }
body.hta-v2 .hta2-dark .hta2-script { color: var(--v2-yellow); }

/* Opportunities on the homepage. */
body.hta-v2 .hta2-opps.et_pb_row { display: flex; gap: 20px; }
body.hta-v2 .hta2-opps .et_pb_column { margin-right: 0 !important; width: auto !important; flex: 1 1 0; }
body.hta-v2 .hta2-feat { position: relative; min-height: 520px; height: 100%; border-radius: var(--v2-r); overflow: hidden; isolation: isolate; display: flex; align-items: flex-end; }
body.hta-v2 .hta2-feat img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; transition: transform 1.2s var(--v2-ease); }
body.hta-v2 .hta2-feat:hover img { transform: scale(1.05); }
body.hta-v2 .hta2-feat::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, transparent 25%, rgba(3, 22, 50, .95)); }
body.hta-v2 .hta2-feat__in { padding: 34px; display: grid; gap: 14px; }
body.hta-v2.hta-v2.hta-v2 .hta2-feat h3 { font-size: clamp(30px, 3vw, 42px); }
body.hta-v2 .hta2-feat p { color: #C9D5E4; max-width: 46ch; }
body.hta-v2 .hta2-tags { display: flex; flex-wrap: wrap; gap: 8px; }
body.hta-v2 .hta2-tag { font: 600 10px/1 var(--v2-sans); letter-spacing: .18em; text-transform: uppercase; padding: 7px 10px; border-radius: 2px; color: var(--v2-yellow-ink); box-shadow: inset 0 0 0 1px currentColor; display: inline-block; }
body.hta-v2 .hta2-dark .hta2-tag,
body.hta-v2 .hta2-feat .hta2-tag,
body.hta-v2 .hta2-ht .hta2-tag { color: var(--v2-yellow); }
body.hta-v2 .hta2-tag--solid { background: rgba(3, 22, 50, .6); color: #fff !important; box-shadow: none; } /* Dark, not white, glass: it sits on bright photos. */
@media (max-width: 920px) { body.hta-v2 .hta2-opps.et_pb_row { flex-direction: column; } body.hta-v2 .hta2-feat { min-height: 420px; } }

/* Strategy-document examples. */
body.hta-v2 .hta2-oex--list { display: grid; }
body.hta-v2 .hta2-oex--list .hta2-oex__item { display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 18px; align-items: start; padding: 24px 6px; border-bottom: 1px solid rgba(255, 255, 255, .14); transition: padding .4s var(--v2-ease), background .3s; }
body.hta-v2 .hta2-oex--list .hta2-oex__item:first-child { border-top: 1px solid rgba(255, 255, 255, .14); }
body.hta-v2 .hta2-oex--list .hta2-oex__item:hover { padding-inline: 18px; background: rgba(255, 255, 255, .04); }
body.hta-v2 .hta2-oex__ic { width: 48px; height: 48px; border-radius: 50%; background: rgba(254, 236, 89, .14); display: grid; place-items: center; }
body.hta-v2 .hta2-oex__ic .hta-i { width: 22px; height: 22px; background-color: var(--v2-yellow); }
body.hta-v2.hta-v2.hta-v2 .hta2-oex h3 { font-size: 24px; margin: 10px 0 6px; }
body.hta-v2 .hta2-oex p { font-size: 14px; }
body.hta-v2 .hta2-oex--grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
body.hta-v2 .hta2-oex--grid .hta2-oex__item { background: #fff; border: 1px solid var(--v2-line); border-radius: var(--v2-r); padding: 30px; display: grid; grid-template-columns: 56px minmax(0, 1fr); gap: 20px; transition: transform .3s var(--v2-ease), border-color .3s; }
body.hta-v2 .hta2-oex--grid .hta2-oex__item:hover { transform: translateY(-3px); border-color: var(--c); }
body.hta-v2 .hta2-oex--grid .hta2-oex__ic { width: 56px; height: 56px; background: var(--c); }
body.hta-v2 .hta2-oex--grid .hta2-oex__ic .hta-i { background-color: #fff; }
body.hta-v2 .hta2-oex--grid p { color: var(--v2-muted); font-size: 15px; }
body.hta-v2 .o1 { --c: #2E7D32; } body.hta-v2 .o2 { --c: #1E5FA8; } body.hta-v2 .o3 { --c: #A07C00; } body.hta-v2 .o4 { --c: #2E8B3A; }
@media (max-width: 820px) { body.hta-v2 .hta2-oex--grid { grid-template-columns: 1fr; } }

body.hta-v2 .hta2-how { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; counter-reset: h; }
body.hta-v2 .hta2-how > div { counter-increment: h; border-top: 2px solid var(--v2-yellow); padding-top: 18px; display: grid; gap: 8px; }
body.hta-v2 .hta2-how > div::before { content: "0" counter(h); font: italic 500 40px/1 var(--v2-serif); color: var(--v2-yellow-ink); }
body.hta-v2 .hta2-how p { color: var(--v2-muted); font-size: 15px; }
@media (max-width: 760px) { body.hta-v2 .hta2-how { grid-template-columns: 1fr; } }

/* --- News categories and subscribe ----------------------------------- */

body.hta-v2 .hta2-ncats { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1px; background: var(--v2-line); border: 1px solid var(--v2-line); border-radius: var(--v2-r); overflow: hidden; margin-top: 28px; }
body.hta-v2 .hta2-nc { background: #fff; padding: 30px 24px 28px; display: grid; gap: 14px; align-content: start; transition: background .3s; }
body.hta-v2 .hta2-nc:hover { background: var(--v2-sand); }
body.hta-v2 .hta2-nc .hta-i { width: 32px; height: 32px; background-color: var(--v2-teal); }
body.hta-v2.hta-v2.hta-v2 .hta2-nc h3 { font-size: 22px; }
body.hta-v2 .hta2-nc p { font-size: 14px; color: var(--v2-muted); }
@media (max-width: 1100px) { body.hta-v2 .hta2-ncats { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 700px) { body.hta-v2 .hta2-ncats { grid-template-columns: 1fr 1fr; } }
@media (max-width: 440px) { body.hta-v2 .hta2-ncats { grid-template-columns: 1fr; } }

body.hta-v2 .hta2-subscribe.et_pb_row { background: var(--v2-sand); border-radius: var(--v2-r); padding: clamp(28px, 4vw, 48px) !important; margin-top: 20px !important; width: calc(100% - 2 * var(--v2-g)); max-width: calc(var(--v2-max) - 2 * var(--v2-g)); display: flex; flex-wrap: wrap; gap: 24px 48px; align-items: center; }
body.hta-v2 .hta2-subscribe .et_pb_column { margin-right: 0 !important; width: auto !important; flex: 1 1 320px; }
body.hta-v2.hta-v2.hta-v2 .hta2-subscribe h3 { font-size: clamp(26px, 2.6vw, 34px); }

/* --- Industry representation band ------------------------------------ */

body.hta-v2 .hta2-adv.et_pb_row { display: flex; padding: 0 !important; width: calc(100% - 2 * var(--v2-g)); max-width: calc(var(--v2-max) - 2 * var(--v2-g)); background: #fff; border: 1px solid var(--v2-line); border-radius: var(--v2-r); overflow: hidden; }
body.hta-v2 .hta2-adv .et_pb_column { margin-right: 0 !important; width: auto !important; flex: 1 1 0; }
body.hta-v2 .hta2-adv__img .et_pb_module,
body.hta-v2 .hta2-adv__img .et_pb_text_inner,
body.hta-v2 .hta2-advimg { height: 100%; }
body.hta-v2 .hta2-advimg { min-height: 440px; position: relative; }
body.hta-v2 .hta2-advimg img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
body.hta-v2 .hta2-adv__body { padding: clamp(32px, 5vw, 64px) !important; }
body.hta-v2 .hta2-adv .hta2-kicker { color: var(--v2-yellow-ink); }
body.hta-v2 .hta2-advlist { list-style: none; margin: 22px 0 0; padding: 0; display: grid; }
body.hta-v2 .hta2-advlist li { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 18px; padding: 16px 0; border-top: 1px solid var(--v2-line); }
body.hta-v2 .hta2-advlist b { font: italic 500 22px/1.2 var(--v2-serif); color: var(--v2-yellow-ink); }
body.hta-v2 .hta2-advlist span { font-size: 15px; color: var(--v2-muted); }
body.hta-v2 .hta2-advlist strong { display: block; color: var(--v2-ink); font-weight: 600; }
@media (max-width: 900px) { body.hta-v2 .hta2-adv.et_pb_row { flex-direction: column; } body.hta-v2 .hta2-advimg { min-height: 300px; } }

/* --- Learning Hub tiles ---------------------------------------------- */

body.hta-v2 .hta2-hub { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 14px; }
body.hta-v2 .hta2-ht { position: relative; overflow: hidden; border-radius: var(--v2-r); min-height: 280px; color: #fff; isolation: isolate; display: flex; align-items: flex-end; text-decoration: none; }
body.hta-v2 .hta2-hub:not(.hta2-hub--three) .hta2-ht:first-child { grid-row: span 2; min-height: 580px; }
body.hta-v2 .hta2-hub--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
body.hta-v2 .hta2-hub--three .hta2-ht { min-height: 360px; }
body.hta-v2 .hta2-ht img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; transition: transform 1.2s var(--v2-ease); }
body.hta-v2 .hta2-ht:hover img { transform: scale(1.06); }
body.hta-v2 .hta2-ht::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, transparent 30%, rgba(2, 40, 46, .92)); }
body.hta-v2 .hta2-ht__in { padding: 30px; display: grid; gap: 8px; justify-items: start; }
body.hta-v2 .hta2-ht__title { font: 500 clamp(24px, 2.2vw, 30px)/1.1 var(--v2-serif); }
body.hta-v2 .hta2-ht__text { color: rgba(255, 255, 255, .86); font-size: 15px; max-width: 42ch; }
body.hta-v2 .hta2-topics { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 30px; }
body.hta-v2 .hta2-topics span { font: 500 14px/1 var(--v2-sans); padding: 12px 18px; border: 1px solid var(--v2-line); border-radius: 999px; background: #fff; transition: border-color .3s, color .3s; }
body.hta-v2 .hta2-topics span:hover { border-color: var(--v2-teal); color: var(--v2-teal); }
@media (max-width: 860px) {
	body.hta-v2 .hta2-hub,
	body.hta-v2 .hta2-hub--three { grid-template-columns: 1fr; }
	body.hta-v2 .hta2-hub:not(.hta2-hub--three) .hta2-ht:first-child { grid-row: auto; min-height: 420px; }
}

/* --- Join band (parallax photo) -------------------------------------- */

body.hta-v2 .hta2-join.et_pb_section { padding: clamp(110px, 14vw, 190px) 0 !important; position: relative; isolation: isolate; color: #fff; }
body.hta-v2 .hta2-join.et_pb_section::after { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: linear-gradient(100deg, rgba(3, 26, 63, .95) 10%, rgba(3, 26, 63, .74) 55%, rgba(3, 26, 63, .38)); }
body.hta-v2 .hta2-join .et_pb_row { position: relative; z-index: 2; display: flex; gap: 56px; align-items: center; }
body.hta-v2 .hta2-join .et_pb_column { margin-right: 0 !important; width: auto !important; }
body.hta-v2 .hta2-join .et_pb_column:first-child { flex: 1.25 1 0; }
body.hta-v2 .hta2-join .et_pb_column:last-child { flex: 1 1 0; }
body.hta-v2.hta-v2.hta-v2 .hta2-join h2 { color: #fff !important; font-size: clamp(46px, 6.4vw, 96px) !important; margin: 12px 0 0; }
body.hta-v2 .hta2-join h2 em { color: var(--v2-yellow); }
body.hta-v2 .hta2-join .hta2-script { color: var(--v2-yellow); }
body.hta-v2 .hta2-join .hta2-copy { color: #D5DFEC; max-width: 50ch; margin: 20px 0 32px; font-size: 17px; }
@media (max-width: 900px) { body.hta-v2 .hta2-join .et_pb_row { flex-direction: column; align-items: stretch; } }

body.hta-v2 .hta2-steps { list-style: none; margin: 0; padding: 0; counter-reset: s; display: grid; }
body.hta-v2 .hta2-steps li { counter-increment: s; display: grid; grid-template-columns: 62px minmax(0, 1fr); gap: 18px; padding: 22px 0; border-top: 1px solid rgba(255, 255, 255, .22); }
body.hta-v2 .hta2-steps li:last-child { border-bottom: 1px solid rgba(255, 255, 255, .22); }
body.hta-v2 .hta2-steps li::before { content: "0" counter(s); font: italic 500 34px/1 var(--v2-serif); color: var(--v2-yellow); }
body.hta-v2 .hta2-steps b { display: block; font-weight: 600; font-size: 16px; color: #fff; }
body.hta-v2 .hta2-steps span { color: #BCCADC; font-size: 14px; }
body.hta-v2 .hta2-steps--light li { border-color: var(--v2-line) !important; }
body.hta-v2 .hta2-steps--light li::before { color: var(--v2-yellow-ink); }
body.hta-v2 .hta2-steps--light b { color: var(--v2-ink); }
body.hta-v2 .hta2-steps--light span { color: var(--v2-muted); }

/* --- About page ------------------------------------------------------- */

body.hta-v2 .hta2-vs { display: grid; grid-template-columns: 1fr 1fr; border: 1px solid var(--v2-line); border-radius: var(--v2-r); overflow: hidden; }
body.hta-v2 .hta2-vs > div { padding: clamp(28px, 4vw, 56px); display: grid; gap: 14px; align-content: start; }
body.hta-v2 .hta2-vs__not { background: var(--v2-sand); }
body.hta-v2 .hta2-vs__yes { background: var(--v2-navy); color: #fff; }
body.hta-v2.hta-v2.hta-v2 .hta2-vs__yes h3 { color: #fff !important; }
body.hta-v2 .hta2-vs__yes p { color: #D5DFEC; }
body.hta-v2 .hta2-vs__lbl { font: 700 11px/1 var(--v2-sans); letter-spacing: .26em; text-transform: uppercase; }
body.hta-v2 .hta2-vs__not .hta2-vs__lbl { color: #A33A2B; }
body.hta-v2 .hta2-vs__yes .hta2-vs__lbl { color: var(--v2-yellow); }
body.hta-v2.hta-v2.hta-v2 .hta2-vs h3 { font-size: clamp(28px, 3vw, 40px); }
@media (max-width: 760px) { body.hta-v2 .hta2-vs { grid-template-columns: 1fr; } }

body.hta-v2 .hta2-silo { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); position: relative; }
body.hta-v2 .hta2-silo::before { content: ""; position: absolute; left: 8%; right: 8%; top: 38px; height: 2px; background: repeating-linear-gradient(90deg, #E8D44A 0 10px, transparent 10px 18px); }
body.hta-v2 .hta2-node { display: grid; justify-items: center; text-align: center; gap: 14px; position: relative; }
body.hta-v2 .hta2-node__dot { width: 78px; height: 78px; border-radius: 50%; background: #fff; border: 2px solid #E8D44A; display: grid; place-items: center; }
body.hta-v2 .hta2-node .hta-i { width: 32px; height: 32px; background-color: var(--v2-navy); }
body.hta-v2 .hta2-node b { font: 500 20px/1.2 var(--v2-serif); color: var(--v2-navy); }
body.hta-v2 .hta2-silo-copy { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; margin-top: 40px; }
body.hta-v2 .hta2-silo-copy p { font-size: 14px; color: var(--v2-muted); border-top: 1px solid var(--v2-line); padding-top: 12px; }
@media (max-width: 900px) { body.hta-v2 .hta2-silo { grid-template-columns: repeat(3, 1fr); row-gap: 32px; } body.hta-v2 .hta2-silo::before { display: none; } body.hta-v2 .hta2-silo-copy { grid-template-columns: 1fr 1fr; } }
@media (max-width: 480px) { body.hta-v2 .hta2-silo { grid-template-columns: repeat(2, 1fr); } body.hta-v2 .hta2-silo-copy { grid-template-columns: 1fr; } }

body.hta-v2 .hta2-pdetail { border-top: 1px solid var(--v2-line); }
body.hta-v2 .hta2-pd { display: grid; grid-template-columns: 110px minmax(0, 1fr) minmax(0, 1.2fr); gap: 32px; padding: 44px 0; border-bottom: 1px solid var(--v2-line); align-items: start; }
body.hta-v2 .hta2-pd__num { font: italic 500 64px/1 var(--v2-serif); color: var(--c); }
body.hta-v2.hta-v2.hta-v2 .hta2-pd h3 { font-size: clamp(30px, 3vw, 42px); }
body.hta-v2 .hta2-pd__role { font: 600 12px/1.5 var(--v2-sans); letter-spacing: .2em; text-transform: uppercase; color: var(--c); margin-top: 12px; }
body.hta-v2 .hta2-pd__intro { color: var(--v2-muted); margin-bottom: 12px; }
body.hta-v2 .hta2-pd ul { margin: 0; padding: 0; list-style: none; columns: 2; column-gap: 28px; }
body.hta-v2 .hta2-pd li { padding: 8px 0 !important; border-bottom: 1px solid var(--v2-line); break-inside: avoid; font-size: 15px; }
body.hta-v2 .hta2-pd li::before { display: none; }
body.hta-v2 .hta2-pd__sect { margin-top: 18px; font-size: 14px; color: var(--v2-muted); }
body.hta-v2 .hta2-pd__sect a { color: var(--c); }
body.hta-v2 .k1 { --c: var(--v2-navy); } body.hta-v2 .k2 { --c: var(--v2-green); } body.hta-v2 .k3 { --c: var(--v2-yellow-ink); } body.hta-v2 .k4 { --c: var(--v2-teal); }
@media (max-width: 860px) { body.hta-v2 .hta2-pd { grid-template-columns: 1fr; gap: 16px; } body.hta-v2 .hta2-pd ul { columns: 1; } }

body.hta-v2 .hta2-outcome { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
body.hta-v2 .hta2-oc { border: 1px solid rgba(255, 255, 255, .2); border-radius: var(--v2-r); padding: 34px 28px; display: grid; gap: 14px; }
body.hta-v2 .hta2-oc b { font: 600 11px/1 var(--v2-sans); letter-spacing: .24em; color: var(--v2-yellow); }
body.hta-v2.hta-v2.hta-v2 .hta2-oc h3 { font-size: clamp(24px, 2.3vw, 32px); }
body.hta-v2 .hta2-outcome + .hta2-script { margin-top: 56px; }
@media (max-width: 820px) { body.hta-v2 .hta2-outcome { grid-template-columns: 1fr; } }

/* --- Membership ------------------------------------------------------- */

body.hta-v2 .hta2-benefits { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
body.hta-v2 .hta2-bf { background: #fff; border: 1px solid var(--v2-line); border-top: 3px solid var(--c); border-radius: var(--v2-r); padding: 28px 24px; display: grid; gap: 12px; align-content: start; }
body.hta-v2 .hta2-bf b { font: 600 11px/1 var(--v2-sans); letter-spacing: .22em; text-transform: uppercase; color: var(--c); }
body.hta-v2 .hta2-bf p { font-size: 15px; color: var(--v2-muted); }
@media (max-width: 1000px) { body.hta-v2 .hta2-benefits { grid-template-columns: 1fr 1fr; } }
@media (max-width: 520px) { body.hta-v2 .hta2-benefits { grid-template-columns: 1fr; } }
body.hta-v2 .hta2-messages { margin-top: 72px; border-block: 1px solid var(--v2-line); }
body.hta-v2 .hta2-messages p { font: italic 500 clamp(26px, 3.4vw, 48px)/1.2 var(--v2-serif) !important; color: var(--v2-navy); padding: 26px 0 !important; border-bottom: 1px solid var(--v2-line); }
body.hta-v2 .hta2-messages p:last-child { border-bottom: 0; }
body.hta-v2 .hta2-messages p::before { content: "\2713"; font-style: normal; color: var(--v2-green); margin-right: 18px; font-size: .7em; vertical-align: middle; }

body.hta-v2 .hta2-account .et_pb_row { display: flex; gap: clamp(36px, 6vw, 96px); align-items: flex-start; }
body.hta-v2 .hta2-account .et_pb_column { margin-right: 0 !important; width: auto !important; }
body.hta-v2 .hta2-account__side { flex: 1 1 0; position: sticky; top: 120px; }
body.hta-v2 .hta2-account__panel { flex: 1.4 1 0; }
body.hta-v2 .hta2-account__side .hta2-steps { margin: 28px 0; }
@media (max-width: 900px) { body.hta-v2 .hta2-account .et_pb_row { flex-direction: column; align-items: stretch; } body.hta-v2 .hta2-account__side { position: static; } }

/* Divi Tabs: Register / Log in. */
body.hta-v2 .hta2-tabs.et_pb_tabs { border: 1px solid var(--v2-line); border-radius: var(--v2-r); background: #fff; overflow: hidden; }
body.hta-v2 .hta2-tabs .et_pb_tabs_controls { background: var(--v2-sand); display: flex; padding: 10px; gap: 8px; border: 0; }
body.hta-v2 .hta2-tabs .et_pb_tabs_controls::after { display: none; }
body.hta-v2 .hta2-tabs .et_pb_tabs_controls li { border: 0 !important; background: transparent; float: none; }
body.hta-v2 .hta2-tabs .et_pb_tabs_controls li a { display: block; padding: 14px 22px !important; border-radius: 999px; font: 600 12px/1 var(--v2-sans) !important; letter-spacing: .14em; text-transform: uppercase; color: var(--v2-ink) !important; }
body.hta-v2 .hta2-tabs .et_pb_tabs_controls li.et_pb_tab_active a { background: var(--v2-navy); color: #fff !important; }
body.hta-v2 .hta2-tabs .et_pb_all_tabs { padding: clamp(24px, 4vw, 44px); }

/* --- Panels, forms and the plugin's own blocks ----------------------- */

body.hta-v2 .hta2-panel { background: #fff; border: 1px solid var(--v2-line); border-radius: var(--v2-r); padding: clamp(24px, 4vw, 44px) !important; }

body.hta-v2 :is(.hta-join, .hta-loginbox, .hta2-form, .hta-sub) :is(input[type="text"], input[type="email"], input[type="url"], input[type="tel"], input[type="password"], textarea, select),
body.hta-v2 .hta2-form .input {
	border: 1px solid var(--v2-line) !important;
	background: #fff !important;
	color: var(--v2-ink) !important;
	border-radius: var(--v2-r) !important;
	padding: 15px 16px !important;
	font: 500 15px/1.4 var(--v2-sans) !important;
	box-shadow: none !important;
}
body.hta-v2 :is(.hta-join, .hta-loginbox, .hta2-form, .hta-sub) :is(input, textarea, select):focus { outline: 2px solid var(--v2-yellow) !important; outline-offset: 0; border-color: transparent !important; }
body.hta-v2 :is(.hta-join, .hta-loginbox) label { font: 600 11px/1.3 var(--v2-sans) !important; letter-spacing: .18em; text-transform: uppercase; color: var(--v2-muted); }
body.hta-v2 :is(.hta-join, .hta-loginbox, .hta-sub) :is(button, input[type="submit"], .hta-btn),
body.hta-v2.hta-v2.hta-v2 .hta2-form .et_pb_contact_submit {
	background: var(--v2-yellow) !important;
	color: var(--v2-ink) !important;
	border: 0 !important;
	border-radius: var(--v2-r) !important;
	font: 600 13px/1 var(--v2-sans) !important;
	letter-spacing: .16em !important;
	text-transform: uppercase;
	padding: 18px 28px !important;
	cursor: pointer;
	transition: background .3s, color .3s;
}
body.hta-v2 :is(.hta-join, .hta-loginbox, .hta-sub) :is(button, input[type="submit"], .hta-btn):hover,
body.hta-v2.hta-v2.hta-v2 .hta2-form .et_pb_contact_submit:hover { background: var(--v2-navy-dk) !important; color: #fff !important; }
body.hta-v2 .hta2-form .et_pb_contact_submit::after { display: none; }
body.hta-v2.hta-v2.hta-v2 .hta2-form h1.et_pb_contact_main_title,
body.hta-v2.hta-v2.hta-v2 .hta2-form .et_pb_contact_main_title { font-size: clamp(26px, 2.6vw, 34px) !important; margin-bottom: 24px; }

body.hta-v2 .hta2-cinfo { border-top: 1px solid var(--v2-line); margin: 10px 0 28px; }
body.hta-v2 .hta2-cinfo > div { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 16px; padding: 18px 0; border-bottom: 1px solid var(--v2-line); }
body.hta-v2 .hta2-cinfo b { font: 600 11px/1.6 var(--v2-sans); letter-spacing: .2em; text-transform: uppercase; color: var(--v2-teal); }

/* Directory search and results line. */
body.hta-v2 .hta2-search { display: flex; align-items: center; border: 1px solid var(--v2-line); background: #fff; border-radius: 999px; padding: 0 20px; margin-bottom: 18px; max-width: 560px; }
body.hta-v2 .hta2-search input { border: 0 !important; background: transparent !important; padding: 15px 4px !important; font: 500 15px/1 var(--v2-sans) !important; width: 100%; box-shadow: none !important; }
body.hta-v2 .hta2-search input:focus { outline: none; }
body.hta-v2 .hta2-search:focus-within { border-color: var(--v2-navy); }
body.hta-v2 .hta2-dres { font-size: 15px; background: var(--v2-sand); border-left: 3px solid #E8D44A; padding: 14px 18px !important; margin-bottom: 24px; }
body.hta-v2 .hta2-dres:empty { display: none; }

/* Chips and cards that the plugin shortcodes print. */
body.hta-v2 .hta2-live .hta-chip {
	font: 600 12px/1 var(--v2-sans) !important;
	letter-spacing: .1em;
	text-transform: uppercase;
	border-radius: 999px !important;
	padding: 12px 16px !important;
	border: 1px solid var(--v2-line) !important;
	background: #fff !important;
	color: var(--v2-ink) !important;
}
body.hta-v2 .hta2-live .hta-chip[aria-pressed="true"],
body.hta-v2 .hta2-live .hta-chip.is-active,
body.hta-v2 .hta2-live .hta-chip:hover { background: var(--v2-navy) !important; border-color: var(--v2-navy) !important; color: #fff !important; }
body.hta-v2 .hta2-live :is(.hta-card, .hta-newscard, .hta-news, .hta-etile, .hta-opp, .hta-timeline__item, .hta-dash__panel, .hta-dash__tile) {
	border-radius: var(--v2-r) !important;
	border: 1px solid var(--v2-line);
	box-shadow: none;
	background: #fff;
	transition: transform .35s var(--v2-ease), border-color .3s;
}
body.hta-v2 .hta2-live :is(.hta-card, .hta-newscard, .hta-etile, .hta-opp, .hta-dash__tile):hover { transform: translateY(-4px); border-color: var(--v2-navy); }
body.hta-v2 .hta2-live :is(.hta-card__eyebrow, .hta-newscard__cat, .hta-newscard__date) { font: 600 11px/1.3 var(--v2-sans) !important; letter-spacing: .2em; text-transform: uppercase; color: var(--v2-teal); }
/* The category label is a filled badge over the photo, so it keeps white text; teal disappeared on the green. */
body.hta-v2 .hta2-live .hta-newscard__cat { color: #fff; }
body.hta-v2 .hta2-live .hta-empty,
body.hta-v2 .hta2-live .hta-directory__empty,
body.hta-v2 .hta2-live .hta-dash__empty { border: 1px dashed var(--v2-muted); border-radius: var(--v2-r); background: #fff; padding: clamp(28px, 4vw, 48px); color: var(--v2-muted); text-align: center; }
body.hta-v2 .hta2-dark .hta2-live .hta-empty { background: transparent; color: #B4C2D6; border-color: rgba(255, 255, 255, .3); }

/* --- Footer ----------------------------------------------------------- */

body.hta-v2.hta-v2.hta-v2 #main-footer { background: var(--v2-navy-dk) !important; }
body.hta-v2.hta-v2.hta-v2 #main-footer .container { width: 100%; max-width: var(--v2-max); padding: 0 var(--v2-g); box-sizing: border-box; }
body.hta-v2.hta-v2.hta-v2 #footer-widgets h4.widgettitle { font: 600 11px/1 var(--v2-sans) !important; letter-spacing: .24em; text-transform: uppercase; color: #fff !important; }
body.hta-v2.hta-v2.hta-v2 #footer-widgets .footer-widget :is(li, p, a) { font-family: var(--v2-sans) !important; color: #9FB0C6; }
body.hta-v2.hta-v2.hta-v2 #footer-widgets .footer-widget a:hover { color: var(--v2-yellow) !important; }
body.hta-v2.hta-v2.hta-v2 #footer-widgets img { max-height: 110px; width: auto; background: #fff; padding: 4px; border-radius: 4px; }
body.hta-v2.hta-v2.hta-v2 #footer-bottom { background: transparent; border-top: 1px solid rgba(255, 255, 255, .12); }
body.hta-v2.hta-v2.hta-v2 #footer-bottom :is(p, a, span) { color: #9FB0C6 !important; font-family: var(--v2-sans) !important; }

/* --- Scroll reveal (JS adds .hta2-wait only to elements below the fold) */

body.hta-v2 .hta2-rv { transition: opacity 1s var(--v2-ease), transform 1s var(--v2-ease); }
body.hta-v2 .hta2-rv.hta2-wait { opacity: 0; transform: translateY(40px); }

/* --- Visual Builder: show everything, animate nothing ----------------- */

body.et-fb.hta-v2 .hta2-rv.hta2-wait { opacity: 1; transform: none; }
body.et-fb.hta-v2 .hta2-hero .et_pb_module,
body.et-fb.hta-v2 .hta2-phero .et_pb_module { animation: none; }

@media (prefers-reduced-motion: reduce) {
	body.hta-v2 *,
	body.hta-v2 *::before,
	body.hta-v2 *::after { animation: none !important; transition: none !important; }
	body.hta-v2 .hta2-rv.hta2-wait { opacity: 1; transform: none; }
}

/* --- Fixes after the first live check (13 Oct 2026) -------------------- */

/* hta-design.css sets every p, li and blockquote inside #page-container to
 * the body face with !important (1-3-1). These elements need their own face,
 * so they restate it with the ID in the selector. */
body.hta-v2.hta-v2.hta-v2 #page-container .hta2-script { font: 600 clamp(26px, 2.6vw, 34px)/1.1 var(--v2-script) !important; color: var(--v2-yellow-ink); }
body.hta-v2.hta-v2.hta-v2 #page-container :is(.hta2-hero, .hta2-join, .hta2-dark) .hta2-script { color: var(--v2-yellow); }
body.hta-v2.hta-v2.hta-v2 #page-container .hta2-intro blockquote { font: italic 500 clamp(26px, 2.6vw, 36px)/1.25 var(--v2-serif) !important; }
body.hta-v2.hta-v2.hta-v2 #page-container .hta2-messages p { font: italic 500 clamp(26px, 3.4vw, 48px)/1.2 var(--v2-serif) !important; }

/* Room for Divi's dropdown arrow on "Members Area". */
body.hta-v2.hta-v2.hta-v2 #top-menu > li.menu-item-has-children > a { padding-right: 18px !important; }
body.hta-v2.hta-v2.hta-v2 #top-menu > li.menu-item-has-children > a::after { right: 0; top: 12px; }

/* Text modules: WordPress may add empty paragraphs between inline links. */
body.hta-v2 .hta2-text :is(.hta2-pillars, .hta2-hub, .hta2-sectors) > :is(p, br) { display: none; }

/* Keep every menu label on one line; tighten as the window narrows. */
body.hta-v2.hta-v2.hta-v2 #top-menu > li > a { white-space: nowrap; letter-spacing: .1em; }
body.hta-v2.hta-v2.hta-v2 #top-menu > li { margin-left: 22px; }
body.hta-v2.hta-v2.hta-v2 #top-menu li.hta-nav-cta > a { padding: 15px 18px !important; letter-spacing: .12em; }
@media (max-width: 1360px) {
	body.hta-v2.hta-v2.hta-v2 #top-menu > li { margin-left: 16px; }
	body.hta-v2.hta-v2.hta-v2 #top-menu > li > a { font-size: 11px !important; letter-spacing: .06em; }
	body.hta-v2.hta-v2.hta-v2 #logo { height: 76px !important; }
}
@media (max-width: 1180px) {
	body.hta-v2.hta-v2.hta-v2 #top-menu > li { margin-left: 12px; }
	body.hta-v2.hta-v2.hta-v2 #top-menu > li > a { font-size: 10.5px !important; letter-spacing: .03em; }
	body.hta-v2.hta-v2.hta-v2 #top-menu li.hta-nav-cta { margin-left: 14px; }
}

/* Header tall enough for the big logo, so it never rides up into the top bar. */
body.hta-v2.hta-v2.hta-v2 #main-header .container { min-height: 116px; }
body.hta-v2.hta-v2.hta-v2 #main-header.et-fixed-header .container { min-height: 84px; }
@media (max-width: 1360px) { body.hta-v2.hta-v2.hta-v2 #main-header .container { min-height: 100px; } }
@media (max-width: 980px) { body.hta-v2.hta-v2.hta-v2 #main-header .container { min-height: 92px; } }

/* Location text in the top bar starts clear of the logo. */
body.hta-v2 .hta2-util__l { padding-left: 124px; }
@media (max-width: 1360px) { body.hta-v2 .hta2-util__l { padding-left: 104px; } }

/* --- Single pages: members, events, opportunities, news ------------------ */

body.hta-v2.hta2-single #sidebar { display: none !important; }
body.hta-v2.hta2-single #main-content .container::before { display: none !important; }
body.hta-v2.hta2-single #left-area { width: 100% !important; padding: 0 !important; float: none !important; }
body.hta-v2.hta2-single #main-content .container { width: 100%; max-width: var(--v2-max); padding: clamp(56px, 7vw, 100px) var(--v2-g) clamp(80px, 9vw, 120px) !important; box-sizing: border-box; }
body.hta-v2.hta2-single .et_post_meta_wrapper > h1.entry-title,
body.hta-v2.hta2-single .et_post_meta_wrapper > .post-meta,
body.hta-v2.hta2-single .et_post_meta_wrapper > img,
body.hta-v2.hta2-single .et_post_meta_wrapper > .et_post_meta_wrapper,
body.hta-v2.hta2-single .et_pb_post .entry-title { display: none !important; }

body.hta-v2 .hta2-single-hero {
	position: relative;
	min-height: min(560px, 68svh);
	display: flex;
	align-items: flex-end;
	background-size: cover;
	background-position: center;
	background-color: #0A2547;
	isolation: isolate;
}
body.hta-v2 .hta2-single-hero::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(3, 26, 63, .72) 0%, rgba(3, 26, 63, .2) 40%, rgba(3, 22, 50, .9) 100%); }
body.hta-v2 .hta2-single-hero__in { width: 100%; max-width: var(--v2-max); margin: 0 auto; padding: 200px var(--v2-g) 64px; box-sizing: border-box; animation: hta2-up 1s var(--v2-ease) both; }
body.hta-v2.hta-v2.hta-v2 .hta2-single-hero h1 { color: #fff !important; font-size: clamp(40px, 5.6vw, 84px) !important; max-width: 20ch; margin-top: 14px; }
body.hta-v2 .hta2-crumbs { font: 600 11px/1.4 var(--v2-sans); letter-spacing: .22em; text-transform: uppercase; color: rgba(255, 255, 255, .78); }
body.hta-v2 .hta2-crumbs a { color: inherit; text-decoration: none; }
body.hta-v2 .hta2-crumbs a:hover { color: var(--v2-yellow); }
body.hta-v2 .hta2-single-hero .hta2-badge { margin-top: 14px; }

body.hta-v2 .hta2-single-grid { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(280px, 1fr); gap: clamp(32px, 6vw, 96px); align-items: start; }
body.hta-v2 .hta2-single-body { font-size: 17px; line-height: 1.75; max-width: 70ch; }
body.hta-v2 .hta2-single-body p { margin-bottom: 1.2em; }
body.hta-v2 .hta2-details { background: #fff; border: 1px solid var(--v2-line); border-top: 3px solid var(--v2-yellow); border-radius: var(--v2-r); padding: 28px; position: sticky; top: 120px; }
body.hta-v2 .hta2-details dl { margin: 0; display: grid; }
body.hta-v2 .hta2-details dl > div { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 14px; padding: 13px 0; border-bottom: 1px solid var(--v2-line); }
body.hta-v2 .hta2-details dt { font: 600 10px/1.8 var(--v2-sans); letter-spacing: .2em; text-transform: uppercase; color: var(--v2-teal); }
body.hta-v2 .hta2-details dd { margin: 0; font-size: 15px; overflow-wrap: anywhere; }
body.hta-v2 .hta2-details a { color: var(--v2-navy); }
body.hta-v2 .hta2-cta { display: block; text-align: center; margin-top: 22px; background: var(--v2-yellow); color: var(--v2-ink) !important; font: 600 12px/1 var(--v2-sans); letter-spacing: .16em; text-transform: uppercase; text-decoration: none; padding: 18px 20px; border-radius: var(--v2-r); transition: background .3s, color .3s; }
body.hta-v2 .hta2-cta:hover { background: var(--v2-navy-dk); color: #fff !important; }
body.hta-v2 .hta2-collab { margin-top: 22px; }
body.hta-v2 .hta2-collab p:last-child { font-size: 15px; color: var(--v2-muted); }
@media (max-width: 900px) { body.hta-v2 .hta2-single-grid { grid-template-columns: 1fr; } body.hta-v2 .hta2-details { position: static; } }

/* Directory card: the members-only contact prompt. */
body.hta-v2 .hta-ic--locked a { color: var(--v2-teal); font-weight: 600; }

/* --- Footer: hide placeholder contact lines until real ones are entered -- */
body.hta-v2 .hta-foot2__item:has(a[href*="example.co.za"]),
body.hta-v2 .hta-foot2__item:has(a[href="tel:+27000000000"]),
body.hta-v2 #footer-widgets li:has(> a[href*="example.co.za"]),
body.hta-v2 #footer-widgets li:has(> a[href="tel:+27000000000"]) { display: none !important; }

/* No rule under the main menu (client request, 13 Oct 2026). */
body.hta-v2.hta-v2.hta-v2 #main-header,
body.hta-v2.hta-v2.hta-v2.hta2-overlay #main-header:not(.et-fixed-header) { border-bottom: 0 !important; }
body.hta-v2.hta-v2.hta-v2 #main-header.et-fixed-header { box-shadow: 0 6px 24px -14px rgba(3, 26, 63, .35); }

/* Paragraphs in Poppins Light, client request 14 Oct 2026. Small uppercase labels keep their own weight. */
body.hta-v2 p:not(.hta2-kicker):not(.hta-card__eyebrow):not(.hta2-tags):not(.hta2-pd__role):not(.hta2-script):not(.hta2-badge):not(.hta-opp__meta):not(.hta2-topics) { font-weight: 300 !important; }

/* --- Listings: news archives, search, 404 (templates/hta-listing.php) --- */

body.hta-v2.hta2-listing-page #main-content { background: var(--v2-paper, #FAF8F3); }
body.hta-v2 .hta2-listing__hero .hta2-copy { color: rgba(255, 255, 255, .9); max-width: 60ch; font-size: 18px; margin-top: 18px; }
body.hta-v2 .hta2-listing__in { width: 100%; max-width: var(--v2-max); margin: 0 auto; padding: clamp(48px, 6vw, 88px) var(--v2-g) clamp(80px, 9vw, 120px); box-sizing: border-box; }
body.hta-v2 .hta2-listing .hta-chip {
	font: 600 12px/1 var(--v2-sans) !important;
	letter-spacing: .1em;
	text-transform: uppercase;
	border-radius: 999px !important;
	padding: 12px 16px !important;
	border: 1px solid var(--v2-line) !important;
	background: #fff !important;
	color: var(--v2-ink) !important;
}
body.hta-v2 .hta2-listing .hta-chip.is-active,
body.hta-v2 .hta2-listing .hta-chip:hover { background: var(--v2-navy) !important; border-color: var(--v2-navy) !important; color: #fff !important; }
body.hta-v2 .hta2-listing .hta-newscard { border-radius: var(--v2-r) !important; border: 1px solid var(--v2-line); box-shadow: none; background: #fff; transition: transform .35s var(--v2-ease), border-color .3s; }
body.hta-v2 .hta2-listing .hta-newscard:hover { transform: translateY(-4px); border-color: var(--v2-navy); }
body.hta-v2 .hta2-listing .hta2-search { margin-bottom: 34px; }
body.hta-v2 .hta2-listing .hta2-search button { flex-shrink: 0; border: 0; background: var(--v2-yellow); color: var(--v2-ink); font: 600 12px/1 var(--v2-sans); letter-spacing: .14em; text-transform: uppercase; padding: 12px 18px; border-radius: 999px; margin-right: -14px; cursor: pointer; }
body.hta-v2 .hta2-listing .hta2-search button:hover { background: var(--v2-navy); color: #fff; }
body.hta-v2 .hta2-listing__count { font: 600 12px/1 var(--v2-sans); letter-spacing: .14em; text-transform: uppercase; color: var(--v2-muted); margin: -12px 0 24px; }
body.hta-v2 .hta2-listing__empty { background: #fff; border: 1px solid var(--v2-line); border-radius: var(--v2-r); padding: clamp(28px, 4vw, 48px); }
body.hta-v2 .hta2-listing__empty h2 { color: var(--v2-navy); font-size: clamp(28px, 3vw, 40px); margin-bottom: 8px; }
body.hta-v2 .hta2-listing__empty p { color: var(--v2-muted); margin-bottom: 22px; }
body.hta-v2 .hta2-listing__empty .hta-chips { margin-bottom: 0; }
body.hta-v2 .hta2-pager { margin-top: 48px; }
body.hta-v2 .hta2-pager .nav-links { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; }
body.hta-v2 .hta2-pager .page-numbers { min-width: 44px; height: 44px; padding: 0 14px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--v2-line); border-radius: 999px; background: #fff; color: var(--v2-ink); font: 600 13px/1 var(--v2-sans); text-decoration: none; box-sizing: border-box; }
body.hta-v2 .hta2-pager .page-numbers.current,
body.hta-v2 .hta2-pager a.page-numbers:hover { background: var(--v2-navy); border-color: var(--v2-navy); color: #fff; }
body.hta-v2 .hta2-pager .screen-reader-text { position: absolute; clip: rect(1px, 1px, 1px, 1px); width: 1px; height: 1px; overflow: hidden; }

/* Footer: space the social icons off the subscribe button; make the email placeholder readable on the white field. */
body.hta-v2.hta-site #main-footer .hta-soc { margin-top: 22px !important; }
body.hta-v2.hta-site #main-footer .hta-sub__input::placeholder { color: #8A94A3 !important; opacity: 1; }
body.hta-v2.hta-site .hta-sub__input::placeholder { color: #8A94A3; opacity: 1; }

/* Social icons with no URL yet (href="#") stay hidden; each appears once its URL is set in Divi → Theme Options → Social Media. */
body.hta-v2 .hta-soc__item:has(> a[href="#"]) { display: none; }
body.hta-v2 .hta-soc:not(:has(a:not([href="#"]))) { display: none; }

/* Legal pages (Privacy Policy, Terms). */
body.hta-v2 .hta2-legal { margin: 0 auto; }
body.hta-v2 .hta2-legal h2 { color: var(--v2-navy); font-size: clamp(24px, 2.4vw, 32px); margin: 1.6em 0 .5em; }
body.hta-v2 .hta2-legal ul { padding-left: 1.2em; margin-bottom: 1.2em; }
body.hta-v2 .hta2-legal li { margin-bottom: .4em; }
body.hta-v2 .hta2-legal__date { font: 600 12px/1 var(--v2-sans) !important; letter-spacing: .14em; text-transform: uppercase; color: var(--v2-muted); }

/* Checklist on the members pages: yellow ticks, ruled rows. */
body.hta-v2 .hta2-checklist { list-style: none; padding: 0 !important; margin: 26px 0 0; }
body.hta-v2 .hta2-checklist li { position: relative; padding: 14px 0 14px 34px; border-top: 1px solid var(--v2-line); font-size: 16px; }
body.hta-v2 .hta2-checklist li:last-child { border-bottom: 1px solid var(--v2-line); }
body.hta-v2 .hta2-checklist li::before { content: "\2713"; position: absolute; left: 4px; top: 13px; color: var(--v2-navy); font-weight: 700; }
body.hta-v2 .hta2-panel h3 { color: var(--v2-navy); margin: 10px 0 8px; }

/* Stacked rows on phones and tablets: columns size to their content. Their desktop flex: 1 1 0
   gives them zero height once the row turns into a column, so content spilled over the next block. */
@media (max-width: 920px) {
	body.hta-v2 .hta2-sec .et_pb_row > .et_pb_column { flex: 0 0 auto !important; }
}

/* Event price labels: a deeper green so the 10px text meets contrast on white. */
body.hta-v2 .hta-cost__who { color: #1d6f2a; }
