/**
 * Wealth Series page styles.
 *
 * Styles for the ACF "hb-*" blocks that compose the Wealth Series
 * page. Depends on: fonts.css, variables.css, reset.css, base.css.
 */

/* ── HERO ────────────────────────────────────────── */
.hero {
	background-color: var(--color-light-bg);
	height: 320px;
	position: relative;
	overflow: hidden;
	padding: 0 var(--px);
}

.hero-bg {
	position: absolute;
	inset: 0;
	background-image: url('https://s3-alpha-sig.figma.com/img/6cae/d892/89ae15d7b3886e99824ef2bdbe29a22d?Expires=1777852800&Key-Pair-Id=APKAQ4GOSFWCW27IBOMQ&Signature=Blo53ou1G0KRgGohYdLJr2~q6HEMn9p34-gGkpufS6~mvMQF~5Ek4-LukWLzQ8fa-2iHJWJDqVgZZsc2ZtoAK4FKGbXv7mADYmqhQl0pXI8KGZ9EVVJXOBd1DBSrHVjP08e3S4VG34fzXfax7KVCmMle2iJZ2EJl-MSRGnlYz3MvadnFbR4~lgCW7ubVoZ~VIThwLAHr9yh8IBq0qWZdZkyeCDR7waKr8u4GfSO7js5sTpJSIuUaV9oBfgazWoIKjQl0lQGzwPgApU7-iDdUg9xx6O6kOhurIa8WF121Oriy3sJnPTnxJdJUoiD~DIm6jVBS10GQYfltM9zTSg2BjA__');
	background-size: cover;
	background-position: center;
}

.hero-overlay {
	position: absolute;
	inset: 0;
	background: var(--color-light-bg);
	opacity: 0.82;
}

.hero-letters {
	position: absolute;
	right: 0;
	top: 0;
	height: 100%;
	width: auto;
	pointer-events: none;
}

.hero>.container {
	position: relative;
	z-index: 1;
	height: 100%;
}

.hero-content {
	padding: 0 0 20px;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
}

.hero-content a {
	color: inherit;
	text-decoration: none;
	transition: all .3s ease;
	font-size: 15px;
	margin: 0 5px;
}

.hero-content a:hover {
	opacity: 0.8;
}

body:not(.home) .hero-content {
	height: calc(100% - 20px);
}

.hero-content--align-top {
	justify-content: flex-start;
}

.hero-content--align-middle {
	justify-content: center;
	align-items: center;
}

.hero-content--align-bottom {
	justify-content: flex-end;
}

.hero-content h1 {
	margin-bottom: 24px;
	max-width: 550px;

}
.page-id-254 .hero-content h1{
	max-width: 800px;
}
.hb-event-past-label {
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 2.16px;
	text-transform: uppercase;
	color: var(--color-green);
	margin: 0 0 12px;
}

.hero-content h1.hb-event-past-label {
	max-width: none;
	line-height: normal;
	margin: 0 0 12px;
}

.single-hannemann_event .hero-content h1:not(.hb-event-past-label) {
	font-size: 36px;
	line-height: 1.1;
}

@media screen and (max-width: 640px) {

	.single-hannemann_event .hero-content h1:not(.hb-event-past-label) {
		font-size: 28px;
	}
}

.single-hannemann_podcast .hero-content h1 {
	max-width: 700px;
}

.post-type-archive-hannemann_podcast .hero-content h1 {
	max-width: 600px;
}

.hero-content p {
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 2.16px;
	text-transform: uppercase;
}

@media screen and (max-width:640px) {
	.hero-content h1 {
		margin-bottom: 0;
	}
}

/* ── INTRO ───────────────────────────────────────── */
.intro {
	padding: 60px var(--px) 40px;
}

.intro .container {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 24px;
	max-width: 863px;
}

.intro p {
	font-size: 17px;
	line-height: 1.6;
	letter-spacing: 0.51px;
	text-align: center;
}

/* ── NORMAL CONTENT (WYSIWYG) ───────────────────── */
.hb-content {
	padding: 40px var(--px) 60px;
}

.hb-content-body {
	font-size: 17px;
	line-height: 1.6;
	letter-spacing: 0.51px;
}

.hb-content-body>*:first-child {
	margin-top: 0;
}

.hb-content-body>*:last-child {
	margin-bottom: 0;
}

.hb-content-body p {
	margin: 0 0 1em;
}

.hb-content-body h2,
.hb-content-body h3 {
	margin: 1.25em 0 0.5em;
}

.hb-content-body h2:first-child,
.hb-content-body h3:first-child {
	margin-top: 0;
}

.hb-content-body ul,
.hb-content-body ol {
	margin: 0 0 1em 1.25em;
	list-style: disc;
}

.hb-content-body ol {
	list-style: numeric;
}

.hb-content-body a {
	text-decoration: underline;
	text-underline-offset: 2px;
}

@media (max-width: 640px) {
	.hb-content-body p {
		text-align: left !important;
	}
}

/* ── EVENTS ──────────────────────────────────────── */
.events {
	padding: 40px var(--px) 80px;
}

.events-grid {
	display: grid;
	grid-template-columns: 680fr 357fr;
	align-items: start;
	gap: 43px;
}

.events.reverse .events-grid {
	grid-template-columns: 357fr 680fr;
}

.events.reverse .events-image-col {
	order: 2;
}

.events.reverse .events-list-col {
	order: 1;
}

.events-image-col .section-image-inner {
	overflow: hidden;
	height: 425px;
}

.events-image {
	width: 100%;
	height: 520px;
	margin-top: 0;
	object-fit: cover;
	display: block;
	will-change: transform;
}

.events-list-col {
	padding-top: 4px;
	display: flex;
	flex-direction: column;
	height: 100%;
}

.events-list-col h2 {
	margin-bottom: 15px;
}

.events-list-col h4 {
	margin-bottom: 25px;
}

.next-event-name {
	font-size: 27px;
	line-height: 1;
	margin: 0 0 20px;
	text-transform: capitalize;
	letter-spacing: -1px;
	word-spacing: 2px;
	max-width: 300px;
}

.events-list-col .row {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.events-list-col .btn {
	width: fit-content;
}

.events-list-col .row .btn:last-child {
	margin-bottom: 10px;
}

.event-item {

	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 12px 0;
	border-bottom: 1px solid #EEF2F3;
	text-decoration: none;
	color: inherit;
	cursor: pointer;
	transition: opacity var(--transition-fast);
}

.event-item:first-of-type {
	border-top: none;
	margin-top: 48px;
}

.event-item:hover {
	opacity: 0.6;
}

.event-date {
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 1.98px;
	text-transform: uppercase;
}

.event-arrow {
	display: flex;
	align-items: center;
	gap: 6px;
}

.events-list-cta {
	margin-top: auto;
}

.events .events-list-cta {
	margin-top: 30px;
}

.btn--disabled {
	opacity: 0.45;
	cursor: not-allowed;
	pointer-events: none;
}

@media (max-width: 1024px) {
	.events-grid {
		grid-template-columns: 544fr 357fr;
	}

	.events.reverse .events-grid {
		grid-template-columns: 357fr 544fr;
	}

	.events-image-col .section-image-inner {
		height: 340px;
	}

	.events-image {
		height: 416px;
	}
}

@media (min-width: 641px) and (max-width: 768px) {
	.events {
		padding-bottom: 40px;
	}
}

@media (max-width: 640px) {
	.event-item:first-of-type {
		margin-top: 0;
	}

	.events {
		padding-bottom: 0;
	}
}

/* ── EVENTS SHOWCASE (grid from hannemann_event CPT) ─ */

.hb-events-showcase {
	padding: 0 0 15px;
}

.hb-events-showcase-intro {
	padding: 60px var(--px) 0;
}

.hb-events-showcase-intro .container {
	max-width: 1000px;
}

.hb-events-showcase-intro-cols {
	display: grid;
	grid-template-columns: 1fr 1fr;
	column-gap: 40px;
}

.hb-events-showcase-intro-col {
	font-size: 15px;
	line-height: 1.6;
	letter-spacing: 0.45px;
	color: rgba(51, 51, 51, 0.78);
}

.hb-events-showcase-intro-col p {
	margin: 0 0 1em;
}

.hb-events-showcase-intro-col p:last-child {
	margin-bottom: 0;
}

.hb-events-showcase-grid-wrap {
	padding: 56px var(--px) 0;
}

.hb-events-showcase-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	column-gap: 28px;
	row-gap: 0;
}

.hb-events-showcase-card {
	display: grid;
	grid-row: span 6;
	grid-template-rows: subgrid;
	margin: 0 0 48px;
}

.hb-events-showcase-card-link {
	display: grid;
	grid-row: span 6;
	grid-template-rows: subgrid;
	align-content: start;
	text-decoration: none;
	color: inherit;
	transition: opacity var(--transition-fast);
}

.hb-events-showcase-card-link:hover *:not(.btn):not(.hb-events-showcase-img) {
	opacity: 0.75;
}

.hb-events-showcase-media {
	position: relative;
	width: 100%;
	margin-bottom: 30px;
	height: 356px;
	background: rgba(50, 83, 77, 0.08);
}

.hb-events-showcase-media::before {
	content: '';
	position: absolute;
	left: -10px;
	top: 10px;
	width: 96%;
	height: 100%;
	background: var(--color-green);
	z-index: -1;
}

.hb-events-showcase-media--empty {
	height: 425px;
}

.hb-events-showcase-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	object-position: top;
}

.hb-events-showcase-title {
	font-size: 27px;
	line-height: 1;
	margin: 0 0 20px;
	text-transform: capitalize;
	letter-spacing: -1px;
	word-spacing: 2px;
	max-width: 300px;
}

.hb-events-showcase-venue {
	font-size: 21px;
	font-weight: normal;
	letter-spacing: -0.8px;
	line-height: 1;
	margin: 0 0 5px;
	font-family: var(--font-display);
}

.hb-events-showcase-date {
	font-family: var(--font-body);
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 2px;
	text-transform: uppercase;
	line-height: 1.4;
	margin: 0 0 22px;
}

.hb-events-showcase-card .btn-outline {
	align-self: start;
	justify-self: start;
	width: fit-content;
}



.hb-events-showcase-footer {
	padding: 48px var(--px) 0;
	text-align: center;
}

.hb-events-showcase-footer-btn {
	font-size: 14px;
	padding: 14px 28px;
	color: #333;
	border-color: #333;
}

.hb-events-showcase-footer-btn::after {
	background-color: currentColor;
}

.hb-events-showcase-footer-btn:hover {
	background: #333;
	color: var(--color-white);
}

.hb-events-showcase-footer-btn:hover::after {
	background-color: currentColor;
}

.hb-events-showcase-empty-wrap {
	padding-top: 40px;
}

.hb-events-showcase-empty {
	margin: 0;
	font-size: 15px;
	line-height: 1.6;
	color: rgba(51, 51, 51, 0.75);
	text-align: center;
}

@media screen and (max-width: 640px) {
	.hb-events-showcase-intro {
		padding-top: 0;
	}

	.hb-events-showcase-intro p {
		text-align: left !important;
	}

	.hb-events-showcase-media,
	.hb-events-showcase-media--empty {
		height: auto;
		aspect-ratio: 3 / 4;
	}
}

/* ── EVENTS SHOWCASE — PHOTO STRIP ────────────────────────── */

.hb-esc-photo-strip-wrap {
	padding-top: 64px;
}

.hb-esc-photo-strip-label {
	font-family: var(--font-display);
	font-size: clamp(32px, 3.5vw, 50px);
	font-weight: 300;
	letter-spacing: -0.02em;
	color: var(--color-green);
	text-transform: lowercase;
	margin: 0 0 28px;
}

.hb-esc-photo-strip {
	display: flex;
	gap: 12px;
	overflow-x: auto;
	scrollbar-width: none;
	-ms-overflow-style: none;
}

.hb-esc-photo-strip::-webkit-scrollbar {
	display: none;
}

.hb-esc-photo-strip-item {
	flex: 0 0 387px;
	height: 244px;
	overflow: hidden;
	background-color: var(--color-green);
}

.hb-esc-photo-strip-item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

@media (max-width: 768px) {
	.hb-esc-photo-strip-item {
		flex-basis: 280px;
		height: 186px;
	}
}

.hb-esc-photo-collage {
	--hb-collage-item-width: 320px;
	--hb-collage-item-height: 316px;
	--hb-collage-gap: 12px;
	--hb-collage-duration: 60s;

	display: flex;
	flex-direction: column;
	gap: var(--hb-collage-gap);
	overflow: hidden;
}

.hb-esc-photo-collage-row {
	width: 100%;
	overflow: hidden;
}

.hb-esc-photo-collage-track {
	display: flex;
	flex-wrap: nowrap;
	width: max-content;
	animation: hb-esc-photo-collage-scroll var(--hb-collage-duration) linear infinite;
	will-change: transform;
}

.hb-esc-photo-collage-row--b .hb-esc-photo-collage-track {
	animation-direction: reverse;
}

.hb-esc-photo-collage-row:hover .hb-esc-photo-collage-track,
.hb-esc-photo-collage-row:focus-within .hb-esc-photo-collage-track {
	animation-play-state: paused;
}

.hb-esc-photo-collage-item {
	flex: 0 0 var(--hb-collage-item-width);
	width: var(--hb-collage-item-width);
	height: var(--hb-collage-item-height);
	margin-right: var(--hb-collage-gap);
	overflow: hidden;
	background-color: var(--color-green);
}

.hb-esc-photo-collage-item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

@keyframes hb-esc-photo-collage-scroll {
	from {
		transform: translateX(0);
	}

	to {
		transform: translateX(-50%);
	}
}

@media (max-width: 1024px) {
	.hb-esc-photo-collage {
		--hb-collage-item-width: 260px;
		--hb-collage-item-height: 253px;
	}
}

@media (max-width: 768px) {
	.hb-esc-photo-collage {
		--hb-collage-item-width: 200px;
		--hb-collage-item-height: 200px;
		--hb-collage-gap: 8px;
	}
}

@media (max-width: 480px) {
	.hb-esc-photo-collage {
		--hb-collage-item-width: 150px;
		--hb-collage-item-height: 200px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.hb-esc-photo-collage-track {
		animation: none;
	}

	.hb-esc-photo-collage-row {
		overflow-x: auto;
	}
}

/* ── SINGLE EVENT — PHOTO GRID ────────────────────────── */

.hb-esc-photo-strip-wrap--grid {
	padding: 64px 0;
	border-top: 1px solid rgba(50, 83, 77, 0.15);
}

.hb-esc-photo-strip-wrap--grid .container {
	padding: 0 var(--px);
}

.hb-esc-photo-strip-title {
	text-align: center;
	margin: 0 0 32px;
}

.hb-esc-photo-grid {
	position: relative;
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	background: none;
}

.hb-esc-photo-grid .slick-list {
	overflow: hidden;
	padding-bottom: 5px;
	margin-left: -2.5px;
	margin-right: -2.5px;
	background: none;
}

.hb-esc-photo-grid .slick-track {
	display: flex;
	background: none;
}

.hb-esc-photo-grid .slick-slide {
	padding: 0 2.5px;
	background: none;
}

.hb-esc-photo-grid-item {
	overflow: hidden;
	background: none;
	opacity: 1;
	transform: translateY(0);
	transition: opacity 0.45s ease, transform 0.45s ease;
}

.hb-esc-photo-grid-item--hidden {
	display: none;
}

.hb-esc-photo-grid-item--enter {
	opacity: 0;
	transform: translateY(16px);
}

@media (prefers-reduced-motion: reduce) {

	.hb-esc-photo-grid-item {
		transition: none;
	}
}

.hb-esc-photo-grid-item img {
	width: 100%;
	height: 316px;
	object-fit: cover;
	display: block;
}

.hb-esc-photo-grid-trigger {
	display: block;
	width: 100%;
	height: 100%;
	padding: 0;
	border: none;
	background: none;
	cursor: pointer;
}

.hb-esc-photo-grid-more-wrap {
	display: flex;
	justify-content: center;
	margin-top: 40px;
}

.hb-esc-photo-grid--expanded {
	width: 100%;
	max-width: var(--page-max);
	margin: 0 auto;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}

@media (max-width: 768px) {

	.hb-esc-photo-grid--expanded {
		grid-template-columns: repeat(2, 1fr);
		gap: 16px;
	}
}

@media (max-width: 480px) {

	.hb-esc-photo-strip-wrap--grid {
		padding: 48px 0;
	}

	.hb-esc-photo-grid--expanded {
		grid-template-columns: 1fr;
	}
}

/* ── EVENT GALLERY LIGHTBOX ───────────────────────── */
.hb-photo-lightbox {
	position: fixed;
	inset: 0;
	z-index: 9000;
	display: flex;
	align-items: center;
	justify-content: center;
}

.hb-photo-lightbox[hidden] {
	display: none;
}

body.photo-lightbox-open {
	overflow: hidden;
}

.hb-photo-lightbox-backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.85);
}

.hb-photo-lightbox-inner {
	position: relative;
	z-index: 1;
	max-width: min(1100px, calc(100% - 96px));
	max-height: calc(100vh - 96px);
	display: flex;
	flex-direction: column;
	align-items: center;
}

.hb-photo-lightbox-img {
	display: block;
	max-width: 100%;
	max-height: calc(100vh - 140px);
	width: auto;
	height: auto;
	object-fit: contain;
}

.hb-photo-lightbox-counter {
	margin: 16px 0 0;
	color: var(--color-white);
	font-size: 14px;
	font-weight: 800;
	letter-spacing: 2px;
	text-transform: uppercase;
}

.hb-photo-lightbox-close,
.hb-photo-lightbox-prev,
.hb-photo-lightbox-next {
	position: absolute;
	z-index: 2;
	background: none;
	border: none;
	cursor: pointer;
	color: var(--color-white);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 10px;
}

.hb-photo-lightbox-close {
	top: 16px;
	right: 16px;
}

.hb-photo-lightbox-prev,
.hb-photo-lightbox-next {
	top: 50%;
	transform: translateY(-50%);
}

.hb-photo-lightbox-prev {
	left: 16px;
}

.hb-photo-lightbox-next {
	right: 16px;
}

.hb-photo-lightbox-prev[hidden],
.hb-photo-lightbox-next[hidden] {
	display: none;
}

@media (max-width: 640px) {

	.hb-photo-lightbox-inner {
		max-width: calc(100% - 32px);
		max-height: calc(100vh - 120px);
	}

	.hb-photo-lightbox-img {
		max-height: calc(100vh - 160px);
	}

	.hb-photo-lightbox-close {
		top: 8px;
		right: 8px;
	}

	.hb-photo-lightbox-prev {
		left: 8px;
	}

	.hb-photo-lightbox-next {
		right: 8px;
	}
}

/* ── PODCAST ARCHIVE (three-column grid, hannemann_podcast CPT) ─ */

.hb-podcasts-archive {
	padding: 0 var(--px) 80px;
}

.hb-podcasts-intro {
	padding: 56px 0 0;
}

.hb-podcasts-intro .container {
	max-width: 720px;
}

.hb-podcasts-intro-inner {
	text-align: center;
	font-family: var(--font-body);
	font-size: 15px;
	line-height: 1.65;
	letter-spacing: 0.45px;
	color: rgba(51, 51, 51, 0.82);
}

.hb-podcasts-intro-inner a {
	color: rgba(51, 51, 51, 0.82);
}

.hb-podcasts-intro-inner p {
	margin: 0 0 1em;
}

.hb-podcasts-intro-inner p:last-child {
	margin-bottom: 0;
}

.hb-podcasts-grid-wrap {
	padding-top: 52px;
}

.hb-podcasts-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	column-gap: 34px;
	row-gap: 0;
}

/* Each card spans 6 subgrid rows: media · presenters · title · excerpt · meta · btn.
   row-gap: 0 on the outer grid means all vertical spacing comes from element margins,
   keeping the within-card rhythm tight while margin-bottom on the btn creates the
   60px gap between card groups. */
.hb-podcasts-card {
	display: grid;
	grid-row: span 6;
	grid-template-rows: subgrid;
	margin: 0;
}

.hb-podcasts-card-link {
	display: grid;
	grid-row: span 6;
	grid-template-rows: subgrid;
}

.hb-podcasts-media {
	position: relative;
	width: 100%;
	height: 356px;
	margin-bottom: 30px;
	aspect-ratio: 4 / 5;
	background: rgba(50, 83, 77, 0.08);
}

.hb-podcasts-media:hover,
.hb-podcasts-title:hover {
	opacity: 0.75;
}

.hb-podcasts-media::before {
	content: '';
	position: absolute;
	left: -10px;
	top: 10px;
	width: 96%;
	height: 100%;
	background: var(--color-green);
	z-index: -1;
}

.hb-podcasts-media-name-tile {
	position: relative;
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
	width: 100%;
	height: 100%;
	padding: 28px 28px 100px;
	background: var(--color-light-bg);
	text-decoration: none;
	overflow: hidden;
}

.hb-podcasts-media-watermark {
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 90%;
	height: auto;
	pointer-events: none;
}

.hb-podcasts-media-title-text {
	position: relative;
	z-index: 1;
	font-family: var(--font-display);
	font-size: 28px;
	line-height: 1.15;
	letter-spacing: 2.5px;
	text-transform: uppercase;
	color: var(--color-green);
}

.hb-podcasts-speaker-thumbs {
	position: absolute;
	bottom: 16px;
	right: 16px;
	display: flex;
	flex-direction: row-reverse;
	gap: 6px;
	z-index: 1;
}

.hb-podcasts-speaker-thumb {
	width: 88px;
	height: 88px;
	overflow: hidden;
	flex-shrink: 0;
	border: 2px solid;
}

.hb-podcasts-speaker-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.hb-podcasts-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.hb-podcasts-presenters {
	font-family: inherit;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.4px;
	text-transform: uppercase;
	margin: 0 0 16px;
	padding: 0;
	align-self: start;
}

.hb-podcasts-title {
	font-size: 30px;
	line-height: 30px;
	margin: 0 0 18px;
	max-width: 100%;
	align-self: start;
	text-transform: none;
	letter-spacing: -1px;
	word-spacing: 2px;
}

.hb-podcasts-title a {
	text-decoration: none;
	color: inherit;
}

.hb-podcasts-excerpt {
	font-family: var(--font-body);
	font-size: 15px;
	line-height: 1.62;
	letter-spacing: 0.35px;
	margin: 0 0 18px;
	max-width: 100%;
	align-self: start;
}

.hb-podcasts-meta {
	font-family: var(--font-body);
	font-size: 13px;
	line-height: 1.5;
	letter-spacing: 0.25px;
	margin: 0 0 22px;
	align-self: start;
}

.hb-podcasts-meta-dot {
	margin: 0 0.35em;
}

.hb-podcasts-card .btn-outline {
	align-self: start;
	margin-bottom: 60px;
	width: fit-content;
}

.hb-podcasts-footer {
	padding-top: 52px;
	text-align: center;
}

.hb-podcasts-more-btn {
	font-size: 14px;
	padding: 14px 28px;
	color: #333;
	border-color: #333;
}

.hb-podcasts-more-btn::after {
	background-color: currentColor;
}

.hb-podcasts-more-btn:hover {
	background: #333;
	color: var(--color-white);
}

.hb-podcasts-more-btn:hover::after {
	background-color: currentColor;
}

.hb-podcasts-empty-wrap {
	padding-top: 48px;
}

.hb-podcasts-empty {
	margin: 0;
	font-size: 15px;
	line-height: 1.6;
	color: rgba(51, 51, 51, 0.75);
	text-align: center;
}

@media (max-width: 1024px) {
	.hb-podcasts-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		column-gap: 36px;
	}
}

/* ── PODCAST PLAYER MODAL ─────────────────────────── */
.hb-podcast-player-modal {
	position: fixed;
	inset: 0;
	z-index: 9000;
	display: flex;
	align-items: center;
	justify-content: center;
}

.hb-podcast-player-modal[hidden] {
	display: none;
}

body.podcast-player-open {
	overflow: hidden;
}

.hb-podcast-player-backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.55);
	pointer-events: none;
}

.hb-podcast-player-inner {
	position: relative;
	background: #fff;
	padding: 48px;
	max-width: 720px;
	width: calc(100% - 48px);
	max-height: 90vh;
	overflow-y: auto;
	z-index: 1;
}

.hb-podcast-player-close {
	position: absolute;
	top: 16px;
	right: 16px;
	background: none;
	border: none;
	cursor: pointer;
	padding: 6px;
	line-height: 1;
	color: #333;
	display: flex;
	align-items: center;
	justify-content: center;
}

.hb-podcast-player-title {
	margin: 0 0 24px;
	padding-right: 32px;
}

.hb-podcast-audio {
	width: 100%;
	margin-bottom: 28px;
	display: block;
}

.hb-podcast-quiz-wrap {
	padding-top: 20px;
	border-top: 1px solid rgba(51, 51, 51, 0.12);
}

.hb-podcast-quiz-wrap[hidden] {
	display: none;
}

.hb-podcast-quiz-label {
	font-family: var(--font-body);
	font-size: 14px;
	line-height: 1.5;
	margin: 0 0 20px;
	color: rgba(51, 51, 51, 0.78);
}

/* Gravity Form embedded inside the player modal */
.hb-podcast-form-container .gform_wrapper {
	margin: 0;
}

.hb-podcast-form-container .gform_wrapper input:not([type='radio']):not([type='checkbox']):not([type='submit']):not([type='button']):not([type='image']):not([type='file']),
.hb-podcast-form-container .gform_wrapper textarea,
.hb-podcast-form-container .gform_wrapper select {
	font-family: var(--font-body);
	font-size: 14px;
}

/* Quiz questions read as sentences, not short field labels — drop the
   all-caps/bold label treatment so long questions stay legible. */
.hb-podcast-form-container .gform_wrapper .gfield_label {
	font-size: 16px !important;
	font-weight: 700 !important;
	text-transform: none !important;
	letter-spacing: normal !important;
	line-height: 1.5 !important;
	margin-bottom: 14px !important;
}

.hb-podcast-form-container .gform_wrapper .gfield_radio label {
	font-size: 15px;
}

.hb-podcast-form-container .gform_footer input[type='submit'],
.hb-podcast-form-container .gform_footer button[type='submit'] {
	background: var(--color-green);
	color: #fff;
	border: none;
	cursor: pointer;
}

.hb-podcast-quiz-wrap .gform_wrapper.gravity-theme .gfield.gfield--type-html p {
	font-size: inherit;
}

/* Hidden forms cache — pre-rendered but not visible */
#hb-podcast-forms-cache {
	display: none;
}

/* [hb_retake_quiz] shortcode — sits inside the quiz's fail confirmation */
.hb-retake-quiz {
	margin-top: 20px;
}

.hb-retake-quiz-form {
	margin-top: 20px;
}

.hb-retake-quiz-form[hidden] {
	display: none;
}

@media (max-width: 640px) {
	.hb-podcast-player-inner {
		padding: 32px 24px;
	}
}

/* Single podcast episode */
.podcast-single {
	padding: 60px var(--px) 88px;
}

.podcast-single .container {
	display: grid;
	grid-template-columns: 357fr 688fr;
	align-items: start;
	gap: 40px;
}

.podcast-single-content {
	padding-top: 20px;
}

.podcast-single-image {
	height: 356px;
}

.podcast-single-image img {
	height: 100%;
}

.podcast-single-presenters {
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 2px;
	text-transform: uppercase;
	margin: 0 0 16px;
	color: rgba(51, 51, 51, 0.85);
}

.podcast-single-meta {
	font-family: var(--font-body);
	font-size: 14px;
	line-height: 1.5;
	color: rgba(51, 51, 51, 0.62);
	margin: 0 0 28px;
}

.podcast-single-cta {
	margin: 40px 0 0;
}

.podcast-single-body {
	font-family: var(--font-body);
	font-size: 16px;
	line-height: 1.65;
	color: rgba(51, 51, 51, 0.88);
}

.podcast-single-body h3 {
	font-size: 28px;
	margin-bottom: 15px;
	text-transform: none;
	line-height: 1;
	letter-spacing: -1px;
}

@media (max-width: 768px) {
	.podcast-single .container {
		grid-template-columns: 1fr;
	}
}

.podcast-single-meta-dot {
	margin: 0 0.35em;
	opacity: 0.5;
}

/* Podcast single speakers section */
.podcast-speakers {
	padding: 60px var(--px) 80px;
	border-top: 1px solid rgba(50, 83, 77, 0.20);
}

.podcast-speakers-heading {
	margin-bottom: 48px;
}

.podcast-speakers-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 32px;
	align-items: start;
}

.podcast-speaker-card {
	display: flex;
	flex-direction: column;
}

.podcast-speaker-photo {
	height: 356px;
	margin-bottom: 0;
	box-sizing: border-box;
	position: relative;
}

.podcast-speaker-photo::before {
	content: '';
	position: absolute;
	left: -10px;
	top: 10px;
	width: 99.4%;
	height: 100%;
	background: var(--color-green);
	z-index: -1;
}

.podcast-speaker-photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: top;
	display: block;
}

.podcast-speaker-info {
	margin-top: 30px;
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.podcast-speaker-name {
	font-family: var(--font-display);
	font-size: 26px;
	font-weight: normal;
	letter-spacing: -0.8px;
	line-height: 1.1;
	text-transform: uppercase;
	margin-bottom: 0;
}

.podcast-speaker-role {
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 1.98px;
	text-transform: uppercase;
	margin-bottom: 0;
}

.podcast-speaker-company {
	font-size: 13px;
	font-weight: 400;
	letter-spacing: 0.3px;
	line-height: 1.4;
	margin-bottom: 0;
}

.podcast-speaker-buttons {
	margin-top: auto;
	padding-top: 16px;
}

.podcast-speaker-buttons .btn {
	border-color: var(--color-green);
	color: var(--color-green);
}

.podcast-speaker-buttons .btn::after {
	background-color: var(--color-green);
}

.podcast-speaker-buttons .btn:hover {
	color: var(--color-white);
}

@media (max-width: 768px) {

	.podcast-speakers-grid,
	.podcast-speakers-grid:has(.podcast-speaker-card:only-child),
	.podcast-speakers-grid:has(.podcast-speaker-card:nth-child(2):last-child) {
		grid-template-columns: 1fr 1fr;
		max-width: none;
	}
}

@media (max-width: 480px) {

	.podcast-speakers-grid,
	.podcast-speakers-grid:has(.podcast-speaker-card:only-child),
	.podcast-speakers-grid:has(.podcast-speaker-card:nth-child(2):last-child) {
		grid-template-columns: 1fr;
	}
}

/* ── SPLIT SECTION ───────────────────────────────── */
.split-section {
	padding: 60px var(--px) 80px;
}

.split-section.with-bg {
	background: var(--color-light-bg);
}

.split-section .container {
	display: grid;
	grid-template-columns: 680fr 357fr;
	align-items: start;
	gap: 43px;
}

.split-section.reverse .container {
	grid-template-columns: 357fr 680fr;

}

.split-section.reverse .split-section-image {
	order: 2;
}

.split-section.reverse .split-section-text {
	order: 1;
}

/* Shared image treatment with offset green block.
 * Use `.section-image` on any image wrapper; add `.reverse` to flip
 * the offset to the right side. */
.section-image {
	position: relative;
	z-index: 0;
}

.section-image img {
	width: 100%;
	object-fit: cover;
	display: block;
}

/* Parallax: inner wrapper clips the oversized img to the 425px frame. */
.split-section-image .section-image-inner {
	overflow: hidden;
	height: 425px;
}

.split-section-image img {
	height: 550px;
	margin-top: -62px;
	will-change: transform;
}

.section-image::before {
	content: '';
	position: absolute;
	left: -10px;
	top: 10px;
	width: 99.4%;
	height: 100%;
	background: var(--color-green);
	z-index: -1;
}

.section-image.reverse::before {
	left: auto;
	right: -10px;
}

.split-section-text h2 {
	margin-bottom: 25px;
}

.split-section-text h5 {
	margin-bottom: 12px;
	line-height: 1;
}

.split-section-text .btn {
	margin-top: 30px;
}

.split-section.reverse .split-section-text p.hb-split-emphasis {
	font-size: 16px;
	font-weight: 800;
	letter-spacing: 2.88px;
	text-transform: uppercase;
	margin-bottom: 20px;
}

@media (max-width: 1024px) {
	.split-section .container {
		grid-template-columns: 544fr 357fr;
	}

	.split-section.reverse .container {
		grid-template-columns: 357fr 544fr;
	}

	.split-section-image .section-image-inner {
		height: 340px;
	}

	.split-section-image img {
		height: 440px;
		margin-top: -50px;
	}
}

@media (max-width: 640px) {

	.split-section-text {
		padding-top: 20px;
	}

	.section-image img {
		height: auto;
	}

	.section-image::before {
		height: 100%;
		left: -10px;
		top: -10px;
	}

	.split-section {
		padding-bottom: 60px;
	}

	.split-section-image .section-image-inner {
		height: auto;
	}

	.split-section-image img {
		height: auto;
		margin-top: 0;
		will-change: auto;
	}
}

/* ── JOIN US ─────────────────────────────────────── */
.join-us {
	padding: 0 calc(var(--px) - 20px);
	text-align: center;
	margin-bottom: -50px;
	position: relative;
}

.join-us .container {
	background: var(--green);
	padding: 50px var(--px);
}

.join-us.fullwidth {
	padding: 0;
	margin: 0;
}

.join-us.fullwidth .container {
	max-width: none;
	padding: 80px var(--px);
}

.join-us h2 {
	color: var(--color-white);
	margin-bottom: 28px;
}

.join-us p {
	color: var(--color-white);
	max-width: 616px;
	margin: 0 auto 40px;
}

.join-us .btn {
	height: 51px;
}

@media (max-width: 640px) {
	.join-us {
		padding: 0;
	}
}

/* ── TESTIMONIAL ─────────────────────────────────── */
.testimonial {
	background: var(--color-light-bg);
	padding: 102px var(--px) 89px;
	text-align: center;
}

.testimonial blockquote {
	font-family: var(--font-display);
	font-size: 34px;
	font-weight: normal;
	letter-spacing: -2px;
	line-height: 50px;
	word-spacing: 2px;
	max-width: 950px;
	margin: 0 auto 60px;
}

.testimonial.large-font blockquote {
	font-size: 50px;
}

.testimonial-sep {
	max-width: 100%;
	height: 1px;
	background: rgba(50, 83, 77, 0.20);
	margin: 65px 0 0;
}

.testimonial p {
	font-size: 16px;
	font-weight: 800;
	letter-spacing: 2.88px;
	text-transform: uppercase;
}

.testimonial-slider .slick-dots {
	list-style: none;
	display: flex !important;
	justify-content: center;
	gap: 10px;
	margin: 40px 0 0;
	padding: 0;
}

.testimonial-slider .slick-dots li button {
	display: block;
	width: 8px;
	height: 8px;
	padding: 0;
	border: none;
	border-radius: 50%;
	background: rgba(50, 83, 77, 0.25);
	text-indent: -9999px;
	cursor: pointer;
	transition: background var(--transition-fast);
}

.testimonial-slider .slick-dots li.slick-active button {
	background: var(--color-green);
}


/* ── BENEFITS: INTRO ─────────────────────────────── */

.hb-benefits-intro {
	padding: 60px var(--px) 0;
}

.hb-benefits-intro .container {
	border-bottom: 1px solid rgba(50, 83, 77, 0.15);
	padding-bottom: 45px;
}

.hb-benefits-intro-cols {
	display: grid;
	grid-template-columns: 1fr 1fr;
	column-gap: 40px;
}

@media (max-width: 640px) {
	.hb-benefits-intro {
		padding-top: 0;
	}
}

/* ── BENEFITS: WHAT TO EXPECT + TILES ───────────── */

.hb-benefits-expect {
	padding: 0 var(--px) 80px;
}

.hb-benefits-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}

.hb-benefits-heading-cell,
.hb-benefits-tile {
	padding: 28px 24px;
}

.hb-benefits-heading-cell {
	padding-left: 0;
}

.hb-benefits-heading-cell h2 {
	margin: 0;
}

.hb-benefits-tile {
	background: var(--color-light-bg);
}

.hb-benefits-tile h3 {
	font-family: var(--font-body);
	font-size: 20px;
	font-weight: 300;
	letter-spacing: 0.6px;
	line-height: 1.2;
	text-transform: uppercase;
	margin-bottom: 16px;
}

/* ── CONTACT ─────────────────────────────────────── */

.hb-contact {
	padding: 60px var(--px) 80px;
}

.hb-contact .container {
	display: grid;
	grid-template-columns: 383fr 617fr;
	gap: 80px;
	align-items: start;
}

.hb-contact-intro {
	padding-top: 40px;
}

.hb-contact-cards {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 35px;
}

.hb-contact-card-photo img {
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	object-position: top;
	display: block;
}

.hb-contact-card-photo {
	position: relative;
	margin-bottom: 10px;
}

.hb-contact-card-photo:hover,
.hb-contact-card-name:hover {
	opacity: 0.75;
}

.hb-contact-card-photo::before {
	content: '';
	position: absolute;
	left: -10px;
	top: 10px;
	width: 96%;
	height: 100%;
	background: var(--color-green);
	z-index: -1;
}

.hb-contact-card-info {
	padding-top: 16px;
}

.hb-contact-card-name {
	font-family: var(--font-display);
	font-size: 40px;
	font-weight: normal;
	letter-spacing: -1.6px;
	line-height: 1;
	margin-bottom: 8px;
}

.hb-contact-card-name a {
	text-decoration: none;
	color: inherit;
}

.hb-contact-card-role {
	font-weight: 800;
	letter-spacing: 2.88px;
	text-transform: uppercase;
	margin-bottom: 20px;
}

.hb-contact-card-buttons {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.hb-contact-card-buttons .btn {
	width: fit-content;
}

/* ── GALLERY ─────────────────────────────────────── */

.gallery {
	padding: 60px 0 0;
	background: var(--color-light-bg);
}

.gallery.no-bg,
.single-hannemann_team .gallery {
	background: transparent;
}

.gallery-heading-row {
	padding: 0 var(--px);
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 32px;
}

.gallery-lines {
	display: flex;
	align-items: center;
	gap: 5px;
}

@keyframes hb-gallery-prev-pulse {

	0%,
	100% {
		transform: translateY(-50%);
	}

	50% {
		transform: translateY(-50%) translateX(-5px);
	}
}

@keyframes hb-gallery-next-pulse {

	0%,
	100% {
		transform: translateX(0) translateY(-50%) scaleX(-1);
	}

	50% {
		transform: translateX(5px) translateY(-50%) scaleX(-1);
	}
}

.gallery-slick-arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	margin: 0;
	padding: 10px;
	border: 0;
	background: var(--color-white);
	color: var(--color-green);
	cursor: pointer;
	line-height: 0;
}

.gallery-slick-arrow.slick-prev {
	left: 30px;
}

.gallery-slick-arrow.slick-next {
	right: 30px;
	transform: translateY(-50%) scaleX(-1);
}

.gallery-slick-arrow svg {
	display: block;
}

.gallery-slick-arrow:focus-visible {
	outline: 2px solid var(--color-green);
	outline-offset: 4px;
}

.gallery:hover .gallery-slick-arrow.slick-prev {
	animation: hb-gallery-prev-pulse 1.1s ease-in-out infinite;
}

.gallery:hover .gallery-slick-arrow.slick-next {
	animation: hb-gallery-next-pulse 1.1s ease-in-out infinite;
}

@media (prefers-reduced-motion: reduce) {

	.gallery:hover .gallery-slick-arrow.slick-prev,
	.gallery:hover .gallery-slick-arrow.slick-next {
		animation: none;
	}
}

.gallery-strip {
	position: relative;
}

.gallery-strip .slick-list {
	overflow: hidden;
	padding-bottom: 5px;
	margin-left: -5px;
	margin-right: -5px;
}

.gallery-strip .slick-track {
	display: flex;
	gap: 5px;
}

.gallery-strip .slick-slide img {
	width: 100%;
	height: 316px;
	max-height: 316px;
	object-fit: cover;
	display: block;
}

@media (max-width: 1024px) {
	.gallery-strip .slick-slide img {
		height: 253px;
		max-height: 253px;
	}
}

@media (max-width: 640px) {
	.gallery-strip .slick-slide img {
		height: 200px;
		max-height: 200px;
	}
}

/* ── LOGOS CAROUSEL ──────────────────────────────── */

.logos-carousel {
	padding: 60px var(--px);
	background: var(--color-light-bg);
	overflow: hidden;
}

.logos-carousel__heading {
	margin-bottom: 40px;
	text-align: center;
}

.logos-carousel__heading>* {
	margin: 0;
}

.logos-carousel__track {
	display: flex;
	width: max-content;
}

.logos-carousel__track.is-ready {
	animation: logos-scroll 25s linear infinite;
}

.logos-carousel:hover .logos-carousel__track.is-ready {
	animation-play-state: paused;
}

@keyframes logos-scroll {
	from {
		transform: translateX(0);
	}

	to {
		transform: translateX(-50%);
	}
}

.logos-carousel__item {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	margin-right: 48px;
}

.logos-carousel__item img {
	max-height: 60px;
	width: auto;
	max-width: 160px;
	object-fit: contain;
	display: block;
	filter: grayscale(100%);
}

.logos-carousel__item a {
	display: flex;
	align-items: center;
}

@media (prefers-reduced-motion: reduce) {
	.logos-carousel__track.is-ready {
		animation: none;
	}
}

/* Desktop: fewer than 6 logos — center them statically */
@media (min-width: 641px) {
	.logos-carousel.has-few-logos .logos-carousel__track {
		justify-content: center;
		flex-wrap: wrap;
		width: 100%;
		gap: 40px;
	}

	.logos-carousel.has-few-logos .logos-carousel__item {
		margin-right: 0;
	}
}

@media (max-width: 640px) {
	.logos-carousel {
		padding: 40px var(--px);
	}

	.logos-carousel__heading {
		margin-bottom: 28px;
	}

	/* Mobile: horizontal swipe slider */
	.logos-carousel__track {
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		width: 100%;
	}

	.logos-carousel__track::-webkit-scrollbar {
		display: none;
	}

	.logos-carousel__item {
		scroll-snap-align: start;
		min-width: 140px;
	}

	.logos-carousel__item img {
		max-height: 40px;
	}
}

/* ── NEWSLETTER ──────────────────────────────────── */
.newsletter {
	background: var(--color-green);
	padding: 100px var(--px);
	display: flex;
	justify-content: center;
}

.newsletter-inner {
	max-width: 422px;
	text-align: center;
}

.newsletter-inner h2 {
	color: var(--color-white);
	margin-bottom: 28px;
}

.newsletter-inner>p {
	color: var(--color-white);
	margin-bottom: 36px;
}

.newsletter-inner .newsletter-content p {
	color: var(--color-white);
	margin-bottom: 36px;
}

/* Gravity Form embedded in the newsletter band via ACF content field */
.newsletter-content .gform_wrapper {
	margin: 0;
}

.newsletter-content .gform_wrapper .gfield_label,
.newsletter-content .gform_wrapper .gfield_description:not(.validation_message),
.newsletter-content .gform_wrapper .gform_validation_errors {
	display: none;
}

.newsletter-content .gform_wrapper .gfield_validation_message {
	color: var(--color-white);
	font-weight: 600;
}

.newsletter-content .gform_wrapper form {
	display: flex;
	gap: 8px;
	align-items: flex-start;
}

.newsletter-content .gform_wrapper .gform_body {
	flex: 1;
}

.newsletter-content .gform_wrapper ul.gform_fields,
.newsletter-content .gform_wrapper li.gfield {
	margin: 0;
}

.newsletter-content .gform_wrapper input[type="email"] {
	height: 51px;
	background: var(--color-white);
	border: none;
	color: var(--color-green);
}

.newsletter-content .gform_wrapper .gform_footer {
	margin: 0 !important;
	padding: 0 !important;
	width: auto;
}

.newsletter-content .gform_wrapper .gform_button {
	display: inline-block;
	width: auto !important;
	height: 51px;
	padding: 0 20px !important;
	background: var(--color-white) !important;
	color: var(--color-green) !important;
	border: 1px solid transparent;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 1.98px;
	text-transform: uppercase;
	white-space: nowrap;
	transition: all .3s ease;
}

.newsletter-content .gform_wrapper .gform_button:hover {
	background: var(--color-green) !important;
	color: var(--color-white) !important;
	border-color: var(--color-white);
}

.newsletter-form {
	display: flex;
	height: 51px;
	gap: 8px;
}

.newsletter-input {
	flex: 1;
	background: var(--color-white);
	border: none;
	padding: 0 16px;
	font-family: var(--font-body);
	font-size: 14px;
	font-weight: 300;
	color: var(--color-green);
	outline: none;
}

.newsletter-input::placeholder {
	color: var(--color-green);
	opacity: 0.6;
}

.newsletter-submit {
	background: var(--color-white);
	border: none;
	padding: 0 20px;
	font-family: var(--font-body);
	font-size: 11px;
	font-weight: 800;
	color: var(--color-green);
	cursor: pointer;
	white-space: nowrap;
	letter-spacing: 1.98px;
	text-transform: uppercase;
	transition: all .3s ease;
	border: 1px solid transparent;
}

.newsletter-submit:hover {
	background: var(--color-green);
	color: var(--color-white);
	border-color: var(--color-white);
}

.newsletter-social {
	margin-top: 28px;
	display: flex;
	align-items: center;
	gap: 8px;
	justify-content: center;
}

.newsletter-social a:hover svg {
	opacity: 0.6;
}

/* ── ABOUT EVENTS / FAQs ─────────────────────────── */
.about-events {
	padding: 80px var(--px) 60px;
}

.about-events h2 {
	margin-bottom: 60px;
}

.about-events-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 60px;
}

.faq-item {
	border-top: 1px solid #EEF2F3;
}

.faq-question {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 12px 0;
	font-weight: 800;
	letter-spacing: 1.98px;
	text-transform: uppercase;
	cursor: pointer;
	user-select: none;
	transition: opacity var(--transition-fast);
}

.faq-question:hover {
	opacity: 0.6;
}

.faq-arrow {
	flex-shrink: 0;
	width: 17px;
	height: 8px;
	display: flex;
	align-items: center;
	justify-content: flex-end;
}

.faq-arrow::after {
	content: '';
	display: block;
	width: 8.5px;
	height: 8.5px;
	border-right: 1px solid #000;
	border-top: 1px solid #000;
	transform: rotate(135deg);
	transition: transform var(--transition-base);
}

.faq-item.is-open .faq-arrow::after {
	transform: rotate(135deg);
}

.faq-answer {
	display: none;
	padding: 0 0 16px;
}

.faq-item.is-open .faq-answer {
	display: block;
}

.faq-answer a {
	color: inherit;
}

/* ── ENTRY WRAPPER ───────────────────────────────── */
.hb-wealth-series-entry {
	max-width: none;
	padding: 0;
	margin: 0;
}

/* ── SPEAKERS ────────────────────────────────────── */

.hb-speakers {
	padding: 60px var(--px) 80px;
}


.hb-speakers-heading {
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 2.16px;
	text-transform: uppercase;
	margin-bottom: 60px;
}

.hb-speakers-rows {
	display: flex;
	flex-direction: column;
	gap: 60px;
}

.hb-speakers-row:not(:last-child) {
	padding-bottom: 60px;
	border-bottom: 1px solid rgba(50, 83, 77, 0.15);
}

/* Toggle headings (h5/h3 in row-header or col-session) act as accordion on mobile only */
.hb-speakers-row-header h5,
.hb-speakers-row-header h3,
.hb-speakers-col-session h5,
.hb-speakers-col-session h3 {
	cursor: default;
}

.hb-speakers-row-header h5 {
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 2px;
	text-transform: uppercase;
	margin-bottom: 12px;
}

.hb-speakers-col-session h5 {
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 2px;
	text-transform: uppercase;
	margin-bottom: 12px;
}

/* Shared row header above the columns */
.hb-speakers-row-header {
	text-align: center;
	max-width: 780px;
	margin: 0 auto 40px;
}


/* 2-column grid (shared by 2col-text and 2col-image) */
.hb-speakers-2col {
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: repeat(6, auto);
	gap: 40px;
}

.hb-speakers-3col {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	grid-template-rows: repeat(6, auto);
	gap: 40px;
}

/* 2col/3col: align photo + each detail line across all columns via CSS subgrid,
   the same technique used by .hb-events-showcase-card.
   Row 1 (session header) is only populated by the 2col-image layout. */
.hb-speakers-2col .hb-speakers-col,
.hb-speakers-3col .hb-speakers-col {
	display: grid;
	grid-row: span 6;
	grid-template-rows: subgrid;
	align-content: start;
	gap: 0;
}

.hb-speakers-2col .hb-speaker-info,
.hb-speakers-3col .hb-speaker-info {
	display: contents;
}

.hb-speakers-2col .hb-speakers-col-session,
.hb-speakers-3col .hb-speakers-col-session {
	grid-row: 1;
}

.hb-speakers-2col .hb-speakers-photo,
.hb-speakers-3col .hb-speakers-photo {
	grid-row: 2;
}

.hb-speakers-3col .hb-speakers-photo {
	height: auto;
	aspect-ratio: 1 / 1;
}

.hb-speakers-2col .hb-speaker-name,
.hb-speakers-3col .hb-speaker-name {
	grid-row: 3;
}

.hb-speakers-2col .hb-speaker-role,
.hb-speakers-3col .hb-speaker-role {
	grid-row: 4;
}

.hb-speakers-2col .hb-speaker-company,
.hb-speakers-3col .hb-speaker-company {
	grid-row: 5;
}

.hb-speakers-2col .hb-speaker-buttons,
.hb-speakers-3col .hb-speaker-buttons {
	grid-row: 6;
}

/* Per-column session header (2col-image only) */
.hb-speakers-col-session {
	margin-bottom: 20px;
	line-height: 1.3;
}

.hb-speakers-row-header h3,
.hb-speakers-col-session h3 {
	font-family: var(--font-display);
	font-size: 30px;
	font-weight: normal;
	letter-spacing: -0.6px;
	text-transform: uppercase;
	line-height: 1.1;
	margin-bottom: 8px;
}

.hb-speakers-row-header h3 {
	letter-spacing: 1px;
	word-spacing: 4px;
	margin-bottom: 0;
}

/* Photo (2col-image / fullwidth) */
.hb-speakers-photo,
.hb-speakers-fullwidth-image {
	margin-bottom: 30px;
	height: 400px;
}

.hb-speakers-photo,
.hb-speakers-fullwidth-image {
	position: relative;
}

.hb-speakers-photo::before,
.hb-speakers-fullwidth-image::before {
	content: '';
	position: absolute;
	left: -12px;
	top: 12px;
	width: 100%;
	height: 100%;
	background: var(--color-green);
	z-index: -1;
}

.hb-speakers-photo img,
.hb-speakers-fullwidth-image img {
	position: relative;
	z-index: 1;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* Speaker name, role, company */
.hb-speaker-name {
	font-family: var(--font-display);
	font-size: 42px;
	font-weight: normal;
	letter-spacing: -1.68px;
	text-transform: uppercase;
	line-height: 1;
	margin-bottom: 12px;
}

.hb-speaker-role,
.hb-speaker-company {
	font-size: 16px;
	font-weight: 800;
	letter-spacing: 2.88px;
	text-transform: uppercase;
	line-height: 1.2;
}

.hb-speaker-company {
	font-weight: 400;
	margin-bottom: 20px;
}

/* Full-width layout */
.hb-speakers-fullwidth {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 40px;
	align-items: start;
}

.hb-speakers-fullwidth-image img {
	width: 100%;
	aspect-ratio: 427 / 370;
	object-fit: cover;
	object-position: top;
	display: block;
}

.hb-speakers-fullwidth-content {
	padding-top: 20px;
}

@media (max-width: 640px) {

	.hb-speakers-col-session h3,
	.hb-speakers-row--fullwidth .hb-speakers-row-header h3 {
		display: none !important;
	}

	.hb-speakers-row-header h3,
	.hb-speakers-row-header h5 {
		font-size: 14px;
		font-weight: 300;
		line-height: 1.3;
		letter-spacing: 0.42px;
		font-family: var(--font-body);
		text-align: left !important;
	}

	.hb-speakers-row-header {
		margin-bottom: 0;
	}

	.hb-speakers-row--2col-image .hb-speakers-2col,
	.hb-speakers-rows {
		gap: 0;
	}

	.hb-speakers-col-session {
		margin-bottom: 0;
	}
}

/* ── SPEAKER PROFILE MODAL ───────────────────────── */

.speaker-modal {
	display: none;
	position: fixed;
	inset: 0;
	z-index: 9000;
	background: var(--color-white);
	overflow-y: auto;
}

.speaker-modal.is-open {
	display: block;
}

body.speaker-modal-open {
	overflow: hidden;
}

.speaker-modal-inner {
	min-height: 100vh;
	display: flex;
	flex-direction: column;
}

.speaker-modal-header {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	padding: 24px 50px;
	position: sticky;
	top: 0;
	background: var(--color-white);
	z-index: 1;
	width: 100%;
	margin: 0 auto;
	box-sizing: border-box;
}

.speaker-modal-close {
	gap: 10px;
	justify-self: start;
	border: none;
	border-radius: 3.546px;
	font-size: 11.348px;
	letter-spacing: 1.021px;
}

.speaker-modal-event {
	text-align: center;
	margin-top: 130px;
	padding: 0 var(--px);
}

.speaker-modal-event-label {
	font-family: var(--font-body);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 2.16px;
	word-spacing: normal;
	text-transform: uppercase;
	margin: 0 auto 4px;
	max-width: 500px;
}

.speaker-modal-event-title {
	font-size: 34px;
	font-weight: 300;
	letter-spacing: 0;
	margin-bottom: 0;
	margin-left: auto;
	margin-right: auto;
	text-transform: none;
	line-height: 110%;
}

.speaker-modal--spotlight .speaker-modal-event-label {
	font-family: var(--font-display);
	font-size: 50px;
	font-weight: normal;
	word-spacing: 5px;
	line-height: 1.1;
	margin-bottom: 0;
}

.speaker-modal-body {

	padding: 60px var(--px) 80px;

	max-width: var(--page-max);
	width: 100%;
	margin: 0 auto;
	box-sizing: border-box;
}

.speaker-modal-body .row {
	display: grid;
	grid-template-columns: 260px 1fr;
	gap: 60px;
	align-items: start;
	flex: 1;
	margin-top: 10px;
	border-bottom: 1px solid #EEF2F2;
	padding-bottom: 60px;
	margin-bottom: 60px;
}

.speaker-modal-body .row:last-child {
	padding-bottom: 0;
	margin-bottom: 0;
	border: 0;
}

.speaker-modal-body .speaker-modal-session+.row {
	margin-top: 0;

}

.speaker-modal-left,
.speaker-modal-right {
	align-self: start;
}

.speaker-modal-session {
	margin-bottom: 24px;
	line-height: 1.3;
	border-top: 1px solid #EEF2F2;
	padding-top: 70px;
}

.speaker-modal-session h3 {
	font-family: var(--font-display);
	font-size: 30px;
	font-weight: normal;
	letter-spacing: -0.6px;
	text-transform: uppercase;
	line-height: 1.1;
	margin-bottom: 8px;
}

/* ── SPEAKER SINGLE PAGE ─────────────────────────── */

.speaker-profile {
	padding: 60px 0 80px;
}

.speaker-profile>.container {
	padding: 0 var(--px);
}

.speaker-profile-label {
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 2.16px;
	text-transform: uppercase;
	margin-bottom: 40px;
}

.speaker-profile-body {
	display: grid;
	grid-template-columns: 260px 1fr;
	gap: 60px;
	align-items: start;
}

.speaker-profile-photo {
	margin-bottom: 24px;
	height: 290px;
	position: relative;
}

.speaker-profile-photo:before {
	content: '';
	position: absolute;
	left: -10px;
	top: 10px;
	width: 96%;
	height: 100%;
	background: var(--color-green);
	z-index: -1;
}

.speaker-profile-photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: top;
	display: block;
}

.speaker-profile-name {
	font-size: 26px;
	letter-spacing: 0.5px;
	line-height: 1;
	margin-bottom: 12px;
}

.speaker-profile-role {
	font-size: 14px;
	font-weight: 300;
	letter-spacing: 0.42px;
	margin-bottom: 0;
	line-height: 1.2;
}

.speaker-profile-company {
	font-size: 14px;
	font-weight: 300;
	letter-spacing: 0.42px;
	line-height: 1.5;
	margin-bottom: 0;
}

.speaker-profile-bio {
	font-size: 14px;
	font-weight: 300;
	letter-spacing: 0.42px;
	line-height: 1.7;
}

.speaker-profile-bio p {
	margin-bottom: 1em;
}

.speaker-profile-events {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin-top: 24px;
}

.speaker-profile-event {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: 14px;
	background: var(--color-light-bg);
}

.speaker-profile-event-date {
	font-size: 13px;
	font-weight: 300;
	letter-spacing: 0.42px;
	text-transform: uppercase;
	margin-bottom: 0;
}

.speaker-profile-event-title {
	font-size: 21px;
	font-weight: normal;
	letter-spacing: 0;
	line-height: 1.2;
	margin-bottom: 4px;
}

.speaker-profile-event-address {
	font-size: 16px;
	font-weight: 300;
	letter-spacing: 0.42px;
	line-height: 1.4;
	margin-bottom: 14px;
}

.speaker-profile-event-address br {
	display: none;
}

.speaker-profile-event-cta {
	font-size: 11px;
	padding: 6px 12px;
	letter-spacing: 1.1px;
	gap: 8px;
}

/* ── EVENT SINGLE ────────────────────────────────── */
.event-single {
	padding: 48px var(--px) 80px;
}


.event-title {
	font-size: 50px;
	font-weight: 275;
	letter-spacing: -2px;
	line-height: 1;
	text-transform: uppercase;
	color: var(--color-green);
	margin-bottom: 16px;
}

.event-city {
	font-size: 12px;
	font-weight: 300;
	letter-spacing: 2.16px;
	text-transform: uppercase;
	color: var(--color-green);
	margin-bottom: 48px;
}

/* Two-column event body */
.event-body {
	display: grid;
	grid-template-columns: minmax(0, 564fr) minmax(0, 462fr);
	gap: 53px;
	align-items: start;
}

/* Left column */
.event-body-left {
	display: flex;
	flex-direction: column;
	align-self: stretch;
}

.event-description {
	font-size: 16px;
	font-weight: 300;
	line-height: 1.75;
	letter-spacing: 0.48px;
	color: var(--color-green);
	margin-bottom: 40px;
}

.event-description p {
	margin-bottom: 1em;
}

.event-description p:last-child {
	margin-bottom: 0;
}

.event-details {
	margin-top: 50px;
	margin-bottom: 24px;
}

.event-detail {
	padding: 18px 0;
	border-top: 1px solid rgba(50, 83, 77, 0.2);
	font-size: 14px;
	font-weight: 300;
	letter-spacing: 0.42px;
	color: var(--color-green);
}

.event-detail-label {
	display: block;
	margin-bottom: 8px;
}

.event-detail-value {
	display: block;
	font-size: 32px;
	line-height: 1.5;
}

/* Nav tabs — btn btn-outline links in a shared-border row */
.event-nav-tabs {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
	margin-bottom: 8px;
	gap: 10px;
}

.event-nav-tabs .btn {
	justify-content: center;
	padding: 9px 8px;
	width: 100%;
	font-size: 11.348px;
}

.event-agenda-buttons {
	display: flex;
	gap: 10px;
	margin-bottom: 8px;
}

.event-agenda-buttons .btn {
	justify-content: center;
	flex: 1;
	font-size: 11.348px;
}

/* Full-width CTA — appearance from btn btn-dark, layout from here */
.event-cta {
	width: 100%;
	letter-spacing: 1.02px;
	padding: 9px 8px;
	justify-content: center;
	font-size: 11.348px;
}

.event-feedback {
	margin-top: 24px;
}

.event-feedback__heading {
	display: block;
	text-transform: uppercase;
	margin: 30px 0 10px;
}

.event-feedback__buttons {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
	gap: 10px;
}

.event-feedback__buttons .btn {
	justify-content: center;
	font-size: 11px;
	letter-spacing: 1.02px;
	padding: 9px 8px;
	width: 100%;
}



/* Right column */
.event-body-right {
	padding-top: 15px;
}

.event-image-wrap {
	margin-bottom: 28px;
	height: 315px;
}

/* Override section-image defaults: decorative rect sits upper-left of image. */
.event-image-wrap.section-image img {
	min-height: 0;
	height: 100%;
	aspect-ratio: 456 / 316;
}

.event-image-wrap.section-image::before {
	left: -12px;
	top: -12px;
	width: 95%;
	height: 95%;
}

.event-pull-quote {
	font-family: var(--font-display);
	font-size: 50px;
	line-height: 1;
	letter-spacing: 2.88px;
	word-spacing: 5px;
	text-transform: uppercase;
}

@media (max-width: 991px) {
	.event-body {
		grid-template-columns: 1fr;
		gap: 40px;
	}

	.event-body-right {
		padding-top: 0;
	}
}

@media (max-width: 640px) {
	.event-nav-tabs {
		grid-template-columns: 1fr;
	}

	.event-nav-tabs .btn {
		justify-content: space-between;
	}
}

/* ── AGENDA BLOCK ────────────────────────────────── */
.hb-agenda {
	padding: 0 var(--px) 60px;
}

/* Two-column split: rows left, image + speaker info right.
   Right column is sized to its content (the 356px carousel, see
   .hb-agenda-slider-wrap) rather than a flat 50/50 split, so the left
   column fills the rest of the width instead of leaving a gap. */
.hb-agenda>.container {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 60px;
	align-items: start;
	padding-top: 60px;
	border-top: 1px solid rgba(50, 83, 77, 0.15);
}

section:not(.hb-agenda)+.hb-agenda>.container,
.hb-agenda--first-block>.container {
	border-top: none;
}

/* No right-column image: reduce the block's outer top/bottom padding */
.hb-agenda--no-image {
	padding-bottom: 30px;
}

.hb-agenda--no-image>.container {
	padding-top: 30px;
}

/* Left column: agenda rows */
.hb-agenda:not(.hb-agenda--no-image) .hb-agenda-left .hb-agenda-rows {
	margin-top: -20px;
}

.hb-agenda-rows {
	display: flex;
	flex-direction: column;
}

.hb-agenda-row {
	padding-top: 26px;
	border-top: 1px solid rgba(50, 83, 77, 0.15);
}

.hb-agenda-row:first-child {
	border-top: none;
	padding-top: 0;
}

.hb-agenda .hb-btn-row {
	margin-top: 15px;
}

.hb-agenda-time-icon {
	margin-bottom: 12px;
}

.hb-agenda-time-icon img {
	display: block;
	max-width: 100%;
	height: auto;
}

.hb-agenda-time {
	font-size: 34px;
}

.hb-agenda-title {
	font-size: 22px;
	font-weight: normal;
	word-spacing: 3px;
	text-transform: uppercase;
	line-height: 120%;
	margin-bottom: 16px;
}

.hb-agenda-description {
	font-size: 14px;
	font-weight: 300;
	line-height: 1.7;
	letter-spacing: 0.42px;
	margin-bottom: 20px;
}

.hb-agenda-description p:last-child {
	margin-bottom: 0;
}

/* Speaker list within a row */
.hb-agenda-speakers {
	margin-top: 16px;
}

.hb-agenda-speaker-label {
	font-weight: 800;
	margin-bottom: 0;
}

.hb-agenda-speaker-info {
	font-size: 14px;
	font-weight: 300;
	line-height: 1.6;
	letter-spacing: 0.42px;
	margin-bottom: 0;
}

.hb-agenda-speaker-name {
	text-transform: uppercase;
}

/* Guest moderator within a row */
.hb-agenda-guest-moderator {
	margin-top: 16px;
}

.hb-agenda-gm-label {
	font-weight: 800;
	margin-bottom: 0;
}

.hb-agenda-whitepaper {
	margin-top: 20px;
	background: var(--color-green);
	color: var(--color-white);
}

/* Right column: image carousel (block image + every distinct speaker photo).
   Slide sizing reuses .hb-events-showcase-media as-is; only the slider
   mechanics and arrow nav are defined here. .hb-events-showcase-media has no
   width of its own — it's 100% of a 3-column grid over the 1125px container,
   which works out to ~356px (hence its square 356px height). The agenda's
   right column is 50% wide (~530px), so cap it to match instead of stretching. */
.hb-agenda-slider-wrap {
	position: relative;
	width: 356px;
	max-width: 100%;
}

.hb-agenda-slider-wrap::before {
	content: '';
	position: absolute;
	left: -10px;
	top: 10px;
	width: 96%;
	height: 100%;
	background: var(--color-green);
	z-index: -1;
}

.hb-agenda-slide .hb-events-showcase-media {
	margin-bottom: 0;
}

/* The wrap carries its own offset border above; the slide's copy would be
   clipped by the slider's overflow:hidden, so it's turned off here. */
.hb-agenda-slide .hb-events-showcase-media::before {
	content: none;
}

.hb-agenda-slider .slick-list {
	overflow: hidden;
}

.hb-agenda-slider .slick-track {
	display: flex;
}

.hb-agenda-slider .slick-slide {
	height: auto;
}

.hb-agenda-arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 4;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	margin: 0;
	padding: 10px;
	border: 0;
	background: var(--color-white);
	color: var(--color-green);
	cursor: pointer;
	line-height: 0;
}

.hb-agenda-arrow svg {
	display: block;
}

.hb-agenda-arrow.slick-prev {
	left: 16px;
}

.hb-agenda-arrow.slick-next {
	right: 16px;
	transform: translateY(-50%) scaleX(-1);
}

.hb-agenda-arrow:focus-visible {
	outline: 2px solid var(--color-green);
	outline-offset: 4px;
}

@media (max-width: 1024px) {
	.testimonial blockquote br {
		display: none;
	}

	.hb-contact .container {
		grid-template-columns: 1fr;
		gap: 40px;
	}

	.hb-contact-intro {
		padding-top: 0;
	}
}

/* ── STATE EVENTS (taxonomy-hannemann_state.php) ─── */
.state-events-intro {
	padding: 60px 0 80px;
}

/* ── MOBILE (≤ 640px) ────────────────────────────── */
@media (max-width: 640px) {
	.hero {
		background: none;
		height: auto;
		padding: 0;
	}

	.hero>.container {
		padding: 0 var(--px);
	}

	.hero-bg {
		position: relative;
		height: 185px;
		margin-bottom: 20px;
	}

	.hero-letters {
		object-fit: cover;
		height: 185px;
		object-position: center;
		width: 100%;
	}

	.intro {
		padding: 0 var(--px);
	}

	.intro .container {
		align-items: flex-start;
	}

	.intro p {
		text-align: left;
	}

	.hb-podcasts-intro {
		padding-top: 0;
	}

	.hb-podcasts-intro-inner {
		text-align: left;
	}

	.post-type-archive-hannemann_podcast .hero-content h1 {
		margin-bottom: 0;
	}

	.events-grid,
	.events.reverse .events-grid {
		grid-template-columns: 1fr;
		gap: 32px;
	}

	.events.reverse .events-image-col,
	.events.reverse .events-list-col {
		order: unset;
	}

	.events-image-col .section-image-inner {
		height: auto;
	}

	.events-image {
		height: auto;
		margin-top: 0;
		aspect-ratio: 680 / 383;
		will-change: auto;
	}

	.event-date {
		font-size: 16px;
		letter-spacing: 2.88px;
	}

	.events-list-col .btn .event-date {
		font-size: 11px;
	}

	.split-section .container,
	.split-section.reverse .container {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.split-section.reverse .split-section-image,
	.split-section.reverse .split-section-text {
		order: unset;
	}

	.testimonial {
		padding: 80px var(--px);
		text-align: left;
	}

	.testimonial blockquote,
	.testimonial.large-font blockquote {
		font-size: 30px;
		letter-spacing: -1.2px;
		line-height: 38px;
	}

	.about-events-grid {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.newsletter {
		padding: 60px var(--px);
	}

	.newsletter-form {
		flex-direction: column;
		height: auto;
		gap: 8px;
	}

	.newsletter-input {
		height: 48px;
		padding: 16px;
	}

	.newsletter-submit {
		height: 48px;
		width: 100%;
	}

	.newsletter-content .gform_wrapper form {
		flex-direction: column;
		align-items: stretch;
		gap: 8px;
	}

	.newsletter-content .gform_wrapper .gform_footer {
		width: 100%;
	}

	.newsletter-content .gform_wrapper .gform_button {
		width: 100% !important;
	}

	.hb-benefits-intro-cols {
		grid-template-columns: 1fr;
		row-gap: 20px;
	}

	.hb-events-showcase-intro-cols {
		grid-template-columns: 1fr;
		row-gap: 20px;
	}

	.hb-events-showcase-grid {
		grid-template-columns: 1fr;
		gap: 40px;
	}

	.hb-events-showcase-card {
		grid-row: span 1;
		display: flex;
		flex-direction: column;
		margin-bottom: 0;
	}

	.hb-events-showcase-card-link {
		display: flex;
		flex-direction: column;
		flex: 1;
	}

	.hb-podcasts-grid {
		grid-template-columns: 1fr;
	}

	.hb-podcasts-card:last-child .btn-outline {
		margin-bottom: 0;
	}

	.hb-benefits-grid {
		grid-template-columns: 1fr;
	}

	.hb-benefits-heading-cell {
		padding: 0;
		margin-bottom: 8px;
	}

	.hb-contact .container {
		grid-template-columns: 1fr;
		gap: 32px;
	}

	.hb-contact-intro {
		padding-top: 0;
	}

	.hb-contact-cards {
		grid-template-columns: 1fr;
		gap: 32px;
	}

	.hb-contact-card-name {
		font-size: 32px;
	}

	.hb-speakers {
		padding-top: 0;
	}

	.hb-speakers-2col,
	.hb-speakers-3col,
	.hb-speakers-fullwidth {
		grid-template-columns: 1fr;
	}

	.hb-speakers-fullwidth-content {
		padding-top: 0;
	}

	.hb-speaker-name {
		font-size: 34px;
		letter-spacing: -1.36px;
	}


	/* ── SPEAKERS MOBILE ACCORDION ─────────────────── */

	/* Row-level spacing resets — borders come from the toggle headings */
	.hb-speakers-row:not(:last-child) {
		padding-bottom: 0;
		border-bottom: none;
	}

	.hb-speakers-rows {
		border-bottom: 1px solid rgba(50, 83, 77, 0.15);
	}

	/* Shared toggle heading styles: row-header h5/h3 and col-session h5/h3 */
	.hb-speakers-row-header h5,
	.hb-speakers-row-header h3,
	.hb-speakers-col-session h5,
	.hb-speakers-col-session h3 {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 16px;
		padding: 20px 0;
		border-top: 1px solid rgba(50, 83, 77, 0.15);
		cursor: pointer;
		user-select: none;
		margin: 0;
	}

	/* Chevron ::after for all toggle headings */
	.hb-speakers-row-header h5::after,
	.hb-speakers-row-header h3::after,
	.hb-speakers-col-session h5::after,
	.hb-speakers-col-session h3::after {
		content: '';
		flex-shrink: 0;
		display: block;
		width: 8px;
		height: 8px;
		border-right: 1.5px solid currentColor;
		border-bottom: 1.5px solid currentColor;
		transform: rotate(45deg);
		margin-top: -4px;
		transition: transform var(--transition-base);
	}

	/* Chevron rotation when open */
	.hb-speakers-row.is-open .hb-speakers-row-header h5::after,
	.hb-speakers-row.is-open .hb-speakers-row-header h3::after,
	.hb-speakers-col.is-open .hb-speakers-col-session h5::after,
	.hb-speakers-col.is-open .hb-speakers-col-session h3::after {
		transform: rotate(-135deg);
		margin-top: 2px;
	}

	/* Row-level: hide the grid below a row-header until the row is open */
	.hb-speakers-row--has-row-heading .hb-speakers-row-header~.hb-speakers-2col,
	.hb-speakers-row--has-row-heading .hb-speakers-row-header~.hb-speakers-3col,
	.hb-speakers-row--has-row-heading .hb-speakers-row-header~.hb-speakers-fullwidth {
		display: none;
	}

	.hb-speakers-row--has-row-heading.is-open .hb-speakers-row-header~.hb-speakers-2col,
	.hb-speakers-row--has-row-heading.is-open .hb-speakers-row-header~.hb-speakers-3col,
	.hb-speakers-row--has-row-heading.is-open .hb-speakers-row-header~.hb-speakers-fullwidth {
		display: grid;
	}

	/* Column-level: hide photo and speaker info until the column is open */
	.hb-speakers-col-session~.hb-speakers-photo,
	.hb-speakers-col-session~.hb-speaker-info {
		display: none;
	}

	.hb-speakers-col.is-open .hb-speakers-col-session~.hb-speakers-photo,
	.hb-speakers-col.is-open .hb-speakers-col-session~.hb-speaker-info {
		display: block;
	}

	.speaker-profile-body {
		grid-template-columns: 1fr;
		gap: 32px;
	}

	.speaker-profile-name {
		font-size: 24px;
		letter-spacing: -1px;
	}

	.speaker-modal-header {
		grid-template-columns: 1fr;
		gap: 12px;
		padding: 16px var(--px);
	}

	.speaker-modal-header>[aria-hidden] {
		display: none;
	}

	.speaker-modal-event {
		text-align: left;
		margin-top: 48px;
	}

	.speaker-modal-event-title {
		font-size: 22px;
		margin-left: 0;
		margin-right: 0;
	}

	.speaker-modal--spotlight .speaker-modal-event-label {
		font-size: 22px;
	}

	.speaker-modal-body .row {
		grid-template-columns: 1fr;
		gap: 32px;
	}

	.speaker-modal-session h3 {
		font-size: 24px;
		letter-spacing: -0.5px;
	}

	/* Event single */
	.event-cta {
		justify-content: center;
		letter-spacing: 0;
	}

	.event-title {
		font-size: 36px;
		letter-spacing: -1.44px;
	}

	.event-feedback__buttons {
		grid-template-columns: 1fr;
	}

	.event-agenda-buttons .btn,
	.event-feedback__buttons .btn {
		justify-content: space-between;
	}

	.event-pull-quote {
		font-size: 32px;
		letter-spacing: -1.28px;
	}

	/* Agenda block */
	.hb-agenda>.container {
		grid-template-columns: 1fr;
		gap: 40px;
	}

	.hb-agenda-right {
		position: static;
	}

	.hb-agenda-title {
		font-size: 26px;
		letter-spacing: -1.04px;
	}

	/* Section vertical rhythm — reduce top/bottom padding for mobile */
	.about-events {
		padding: 50px var(--px) 40px;
	}

	.about-profile {
		padding: 50px var(--px);
	}

	.event-single {
		padding: 32px var(--px) 50px;
	}

	.hb-benefits-expect {
		padding: 0 var(--px) 50px;
	}

	.hb-contact {
		padding: 40px var(--px) 50px;
	}

	.hb-content {
		padding: 0 var(--px) 40px;
	}

	.hb-image-text {
		padding: 40px 0;
	}

	.hb-podcasts-archive {
		padding: 0 var(--px) 50px;
	}

	.hb-speakers {
		padding: 40px var(--px) 50px;
	}

	.hb-speakers-spotlight {
		padding: 0 var(--px) 50px;
	}

	.split-section+.hb-speakers-spotlight {
		padding-top: 50px;
	}

	.podcast-single {
		padding: 40px var(--px) 60px;
	}

	.podcast-speakers {
		padding: 40px var(--px) 50px;
	}

	.speaker-profile {
		padding: 40px 0 50px;
	}

	.state-events-intro {
		padding: 0 0 50px;
	}

	.team-index-section {
		padding: 40px var(--px);
	}

	.team-section {
		padding: 40px var(--px) 50px;
	}

	.hb-agenda {
		padding: 0 var(--px) 40px;
	}

	.gallery {
		padding: 40px 0 0;
	}

	.split-section {
		padding-top: 40px;
	}

	.advisory-index-section {
		padding-bottom: 50px;
	}
}

@media (max-width: 480px) {
	.speaker-modal-close {
		width: fit-content;
	}

	.speaker-modal-header {
		padding: 12px var(--px);
	}

	.speaker-modal-event {
		margin-top: 32px;
	}

	.speaker-modal-body {
		padding: 40px var(--px) 60px;
	}

	.speaker-modal-body .row {
		gap: 20px;
	}

	.speaker-modal-session {
		padding-top: 40px;
		margin-bottom: 16px;
	}

	.speaker-profile-photo {
		height: 220px;
		margin-bottom: 16px;
	}
}

.state-events-intro .container {
	padding-left: var(--px);
	padding-right: var(--px);
	max-width: calc(var(--page-max) + 2 * var(--px));
}

.state-events-header {
	display: grid;
	grid-template-columns: 3fr 2fr;
	gap: 60px;
	align-items: start;
}

.state-events-header--no-quote {
	grid-template-columns: 1fr;
}

.state-events-header-left {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 28px;
	min-width: 0;
}


.state-events-desc p {
	margin-bottom: 1em;
}

.state-events-desc p:last-child {
	margin-bottom: 0;
}


.state-events-header-right {
	position: sticky;
	top: 24px;
	align-self: start;
}

.state-events-list {
	padding: 0;
	margin: 0;
}

.state-events-header-left>.state-events-list {
	padding-top: 4px;
}

.state-event-item {
	display: flex;
	align-items: center;
	padding: 20px;
	background: var(--color-light-bg);
	margin-bottom: 20px;
	text-decoration: none;
	color: inherit;
	gap: 24px;
	transition: background var(--transition-fast);
}

.state-event-item:hover {
	background: #dde5e5;
}

.state-event-item--disabled {
	cursor: default;
	pointer-events: none;
}

.state-event-cta {
	margin-top: 20px;
	align-self: flex-start;
}

.state-event-meta {
	display: flex;
	flex: 1;
	flex-direction: column;
}

.state-event-date {
	letter-spacing: 0.42px;
	text-transform: uppercase;
}

.state-event-title-line {
	font-size: 34px;
	letter-spacing: 0;
	line-height: 1;
}

.state-event-address {
	letter-spacing: 0;
	line-height: 1.4;
	margin-top: 4px;
	font-size: 16px;
}

.state-event-address br {
	display: none;
}

.state-events-empty {
	padding: 12px 0 0;
	text-align: left;
}

.state-events-empty p {
	font-size: 15px;
	color: rgba(51, 51, 51, 0.75);
	margin: 0;
}

@media (max-width: 640px) {
	.state-events-header {
		grid-template-columns: 1fr;
		gap: 32px;
	}

	.state-events-header-right {
		position: static;
	}

	.state-event-title-line {
		font-size: 18px;
	}
}

/* ── ABOUT / MEET THE TEAM ───────────────────────── */

/* Breadcrumb sits at the top of the hero, not the bottom */
.hero--about .hero-content {
	justify-content: flex-start;
	padding-top: 14px;
	padding-bottom: 0;
}

.hero-breadcrumb {
	font-size: 9px;
	font-weight: 300;
	color: var(--color-green);
	letter-spacing: 0.9px;
	text-transform: uppercase;
	margin: 9px calc(-1 * var(--px)) 0;
	position: relative;
	padding: 0 var(--px) 9px;
}

.hero-breadcrumb__list {
	display: flex;
	flex-wrap: wrap;
	list-style: none;
	padding: 0;
	align-items: center;
	max-width: var(--page-max);
	width: 100%;
	margin: 0 auto;
}

.hero-breadcrumb__item {
	display: inline;
}

.hero-breadcrumb__item:not(:last-child)::after {
	content: '\203A';
	display: inline-block;
	margin: 0 2px;
	opacity: 0.5;
}

.hero-breadcrumb a,
.hero-breadcrumb__link {
	color: inherit;
	text-decoration: none;
	font-weight: 300;
	font-size: 9px;
}

.hero-breadcrumb a:hover,
.hero-breadcrumb__link:hover {
	opacity: 0.7;
}

.hero-divider {
	width: 100%;
	height: 1px;
	background: var(--color-white);
	border: none;
	margin: 12px 0 0;
	opacity: 0.25;
}

.about-profile-hero-lane {
	flex: 1 1 auto;
	display: grid;
	grid-template-columns: 457fr 588fr;
	align-items: end;
	gap: 40px;
	min-height: 0;
	max-width: var(--page-max);
	width: 100%;
	margin: 0 auto 40px;
}

.about-profile-hero-spacer {
	display: none;
}

.hero--about .about-profile-hero-head h1 {
	margin-bottom: 10px;
	max-width: 300px;
}

.hero--about .about-profile-hero-head .profile-role {
	margin-bottom: 0;
	font-size: 16px;
	font-weight: 800;
	letter-spacing: 2.88px;
	text-transform: uppercase;
}

@media (max-width: 640px) {
	.hero-breadcrumb {
		margin: 0 auto;
	}
}

/* ── PROFILE SPLIT SECTION ───────────────────────── */

.about-profile {
	padding: 80px var(--px);
	border-bottom: 1px solid rgba(50, 83, 77, 0.20);
}

.intro+.about-profile {
	border-top: 1px solid rgba(50, 83, 77, 0.20);
	margin-top: 30px;
}

.about-profile .container {
	display: grid;
	grid-template-columns: 357fr 688fr;
	align-items: start;
	gap: 40px;
}

.about-profile-content {
	display: flex;
	flex-direction: column;
	height: 100%;
}

.about-profile-image {

	position: relative;
	z-index: 1;
	height: 356px;
}

.about-profile-image::before {
	content: '';
	position: absolute;
	left: -10px;
	top: 10px;
	width: 99.4%;
	height: 100%;
	background: var(--color-green);
	z-index: -1;
}

.about-profile-image img {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
	object-position: top;
}

.about-profile--reverse .container {
	grid-template-columns: 688fr 357fr;
}

.about-profile--reverse .about-profile-image {
	order: 2;
}

.about-profile--reverse .about-profile-content {
	order: 1;
}

.about-profile--reverse .about-profile-image::before {
	left: auto;
	right: -10px;
}

.profile-role {
	font-size: 16px;
	font-weight: 800;
	letter-spacing: 2.88px;
	text-transform: uppercase;
	margin-bottom: 40px;
}

.profile-divider {
	border: none;
	border-top: 1px solid var(--color-green);
	opacity: 0.2;
	margin: 0 0 40px;
}

.profile-qa-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	column-gap: 48px;
	row-gap: 32px;
	margin-bottom: 15px;
}

.profile-qa-grid--single {
	grid-template-columns: 1fr;
}

.profile-qa-item h4 {
	font-family: var(--font-body);
	font-size: 16px;
	font-weight: 800;
	letter-spacing: 2.88px;
	margin-bottom: 10px;
	line-height: 1;
}

.profile-cta {
	display: flex;
	gap: 16px;
	margin-top: auto;
}

/* ── MEET THE TEAM ───────────────────────────────── */

.team-section {
	padding: 60px var(--px) 80px;
}

.team-section>.container>h2 {
	margin-bottom: 48px;
}

.team-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}

.team-card {
	display: flex;
	flex-direction: column;
	text-decoration: none;
	color: inherit;
}

.team-card .team-card-info {
	flex: 1;
}

.team-card img {
	width: 100%;
	aspect-ratio: 348 / 332;
	height: 356px;
	object-fit: cover;
	object-position: top;
}

.team-card-info {
	background: var(--color-green);
	padding: 14px 20px 20px;
	color: var(--color-white);
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.team-card-role {
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 1.3px;
	text-transform: uppercase;
	margin-bottom: 0;
	line-height: 1.3;
}

.team-card-name {
	font-family: var(--font-display);
	font-size: 32px;
	font-weight: normal;
	letter-spacing: 2.88px;
	line-height: 1.1;
	margin-bottom: 0;
	text-transform: uppercase;
}

/* ── HERO: TEAM INDEX VARIANT ────────────────────── */

.hero--team-index .hero-content {
	justify-content: space-between;
	padding-top: 14px;
	padding-bottom: 40px;
}

.hero-team-heading h1 {
	margin-bottom: 6px;
}

.team-state-filter {
	font-size: 9px;
	font-weight: 800;
	letter-spacing: 1.62px;
	text-transform: uppercase;
	margin: 0;
}

/* ── TEAM INDEX INTRO ────────────────────────────── */

.team-index-intro {
	padding: 60px 0;
}

.team-index-intro-inner {
	display: grid;
	grid-template-columns: 357fr 688fr;
	gap: 40px;
	align-items: start;
}

/* ── TEAM INDEX GRID (3-col) ─────────────────────── */

.team-index-section {
	padding: 60px var(--px);
}

.team-index-grid {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 40px;
}

.team-index-grid .team-card {
	overflow: hidden;
}

.team-index-grid .team-card img {
	width: 100%;
	aspect-ratio: 1 / 1;
	height: auto;
	object-fit: cover;
	transition: all .3s ease;
}

.team-index-grid .team-card:hover {
	opacity: 0.8;
	cursor: pointer;
}

/* ── MORE ABOUT H&B LINK ─────────────────────────── */

.team-index-more .container {
	padding: 40px var(--px) 60px;
	text-align: center;
	border-top: 1px solid rgba(50, 83, 77, 0.2);
}

.team-more-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: var(--font-body);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 1.98px;
	text-transform: uppercase;
	color: var(--color-green);
	text-decoration: none;
	transition: opacity var(--transition-fast);
}

.team-more-link:hover {
	opacity: 0.6;
}

.team-more-link::after {
	content: '';
	display: inline-block;
	width: 6px;
	height: 11px;
	background-color: var(--color-green);
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='11' viewBox='0 0 6 11' fill='none'%3E%3Cpath d='M0.353585 9.70107L5.02734 5.02731L0.353586 0.353554' stroke='white'/%3E%3C/svg%3E");
	mask-size: contain;
	mask-repeat: no-repeat;
	mask-position: center;
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='11' viewBox='0 0 6 11' fill='none'%3E%3Cpath d='M0.353585 9.70107L5.02734 5.02731L0.353586 0.353554' stroke='white'/%3E%3C/svg%3E");
	-webkit-mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
}

@media (max-width: 1024px) {

	.about-profile .container,
	.about-profile-hero-lane {
		grid-template-columns: 300fr 688fr;
	}
}

@media (max-width: 640px) {
	.about-profile {
		padding: 40px var(--px);
	}

	.single .about-profile {
		padding-top: 0;
	}

	.team-index-section {
		padding-top: 50px;
	}

	.about-profile .container,
	.about-profile-hero-lane {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.about-profile-hero-spacer {
		display: none;
	}

	.about-profile--reverse .about-profile-image {
		order: 1;
	}

	.about-profile-hero-head {
		text-align: left;
		margin-top: 30px;
	}

	.about-profile-image {
		margin-top: 0;
		aspect-ratio: 1 / 1;
		height: auto;
	}

	.single .about-profile-image {
		margin-bottom: 30px;
	}

	.profile-qa-grid {
		grid-template-columns: 1fr;
		gap: 24px;
	}



	.team-grid {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.team-card img {
		aspect-ratio: 4 / 3;
	}

	.team-index-intro-inner {
		grid-template-columns: 1fr;
	}

	.team-index-intro-spacer {
		display: none;
	}

	.team-index-grid {
		grid-template-columns: 1fr;
		gap: 20px;
	}

	.team-index-grid .team-card img {
		height: auto;
		aspect-ratio: 4 / 3;
	}

}


/* ── ADVISORY BOARD INDEX ────────────────────────── */

.advisory-index-intro {
	padding: 60px 0 0;
}

.advisory-index-intro p {
	max-width: 680px;
	font-size: 18px;
	line-height: 1.6;
}

.advisory-index-section {
	padding: 60px var(--px) 80px;
}

.advisory-state-group {
	margin-bottom: 60px;
}

.advisory-state-group:last-child {
	margin-bottom: 0;
}

.advisory-state-heading {
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 2.34px;
	text-transform: uppercase;
	color: var(--color-green);
	margin-bottom: 32px;
	padding-bottom: 16px;
	border-bottom: 1px solid rgba(50, 83, 77, 0.2);
}

.advisory-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 40px;
}

.advisory-state-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 40px;
}

.advisory-state-grid .team-card img {
	width: 100%;
	aspect-ratio: 1 / 1;
	height: auto;
	object-fit: cover;
	transition: opacity 0.3s ease;
}

.advisory-state-grid .team-card:hover img {
	opacity: 0.8;
}

/* Advisory Grid — media sized to match .hb-podcasts-media, with a solid green bar on the left edge. */
.advisory-grid .advisory-card-media {
	position: relative;
	width: 100%;
	height: 356px;
	aspect-ratio: 4 / 5;
	margin-bottom: 30px;
	transition: opacity 0.3s ease;
}

.advisory-grid .advisory-card-media::before {
	content: '';
	position: absolute;
	left: -12px;
	top: 12px;
	width: 100%;
	height: 100%;
	background: var(--color-green);
	z-index: -1;
}

.advisory-grid .advisory-card-media img {
	position: relative;
	z-index: 1;
	width: 100%;
	height: 100%;
	aspect-ratio: auto;
	object-fit: cover;
}

.advisory-grid .advisory-card-media--empty {
	background: var(--color-green);
}

.advisory-grid .team-card:hover .advisory-card-media {
	opacity: 0.8;
}

.advisory-grid .team-card-info {
	width: calc(100% + 12px);
	margin-left: -12px;
	background: none;
	color: var(--color-green);
	padding: 0 12px;
	gap: 0;
}

.advisory-grid .team-card-name {
	text-transform: none;
	letter-spacing: -1px;
	margin-bottom: 5px;
}

.advisory-grid .team-card-role {
	margin-bottom: 22px;
}

.advisory-grid .team-card-view-profile {
	align-self: flex-start;
	margin-top: 0;
}

@media screen and (max-width:1200px) {
	.advisory-index-intro {
		padding: 0 15px;
	}
}

@media (max-width: 1024px) {

	.advisory-grid,
	.advisory-state-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 24px;
	}
}

@media (max-width: 640px) {
	.advisory-index-section {
		padding-top: 50px;
	}

	.advisory-grid,
	.advisory-state-grid {
		grid-template-columns: 1fr;
		gap: 20px;
	}

	.advisory-state-grid .team-card img {
		aspect-ratio: 4 / 3;
	}
}

/* ── IMAGE + TEXT ─────────────────────────────────── */

.hb-image-text {
	padding: 60px 0;
}

.hb-image-text-media {
	width: 100%;
}

.hb-image-text-img {
	width: 100%;
	height: auto;
	display: block;
}

.hb-image-text-content {
	padding: 30px;
	background: #eef2f3;
}

/* ── SPEAKERS SPOTLIGHT — CARD SLIDER ────────────── */

.hb-speakers-spotlight {
	padding: 0 var(--px) 80px;
}

.split-section+.hb-speakers-spotlight {
	padding-top: 80px;
}

.hb-speakers-spotlight-heading {
	margin-bottom: 40px;
}

.hb-ss-slider-wrap {
	position: relative;
}

/* Negative margin offsets the per-card horizontal padding so the
   outermost card edges sit flush with the container edge. */
.hb-ss-slider {
	margin: 0 -10px;
}

.hb-ss-card {
	padding: 0 10px;
}

.hb-ss-card-inner {
	position: relative;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	background: rgba(50, 83, 77, 0.08);
	text-decoration: none;
}

.hb-ss-photo {
	position: relative;
	height: 356px;
	flex-shrink: 0;
	transition: filter 0.4s ease;
}

.hb-ss-photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: top;
	display: block;
}

.hb-ss-photo--empty {
	background: rgba(50, 83, 77, 0.12);
}

.hb-ss-card-inner:hover .hb-ss-photo {
	filter: brightness(0.72);
}

/* Name bar: flows below the photo */
.hb-ss-name-bar {
	background: var(--color-green);
	padding: 20px;
	color: var(--color-white);
	display: flex;
	flex-direction: column;
	gap: 12px;
	z-index: 2;
}

.hb-ss-name {
	font-family: var(--font-display);
	font-size: 28px;
	font-weight: normal;
	letter-spacing: -1px;
	line-height: 1.1;
	margin: 0;
	color: var(--color-white);
}

/* Reveal overlay: slides up from the bottom on hover */
.hb-ss-reveal {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	padding: 28px 18px 24px;
	background: var(--color-green);
	z-index: 5;
	transform: translateY(100%);
	transition: transform 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94);
	display: flex;
	flex-direction: column;
	gap: 5px;
	pointer-events: none;
}

.hb-ss-card-inner:has(.hb-ss-name-bar:hover) .hb-ss-reveal {
	transform: translateY(0);
}

.hb-ss-card-inner:has(.hb-ss-name-bar:hover) .hb-ss-name-bar {
	opacity: 0;
}

.hb-ss-event {
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: #fff;
	margin: 0;
	line-height: 1.4;
}

.hb-ss-session {
	color: #fff;
	margin: 0 0 20px;
	font-weight: 300;
	font-size: 28px;
	line-height: 1.2;
	font-family: var(--font-display);
	text-transform: capitalize;
	letter-spacing: -1px;
	word-spacing: 2px;
	border-bottom: 1px solid #ffffff3b;
	padding-bottom: 20px;
}

.hb-ss-meta {
	font-size: 18px;
	line-height: 1;
	font-family: var(--font-display);
	letter-spacing: 0;
	color: #fff;
	margin: 0;
}

/* ── SPOTLIGHT NAV (arrows) ──────────────────────── */

.hb-ss-arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 4;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	margin: 0;
	padding: 10px;
	border: 0;
	background: var(--color-white);
	color: var(--color-green);
	cursor: pointer;
	line-height: 0;
}

.hb-ss-arrow svg {
	display: block;
}

.hb-ss-arrow.hb-ss-prev {
	left: 16px;
}

.hb-ss-arrow.hb-ss-next {
	right: 16px;
	transform: translateY(-50%) scaleX(-1);
}

.hb-ss-arrow:focus-visible {
	outline: 2px solid var(--color-green);
	outline-offset: 4px;
}

/* Slick structural overrides */
.hb-ss-slider .slick-list {
	overflow: hidden;
}

.hb-ss-slider .slick-track {
	display: flex;
}

.hb-ss-slider .slick-slide {
	height: auto;
	float: none;
}

@media (max-width: 1024px) {
	.hb-ss-name {
		font-size: 26px;
		letter-spacing: -1px;
	}
}

@media (max-width: 640px) {
	.hb-speakers-spotlight-heading {
		margin-bottom: 32px;
		padding: 0 25px;
	}

	.hb-ss-name {
		font-size: 22px;
		letter-spacing: -0.88px;
	}

	.hb-ss-session {
		font-size: 14px;
	}

	.split-section+.hb-speakers-spotlight {
		padding: 0 0 40px;
	}

	.split-section.with-bg+.hb-speakers-spotlight {
		padding-top: 40px;
	}
}

.page-id-689 .hb-content .container,
.page-id-807 .hb-content .container,
.page-id-809 .hb-content .container,
.page-id-813 .hb-content .container {

	margin: 50px auto;

}

.page-id-689 .hb-content h1,
.page-id-807 .hb-content h1,
.page-id-809 .hb-content h1,
.page-id-813 .hb-content h1 {
	margin-bottom: 30px;
}

.state-events-list--past {
	padding-top: 20px;
}

.state-events-list-heading-upcoming {
	margin-bottom: -12px;
	padding-top: 20px;
}

.gquiz-field-choice li {
	padding: 5px 10px;
	justify-content: space-between;
	display: flex;
	align-items: center;
	gap: 10px;
}

.gquiz-field-choice .gquiz-incorrect-response {

	background: #ffefef;

}

.gquiz-field-choice .gquiz-correct-response {
	background: #edfcf0;
}

.gquiz-field-choice img {
	max-width: 22px;
}

.hero-content h4 {
	margin-bottom: 10px;
	font-size: 18px;
}

.hb-agenda-arrow {
	border-radius: 100%;
	background-color: var(--color-green);
	border: 2px solid var(--color-white);
	color: #fff;
}

.hb-agenda-arrow svg {
	width: 17px;
}

.hb-agenda-arrow.slick-prev {
	left: -14px;
}

.hb-agenda-arrow.slick-next {
	right: -14px;
}

.hb-agenda-slider .slick-dots {
	margin: 0;
	padding: 0;
	display: flex;
	gap: 10px;
	list-style: none;
	align-items: center;
	justify-content: center;
	position: absolute;
	width: 100%;
	bottom: 15px;
}

.hb-agenda-slider .slick-dots li {
	line-height: 0;
}

.hb-agenda-slider .slick-dots button {
	width: 12px;
	height: 12px;
	border: 0;
	border-radius: 100%;
	text-indent: -999px;
	overflow: hidden;
	box-shadow: 0 0 3px 3px rgba(0, 0, 0, .15);
	background-color: #eee;
	opacity: .75;
	line-height: 0;
}

.hb-agenda-slider .slick-dots .slick-active button {
	background-color: #fff;
	opacity: 1;
}

.hero-info {
	display: flex;
	flex-direction: column;
	gap: 7px;
	padding-bottom: 10px;
	margin-top: -10px;
}

.hero-info svg {
	width: 22px;
	height: 22px;
}

.hero-info .hero-info-item {
	display: flex;
	gap: 5px;
	text-transform: uppercase;
	align-items: center;
}

.state-events-header-right {
	display: none;
}

@media (max-width: 640px) {
	.hero>.container>div {
		padding-top: 20px;
	}

	.hero-info {
		padding-bottom: 0;
		margin-top: 10px;
	}
}