/* ===================================
   Parlay House — main styles
   =================================== */

:root {
	/* Brand palette */
	--color-page: #faf5ee;           /* page background */
	--color-cream: #faf5ee;          /* alias: page bg */
	--color-card: #fcf8f3;           /* cards */
	--color-section: #f3ebe1;        /* section bands */
	--color-charcoal: #2a2420;       /* headings / dark text */
	--color-text: #4a4038;           /* body text */
	--color-muted: #8a7c6e;          /* secondary / small text */
	--color-terracotta: #b5502f;     /* accent */
	--color-terracotta-hover: #963f22;
	--color-gold: #efbe45;           /* signature yellow — use as-is */
	--color-on-accent: #fbf3ea;      /* text on dark/accent */
	--color-blob-peach: #e7a98a;     /* decorative blob */
	--color-blob-gold: #e0a94a;      /* decorative blob (legacy) */
	--color-peach: #e7a98a;          /* alias: peach blob */
	--color-white: #ffffff;
	--color-border: #e7dfd4;
	--wrapper-max: 1200px;
	--wrapper-pad: 20px;
	--font-serif: "Heldane", Georgia, "Times New Roman", serif;
	--font-sans: "Gotham-Book", "Gotham", Helvetica, Arial, sans-serif;
	--font-sans-medium: "Gotham-Medium", "Gotham", Helvetica, Arial, sans-serif;
}

.u-bg--white { background-color: var(--color-card) !important; }
.u-bg--beige-dark { background-color: var(--color-section) !important; }
.u-bg--navy { background-color: var(--color-charcoal) !important; }
.u-bg--orange,
.u-bg--light-orange { background-color: var(--color-terracotta) !important; }
.u-bg--yellow { background-color: var(--color-blob-peach) !important; }
.u-bg--beige { background-color: var(--color-card) !important; }
.u-bg--peach { background-color: var(--color-blob-peach) !important; }
.u-bg--maroon { background-color: var(--color-terracotta) !important; }

/* Brand background picks (block defaults stay when empty) */
.building-block.block--page,
.building-block.block--white,
.building-block.block--beige { background-color: var(--color-page); }
.building-block.block--section,
.building-block.block--beige-dark { background-color: var(--color-section); }
.building-block.block--card { background-color: var(--color-card); }
.building-block.block--charcoal,
.building-block.block--navy {
	background-color: var(--color-charcoal);
	color: var(--color-on-accent);
}
.building-block.block--terracotta,
.building-block.block--orange,
.building-block.block--light-orange,
.building-block.block--maroon {
	background-color: var(--color-terracotta);
	color: var(--color-on-accent);
}
.building-block.block--peach { background-color: var(--color-blob-peach); }
.building-block.block--gold,
.building-block.block--yellow { background-color: var(--color-blob-gold); }

.building-block.block--charcoal h1,
.building-block.block--charcoal h2,
.building-block.block--charcoal h3,
.building-block.block--charcoal p,
.building-block.block--navy h1,
.building-block.block--navy h2,
.building-block.block--navy h3,
.building-block.block--navy p,
.building-block.block--terracotta h1,
.building-block.block--terracotta h2,
.building-block.block--terracotta h3,
.building-block.block--terracotta p,
.building-block.block--orange h1,
.building-block.block--orange h2,
.building-block.block--orange h3,
.building-block.block--orange p {
	color: var(--color-on-accent);
}

/* -----------------------------------
   Building block vertical padding
   Minimum ~80px except explicit "none"
   ----------------------------------- */

.building-block {
	padding-top: 80px;
	padding-bottom: 80px;
}

.building-block--padding-top-none { padding-top: 0; }
.building-block--padding-top-sm,
.building-block--padding-top-default,
.building-block--padding-top-md,
.building-block--padding-top-lg { padding-top: 80px; }
.building-block--padding-top-xl { padding-top: 120px; }

.building-block--padding-bottom-none { padding-bottom: 0; }
.building-block--padding-bottom-sm,
.building-block--padding-bottom-default,
.building-block--padding-bottom-md,
.building-block--padding-bottom-lg { padding-bottom: 80px; }
.building-block--padding-bottom-xl { padding-bottom: 120px; }

/* Tighten stacked same-tone blocks (avoids 80+80 double gaps) */
.building-block + .building-block {
	padding-top: 40px;
}

.building-block + .building-block.building-block--padding-top-none {
	padding-top: 0;
}

.building-block + .building-block.building-block--padding-top-xl {
	padding-top: 120px;
}

.building-block.block--page + .building-block.block--page,
.building-block.block--section + .building-block.block--section,
.building-block.block--card + .building-block.block--card,
.building-block--basic_text + .building-block--basic_text,
.building-block--basic_text + .building-block--text-image,
.building-block--text-image + .building-block--basic_text,
.building-block--basic_text + .building-block--accordion,
.building-block--accordion + .building-block--basic_text {
	padding-top: 24px;
}

/* Keep intentional contrast between different brand bands */
.building-block.block--page + .building-block.block--section,
.building-block.block--section + .building-block.block--page,
.building-block.block--page + .building-block.block--charcoal,
.building-block.block--section + .building-block.block--charcoal,
.building-block.block--charcoal + .building-block.block--page,
.building-block.block--charcoal + .building-block.block--section,
.building-block.block--page + .building-block.block--terracotta,
.building-block.block--section + .building-block.block--terracotta,
.building-block.block--terracotta + .building-block.block--page,
.building-block.block--terracotta + .building-block.block--section {
	padding-top: 80px;
}

@media (max-width: 700px) {
	.building-block {
		padding-top: 64px;
		padding-bottom: 64px;
	}

	.building-block--padding-top-none { padding-top: 0; }
	.building-block--padding-top-sm,
	.building-block--padding-top-default,
	.building-block--padding-top-md,
	.building-block--padding-top-lg { padding-top: 64px; }
	.building-block--padding-top-xl { padding-top: 80px; }

	.building-block--padding-bottom-none { padding-bottom: 0; }
	.building-block--padding-bottom-sm,
	.building-block--padding-bottom-default,
	.building-block--padding-bottom-md,
	.building-block--padding-bottom-lg { padding-bottom: 64px; }
	.building-block--padding-bottom-xl { padding-bottom: 80px; }

	.building-block + .building-block {
		padding-top: 32px;
	}

	.building-block.block--page + .building-block.block--page,
	.building-block.block--section + .building-block.block--section,
	.building-block.block--card + .building-block.block--card,
	.building-block--basic_text + .building-block--basic_text,
	.building-block--basic_text + .building-block--text-image,
	.building-block--text-image + .building-block--basic_text,
	.building-block--basic_text + .building-block--accordion,
	.building-block--accordion + .building-block--basic_text {
		padding-top: 16px;
	}

	.building-block.block--page + .building-block.block--section,
	.building-block.block--section + .building-block.block--page,
	.building-block.block--page + .building-block.block--charcoal,
	.building-block.block--section + .building-block.block--charcoal,
	.building-block.block--charcoal + .building-block.block--page,
	.building-block.block--charcoal + .building-block.block--section,
	.building-block.block--page + .building-block.block--terracotta,
	.building-block.block--section + .building-block.block--terracotta,
	.building-block.block--terracotta + .building-block.block--page,
	.building-block.block--terracotta + .building-block.block--section {
		padding-top: 64px;
	}

	.building-block.block--page + .building-block.building-block--title_text_image,
	.building-block.block--section + .building-block.building-block--title_text_image,
	.building-block.block--card + .building-block.building-block--title_text_image,
	.building-block.block--charcoal + .building-block.building-block--title_text_image,
	.building-block.block--terracotta + .building-block.building-block--title_text_image {
		padding-top: 0 !important;
	}
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

body {
	margin: 0;
	background: var(--color-page);
	color: var(--color-text);
	font-family: var(--font-sans);
}

img {
	max-width: 100%;
	height: auto;
	display: block;
}

/* -----------------------------------
   Sitewide inner content wrapper
   ----------------------------------- */

.wrapper,
.bb-wrapper {
	width: 100%;
	max-width: var(--wrapper-max);
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--wrapper-pad);
	padding-right: var(--wrapper-pad);
}

/* -----------------------------------
   Shared text CTA (arrow links)
   ----------------------------------- */

.nbb-text-cta {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: none;
	box-shadow: none;
	color: var(--color-terracotta);
	font-family: var(--font-sans-medium);
	font-size: 1.05rem;
	font-weight: 500;
	letter-spacing: 0.01em;
	line-height: 1.25;
	text-decoration: none;
	text-transform: none;
	transition: color 0.2s ease;
}

.nbb-text-cta::after {
	content: "";
	width: 0.5em;
	height: 0.5em;
	margin-top: -1px;
	border-right: 2px solid currentColor;
	border-top: 2px solid currentColor;
	transform: rotate(45deg);
	transition: transform 0.2s ease;
}

.nbb-text-cta:hover,
.nbb-text-cta:focus-visible {
	color: var(--color-terracotta-hover);
}

.nbb-text-cta:hover::after,
.nbb-text-cta:focus-visible::after {
	transform: rotate(45deg) translate(2px, -2px);
}

.nbb-text-cta--dark,
.bb-button-group .nbb-text-cta + .nbb-text-cta {
	color: var(--color-charcoal);
}

.nbb-text-cta--dark:hover,
.nbb-text-cta--dark:focus-visible,
.bb-button-group .nbb-text-cta + .nbb-text-cta:hover,
.bb-button-group .nbb-text-cta + .nbb-text-cta:focus-visible {
	color: var(--color-terracotta);
}

.nbb-text-cta--on-dark {
	color: var(--color-on-accent);
}

.nbb-text-cta--on-dark:hover,
.nbb-text-cta--on-dark:focus-visible {
	color: var(--color-blob-peach);
}

/* -----------------------------------
   Header
   ----------------------------------- */

.header {
	position: relative;
	z-index: 100;
	background: var(--color-cream);
	border-bottom: 1px solid var(--color-border);
}

.header .wrapper {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	column-gap: 24px;
	min-height: 88px;
	padding-top: 18px;
	padding-bottom: 18px;
}

.header .logo {
	justify-self: center;
	grid-column: 2;
	text-decoration: none;
	line-height: 0;
}

.header .logo img {
	width: 130px;
	height: auto;
}

/* New markup (git): logo | centered nav | actions */
.header:has(.header__nav) .logo {
	justify-self: start;
	grid-column: auto;
}

.header__nav {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 28px;
}

/* Legacy live markup: side | logo | side */
.header__side {
	display: flex;
	align-items: center;
	gap: 16px;
	min-width: 0;
}

.header__side:not(.header__side--right) {
	justify-self: start;
	grid-column: 1;
}

.header__side--right {
	justify-self: end;
	grid-column: 3;
	justify-content: flex-end;
	flex-wrap: wrap;
}

.header .nav__list {
	list-style: none;
	display: flex;
	align-items: center;
	gap: 28px;
	margin: 0;
	padding: 0;
}

.header__nav .nav__list {
	gap: 28px;
}

.header .nav__list li {
	padding: 0;
	margin: 0;
}

.header .nav__list a {
	display: inline-block;
	color: var(--color-charcoal);
	font-family: var(--font-sans);
	font-size: 15px;
	font-weight: 400;
	line-height: 1.2;
	letter-spacing: 0.01em;
	text-decoration: none;
	text-transform: none;
	padding: 6px 0;
	transition: color 0.2s ease;
}

.header .nav__list a:hover,
.header .nav__list a:focus-visible {
	color: var(--color-terracotta);
}

.header__actions {
	justify-self: end;
	display: flex;
	align-items: center;
	gap: 16px;
}

.header .nav__list--login {
	gap: 20px;
}

.header .nav__list li a.nav-link-navy {
	background: none;
	border: 0;
	border-radius: 0;
	padding: 6px 0;
	margin: 0;
	color: var(--color-charcoal);
	font-family: var(--font-sans);
	font-size: 15px;
	text-decoration: underline;
	text-underline-offset: 0.18em;
}

.header .nav__list li a.nav-link-navy:hover,
.header .nav__list li a.nav-link-navy:focus-visible {
	background: none;
	color: var(--color-terracotta);
}

.header .nav__list li a.nav-link-blue,
.nav__list-mobile,
.nav__list-mobile:visited {
	background: var(--color-terracotta);
	color: var(--color-on-accent);
	border: 0;
	border-radius: 999px;
	padding: 11px 28px;
	margin: 0;
	font-family: var(--font-sans-medium);
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0.02em;
	text-decoration: none;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.header .nav__list li a.nav-link-blue:hover,
.header .nav__list li a.nav-link-blue:focus-visible,
.nav__list-mobile:hover {
	background: var(--color-terracotta-hover);
	color: var(--color-on-accent);
}

.header .has-dropdown {
	position: relative;
}

.header .has-dropdown > .nav-link--parent {
	display: inline-flex;
	align-items: center;
	color: var(--color-terracotta);
	font-family: var(--font-sans);
	font-size: 15px;
	text-decoration: none;
	padding: 6px 0;
}

.header .has-dropdown > .nav-link--parent:hover,
.header .has-dropdown > .nav-link--parent:focus-visible {
	color: var(--color-terracotta-hover);
}

.header .nav-link--parent::after {
	display: inline-block;
	width: 0;
	height: 0;
	margin-left: 0.45em;
	content: "";
	border-top: 5px solid currentColor;
	border-right: 4px solid transparent;
	border-bottom: 0;
	border-left: 4px solid transparent;
}

.header .nav_dropdown_menu {
	display: none;
	position: absolute;
	top: calc(100% + 10px);
	right: 0;
	z-index: 200;
	margin: 0;
	padding: 8px 0;
	list-style: none;
	min-width: 200px;
	background: var(--color-white);
	border: 1px solid var(--color-border);
	border-radius: 10px;
	box-shadow: 0 10px 28px rgba(42, 36, 32, 0.1);
}

.header .sub-menu {
	position: absolute;
	top: calc(100% + 8px);
	left: 50%;
	z-index: 200;
	margin: 0;
	padding: 10px 0;
	list-style: none;
	min-width: 180px;
	background: var(--color-white);
	border: 1px solid var(--color-border);
	border-radius: 8px;
	box-shadow: 0 8px 24px rgba(42, 36, 32, 0.08);
	opacity: 0;
	pointer-events: none;
	transform: translateX(-50%);
	transition: opacity 0.2s ease;
}

.header .menu-item-has-children {
	position: relative;
}

.header .menu-item-has-children:hover > .sub-menu {
	opacity: 1;
	pointer-events: auto;
}

.header .sub-menu li,
.header .nav_dropdown_menu li {
	padding: 0;
}

.header .sub-menu a,
.header .nav_dropdown_menu a {
	display: block;
	padding: 10px 20px;
	color: var(--color-charcoal);
	font-family: var(--font-sans);
	font-size: 15px;
	line-height: 1.3;
	text-decoration: none;
	white-space: nowrap;
}

.header .nav_dropdown_menu a:hover,
.header .nav_dropdown_menu a:focus-visible {
	color: var(--color-terracotta);
	background: transparent;
}

.header .nav__list-mobile {
	display: none;
}

.header-burger {
	display: none;
	width: 40px;
	height: 40px;
	padding: 0;
	background: none;
	border: 0;
	cursor: pointer;
}

.header-burger span {
	display: block;
	width: 100%;
	height: 2px;
	margin: 7px 0;
	background: var(--color-charcoal);
	pointer-events: none;
}

.header-mobile-menu {
	position: fixed;
	left: 0;
	top: 0;
	z-index: 200;
	width: min(320px, 88vw);
	height: 100vh;
	padding: 80px 28px 40px;
	overflow-y: auto;
	background: var(--color-cream);
	box-shadow: 8px 0 32px rgba(42, 36, 32, 0.12);
	transition: transform 0.3s ease;
}

.header-mobile-menu.hidden {
	transform: translateX(-120%);
}

.header-mobile-menu .nav__list {
	display: block;
	flex-direction: column;
	align-items: stretch;
	gap: 0;
}

.header-mobile-menu li {
	margin: 12px 0;
}

.header-mobile-menu li a {
	padding: 0;
	font-size: 16px;
}

.header-mobile-menu .nav-link-blue {
	display: inline-block;
	margin-top: 0;
}

.header-mobile-menu .nav__list--account {
	border-top: 1px solid var(--color-border);
	margin-top: 28px !important;
	padding-top: 28px !important;
}

.header-mobile-menu .nav__list--account > li:first-child {
	margin-top: 0;
}

.header-mobile-menu .nav__list--account .nav-link-blue {
	margin-top: 0;
}

@media (max-width: 1200px) {
	.header .nav__list,
	.header__nav .nav__list {
		gap: 20px;
	}
}

@media (max-width: 960px) {
	.header .wrapper {
		display: flex;
		justify-content: space-between;
		min-height: 72px;
		padding-top: 14px;
		padding-bottom: 14px;
	}

	.header .logo {
		justify-self: auto;
		grid-column: auto;
	}

	.header .logo img {
		width: 100px;
	}

	.header__nav,
	.header__side .nav__list,
	.header .header__actions > .nav__list--login,
	.header__side--right .nav__list--login {
		display: none;
	}

	.header__side {
		gap: 0;
	}

	.header .header-mobile-menu .nav__list {
		display: block;
	}

	.header .sub-menu {
		position: relative;
		top: 0;
		left: 0;
		transform: none;
		opacity: 1;
		pointer-events: auto;
		border: 0;
		box-shadow: none;
		background: transparent;
		padding: 8px 0 0 16px;
		min-width: 0;
	}

	.header .nav__list-mobile {
		display: inline-block;
	}

	.header-burger {
		display: block;
	}
}

/* -----------------------------------
   Animated hero
   ----------------------------------- */

.nbb-animated-hero {
	background: var(--color-cream);
	overflow: hidden;
}

.nbb-animated-hero .hidden-animated-words {
	display: none;
}

.nbb-animated-hero__outer {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(280px, 0.95fr);
	align-items: center;
	gap: 48px 56px;
	position: relative;
	padding-top: 72px;
	padding-bottom: 96px;
}

.nbb-animated-hero__dots {
	position: absolute;
	inset: 0;
	pointer-events: none;
	z-index: 0;
}

.nbb-animated-hero__dots--red {
	display: none;
}

.nbb-animated-hero__dots--pink {
	position: absolute;
	right: 2%;
	top: 8%;
	width: min(280px, 32%);
	aspect-ratio: 1;
	border-radius: 50%;
	background: var(--color-peach);
}

.nbb-animated-hero__text,
.nbb-animated-hero__video {
	position: relative;
	z-index: 1;
}

.nbb-animated-hero__text h1 {
	margin: 0 0 20px;
	color: var(--color-charcoal);
	font-family: var(--font-serif);
	font-size: clamp(2.15rem, 4.2vw, 3.55rem);
	font-weight: 500;
	line-height: 1.12;
}

.nbb-animated-hero__text h1 b,
.nbb-animated-hero__text h1 em,
.nbb-animated-hero__text h1 i,
.nbb-animated-hero__text h1 strong {
	color: var(--color-terracotta);
	font-style: italic;
	font-weight: 500;
}

.nbb-animated-hero__text p {
	margin: 0 0 32px;
	max-width: 34em;
	color: var(--color-charcoal);
	font-family: var(--font-sans);
	font-size: clamp(1rem, 1.3vw, 1.15rem);
	line-height: 1.6;
	letter-spacing: 0;
}

.nbb-animated-hero__text p span {
	position: relative;
	display: inline;
	min-width: 0;
}

.nbb-animated-hero__text p span b {
	font-family: var(--font-serif);
	font-style: italic;
	font-weight: 500;
	color: var(--color-terracotta);
}

.nbb-animated-hero__text p span::after {
	display: none;
}

.nbb-animated-hero__text > div:not(.hidden-animated-words) {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 16px;
}

.nbb-animated-hero .nbb-orange-cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: auto;
	margin: 0;
	padding: 14px 28px;
	border: 0;
	border-radius: 999px;
	background: var(--color-terracotta);
	color: var(--color-on-accent);
	font-family: var(--font-sans-medium);
	font-size: 14px;
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: 0.02em;
	text-decoration: none;
	transition: background-color 0.2s ease;
}

.nbb-animated-hero .nbb-orange-cta:hover,
.nbb-animated-hero .nbb-orange-cta:focus-visible,
.nbb-animated-hero .nbb-orange-cta:visited,
.nbb-animated-hero .nbb-orange-cta:active {
	background: var(--color-terracotta-hover);
	color: var(--color-on-accent);
}

.nbb-animated-hero__text > div:not(.hidden-animated-words) span {
	color: var(--color-charcoal);
	font-family: var(--font-sans);
	font-size: 13px;
	line-height: 1.4;
}

.nbb-animated-hero__video {
	position: relative;
	padding: 28px 12px 52px 72px;
}

.nbb-animated-hero__video-thumbnail {
	position: relative;
	overflow: hidden;
	border-radius: 36px;
	transform: rotate(-4deg);
	box-shadow: 0 22px 48px rgba(42, 36, 32, 0.16);
}

.nbb-animated-hero__video-thumbnail img {
	position: static;
	width: 100%;
	height: auto;
	aspect-ratio: 1;
	object-fit: cover;
	object-position: center;
	clip-path: none;
}

.nbb-animated-hero__video-thumbnail a.js-play-modal-video {
	position: absolute;
	top: 50%;
	left: 50%;
	right: auto;
	bottom: auto;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 72px;
	height: 72px;
	margin: 0;
	color: var(--color-terracotta);
	transform: translate(-50%, -50%);
	filter: drop-shadow(0 8px 18px rgba(42, 36, 32, 0.2));
	transition: transform 0.2s ease;
}

.nbb-animated-hero__video-thumbnail a.js-play-modal-video svg {
	display: block;
	width: 72px;
	height: 72px;
}

.nbb-animated-hero__video-thumbnail a.js-play-modal-video:hover,
.nbb-animated-hero__video-thumbnail a.js-play-modal-video:focus-visible {
	transform: translate(-50%, -50%) scale(1.06);
}

.nbb-animated-hero__polaroid {
	position: absolute;
	left: 0;
	bottom: 6%;
	z-index: 2;
	width: 42%;
	max-width: 210px;
	padding: 8px 8px 32px;
	background: var(--color-white);
	box-shadow: 0 14px 32px rgba(42, 36, 32, 0.14);
	transform: rotate(-8deg);
}

.nbb-animated-hero__polaroid img {
	width: 100%;
	aspect-ratio: 1;
	object-fit: cover;
}

.nbb-animated-hero__polaroid-caption {
	display: block;
	margin-top: 10px;
	color: var(--color-charcoal);
	font-family: var(--font-serif);
	font-size: 13px;
	line-height: 1;
	text-align: center;
}

/* -----------------------------------
   Video hero (full-bleed background)
   ----------------------------------- */

.nbb-video-hero {
	position: relative;
	isolation: isolate;
	min-height: min(92vh, 900px);
	overflow: hidden;
	background: var(--color-charcoal);
	color: var(--color-on-accent);
}

.nbb-video-hero__media {
	position: absolute;
	inset: 0;
	z-index: 0;
	overflow: hidden;
}

.nbb-video-hero__bg-video,
.nbb-video-hero__bg-image {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.nbb-video-hero__overlay {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(105deg, rgba(42, 36, 32, 0.78) 0%, rgba(42, 36, 32, 0.42) 48%, rgba(42, 36, 32, 0.28) 100%),
		linear-gradient(180deg, rgba(42, 36, 32, 0.18) 0%, rgba(42, 36, 32, 0.55) 100%);
	pointer-events: none;
}

.nbb-video-hero__inner {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	min-height: min(92vh, 900px);
	padding-top: 120px;
	padding-bottom: 72px;
}

.nbb-video-hero__text {
	max-width: 38rem;
	margin-bottom: 56px;
}

.nbb-video-hero__text h1 {
	margin: 0 0 18px;
	color: #fbf3ea;
	font-family: var(--font-serif);
	font-size: clamp(2.3rem, 5vw, 4rem);
	font-weight: 500;
	line-height: 1.1;
	letter-spacing: -0.015em;
}

.nbb-video-hero__text h1 p,
.nbb-video-hero__text h1 div {
	display: inline;
	margin: 0;
	padding: 0;
	color: inherit;
	font: inherit;
	letter-spacing: inherit;
	line-height: inherit;
}

.nbb-video-hero__text h1 b,
.nbb-video-hero__text h1 em,
.nbb-video-hero__text h1 i,
.nbb-video-hero__text h1 strong,
.nbb-video-hero__text h1 span b,
.nbb-video-hero__text .js-animated-text-wrap span b,
.nbb-video-hero__text .nbb-video-hero__subtitle span b {
	font-family: var(--font-serif);
	font-style: italic;
	font-weight: 500;
	color: var(--color-peach);
}

.nbb-video-hero__text p,
.nbb-video-hero__text .nbb-video-hero__subtitle {
	margin: 0 0 28px;
	max-width: 32em;
	color: rgba(251, 243, 234, 0.88);
	font-family: var(--font-sans);
	font-size: clamp(1.05rem, 1.4vw, 1.2rem);
	line-height: 1.6;
}

.nbb-video-hero__text .hidden-animated-words {
	display: none;
}

.nbb-video-hero__text .js-animated-text-wrap span,
.nbb-video-hero__text h1 span {
	position: relative;
	display: inline;
	min-width: 0;
}

.nbb-video-hero__text .js-animated-text-wrap span::after,
.nbb-video-hero__text h1 span::after {
	display: none;
}

.nbb-video-hero__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px 18px;
}

.nbb-video-hero .nbb-orange-cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 14px 28px;
	border-radius: 999px;
	background: var(--color-terracotta);
	color: var(--color-white);
	font-family: var(--font-sans-medium);
	font-size: 0.95rem;
	font-weight: 500;
	line-height: 1.2;
	text-decoration: none;
	transition: background-color 0.2s ease, transform 0.2s ease;
}

.nbb-video-hero .nbb-orange-cta:hover,
.nbb-video-hero .nbb-orange-cta:focus-visible {
	background: var(--color-terracotta-hover);
	color: var(--color-white);
	transform: translateY(-1px);
}

.nbb-video-hero__note {
	color: rgba(251, 243, 234, 0.72);
	font-family: var(--font-sans);
	font-size: 0.88rem;
	line-height: 1.4;
}

.nbb-video-hero__watch {
	position: absolute;
	right: 0;
	bottom: 36px;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 12px 16px 12px 12px;
	border: 1px solid rgba(251, 243, 234, 0.28);
	border-radius: 999px;
	background: rgba(42, 36, 32, 0.42);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	color: #fbf3ea;
	font-family: var(--font-sans-medium);
	font-size: 0.9rem;
	font-weight: 500;
	letter-spacing: 0.01em;
	text-decoration: none;
	box-shadow: 0 10px 28px rgba(0, 0, 0, 0.22);
	transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.nbb-video-hero__watch:hover,
.nbb-video-hero__watch:focus-visible {
	background: rgba(42, 36, 32, 0.62);
	border-color: rgba(231, 169, 138, 0.55);
	color: #fff;
	transform: translateY(-1px);
}

.nbb-video-hero__watch-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border-radius: 999px;
	background: var(--color-terracotta);
	color: #fff;
}

.nbb-video-hero__watch-label {
	padding-right: 4px;
}

@media (max-width: 900px) {
	.nbb-video-hero,
	.nbb-video-hero__inner {
		min-height: min(84vh, 760px);
	}

	.nbb-video-hero__inner {
		padding-top: 100px;
		padding-bottom: 96px;
	}

	.nbb-video-hero__text {
		max-width: none;
		margin-bottom: 24px;
	}

	.nbb-video-hero__watch {
		right: 0;
		bottom: 24px;
	}
}

@media (max-width: 640px) {
	.nbb-video-hero__text h1 {
		font-size: clamp(2rem, 9vw, 2.6rem);
	}

	.nbb-video-hero__watch {
		left: 0;
		right: 0;
		justify-content: center;
	}
}

/* -----------------------------------
   Video popup
   ----------------------------------- */

.mfp-bg {
	background: var(--color-charcoal);
}

.mfp-content:has(.mfp-video-popup) {
	max-width: min(960px, 92vw);
}

.mfp-video-popup {
	padding: 14px;
	background: var(--color-cream);
	border-radius: 20px;
	box-shadow: 0 24px 60px rgba(42, 36, 32, 0.28);
	text-align: center;
}

.mfp-video-popup video {
	display: block;
	width: 100%;
	height: auto;
	max-height: 80vh;
	border-radius: 12px;
	background: #111;
}

.mfp-content:has(.mfp-video-popup) .mfp-close {
	top: -14px;
	right: -14px;
	width: 40px;
	height: 40px;
	padding: 0;
	border-radius: 50%;
	background: var(--color-terracotta);
	color: var(--color-on-accent);
	font-size: 26px;
	line-height: 40px;
	opacity: 1;
	text-align: center;
	transition: background-color 0.2s ease;
}

.mfp-content:has(.mfp-video-popup) .mfp-close:hover,
.mfp-content:has(.mfp-video-popup) .mfp-close:focus {
	background: var(--color-terracotta-hover);
	opacity: 1;
}

@media (max-width: 960px) {
	.nbb-animated-hero__outer {
		grid-template-columns: 1fr;
		gap: 36px;
		padding-top: 40px;
		padding-bottom: 56px;
	}

	.nbb-animated-hero__dots--pink {
		width: 180px;
		right: -24px;
		top: auto;
		bottom: 12%;
	}

	.nbb-animated-hero__text > div:not(.hidden-animated-words) {
		flex-direction: column;
		align-items: flex-start;
	}

	.nbb-animated-hero__video {
		order: 2;
		padding: 16px 8px 36px 40px;
		max-width: 520px;
		margin: 0 auto;
		width: 100%;
	}

	.nbb-animated-hero__video-thumbnail {
		border-radius: 24px;
		transform: rotate(-2deg);
	}

	.nbb-animated-hero__video-thumbnail a.js-play-modal-video,
	.nbb-animated-hero__video-thumbnail a.js-play-modal-video svg {
		width: 60px;
		height: 60px;
	}

	.nbb-animated-hero__polaroid {
		width: 38%;
		max-width: 150px;
		padding: 6px 6px 26px;
		bottom: 4%;
	}

	.nbb-animated-hero__polaroid-caption {
		font-size: 11px;
		margin-top: 8px;
	}

	.mfp-content:has(.mfp-video-popup) .mfp-close {
		top: -8px;
		right: 0;
	}
}

@media (max-width: 600px) {
	.nbb-animated-hero__outer {
		padding-top: 28px;
		padding-bottom: 40px;
	}

	.nbb-animated-hero__text h1 {
		font-size: 2rem;
	}

	.nbb-animated-hero__video {
		padding-left: 28px;
	}
}

/* -----------------------------------
   Animated circles
   ----------------------------------- */

.nbb-animated-circles {
	--circle-pink: #f1a79a;
	--circle-orange: #e57b4e;
	--circle-yellow: var(--color-blob-peach);
	--circle-cream: #f8f1ea;
	--toggle-track: #e7eef2;
	background: var(--color-white);
	padding: 80px 0 64px;
	overflow: hidden;
}

.nbb-animated-circles__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 48px;
}

.nbb-animated-circles__text {
	width: 42%;
	flex: none;
	padding: 24px 24px 24px 0;
}

.nbb-animated-circles__text h2 {
	margin: 0 0 28px;
	color: var(--color-charcoal);
	font-family: var(--font-serif);
	font-size: clamp(2.1rem, 4vw, 3.4rem);
	font-weight: 500;
	line-height: 1.1;
}

.nbb-animated-circles__text p {
	margin: 0;
	color: var(--color-charcoal);
	font-family: var(--font-sans);
	font-size: 1.05rem;
	line-height: 1.65;
	transition: font-family 0.25s ease;
}

.nbb-animated-circles.is-alt .nbb-animated-circles__text p {
	font-family: var(--font-serif);
	font-style: italic;
}

.nbb-animated-circles__toggle {
	display: flex;
	width: fit-content;
	margin: 0 0 28px;
	padding: 5px;
	border-radius: 999px;
	background: var(--toggle-track);
}

.nbb-animated-circles__toggle a {
	padding: 10px 22px;
	border-radius: 999px;
	color: var(--color-charcoal);
	font-family: var(--font-sans-medium);
	font-size: 12px;
	font-weight: 500;
	line-height: 1.1;
	letter-spacing: 0.08em;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	transition: background-color 0.2s ease, box-shadow 0.2s ease;
}

.nbb-animated-circles__toggle a.active {
	background: var(--color-white);
	box-shadow: 0 6px 16px rgba(42, 36, 32, 0.1);
}

.nbb-animated-circles__subtext.hidden {
	display: none;
}

.nbb-animated-circles__wrap {
	position: relative;
	width: 55%;
	flex: none;
	max-width: 580px;
	min-height: 560px;
}

.nbb-animated-circles__beige-dot,
.nbb-animated-circles__pink-dot {
	position: absolute;
	border-radius: 50%;
	z-index: 1;
	animation: nbb-circle-float-c 7s ease-in-out infinite;
}

.nbb-animated-circles__beige-dot {
	width: 18px;
	height: 18px;
	left: 8%;
	bottom: 28%;
	background: var(--color-gold);
	box-shadow: none;
}

.nbb-animated-circles__pink-dot {
	width: 14px;
	height: 14px;
	right: 38%;
	top: 36%;
	background: var(--color-gold);
}

.nbb-animated-circles__circle {
	position: absolute;
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 1 / 1;
	padding: 28px;
	border-radius: 50%;
	transition: font-style 0.25s ease, font-family 0.25s ease;
}

.nbb-animated-circles__circle span {
	color: var(--color-charcoal);
	font-family: var(--font-serif);
	font-style: normal;
	font-weight: 400;
	line-height: 1.2;
	letter-spacing: -0.02em;
	text-align: center;
}

.nbb-animated-circles.is-alt .nbb-animated-circles__circle span {
	font-style: italic;
}

.nbb-animated-circles__circle .text-2 {
	display: none;
}

.nbb-animated-circles__circle--pink {
	left: -4%;
	top: 18%;
	z-index: 2;
	width: 280px;
	background: var(--circle-pink);
	font-size: 1.7rem;
	animation: nbb-circle-float-a 8s ease-in-out infinite;
}

.nbb-animated-circles__circle--orange {
	top: 0;
	right: 2%;
	z-index: 3;
	width: 210px;
	background: var(--circle-orange);
	font-size: 1.35rem;
	animation: nbb-circle-float-b 7.2s ease-in-out infinite;
}

.nbb-animated-circles__circle--yellow {
	right: 4%;
	bottom: 8%;
	z-index: 2;
	width: 200px;
	background: var(--circle-yellow);
	font-size: 1.3rem;
	animation: nbb-circle-float-a 9s ease-in-out infinite reverse;
}

.nbb-animated-circles__circle--cream {
	left: 22%;
	bottom: 6%;
	z-index: 4;
	width: 188px;
	max-width: 188px;
	background: var(--circle-cream);
	font-size: 1.25rem;
	box-shadow: 0 10px 24px rgba(42, 36, 32, 0.06);
	animation: nbb-circle-float-b 8.4s ease-in-out infinite reverse;
}

@keyframes nbb-circle-float-a {
	0%,
	100% {
		transform: translate(0, 0);
	}
	50% {
		transform: translate(6px, -12px);
	}
}

@keyframes nbb-circle-float-b {
	0%,
	100% {
		transform: translate(0, 0);
	}
	50% {
		transform: translate(-8px, 8px);
	}
}

@keyframes nbb-circle-float-c {
	0%,
	100% {
		transform: translate(0, 0);
	}
	50% {
		transform: translate(4px, -6px);
	}
}

@media (max-width: 1120px) {
	.nbb-animated-circles__text {
		padding-right: 0;
	}

	.nbb-animated-circles__circle--pink {
		width: 240px;
		font-size: 1.45rem;
	}

	.nbb-animated-circles__circle--orange,
	.nbb-animated-circles__circle--yellow {
		width: 180px;
		font-size: 1.15rem;
	}

	.nbb-animated-circles__circle--cream {
		width: 164px;
		max-width: 164px;
		font-size: 1.1rem;
	}
}

@media (max-width: 960px) {
	.nbb-animated-circles {
		padding: 48px 0 40px;
	}

	.nbb-animated-circles__inner {
		flex-direction: column;
		align-items: stretch;
		gap: 24px;
	}

	.nbb-animated-circles__text,
	.nbb-animated-circles__wrap {
		width: 100%;
		padding: 0;
	}

	.nbb-animated-circles__text h2 {
		margin-bottom: 20px;
	}

	.nbb-animated-circles__wrap {
		min-height: 460px;
		max-width: 420px;
		margin: 0 auto;
	}

	.nbb-animated-circles__circle--pink {
		left: 0;
		top: 12%;
		width: 210px;
		font-size: 1.25rem;
		padding: 22px;
	}

	.nbb-animated-circles__circle--orange {
		top: 0;
		width: 168px;
		font-size: 1.05rem;
		padding: 20px;
	}

	.nbb-animated-circles__circle--yellow {
		bottom: 10%;
		width: 160px;
		font-size: 1.05rem;
		padding: 20px;
	}

	.nbb-animated-circles__circle--cream {
		left: 18%;
		bottom: 4%;
		width: 148px;
		max-width: 148px;
		font-size: 1rem;
		padding: 18px;
	}

	.nbb-animated-circles__pink-dot {
		right: 8%;
		top: 28%;
	}
}

@media (max-width: 600px) {
	.nbb-animated-circles__toggle {
		width: 100%;
	}

	.nbb-animated-circles__toggle a {
		flex: 1;
		padding: 10px 12px;
		font-size: 11px;
	}

	.nbb-animated-circles__wrap {
		min-height: 400px;
		max-width: 340px;
	}

	.nbb-animated-circles__circle--pink {
		width: 176px;
		font-size: 1.05rem;
	}

	.nbb-animated-circles__circle--orange,
	.nbb-animated-circles__circle--yellow {
		width: 140px;
		font-size: 0.92rem;
	}

	.nbb-animated-circles__circle--cream {
		width: 128px;
		max-width: 128px;
		font-size: 0.88rem;
	}
}

/* -----------------------------------
   Title + cards
   ----------------------------------- */

.building-block--title_cards {
	position: relative;
	background: var(--color-cream);
	padding: 88px 0 96px;
	overflow: hidden;
}

.building-block--title_cards .building-block__bg,
.building-block--title_cards::before {
	display: none;
}

.nbb-title-cards {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 32px;
}

.nbb-title-cards__text {
	grid-column: 1 / -1;
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	grid-template-areas:
		"subtitle links"
		"title links";
	align-items: end;
	column-gap: 48px;
	row-gap: 10px;
	margin-bottom: 16px;
}

.nbb-title-cards__subtitle {
	grid-area: subtitle;
	color: var(--color-terracotta);
	font-family: var(--font-sans-medium);
	font-size: 0.75rem;
	font-weight: 500;
	letter-spacing: 0.16em;
	line-height: 1.3;
	text-transform: uppercase;
}

.nbb-title-cards__subtitle p {
	margin: 0;
}

.nbb-title-cards__text h2 {
	grid-area: title;
	margin: 0;
	max-width: 11ch;
	color: var(--color-charcoal);
	font-family: var(--font-serif);
	font-size: clamp(2.25rem, 4.2vw, 3.5rem);
	font-weight: 500;
	line-height: 1.08;
}

.nbb-title-cards__text .bb-button-group {
	grid-area: links;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: 8px 36px;
	padding: 0 0 8px;
}

.nbb-title-cards__text .bb-button-group a {
	width: auto;
}

.nbb-title-cards__text > .bb-forms-modal {
	display: none;
}

.nbb-title-cards__card {
	display: flex;
	flex-direction: column;
	padding: 0 0 28px;
	background: var(--color-white);
	border-radius: 20px;
	overflow: hidden;
}

.nbb-title-cards__card img {
	display: block;
	width: 100%;
	margin: 0 0 24px;
	aspect-ratio: 16 / 10;
	object-fit: cover;
	border-radius: 20px 20px 0 0;
}

.nbb-title-cards__card h3 {
	margin: 0 28px 12px;
	color: var(--color-charcoal);
	font-family: var(--font-serif);
	font-size: clamp(1.25rem, 1.7vw, 1.65rem);
	font-weight: 500;
	line-height: 1.25;
}

.nbb-title-cards__card p {
	margin: 0 28px 20px;
	color: var(--color-text);
	font-family: var(--font-sans);
	font-size: 0.95rem;
	line-height: 1.6;
}

.nbb-title-cards__card span {
	margin: 0 28px 12px;
	color: var(--color-muted);
	font-family: var(--font-sans-medium);
	font-size: 0.8rem;
}

.nbb-title-cards__card a {
	margin: auto 28px 0;
}

.nbb-title-cards__card a:hover,
.nbb-title-cards__card a:focus-visible {
	color: var(--color-terracotta-hover);
}

.nbb-title-cards__card:nth-child(n + 4) {
	display: grid;
	grid-template-columns: 140px minmax(0, 1fr);
	align-items: center;
	column-gap: 22px;
	padding: 14px 24px 14px 14px;
}

.nbb-title-cards__card:nth-child(n + 4) img {
	grid-row: 1 / span 4;
	width: 140px;
	margin: 0;
	aspect-ratio: 1;
	border-radius: 14px;
}

.nbb-title-cards__card:nth-child(n + 4) h3 {
	margin: 0 0 8px;
	font-size: 1.25rem;
}

.nbb-title-cards__card:nth-child(n + 4) p,
.nbb-title-cards__card:nth-child(n + 4) span {
	display: none;
}

.nbb-title-cards__card:nth-child(n + 4) a {
	margin: 0;
}

.building-block--title_cards > .bb-wrapper > .building-block__body > .bb-button-group {
	margin-top: 36px;
}

@media (max-width: 900px) {
	.building-block--title_cards {
		padding: 56px 0 64px;
	}

	.nbb-title-cards {
		grid-template-columns: 1fr;
		gap: 20px;
	}

	.nbb-title-cards__text {
		grid-template-columns: 1fr;
		grid-template-areas:
			"subtitle"
			"title"
			"links";
		align-items: start;
		row-gap: 12px;
		margin-bottom: 8px;
	}

	.nbb-title-cards__text h2 {
		max-width: none;
	}

	.nbb-title-cards__text .bb-button-group {
		justify-content: flex-start;
		padding-bottom: 12px;
	}

	.nbb-title-cards__card h3,
	.nbb-title-cards__card p,
	.nbb-title-cards__card span,
	.nbb-title-cards__card a {
		margin-left: 20px;
		margin-right: 20px;
	}

	.nbb-title-cards__card a {
		margin-bottom: 0;
	}
}

@media (max-width: 600px) {
	.nbb-title-cards__card:nth-child(n + 4) {
		grid-template-columns: 96px minmax(0, 1fr);
		padding: 10px 16px 10px 10px;
		column-gap: 14px;
	}

	.nbb-title-cards__card:nth-child(n + 4) img {
		width: 96px;
	}

	.nbb-title-cards__card:nth-child(n + 4) h3 {
		margin: 0 0 8px;
		font-size: 1.05rem;
	}

	.nbb-title-cards__card:nth-child(n + 4) a {
		margin: 0;
	}

	.nbb-title-cards__text .bb-button-group {
		flex-direction: column;
		align-items: flex-start;
		gap: 12px;
	}
}

/* -----------------------------------
   Memberships
   ----------------------------------- */

.building-block--memberships_global {
	background: var(--color-cream);
}

.building-block--memberships_global .building-block__bg {
	display: none;
}

.nbb-memberships {
	padding: 56px 0 72px;
}

.nbb-memberships__heading {
	max-width: 920px;
	margin: 0 auto 28px;
	text-align: center;
}

.nbb-memberships__heading h2 {
	margin: 0 0 16px;
	color: var(--color-charcoal);
	font-family: var(--font-serif);
	font-size: clamp(1.7rem, 3vw, 2.35rem);
	font-weight: 400;
	line-height: 1.35;
	letter-spacing: -0.02em;
}

.nbb-memberships__heading h2 b,
.nbb-memberships__heading h2 strong,
.nbb-memberships__heading h2 em,
.nbb-memberships__heading h2 i {
	color: var(--color-terracotta);
	font-style: italic;
	font-weight: 500;
}

.nbb-memberships__items {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
	align-items: stretch;
	padding-top: 8px;
}

.nbb-memberships__item {
	position: relative;
	display: flex;
	flex-direction: column;
	background: var(--color-white);
	border-radius: 20px;
	box-shadow: 0 12px 32px rgba(42, 36, 32, 0.08);
	overflow: hidden;
}

.nbb-memberships__item__image {
	position: relative;
	z-index: 1;
	height: 200px;
	overflow: hidden;
	border-radius: 20px 20px 0 0;
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 200' preserveAspectRatio='none'%3E%3Cpath fill='white' d='M0 0h400v168c-48 22-92-6-140 8-48 14-76-18-128-4-40 11-80-6-132 10V0Z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 200' preserveAspectRatio='none'%3E%3Cpath fill='white' d='M0 0h400v168c-48 22-92-6-140 8-48 14-76-18-128-4-40 11-80-6-132 10V0Z'/%3E%3C/svg%3E");
	-webkit-mask-size: 100% 100%;
	mask-size: 100% 100%;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
}

.nbb-memberships__item__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.nbb-memberships__item__text {
	display: flex;
	flex-direction: column;
	flex: 1;
	padding: 8px 28px 28px;
	text-align: left;
}

.nbb-memberships__item__eyebrow {
	display: block;
	margin: 0 0 10px;
	color: #9a7d5c;
	font-family: var(--font-sans-medium);
	font-size: 0.7rem;
	font-weight: 500;
	letter-spacing: 0.14em;
	line-height: 1.3;
	text-transform: uppercase;
}

.nbb-memberships__item h3 {
	margin: 0 0 6px;
	color: var(--color-charcoal);
	font-family: var(--font-serif);
	font-size: clamp(1.7rem, 2.1vw, 2.1rem);
	font-weight: 500;
	line-height: 1.1;
}

.nbb-memberships__item .price-year,
.nbb-memberships__item .price-month {
	display: flex;
	align-items: baseline;
	justify-content: flex-start;
	flex-wrap: wrap;
	gap: 2px;
	margin: 0 0 4px;
	color: var(--color-charcoal);
	font-family: var(--font-serif);
	font-size: 1.15rem;
	font-weight: 500;
	line-height: 1.2;
}

.nbb-memberships__item .price-year span,
.nbb-memberships__item .price-month span {
	font-family: var(--font-serif);
	font-size: 1.85rem;
	font-weight: 500;
}

.nbb-memberships__item__text .price-month {
	display: none;
}

.nbb-memberships__item__text .price-month.show {
	display: flex !important;
}

.nbb-memberships__item__subtitle {
	margin: 0 0 6px;
	color: var(--color-text);
	font-family: var(--font-sans);
	font-size: 0.9rem;
	line-height: 1.5;
}

.nbb-memberships__item p,
.nbb-memberships__item .price-details-year,
.nbb-memberships__item .price-details-month {
	margin: 0 0 16px;
	color: var(--color-muted);
	font-family: var(--font-sans);
	font-size: 0.82rem;
	line-height: 1.45;
}

.price-details-month {
	display: none;
}

.price-details-year.show,
.price-details-month.show {
	display: block !important;
}

.nbb-memberships__toggle {
	display: flex;
	width: fit-content;
	margin: 0 0 18px;
	padding: 4px;
	border: 0;
	border-radius: 999px;
	background: #eee8e2;
}

.nbb-memberships__toggle a {
	padding: 8px 16px;
	border-radius: 999px;
	color: var(--color-charcoal);
	font-family: var(--font-sans-medium);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.04em;
	line-height: 1.1;
	text-decoration: none;
	text-transform: uppercase;
}

.nbb-memberships__toggle a.active {
	background: var(--color-white);
	box-shadow: 0 4px 12px rgba(42, 36, 32, 0.1);
}

.nbb-memberships .stripe-button-wrapper.membership-year-url,
.nbb-memberships .nbb-orange-cta.membership-year-url {
	display: flex;
	justify-content: center;
	width: 100%;
	margin-top: auto;
}

.nbb-memberships .stripe-button-wrapper.membership-month-url,
.nbb-memberships .nbb-orange-cta.membership-month-url,
.membership-month-url {
	display: none;
}

.nbb-memberships .membership-year-url.show,
.nbb-memberships .membership-month-url.show {
	display: flex !important;
	justify-content: center;
	width: 100%;
	margin-top: auto;
}

.nbb-memberships .nbb-orange-cta,
.nbb-memberships .mss-stripe-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	margin: 0;
	padding: 13px 24px;
	border: 1.5px solid var(--color-charcoal);
	border-radius: 999px;
	background: var(--color-white);
	color: var(--color-charcoal);
	font-family: var(--font-sans-medium);
	font-size: 15px;
	font-weight: 500;
	line-height: 1.2;
	text-decoration: none;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.nbb-memberships .nbb-orange-cta:hover,
.nbb-memberships .nbb-orange-cta:focus-visible,
.nbb-memberships .mss-stripe-button:hover {
	background: var(--color-charcoal);
	color: var(--color-white);
}

.nbb-memberships__item__details {
	margin: 2px 0 32px;
	color: var(--color-text);
	font-family: var(--font-sans);
	font-size: 0.84rem;
	line-height: 1.35;
	text-align: left;
}

.nbb-memberships__item__details ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.nbb-memberships__item__details li {
	margin: 0 0 14px;
	padding: 0;
	line-height: 1.35;
}

.nbb-memberships__item__details p {
	margin: 0 0 14px;
	padding: 0;
	line-height: 1.35;
}

.nbb-memberships__item__details p:has(strong):has(+ p:not(:has(strong))) {
	margin-bottom: 1px;
}

.nbb-memberships__item__details li:last-child,
.nbb-memberships__item__details p:last-child {
	margin-bottom: 0;
}

.nbb-memberships__item__details li:before {
	display: none;
}

.nbb-memberships__item__details li strong,
.nbb-memberships__item__details p strong {
	display: block;
	margin: 0 0 1px;
	color: var(--color-charcoal);
	font-family: var(--font-sans-medium);
	font-size: 0.92rem;
	font-weight: 500;
	line-height: 1.25;
}

.nbb-memberships__item__details strong + br {
	display: none;
}

.nbb-memberships__item__show-more {
	display: none;
	margin: 12px 0 32px;
	color: var(--color-terracotta);
	font-family: var(--font-sans-medium);
	font-size: 13px;
	text-decoration: none;
}

.nbb-memberships__item--featured {
	background: #221e1b;
	box-shadow: 0 18px 40px rgba(34, 30, 27, 0.28);
	overflow: hidden;
}

.nbb-memberships__item--featured .nbb-memberships__item__image {
	border-radius: 20px 20px 0 0;
}

.nbb-memberships__item--featured::before {
	content: "Most popular";
	position: absolute;
	top: 16px;
	right: 10px;
	z-index: 3;
	padding: 8px 12px 7px;
	border-radius: 3px;
	background: var(--color-cream);
	color: var(--color-terracotta);
	font-family: var(--font-serif);
	font-size: 0.68rem;
	font-weight: 500;
	letter-spacing: 0.08em;
	line-height: 1;
	text-transform: uppercase;
	transform: rotate(8deg);
	box-shadow: 0 8px 18px rgba(42, 36, 32, 0.16);
}

.nbb-memberships__item--featured .nbb-memberships__item__eyebrow,
.nbb-memberships__item--featured .nbb-memberships__item__subtitle,
.nbb-memberships__item--featured p,
.nbb-memberships__item--featured .price-details-year,
.nbb-memberships__item--featured .price-details-month,
.nbb-memberships__item--featured .nbb-memberships__item__details,
.nbb-memberships__item--featured .nbb-memberships__item__show-more {
	color: #cfc6bc;
}

.nbb-memberships__item--featured .nbb-memberships__item__details li strong,
.nbb-memberships__item--featured .nbb-memberships__item__details p strong {
	color: var(--color-white);
}

.nbb-memberships__item--featured h3,
.nbb-memberships__item--featured .price-year,
.nbb-memberships__item--featured .price-month,
.nbb-memberships__item--featured .nbb-memberships__item__details li strong {
	color: var(--color-white);
}

.nbb-memberships__item--featured .nbb-memberships__toggle {
	background: rgba(255, 255, 255, 0.12);
}

.nbb-memberships__item--featured .nbb-memberships__toggle a {
	color: #f3ece6;
}

.nbb-memberships__item--featured .nbb-memberships__toggle a.active {
	background: var(--color-white);
	color: var(--color-charcoal);
}

.nbb-memberships__item--featured .nbb-orange-cta,
.nbb-memberships__item--featured .mss-stripe-button {
	border-color: var(--color-terracotta);
	background: var(--color-terracotta);
	color: var(--color-on-accent);
}

.nbb-memberships__item--featured .nbb-orange-cta:hover,
.nbb-memberships__item--featured .mss-stripe-button:hover {
	background: var(--color-terracotta-hover);
	border-color: var(--color-terracotta-hover);
	color: var(--color-white);
}

.nbb-memberships__note {
	max-width: 720px;
	margin: 32px auto 0;
	text-align: center;
}

.nbb-memberships__note p {
	margin: 0;
	color: #8a7f76;
	font-family: var(--font-sans);
	font-size: 0.92rem;
	line-height: 1.55;
}

.nbb-memberships__note a {
	color: var(--color-terracotta);
	text-decoration: underline;
	text-underline-offset: 0.18em;
}

.nbb-memberships__note a:hover {
	color: var(--color-terracotta-hover);
}

@media (max-width: 1024px) {
	.nbb-memberships__items {
		grid-template-columns: 1fr;
		max-width: 420px;
		margin: 0 auto;
		gap: 28px;
	}

	.nbb-memberships__item--featured {
		order: -1;
	}
}

@media (max-width: 960px) {
	.nbb-memberships__item__details {
		display: none;
	}

	.nbb-memberships__item__show-more {
		display: inline-block;
	}
}

@media (max-width: 700px) {
	.nbb-memberships {
		padding: 40px 0 48px;
	}

	.nbb-memberships__heading {
		margin-bottom: 22px;
	}

	.nbb-memberships__item__text {
		padding: 18px 18px 24px;
	}
}

/* -----------------------------------
   Company logos
   ----------------------------------- */

.nbb-logos {
	padding: 80px 0;
	background: var(--color-charcoal);
	opacity: 0;
}

.nbb-logos__label {
	margin: 0 0 28px;
	color: #c4a07a;
	font-family: var(--font-sans-medium);
	font-size: 0.72rem;
	font-weight: 500;
	letter-spacing: 0.2em;
	line-height: 1.3;
	text-align: center;
	text-transform: uppercase;
}

.nbb-logos__label::before,
.nbb-logos__label::after {
	content: "✦";
	display: inline-block;
	margin: 0 0.55em;
	font-size: 0.75em;
	letter-spacing: 0;
}

.nbb-logos__slider {
	overflow: hidden;
	-webkit-mask-image: linear-gradient(to right, transparent 0%, #000 7%, #000 93%, transparent 100%);
	mask-image: linear-gradient(to right, transparent 0%, #000 7%, #000 93%, transparent 100%);
}

.nbb-logos .wrapper {
	max-width: var(--wrapper-max);
}

.nbb-logos__items {
	margin: 0;
}

.nbb-logos .slick-list {
	overflow: hidden;
	margin: 0;
}

.nbb-logos .slick-track {
	display: flex !important;
	align-items: stretch;
}

.nbb-logos .slick-slide {
	height: auto;
	margin: 0 5px;
}

.nbb-logos__item {
	display: flex !important;
	align-items: center;
	justify-content: center;
	aspect-ratio: 1 / 1;
	max-height: 140px;
	padding: 18px;
	border: 0;
	border-radius: 16px;
	overflow: hidden;
}

.nbb-logos__item:nth-child(3n + 1),
.nbb-logos .slick-slide:nth-child(3n + 1) .nbb-logos__item {
	background: #8a4a32;
}

.nbb-logos__item:nth-child(3n + 2),
.nbb-logos .slick-slide:nth-child(3n + 2) .nbb-logos__item {
	background: var(--color-terracotta);
}

.nbb-logos__item:nth-child(3n + 3),
.nbb-logos .slick-slide:nth-child(3n + 3) .nbb-logos__item {
	background: #d08960;
}

.nbb-logos__item img {
	display: block;
	width: 100%;
	height: auto;
	max-height: 70%;
	object-fit: contain;
}

@media (max-width: 700px) {
	.nbb-logos {
		padding: 44px 0 48px;
	}

	.nbb-logos__label {
		margin-bottom: 20px;
	}

	.nbb-logos .slick-slide {
		margin: 0 5px;
	}
}

.nbb-logos + .building-block,
.nbb-logos + .nbb-memberships,
.nbb-logos + .nbb-testimonials,
.nbb-logos + .nbb-newsletter {
	margin-top: 0;
}

.nbb-logos + .building-block--memberships_global .nbb-memberships {
	padding-top: 56px;
}

/* -----------------------------------
   Building Blocks — Hero
   ----------------------------------- */

.building-block--hero {
	background: var(--color-cream);
	overflow: hidden;
}

.building-block--hero:has(.hero-basic) {
	background: var(--color-white);
	overflow: visible;
}

.building-block--hero .building-block__bg {
	display: none;
}

.hero-tag {
	display: block;
	margin: 0 0 18px;
	color: var(--color-terracotta);
	font-family: var(--font-sans-medium);
	font-size: 0.78rem;
	font-weight: 500;
	letter-spacing: 0.12em;
	line-height: 1.35;
	text-transform: uppercase;
}

.hero-basic-links {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 28px;
	margin: 8px 0 0;
}

/* Hero: basic — centered editorial */
.hero-basic {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: min(64vh, 560px);
	padding: 100px 0;
	overflow: visible;
	background: var(--color-white);
}

.hero-basic::before {
	content: "";
	position: absolute;
	width: min(520px, 70vw);
	height: min(520px, 70vw);
	left: 50%;
	top: 46%;
	transform: translate(-50%, -50%);
	border-radius: 50%;
	background: radial-gradient(
		circle,
		rgba(242, 216, 208, 0.38) 0%,
		rgba(242, 216, 208, 0.12) 42%,
		rgba(242, 216, 208, 0) 70%
	);
	pointer-events: none;
	z-index: 0;
}

.hero-basic-orbs {
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	overflow: visible;
}

.hero-basic-orb {
	position: absolute;
	border-radius: 50%;
	will-change: transform;
}

.hero-basic-orb--a {
	width: 180px;
	height: 180px;
	left: max(-40px, calc(50% - 620px));
	top: 18%;
	background: var(--color-peach);
	opacity: 0.85;
	animation: hero-orb-float-a 5s ease-in-out infinite;
}

.hero-basic-orb--b {
	width: 28px;
	height: 28px;
	left: max(24px, calc(50% - 480px));
	top: 28%;
	background: var(--color-blob-peach);
	animation: hero-orb-float-b 4s ease-in-out infinite;
}

.hero-basic-orb--c {
	width: 140px;
	height: 140px;
	right: max(-30px, calc(50% - 600px));
	top: 22%;
	background: #f6e4dc;
	opacity: 0.9;
	animation: hero-orb-float-c 5.5s ease-in-out infinite;
}

.hero-basic-orb--d {
	width: 18px;
	height: 18px;
	right: max(48px, calc(50% - 420px));
	bottom: 26%;
	background: var(--color-terracotta);
	opacity: 0.55;
	animation: hero-orb-float-b 4.5s ease-in-out infinite reverse;
}

.hero-basic-orb--e {
	width: 72px;
	height: 72px;
	left: max(60px, calc(50% - 520px));
	bottom: 18%;
	border: 1.5px solid rgba(179, 88, 54, 0.28);
	background: transparent;
	animation: hero-orb-float-a 6s ease-in-out infinite reverse;
}

@keyframes hero-orb-float-a {
	0%,
	100% {
		transform: translate(0, 0);
	}
	50% {
		transform: translate(10px, -18px);
	}
}

@keyframes hero-orb-float-b {
	0%,
	100% {
		transform: translate(0, 0);
	}
	50% {
		transform: translate(-12px, 10px);
	}
}

@keyframes hero-orb-float-c {
	0%,
	100% {
		transform: translate(0, 0) scale(1);
	}
	50% {
		transform: translate(-8px, 14px) scale(1.04);
	}
}

@media (prefers-reduced-motion: reduce) {
	.hero-basic-orb {
		animation: none;
	}
}

.hero-basic__inner {
	position: relative;
	z-index: 1;
	width: 100%;
}

.hero-basic-text {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	max-width: 36rem;
	margin: 0 auto;
}

.hero-basic .hero-year {
	display: inline-flex;
	align-items: center;
	gap: 14px;
	margin: 0 0 26px;
	color: #9a948e;
	font-family: var(--font-sans);
	font-size: 0.68rem;
	font-weight: 400;
	letter-spacing: 0.24em;
	line-height: 1.2;
	text-transform: uppercase;
}

.hero-basic .hero-year::before,
.hero-basic .hero-year::after {
	content: "";
	display: block;
	width: 28px;
	height: 1px;
	background: #d5cfc8;
}

.hero-basic-logo {
	width: min(190px, 50vw);
	margin: 0 0 22px;
	line-height: 0;
}

.hero-basic-logo img {
	display: block;
	width: 100%;
	height: auto;
	margin: 0 auto;
}

.hero-basic-text .hero-tag {
	margin: 0 0 24px;
	max-width: 28rem;
}

.hero-basic-text h1 {
	margin: 0 auto;
	max-width: 20ch;
	color: var(--color-charcoal);
	font-family: var(--font-serif);
	font-size: clamp(1.55rem, 2.6vw, 2.2rem);
	font-weight: 500;
	line-height: 1.28;
	letter-spacing: -0.02em;
}

.hero-basic-text h1 b,
.hero-basic-text h1 strong,
.hero-basic-text h1 em,
.hero-basic-text h1 i,
.hero-img-text h1 b,
.hero-img-text h1 strong,
.hero-img-text h1 em,
.hero-img-text h1 i,
.hero-text__text h1 b,
.hero-text__text h1 strong,
.hero-text__text h1 em,
.hero-text__text h1 i {
	color: var(--color-terracotta);
	font-style: italic;
	font-weight: 500;
}

.hero-basic-text .hero-subtitle {
	margin: 18px 0 0;
	max-width: 30rem;
	color: var(--color-text);
	font-family: var(--font-sans);
	font-size: 1.02rem;
	font-weight: 400;
	line-height: 1.55;
	letter-spacing: 0;
}

.hero-img-text .hero-subtitle,
.hero-text__text .hero-subtitle {
	margin: 0 0 16px;
	color: var(--color-charcoal);
	font-family: var(--font-sans-medium);
	font-size: 1.05rem;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0;
}

.hero-basic-paragraph {
	margin: 16px 0 0;
	max-width: 34rem;
	color: var(--color-text);
	font-family: var(--font-sans);
	font-size: 1rem;
	line-height: 1.55;
}

.hero-basic-paragraph p {
	margin: 0 0 0.75em;
}

.hero-basic-paragraph p:last-child {
	margin-bottom: 0;
}

.hero-basic-links {
	justify-content: center;
	margin-top: 28px;
}

@media (max-width: 700px) {
	.hero-basic {
		min-height: 0;
		padding: 72px 0 80px;
	}

	.hero-basic-orb--a {
		width: 120px;
		height: 120px;
		left: -36px;
		top: 12%;
	}

	.hero-basic-orb--b {
		left: 18px;
		top: 22%;
	}

	.hero-basic-orb--c {
		width: 100px;
		height: 100px;
		right: -28px;
		top: 16%;
	}

	.hero-basic-orb--d {
		right: 22px;
		bottom: 20%;
	}

	.hero-basic-orb--e {
		width: 52px;
		height: 52px;
		left: 28px;
		bottom: 14%;
	}

	.hero-basic .hero-year {
		margin-bottom: 20px;
		gap: 10px;
	}

	.hero-basic .hero-year::before,
	.hero-basic .hero-year::after {
		width: 18px;
	}

	.hero-basic-logo {
		margin-bottom: 18px;
	}

	.hero-basic-text .hero-tag {
		margin-bottom: 20px;
	}
}

/* -----------------------------------
   Hero — unified (text first, image below)
   ----------------------------------- */

.building-block--hero {
	overflow: visible;
	background: var(--color-cream);
}

.building-block--hero .building-block__bg {
	display: none;
}

.building-block--hero:has(.hero-unified) {
	background: var(--color-cream);
}

.hero-unified {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 48px;
	padding: 0;
	overflow: visible;
	text-align: center;
}

.hero-unified__orbs {
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	overflow: visible;
}

.hero-unified__orb {
	position: absolute;
	border-radius: 50%;
	will-change: transform;
}

.hero-unified__orb--a {
	width: 160px;
	height: 160px;
	left: max(-20px, calc(50% - 420px));
	top: 8%;
	background: var(--color-peach);
	opacity: 0.9;
	animation: hero-orb-float-a 5s ease-in-out infinite;
}

.hero-unified__orb--b {
	display: none;
}

.hero-unified__content {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
	max-width: 42rem;
	margin: 0 auto;
}

.hero-unified__content .hero-tag {
	margin: 0 0 18px;
}

.hero-unified__content h1 {
	margin: 0 auto 18px;
	max-width: 18ch;
	color: var(--color-charcoal);
	font-family: var(--font-serif);
	font-size: clamp(2rem, 4.2vw, 3.25rem);
	font-weight: 500;
	line-height: 1.12;
	letter-spacing: -0.03em;
}

.hero-unified__content h1 b,
.hero-unified__content h1 strong,
.hero-unified__content h1 em,
.hero-unified__content h1 i {
	color: var(--color-terracotta);
	font-style: italic;
	font-weight: 500;
}

.hero-unified__content .hero-subtitle {
	margin: 0 auto;
	max-width: 34rem;
	color: var(--color-text);
	font-family: var(--font-sans);
	font-size: 1.05rem;
	font-weight: 400;
	line-height: 1.55;
	letter-spacing: 0;
}

.hero-unified__content .hero-basic-paragraph {
	margin: 16px auto 0;
	max-width: 36rem;
	color: var(--color-text);
}

.hero-unified__content .hero-basic-links {
	justify-content: center;
	margin-top: 28px;
}

.hero-unified__media {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 920px;
	margin: 8px auto 0;
}

.hero-unified__frame {
	overflow: hidden;
	border-radius: 28px;
	aspect-ratio: 16 / 9;
	background: var(--color-border);
	box-shadow: 0 18px 40px rgba(42, 36, 32, 0.1);
}

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

@media (prefers-reduced-motion: reduce) {
	.hero-unified__orb {
		animation: none;
	}
}

@media (max-width: 960px) {
	.hero-unified {
		gap: 36px;
	}

	.hero-unified__orb--a {
		width: 110px;
		height: 110px;
		left: -24px;
		top: 6%;
	}

	.hero-unified__orb--b {
		right: 18px;
		top: 10%;
	}

	.hero-unified__frame {
		border-radius: 22px;
		aspect-ratio: 16 / 10;
	}
}

@media (max-width: 700px) {
	.hero-unified__content h1 {
		max-width: 14ch;
	}
}

/* Hero: image + text */
.building-block--hero:has(.hero-img) {
	overflow: visible;
}

.hero-img {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
	gap: 40px 56px;
	align-items: center;
	padding: 56px 0 72px;
	overflow: visible;
}

.hero-img-orbs {
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	overflow: visible;
}

.hero-img-orb {
	position: absolute;
	border-radius: 50%;
	will-change: transform;
}

.hero-img-orb--a {
	width: 88px;
	height: 88px;
	left: -8px;
	top: 8px;
	background: var(--color-peach);
	animation: hero-orb-float-a 5s ease-in-out infinite;
}

.hero-img-orb--b {
	width: 22px;
	height: 22px;
	right: 6%;
	top: 18%;
	background: var(--color-blob-peach);
	animation: hero-orb-float-b 4s ease-in-out infinite;
}

.hero-img-orb--c {
	width: 56px;
	height: 56px;
	right: -10px;
	bottom: 22%;
	border: 1.5px solid rgba(179, 88, 54, 0.28);
	background: transparent;
	animation: hero-orb-float-c 5.5s ease-in-out infinite;
}

.hero-img__orb--orange,
.hero-img__orb--peach,
.hero-img__orb--beige,
.hero-img__orb--light-orange {
	background: var(--color-peach);
}

.hero-img__orb--yellow {
	background: var(--color-blob-peach);
}

.hero-img__orb--navy,
.hero-img__orb--maroon {
	background: var(--color-terracotta);
	opacity: 0.85;
}

/* Single image: stacked like screenshot */
.hero-img--count-1 {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 40px;
	padding: 64px 0 80px;
}

.hero-img--count-1 .hero-img-image {
	order: -1;
	width: 100%;
}

.hero-img--count-1 .hero-img-text {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	max-width: 42rem;
	margin: 0 auto;
}

.hero-img--count-1 .hero-img-text h1 {
	max-width: 22ch;
}

.hero-img--count-1 .hero-basic-links {
	justify-content: center;
}

.hero-img--count-1 .hero-img-orb--a {
	left: max(0px, calc(50% - 560px));
	top: 4%;
	width: 96px;
	height: 96px;
}

.hero-img--count-1 .hero-img-orb--b {
	right: max(24px, calc(50% - 480px));
	top: 12%;
}

.hero-img--count-1 .hero-img-orb--c {
	right: max(40px, calc(50% - 420px));
	bottom: auto;
	top: 38%;
}

.hero-img--count-1 .hero-img-rect--1 .hero-img-wrap {
	min-height: 0;
	aspect-ratio: 16 / 8.2;
	border-radius: 28px;
}

.hero-img-text {
	position: relative;
	z-index: 1;
	max-width: 34rem;
	padding: 0;
}

.hero-img-text h1 {
	margin: 0 0 14px;
	color: var(--color-charcoal);
	font-family: var(--font-serif);
	font-size: clamp(1.85rem, 3.4vw, 2.75rem);
	font-weight: 500;
	line-height: 1.15;
	letter-spacing: -0.03em;
}

.hero-img-text .hero-basic-links {
	justify-content: flex-start;
}

.hero-img-image {
	position: relative;
	z-index: 1;
}

.hero-img-rect {
	display: flex;
	align-items: stretch;
	gap: 14px;
}

.hero-img-wrap {
	position: relative;
	overflow: hidden;
	border-radius: 24px;
	flex: 1;
	min-height: 320px;
	background: var(--color-border);
}

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

.hero-img-rect--1 .hero-img-wrap {
	min-height: 420px;
	aspect-ratio: 16 / 10;
}

.hero-img-rect--2 .hero-img-wrap:nth-child(1) {
	flex: 1.1;
	min-height: 360px;
}

.hero-img-rect--2 .hero-img-wrap:nth-child(2) {
	flex: 1.4;
	min-height: 420px;
}

.hero-img-rect--3 {
	display: grid;
	grid-template-columns: 1fr 1.2fr;
	grid-template-rows: 1fr 1fr;
	gap: 14px;
}

.hero-img-rect--3 .hero-img-wrap {
	min-height: 0;
}

.hero-img-rect--3 .hero-img-wrap:nth-child(1) {
	grid-row: 1;
}

.hero-img-rect--3 .hero-img-wrap:nth-child(2) {
	grid-row: 1 / span 2;
	min-height: 420px;
}

.hero-img-rect--3 .hero-img-wrap:nth-child(3) {
	grid-row: 2;
}

/* Circle images */
.hero-img--circles {
	overflow: visible;
}

.hero-img--circles .hero-img-image {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 360px;
}

.hero-img-circles {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 340px;
}

.hero-img-wrap--circle {
	position: relative;
	border-radius: 50%;
	aspect-ratio: 1;
	min-height: 0;
	flex: none;
	box-shadow: 0 18px 40px rgba(42, 36, 32, 0.12);
}

.hero-img--count-1.hero-img--circles .hero-img-circles {
	min-height: 0;
	padding: 28px 0 12px;
}

.hero-img--count-1.hero-img--circles .hero-img-wrap--circle {
	width: min(420px, 72vw);
	box-shadow: 0 22px 48px rgba(42, 36, 32, 0.14);
}

.hero-img--count-1.hero-img--circles .hero-img-orb--a {
	left: max(8px, calc(50% - 280px));
	top: 10%;
	width: 78px;
	height: 78px;
}

.hero-img--count-1.hero-img--circles .hero-img-orb--b {
	right: max(20px, calc(50% - 250px));
	top: 18%;
}

.hero-img--count-1.hero-img--circles .hero-img-orb--c {
	right: max(36px, calc(50% - 200px));
	top: 58%;
}

.hero-img--count-2.hero-img--circles .hero-img-circles,
.hero-img--count-3.hero-img--circles .hero-img-circles {
	height: 420px;
}

.hero-img--count-2.hero-img--circles .hero-img-wrap--circle:nth-child(1),
.hero-img--count-3.hero-img--circles .hero-img-wrap--circle:nth-child(1) {
	position: absolute;
	width: min(240px, 42%);
	left: 4%;
	top: 12%;
	z-index: 1;
	animation: hero-orb-float-b 6s ease-in-out infinite;
}

.hero-img--count-2.hero-img--circles .hero-img-wrap--circle:nth-child(2),
.hero-img--count-3.hero-img--circles .hero-img-wrap--circle:nth-child(2) {
	position: absolute;
	width: min(320px, 58%);
	right: 2%;
	top: 0;
	z-index: 2;
	animation: hero-orb-float-a 7s ease-in-out infinite;
}

.hero-img--count-3.hero-img--circles .hero-img-wrap--circle:nth-child(3) {
	position: absolute;
	width: min(180px, 34%);
	left: 28%;
	bottom: 0;
	z-index: 3;
	animation: hero-orb-float-c 5.5s ease-in-out infinite;
}

.hero-img--circles .hero-img-orb--a {
	left: auto;
	right: 8%;
	top: 4%;
	width: 72px;
	height: 72px;
}

.hero-img--circles .hero-img-orb--b {
	left: 2%;
	top: auto;
	bottom: 28%;
}

.hero-img--circles .hero-img-orb--c {
	right: -6px;
	bottom: 12%;
}

@media (prefers-reduced-motion: reduce) {
	.hero-img-orb,
	.hero-img--circles .hero-img-wrap--circle {
		animation: none;
	}
}

/* Hero: text + dots */
.hero-text {
	padding: 72px 0 80px;
}

.hero-text__inner {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(180px, 0.7fr);
	gap: 40px;
	align-items: center;
}

.hero-text__text h1 {
	margin: 0 0 16px;
	color: var(--color-charcoal);
	font-family: var(--font-serif);
	font-size: clamp(2.1rem, 4vw, 3.2rem);
	font-weight: 500;
	line-height: 1.1;
	letter-spacing: -0.03em;
}

.hero-text__circles {
	position: relative;
	min-height: 280px;
}

.hero-text__circles .hero-dot--sm {
	width: 90px;
	height: 90px;
	top: 10%;
	left: 10%;
	background: var(--color-blob-peach);
}

.hero-text__circles .hero-dot--md {
	width: 140px;
	height: 140px;
	right: 8%;
	bottom: 12%;
	background: var(--color-peach);
}

.hero-text__circles .hero-dot--lg {
	width: 200px;
	height: 200px;
	right: -40px;
	top: 18%;
	background: var(--color-blob-peach);
	opacity: 0.9;
}

.hero-dot--orange,
.hero-dot--peach,
.hero-dot--beige,
.hero-dot--light-orange {
	background: var(--color-peach);
}

.hero-dot--yellow {
	background: var(--color-blob-peach);
}

.hero-dot--navy,
.hero-dot--maroon {
	background: var(--color-terracotta);
}

.block--navy .hero-text__text h1,
.block--navy .hero-text__text .hero-subtitle,
.block--navy .hero-text__text .hero-basic-paragraph,
.block--navy .hero-tag {
	color: var(--color-white);
}

.block--navy .hero-tag,
.block--navy .hero-text__text h1 em,
.block--navy .hero-text__text h1 i,
.block--navy .hero-text__text h1 b {
	color: var(--color-blob-peach);
}

@media (max-width: 960px) {
	.hero-img {
		grid-template-columns: 1fr;
		gap: 28px;
		padding: 40px 0 48px;
	}

	.hero-img:not(.hero-img--count-1) .hero-img-text {
		order: -1;
		max-width: none;
		text-align: center;
		margin: 0 auto;
	}

	.hero-img:not(.hero-img--count-1) .hero-img-text .hero-basic-links {
		justify-content: center;
	}

	.hero-img-rect--1 .hero-img-wrap {
		min-height: 280px;
	}

	.hero-img-orb--a {
		width: 64px;
		height: 64px;
	}

	.hero-img--count-2.hero-img--circles .hero-img-circles,
	.hero-img--count-3.hero-img--circles .hero-img-circles {
		height: 360px;
	}

	.hero-text__inner {
		grid-template-columns: 1fr;
	}

	.hero-text__circles {
		min-height: 160px;
	}
}

@media (max-width: 700px) {
	.hero-img--count-1 {
		gap: 28px;
		padding: 48px 0 56px;
	}

	.hero-img--count-1.hero-img--circles .hero-img-wrap--circle {
		width: min(300px, 78vw);
	}

	.hero-img--count-2.hero-img--circles .hero-img-circles,
	.hero-img--count-3.hero-img--circles .hero-img-circles {
		height: 300px;
	}

	.hero-img--count-2.hero-img--circles .hero-img-wrap--circle:nth-child(1),
	.hero-img--count-3.hero-img--circles .hero-img-wrap--circle:nth-child(1) {
		width: min(160px, 40%);
	}

	.hero-img--count-2.hero-img--circles .hero-img-wrap--circle:nth-child(2),
	.hero-img--count-3.hero-img--circles .hero-img-wrap--circle:nth-child(2) {
		width: min(220px, 56%);
	}

	.hero-img--count-3.hero-img--circles .hero-img-wrap--circle:nth-child(3) {
		width: min(120px, 32%);
	}

	.hero-img-rect--2 {
		flex-direction: column;
	}

	.hero-img-rect--3 {
		grid-template-columns: 1fr;
		grid-template-rows: none;
	}

	.hero-img-rect--3 .hero-img-wrap:nth-child(2) {
		grid-row: auto;
		min-height: 280px;
	}
}

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

.nbb-membership-hero {
	position: relative;
	padding: 80px 0 120px;
	background: var(--color-page);
	overflow: hidden;
}

.nbb-membership-hero__inner {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 48px;
}

.nbb-membership-hero__orbs {
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	overflow: visible;
}

.nbb-membership-hero__orb {
	position: absolute;
	border-radius: 50%;
	will-change: transform;
}

.nbb-membership-hero__orb--a {
	width: 140px;
	height: 140px;
	left: max(-20px, calc(50% - 420px));
	top: 4%;
	background: var(--color-blob-peach);
	opacity: 0.9;
	animation: hero-orb-float-a 5s ease-in-out infinite;
}

.nbb-membership-hero__orb--b {
	display: none;
}

.nbb-membership-hero__text {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
	max-width: 42rem;
	margin: 0 auto;
	text-align: center;
}

.nbb-membership-hero__text h1 {
	margin: 0 auto 18px;
	max-width: 16ch;
	color: var(--color-charcoal);
	font-family: var(--font-serif);
	font-size: clamp(2.2rem, 4.6vw, 3.4rem);
	font-weight: 500;
	line-height: 1.1;
	letter-spacing: -0.03em;
}

.nbb-membership-hero__text h1 b,
.nbb-membership-hero__text h1 strong,
.nbb-membership-hero__text h1 em,
.nbb-membership-hero__text h1 i {
	color: var(--color-terracotta);
	font-style: italic;
	font-weight: 500;
}

.nbb-membership-hero__subtitle,
.nbb-membership-hero__text > p {
	margin: 0 auto;
	max-width: 34rem;
	color: var(--color-text);
	font-family: var(--font-sans);
	font-size: 1.05rem;
	line-height: 1.55;
}

.nbb-membership-hero__text .bb-button-group {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 14px 18px;
	margin: 28px 0 0;
	padding: 0;
}

.nbb-membership-hero__text .bb-button,
.nbb-membership-hero__text .bb-button--maroon,
.nbb-membership-hero__text .bb-button--orange,
.nbb-membership-hero__text .bb-button--navy {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: 14px 28px;
	border: 0;
	border-radius: 999px;
	background: var(--color-terracotta);
	color: var(--color-on-accent);
	font-family: var(--font-sans-medium);
	font-size: 0.95rem;
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: 0.01em;
	text-decoration: none;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.nbb-membership-hero__text .bb-button:hover,
.nbb-membership-hero__text .bb-button:focus-visible,
.nbb-membership-hero__text .bb-button--maroon:hover,
.nbb-membership-hero__text .bb-button--maroon:focus-visible,
.nbb-membership-hero__text .bb-button--orange:hover,
.nbb-membership-hero__text .bb-button--orange:focus-visible,
.nbb-membership-hero__text .bb-button--navy:hover,
.nbb-membership-hero__text .bb-button--navy:focus-visible {
	background: var(--color-terracotta-hover);
	color: var(--color-on-accent);
}

.nbb-membership-hero__text .bb-button--maroon-border,
.nbb-membership-hero__text .bb-button--navy-border,
.nbb-membership-hero__text .bb-button--orange-border {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: none;
	box-shadow: none;
	color: var(--color-terracotta);
	font-family: var(--font-sans-medium);
	font-size: 1.05rem;
	font-weight: 500;
	line-height: 1.25;
	text-decoration: none;
	transition: color 0.2s ease;
}

.nbb-membership-hero__text .bb-button--maroon-border::after,
.nbb-membership-hero__text .bb-button--navy-border::after,
.nbb-membership-hero__text .bb-button--orange-border::after {
	content: "";
	width: 0.5em;
	height: 0.5em;
	margin-top: -1px;
	border-right: 2px solid currentColor;
	border-top: 2px solid currentColor;
	transform: rotate(45deg);
	transition: transform 0.2s ease;
}

.nbb-membership-hero__text .bb-button--maroon-border:hover,
.nbb-membership-hero__text .bb-button--maroon-border:focus-visible,
.nbb-membership-hero__text .bb-button--navy-border:hover,
.nbb-membership-hero__text .bb-button--navy-border:focus-visible,
.nbb-membership-hero__text .bb-button--orange-border:hover,
.nbb-membership-hero__text .bb-button--orange-border:focus-visible {
	color: var(--color-terracotta-hover);
}

.nbb-membership-hero__text .bb-button--maroon-border:hover::after,
.nbb-membership-hero__text .bb-button--maroon-border:focus-visible::after,
.nbb-membership-hero__text .bb-button--navy-border:hover::after,
.nbb-membership-hero__text .bb-button--navy-border:focus-visible::after,
.nbb-membership-hero__text .bb-button--orange-border:hover::after,
.nbb-membership-hero__text .bb-button--orange-border:focus-visible::after {
	transform: rotate(45deg) translate(2px, -2px);
}

.nbb-membership-hero__note,
.nbb-membership-hero__text > span {
	display: block;
	margin: 14px 0 0;
	color: var(--color-muted);
	font-family: var(--font-sans);
	font-size: 0.88rem;
	line-height: 1.45;
}

.nbb-membership-hero__media {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 920px;
	margin: 0 auto;
}

.nbb-membership-hero__media-frame {
	overflow: hidden;
	border-radius: 28px;
	aspect-ratio: 16 / 9;
	background: var(--color-border);
	box-shadow: 0 18px 40px rgba(42, 36, 32, 0.1);
}

.nbb-membership-hero__media-frame img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.nbb-membership-hero__items {
	position: relative;
	z-index: 1;
	width: 100%;
}

.nbb-membership-hero__items__wrapper {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
}

.nbb-membership-hero__items__box {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border-radius: 20px;
	background: var(--color-card);
	box-shadow:
		0 1px 2px rgba(42, 36, 32, 0.04),
		0 8px 24px rgba(42, 36, 32, 0.06);
}

.nbb-membership-hero__items__box--popular {
	background: var(--color-charcoal);
	box-shadow:
		0 2px 4px rgba(42, 36, 32, 0.08),
		0 14px 32px rgba(42, 36, 32, 0.16);
}

.nbb-membership-hero__items__box__image {
	overflow: hidden;
	aspect-ratio: 16 / 10;
}

.nbb-membership-hero__items__box__image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.nbb-membership-hero__items__box__text {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	gap: 6px;
	padding: 24px 24px 26px;
}

.nbb-membership-hero__eyebrow,
.nbb-membership-hero__items__box__text > span:not(.nbb-membership-hero__badge) {
	display: block;
	margin: 0;
	color: var(--color-terracotta);
	font-family: var(--font-sans-medium);
	font-size: 0.72rem;
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 1.3;
	text-transform: uppercase;
}

.nbb-membership-hero__items__box--popular .nbb-membership-hero__eyebrow {
	color: var(--color-blob-peach);
}

.nbb-membership-hero__items__box__text h2 {
	margin: 0;
	color: var(--color-charcoal);
	font-family: var(--font-serif);
	font-size: clamp(1.35rem, 2vw, 1.7rem);
	font-weight: 500;
	line-height: 1.15;
	letter-spacing: -0.02em;
}

.nbb-membership-hero__items__box--popular .nbb-membership-hero__items__box__text h2 {
	color: var(--color-on-accent);
}

.nbb-membership-hero__price,
.nbb-membership-hero__items__box__text > div {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 10px;
	margin-top: 4px;
	color: var(--color-text);
	font-family: var(--font-serif);
	font-size: 1.05rem;
	font-weight: 400;
	line-height: 1.2;
}

.nbb-membership-hero__items__box--popular .nbb-membership-hero__price,
.nbb-membership-hero__items__box--popular .nbb-membership-hero__items__box__text > div {
	color: rgba(251, 243, 234, 0.88);
}

.nbb-membership-hero__price b,
.nbb-membership-hero__items__box__text > div b {
	color: inherit;
	font-size: 1.45rem;
	font-weight: 500;
}

.nbb-membership-hero__badge,
.nbb-membership-hero__items__box__text > div > span {
	display: inline-flex;
	align-items: center;
	padding: 5px 10px;
	border-radius: 999px;
	background: rgba(181, 80, 47, 0.12);
	color: var(--color-terracotta);
	font-family: var(--font-sans-medium);
	font-size: 0.72rem;
	font-weight: 500;
	letter-spacing: 0.02em;
	line-height: 1.2;
	text-transform: none;
}

.nbb-membership-hero__items__box--popular .nbb-membership-hero__badge {
	background: rgba(231, 169, 138, 0.2);
	color: var(--color-blob-peach);
}

@media (prefers-reduced-motion: reduce) {
	.nbb-membership-hero__orb {
		animation: none;
	}
}

@media (max-width: 960px) {
	.nbb-membership-hero {
		padding: 64px 0 96px;
	}

	.nbb-membership-hero__inner {
		gap: 36px;
	}

	.nbb-membership-hero__orb--a {
		width: 100px;
		height: 100px;
		left: -24px;
		top: 2%;
	}

	.nbb-membership-hero__orb--b {
		right: 18px;
		top: 6%;
	}

	.nbb-membership-hero__media-frame {
		border-radius: 22px;
		aspect-ratio: 16 / 10;
	}

	.nbb-membership-hero__items__wrapper {
		grid-template-columns: 1fr;
		max-width: 420px;
		margin: 0 auto;
	}
}

@media (max-width: 700px) {
	.nbb-membership-hero__text h1 {
		max-width: 12ch;
	}

	.nbb-membership-hero__items__box__text {
		padding: 20px 20px 22px;
	}
}

/* -----------------------------------
   Testimonials
   ----------------------------------- */

.nbb-testimonials {
	position: relative;
	padding: 120px 0;
	overflow: hidden;
	background: #1a1614;
	color: var(--color-on-accent);
}

.nbb-testimonials__watermark {
	position: absolute;
	left: -0.06em;
	top: -0.12em;
	z-index: 0;
	color: rgba(251, 243, 234, 0.06);
	font-family: var(--font-serif);
	font-size: clamp(10rem, 28vw, 22rem);
	font-weight: 500;
	line-height: 0.8;
	letter-spacing: -0.06em;
	pointer-events: none;
	user-select: none;
	white-space: nowrap;
	transform: rotate(-8deg);
	transform-origin: left top;
}

.nbb-testimonials > .wrapper {
	position: relative;
	z-index: 1;
}

.nbb-testimonials__heading {
	margin: 0 0 40px;
	max-width: 28rem;
}

.nbb-testimonials__heading h2 {
	margin: 0;
	color: var(--color-on-accent);
	font-family: var(--font-serif);
	font-size: clamp(1.85rem, 3.4vw, 2.75rem);
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: -0.025em;
}

.nbb-testimonials__heading h2 b,
.nbb-testimonials__heading h2 strong,
.nbb-testimonials__heading h2 em,
.nbb-testimonials__heading h2 i {
	color: var(--color-on-accent);
	font-style: italic;
	font-weight: 400;
}

.nbb-testimonials__heading p {
	margin: 10px 0 0;
	color: rgba(251, 243, 234, 0.72);
	font-family: var(--font-sans);
	font-size: 0.95rem;
	line-height: 1.4;
}

.nbb-testimonials__items {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
	align-items: stretch;
}

.nbb-testimonials__item {
	display: flex;
	flex-direction: column;
	margin: 0;
	padding: 24px 24px 22px;
	border: 0;
	border-radius: 14px;
	background: #26211e;
}

.nbb-testimonials__avatar {
	width: 48px;
	height: 48px;
	margin: 0 0 14px;
	overflow: hidden;
	border-radius: 50%;
}

.nbb-testimonials__avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.nbb-testimonials__quote {
	margin: 0 0 16px;
	color: var(--color-on-accent);
	font-family: var(--font-serif);
	font-size: 1.05rem;
	font-style: italic;
	font-weight: 400;
	line-height: 1.4;
}

.nbb-testimonials__quote p {
	margin: 0;
}

.nbb-testimonials__meta {
	margin-top: auto;
	color: var(--color-gold);
	font-family: var(--font-sans-medium);
	font-size: 0.72rem;
	font-weight: 500;
	font-style: normal;
	letter-spacing: 0.08em;
	line-height: 1.3;
	text-transform: uppercase;
}

@media (max-width: 800px) {
	.nbb-testimonials {
		padding: 88px 0;
	}

	.nbb-testimonials__watermark {
		font-size: clamp(8rem, 42vw, 14rem);
		left: -0.12em;
		top: -0.12em;
	}

	.nbb-testimonials__heading {
		margin: 0 0 28px;
		max-width: none;
	}

	.nbb-testimonials__heading h2 {
		font-size: clamp(1.7rem, 8vw, 2.2rem);
	}

	.nbb-testimonials__items {
		display: flex;
		gap: 12px;
		margin-right: calc(-1 * var(--wrapper-pad));
		margin-left: calc(-1 * var(--wrapper-pad));
		padding: 0 var(--wrapper-pad) 4px;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		scroll-padding-inline: var(--wrapper-pad);
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
	}

	.nbb-testimonials__items::-webkit-scrollbar {
		display: none;
	}

	.nbb-testimonials__item {
		flex: 0 0 min(320px, 82vw);
		scroll-snap-align: start;
	}
}

/* -----------------------------------
   Newsletter
   ----------------------------------- */

.nbb-newsletter {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	overflow: hidden;
	min-height: 560px;
	margin-top: 0;
	padding: 120px 0;
	background: var(--color-cream);
	transition: background-color 0.55s ease;
}

.nbb-newsletter.dark {
	background: var(--color-charcoal);
}

.nbb-newsletter__bg {
	position: absolute;
	inset: 0;
	pointer-events: none;
	z-index: 0;
}

.nbb-newsletter__orb {
	position: absolute;
	border-radius: 50%;
	transition: background-color 0.55s ease, opacity 0.55s ease;
}

.nbb-newsletter__orb--a {
	width: 280px;
	height: 280px;
	left: -90px;
	top: -70px;
	background: var(--color-blob-peach);
	opacity: 0.9;
	animation: nbb-circle-float-a 11s ease-in-out infinite;
}

.nbb-newsletter__orb--b {
	width: 28px;
	height: 28px;
	left: 18%;
	top: 16%;
	background: var(--color-gold);
	animation: nbb-circle-float-c 7.5s ease-in-out infinite;
}

.nbb-newsletter__orb--c {
	width: 22px;
	height: 22px;
	left: 42%;
	top: 22%;
	background: #f1a79a;
	animation: nbb-circle-float-b 8.2s ease-in-out infinite;
}

.nbb-newsletter__orb--d {
	width: 170px;
	height: 170px;
	left: 8%;
	bottom: -70px;
	background: #e57b4e;
	opacity: 0.88;
	animation: nbb-circle-float-b 12s ease-in-out infinite reverse;
}

.nbb-newsletter__orb--e {
	width: 36px;
	height: 36px;
	left: 46%;
	bottom: 12%;
	background: var(--color-gold);
	animation: nbb-circle-float-a 9s ease-in-out infinite reverse;
}

.nbb-newsletter__orb--f {
	width: 240px;
	height: 240px;
	right: -80px;
	bottom: -90px;
	background: var(--color-blob-peach);
	opacity: 0.85;
	animation: nbb-circle-float-c 13s ease-in-out infinite;
}

.nbb-newsletter__orb--g {
	width: 72px;
	height: 72px;
	right: 18%;
	top: 18%;
	background: #e89a6a;
	opacity: 0.8;
	animation: nbb-circle-float-a 10s ease-in-out infinite reverse;
}

.nbb-newsletter.dark .nbb-newsletter__orb--a,
.nbb-newsletter.dark .nbb-newsletter__orb--d,
.nbb-newsletter.dark .nbb-newsletter__orb--f {
	background: #8a5a3c;
	opacity: 0.22;
}

.nbb-newsletter.dark .nbb-newsletter__orb--b,
.nbb-newsletter.dark .nbb-newsletter__orb--e {
	background: var(--color-gold);
	opacity: 0.85;
}

.nbb-newsletter.dark .nbb-newsletter__orb--c,
.nbb-newsletter.dark .nbb-newsletter__orb--g {
	background: var(--color-blob-peach);
	opacity: 0.55;
}

.nbb-newsletter .wrapper {
	position: relative;
	z-index: 1;
}

.nbb-newsletter__inner {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.85fr);
	gap: 48px 64px;
	align-items: center;
	min-height: 280px;
}

.nbb-newsletter__left h2 {
	margin: 0 0 14px;
	color: var(--color-charcoal);
	font-family: var(--font-serif);
	font-size: clamp(1.85rem, 3.2vw, 2.55rem);
	font-weight: 500;
	line-height: 1.18;
	letter-spacing: -0.03em;
	transition: color 0.45s ease;
}

.nbb-newsletter__left h2 b,
.nbb-newsletter__left h2 strong,
.nbb-newsletter__left h2 em,
.nbb-newsletter__left h2 i {
	color: var(--color-terracotta);
	font-style: italic;
	font-weight: 500;
}

.nbb-newsletter__left h2 > span:first-child,
.nbb-newsletter__left h2 > small {
	display: block;
	margin: 0 0 12px;
	color: var(--color-terracotta);
	font-family: var(--font-sans-medium);
	font-size: 0.7rem;
	font-style: normal;
	font-weight: 500;
	letter-spacing: 0.16em;
	line-height: 1.3;
	text-transform: uppercase;
}

.nbb-newsletter__text,
.nbb-newsletter__left > div {
	max-width: 38rem;
	margin: 0;
	color: var(--color-text);
	font-family: var(--font-sans);
	font-size: 1rem;
	line-height: 1.55;
	transition: color 0.45s ease;
}

.nbb-newsletter.dark .nbb-newsletter__left h2 {
	color: var(--color-cream);
}

.nbb-newsletter.dark .nbb-newsletter__text,
.nbb-newsletter.dark .nbb-newsletter__left > div {
	color: rgba(250, 247, 242, 0.78);
}

.nbb-newsletter__right {
	display: grid;
	align-items: stretch;
	justify-items: stretch;
	min-height: 280px;
}

.nbb-newsletter__box {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	grid-area: 1 / 1;
	width: 100%;
	max-width: 400px;
	min-height: 280px;
	margin: 0;
	justify-self: center;
	text-align: center;
	transition: opacity 0.45s ease, transform 0.45s ease;
}

.nbb-newsletter__box--light {
	background: transparent;
	padding: 40px 0;
	opacity: 1;
	transform: translateY(0);
}

.nbb-newsletter__box--dark {
	padding: 40px 36px 32px;
	border-radius: 24px;
	background: var(--color-cream);
	box-shadow: 0 18px 40px rgba(0, 0, 0, 0.18);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translateY(12px);
}

.nbb-newsletter.dark .nbb-newsletter__box--light {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translateY(-10px);
}

.nbb-newsletter.dark .nbb-newsletter__box--dark {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translateY(0);
}

.nbb-newsletter__box h3 {
	margin: 0 0 18px;
	color: var(--color-charcoal);
	font-family: var(--font-serif);
	font-size: clamp(1.6rem, 2.4vw, 2.1rem);
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: -0.02em;
}

.nbb-newsletter__box .bb-button--maroon,
.nbb-newsletter__box .bb-button--maroon-border {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	margin: 0 0 12px;
	padding: 14px 22px;
	border-radius: 999px;
	font-family: var(--font-sans-medium);
	font-size: 0.92rem;
	font-weight: 500;
	line-height: 1.25;
	text-align: center;
	text-decoration: none;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.nbb-newsletter__box .bb-button--maroon {
	border: 1.5px solid var(--color-terracotta);
	background: var(--color-terracotta);
	color: var(--color-on-accent);
}

.nbb-newsletter__box .bb-button--maroon:hover,
.nbb-newsletter__box .bb-button--maroon:focus-visible {
	background: var(--color-terracotta-hover);
	border-color: var(--color-terracotta-hover);
	color: var(--color-white);
	transform: translateY(-1px);
}

.nbb-newsletter__box .bb-button--maroon-border {
	border: 1.5px solid var(--color-terracotta);
	background: transparent;
	color: var(--color-charcoal);
}

.nbb-newsletter__box .bb-button--maroon-border:hover,
.nbb-newsletter__box .bb-button--maroon-border:focus-visible {
	background: var(--color-terracotta);
	color: var(--color-on-accent);
}

.nbb-newsletter__box .bb-button--maroon:last-child,
.nbb-newsletter__box .bb-button--maroon-border:last-child {
	margin-bottom: 0;
}

.nbb-newsletter__note,
.nbb-newsletter__box--dark > div {
	margin: 18px 0 0;
	color: var(--color-terracotta);
	font-family: var(--font-sans);
	font-size: 0.82rem;
	font-style: italic;
	line-height: 1.45;
}

.nbb-newsletter__note p,
.nbb-newsletter__box--dark > div p {
	margin: 0;
}

@media (max-width: 900px) {
	.nbb-newsletter {
		min-height: 0;
		padding: 80px 0;
	}

	.nbb-newsletter__inner,
	.nbb-newsletter__right,
	.nbb-newsletter__box {
		min-height: 240px;
	}

	.nbb-newsletter__inner {
		grid-template-columns: 1fr;
		gap: 32px;
	}

	.nbb-newsletter__box,
	.nbb-newsletter__box--dark {
		max-width: 100%;
	}

	.nbb-newsletter__orb--a,
	.nbb-newsletter__orb--f {
		width: 180px;
		height: 180px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.nbb-newsletter__orb {
		animation: none;
	}

	.nbb-newsletter,
	.nbb-newsletter__left h2,
	.nbb-newsletter__text,
	.nbb-newsletter__left > div,
	.nbb-newsletter__box,
	.nbb-newsletter__orb {
		transition: none;
	}
}

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

.footer {
	background: var(--color-charcoal);
	color: rgba(250, 247, 242, 0.82);
}

.footer__inner {
	padding: 72px var(--wrapper-pad) 28px;
}

.footer__top {
	display: grid;
	grid-template-columns: minmax(220px, 1.35fr) minmax(0, 2.4fr);
	gap: 48px 56px;
	align-items: start;
	padding-bottom: 56px;
}

.footer__logo {
	display: inline-block;
	margin: 0 0 18px;
	line-height: 0;
	text-decoration: none;
}

.footer__logo img {
	display: block;
	width: 148px;
	height: auto;
	filter: brightness(0) invert(1);
}

.footer__tagline {
	max-width: 28ch;
	margin: 0 0 28px;
	color: rgba(250, 247, 242, 0.72);
	font-family: var(--font-sans);
	font-size: 0.92rem;
	line-height: 1.55;
}

.footer__social {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 22px;
	margin: 0;
}

.footer__social a {
	color: rgba(250, 247, 242, 0.88);
	font-family: var(--font-sans);
	font-size: 0.92rem;
	line-height: 1.3;
	text-decoration: underline;
	text-underline-offset: 0.22em;
}

.footer__social a:hover,
.footer__social a:focus-visible {
	color: var(--color-white);
}

.footer__columns {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
	gap: 28px 24px;
}

.footer__col {
	min-width: 0;
}

.footer__col-title {
	margin: 0 0 14px;
	color: #c4a07a;
	font-family: var(--font-sans-medium);
	font-size: 0.68rem;
	font-weight: 500;
	letter-spacing: 0.16em;
	line-height: 1.3;
	text-transform: uppercase;
}

.footer__links {
	margin: 0;
	padding: 0;
	list-style: none;
}

.footer__links li {
	margin: 0 0 10px;
}

.footer__links a {
	color: rgba(250, 247, 242, 0.86);
	font-family: var(--font-sans);
	font-size: 0.92rem;
	line-height: 1.35;
	text-decoration: none;
}

.footer__links a:hover,
.footer__links a:focus-visible {
	color: var(--color-white);
	text-decoration: underline;
	text-underline-offset: 0.18em;
}

.footer__bottom {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px 24px;
	padding-top: 22px;
	border-top: 1px solid rgba(250, 247, 242, 0.14);
}

.footer__copy {
	margin: 0;
	color: rgba(250, 247, 242, 0.55);
	font-family: var(--font-sans);
	font-size: 0.8rem;
	line-height: 1.4;
}

.footer__legal {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 28px;
}

.footer__legal a {
	color: rgba(250, 247, 242, 0.55);
	font-family: var(--font-sans);
	font-size: 0.8rem;
	line-height: 1.4;
	text-decoration: none;
}

.footer__legal a:hover,
.footer__legal a:focus-visible {
	color: var(--color-white);
	text-decoration: underline;
	text-underline-offset: 0.18em;
}

@media (max-width: 960px) {
	.footer__inner {
		padding: 56px var(--wrapper-pad) 24px;
	}

	.footer__top {
		grid-template-columns: 1fr;
		gap: 40px;
		padding-bottom: 40px;
	}

	.footer__columns {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 28px 20px;
	}
}

@media (max-width: 560px) {
	.footer__columns {
		grid-template-columns: 1fr;
	}

	.footer__bottom {
		align-items: flex-start;
		flex-direction: column;
	}
}


/* -----------------------------------
   Text + Image (square & circle)
   ----------------------------------- */

.building-block--text-image,
.building-block--title_text_image,
.building-block--split-content {
	overflow: visible;
	background: transparent;
}

.building-block--text-image .building-block__bg,
.building-block--title_text_image .building-block__bg,
.building-block--split-content .building-block__bg {
	display: none;
}

.bb-txt-img-wrap {
	display: flex;
	flex-direction: column;
	gap: 0;
}

.bb-txt-img {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 40px;
	overflow: visible;
}

/* Squared: side-by-side + alternating cream */
.bb-text-img--text-img-square {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
	align-items: stretch;
	gap: 48px 64px;
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	padding: 112px max(20px, calc(50vw - 600px + 20px));
	box-sizing: border-box;
	background: var(--color-page);
	overflow: visible;
}

.bb-text-img--text-img-square:nth-child(even) {
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
	background: var(--color-section);
}

.bb-text-img--text-img-square .bb-txt-img__img {
	order: 1;
	position: relative;
	align-self: stretch;
	min-height: 420px;
}

.bb-text-img--text-img-square .bb-txt-img__content {
	order: 2;
	align-self: center;
	align-items: flex-start;
	text-align: left;
	max-width: 34rem;
	margin: 0;
}

.bb-text-img--text-img-square .bb-txt-img__content h2 {
	max-width: none;
}

.bb-text-img--text-img-square:nth-child(even) .bb-txt-img__img {
	order: 2;
}

.bb-text-img--text-img-square:nth-child(even) .bb-txt-img__content {
	order: 1;
}

.bb-text-img--text-img-square .bb-txt-img__accent {
	position: absolute;
	right: -18px;
	bottom: -58px;
	width: 120px;
	height: 120px;
	border-radius: 50%;
	background: #e4d6c8;
	z-index: 0;
	pointer-events: none;
}

.bb-text-img--text-img-square:nth-child(even) .bb-txt-img__accent {
	right: auto;
	left: -18px;
	background: #e8dccf;
}

.bb-text-img--text-img-square .bb-txt-img__media--square {
	position: absolute;
	inset: -40px 0;
	z-index: 1;
	width: 100%;
	height: auto;
	min-height: 0;
	aspect-ratio: auto;
	max-height: none;
	border-radius: 28px;
	box-shadow: 0 18px 40px rgba(42, 36, 32, 0.12);
}

.bb-text-img--text-img-square .bb-txt-img__orbs,
.bb-text-img--text-img-square .bb-txt-img__title-circle {
	display: none;
}

.bb-txt-img__orbs {
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	overflow: visible;
}

.bb-txt-img__orb {
	position: absolute;
	border-radius: 50%;
	will-change: transform;
}

.bb-txt-img__orb--a {
	width: 96px;
	height: 96px;
	left: max(-12px, calc(50% - 560px));
	top: -8px;
	background: var(--color-peach);
	animation: hero-orb-float-a 5s ease-in-out infinite;
}

.bb-txt-img__orb--b {
	width: 22px;
	height: 22px;
	right: max(24px, calc(50% - 480px));
	top: 12%;
	background: var(--color-blob-peach);
	animation: hero-orb-float-b 4s ease-in-out infinite;
}

.bb-txt-img__orb--c {
	width: 64px;
	height: 64px;
	right: max(40px, calc(50% - 400px));
	top: 36%;
	border: 1.5px solid rgba(179, 88, 54, 0.28);
	background: transparent;
	animation: hero-orb-float-c 5.5s ease-in-out infinite;
}

.bb-txt-img__img,
.bb-txt-img__content {
	position: relative;
	z-index: 1;
	width: 100%;
}

.bb-txt-img__img {
	order: -1;
}

.bb-txt-img__media {
	position: relative;
	overflow: hidden;
	background: var(--color-border);
}

.bb-txt-img__media--square {
	width: 100%;
	border-radius: 28px;
	aspect-ratio: 16 / 8.2;
	min-height: 280px;
}

.bb-txt-img__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.bb-txt-img__media--circle {
	width: min(420px, 78vw);
	aspect-ratio: 1;
	margin: 12px auto;
	border-radius: 50%;
	overflow: visible;
	background: transparent;
}

.bb-txt-img__media--circle .bb-txt-img__media-bg {
	position: absolute;
	inset: -16px;
	border-radius: 50%;
	z-index: 0;
	opacity: 0.8;
}

.bb-txt-img__media--circle img {
	position: relative;
	z-index: 1;
	border-radius: 50%;
	box-shadow: 0 22px 48px rgba(42, 36, 32, 0.14);
}

.bb-txt-img__content {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	max-width: 52rem;
	margin: 0 auto;
}

.bb-txt-img__content h2 {
	position: relative;
	margin: 0 0 18px;
	max-width: 28ch;
	color: var(--color-charcoal);
	font-family: var(--font-serif);
	font-size: clamp(1.85rem, 3.2vw, 2.65rem);
	font-weight: 500;
	line-height: 1.18;
	letter-spacing: -0.025em;
	text-transform: none;
}

.bb-txt-img__title-circle {
	position: absolute;
	left: 50%;
	top: -28px;
	width: 72px;
	height: 72px;
	border-radius: 50%;
	z-index: -1;
	opacity: 0.55;
	transform: translateX(-50%);
}

.bb-txt-img__content h2 em,
.bb-txt-img__content h2 i,
.bb-txt-img__content h2 b,
.bb-txt-img__content h2 strong,
.bb-split-content__text .wysiwyg-editor h2 em,
.bb-split-content__text .wysiwyg-editor h2 i,
.bb-split-content__text .wysiwyg-editor h1 em,
.bb-split-content__text .wysiwyg-editor h1 i {
	color: var(--color-terracotta);
	font-style: italic;
	font-weight: 500;
}

.bb-txt-img__text {
	color: var(--color-text);
	font-family: var(--font-sans);
	font-size: 1rem;
	line-height: 1.55;
}

.bb-txt-img__text p {
	margin: 0 0 0.9em;
}

.bb-txt-img__text p:last-child {
	margin-bottom: 0;
}

.bb-txt-img__content .nbb-text-cta {
	margin-top: 26px;
}

/* Circle option stays stacked */
.bb-text-img--text-img-circle {
	padding: 64px 0;
	background: var(--color-page);
}

.bb-text-img--text-img-circle:nth-child(even) {
	background: var(--color-section);
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	padding-left: max(20px, calc(50vw - 600px + 20px));
	padding-right: max(20px, calc(50vw - 600px + 20px));
	box-sizing: border-box;
}

.bb-text-img--text-img-circle:nth-child(odd) {
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	padding-left: max(20px, calc(50vw - 600px + 20px));
	padding-right: max(20px, calc(50vw - 600px + 20px));
	box-sizing: border-box;
}

.bb-text-img--text-img-circle .bb-txt-img__orb--a {
	left: max(8px, calc(50% - 260px));
	top: 4%;
	width: 78px;
	height: 78px;
}

.bb-text-img--text-img-circle .bb-txt-img__orb--b {
	right: max(16px, calc(50% - 240px));
	top: 10%;
}

.bb-text-img--text-img-circle .bb-txt-img__orb--c {
	right: max(28px, calc(50% - 180px));
	top: 58%;
}

/* -----------------------------------
   Title + Text + Image — cinematic panel
   ----------------------------------- */

.building-block.building-block--title_text_image,
.building-block.building-block--title_text_image.building-block--padding-top-none,
.building-block.building-block--title_text_image.building-block--padding-top-sm,
.building-block.building-block--title_text_image.building-block--padding-top-default,
.building-block.building-block--title_text_image.building-block--padding-top-md,
.building-block.building-block--title_text_image.building-block--padding-top-lg,
.building-block.building-block--title_text_image.building-block--padding-top-xl,
.building-block + .building-block.building-block--title_text_image,
.building-block.block--page + .building-block.building-block--title_text_image,
.building-block.block--section + .building-block.building-block--title_text_image,
.building-block.block--card + .building-block.building-block--title_text_image,
.building-block.block--charcoal + .building-block.building-block--title_text_image,
.building-block.block--terracotta + .building-block.building-block--title_text_image {
	padding-top: 0 !important;
}

.building-block.building-block--title_text_image,
.building-block.building-block--title_text_image.building-block--padding-bottom-none,
.building-block.building-block--title_text_image.building-block--padding-bottom-sm,
.building-block.building-block--title_text_image.building-block--padding-bottom-default,
.building-block.building-block--title_text_image.building-block--padding-bottom-md,
.building-block.building-block--title_text_image.building-block--padding-bottom-lg,
.building-block.building-block--title_text_image.building-block--padding-bottom-xl {
	padding-bottom: 0 !important;
	background: transparent;
	overflow: hidden;
}

.bb-title-text-img {
	display: flex;
	flex-direction: column;
	gap: 0;
}

.bb-title-text-img__item {
	position: relative;
	display: grid;
	grid-template-columns: minmax(320px, 0.95fr) minmax(0, 1.05fr);
	align-items: stretch;
	min-height: min(68vh, 620px);
	overflow: hidden;
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	background: #1a1614;
}

.bb-title-text-img__item--flip {
	grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.95fr);
}

.bb-title-text-img__item--flip .bb-title-text-img__panel {
	order: 2;
}

.bb-title-text-img__item--flip .bb-title-text-img__media {
	order: 1;
}

.bb-title-text-img__panel {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: center;
	background:
		radial-gradient(ellipse 90% 70% at 0% 0%, rgba(231, 169, 138, 0.16), transparent 55%),
		radial-gradient(ellipse 60% 50% at 100% 100%, rgba(181, 80, 47, 0.12), transparent 50%),
		#1a1614;
	color: var(--color-on-accent);
	overflow: hidden;
}

.bb-title-text-img__panel::after {
	content: "";
	position: absolute;
	top: 12%;
	right: 0;
	bottom: 12%;
	width: 2px;
	border-radius: 999px;
	background: linear-gradient(
		180deg,
		transparent 0%,
		var(--color-peach) 20%,
		var(--color-terracotta) 50%,
		var(--color-peach) 80%,
		transparent 100%
	);
	opacity: 0.75;
	pointer-events: none;
}

.bb-title-text-img__item--flip .bb-title-text-img__panel::after {
	right: auto;
	left: 0;
}

.bb-title-text-img__panel-inner {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 32rem;
	margin: 0 auto;
	padding: 80px clamp(28px, 5vw, 64px);
}

.bb-title-text-img__panel h2 {
	margin: 0 0 22px;
	max-width: 10ch;
	color: var(--color-on-accent);
	font-family: var(--font-serif);
	font-size: clamp(2.5rem, 5.2vw, 3.9rem);
	font-weight: 500;
	line-height: 1.02;
	letter-spacing: -0.04em;
}

.bb-title-text-img__panel h2 em,
.bb-title-text-img__panel h2 i,
.bb-title-text-img__panel h2 b,
.bb-title-text-img__panel h2 strong {
	color: var(--color-peach);
	font-style: italic;
	font-weight: 500;
}

.bb-title-text-img__text {
	color: rgba(251, 243, 234, 0.78);
	font-family: var(--font-sans);
	font-size: 1.05rem;
	line-height: 1.6;
}

.bb-title-text-img__text p {
	margin: 0 0 0.9em;
	color: inherit;
}

.bb-title-text-img__text p:last-child {
	margin-bottom: 0;
}

.bb-title-text-img__text ul,
.bb-title-text-img__text ol {
	margin: 1.15em 0 0;
	padding: 0;
	list-style: none;
}

.bb-title-text-img__text li {
	position: relative;
	margin: 0;
	padding: 11px 0 11px 1.35rem;
	border-bottom: 1px solid rgba(251, 243, 234, 0.1);
	color: var(--color-on-accent);
	font-family: var(--font-sans);
	font-size: 1.02rem;
	line-height: 1.45;
}

.bb-title-text-img__text li:last-child {
	border-bottom: 0;
	padding-bottom: 0;
}

.bb-title-text-img__text li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 1.15em;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--color-peach);
	transform: translateY(-50%);
}

.bb-title-text-img__list {
	margin-top: 34px;
	padding-top: 28px;
	border-top: 1px solid rgba(251, 243, 234, 0.14);
}

.bb-title-text-img__list-title {
	margin: 0 0 16px;
	color: var(--color-peach);
	font-family: var(--font-sans-medium);
	font-size: 0.76rem;
	font-weight: 500;
	letter-spacing: 0.14em;
	line-height: 1.3;
	text-transform: uppercase;
}

.bb-title-text-img__list ol {
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: tti;
}

.bb-title-text-img__list li {
	display: grid;
	grid-template-columns: 2.4rem minmax(0, 1fr);
	gap: 12px;
	align-items: baseline;
	margin: 0;
	padding: 12px 0;
	border-bottom: 1px solid rgba(251, 243, 234, 0.1);
	counter-increment: tti;
	color: var(--color-on-accent);
	font-family: var(--font-sans);
	font-size: 1.02rem;
	line-height: 1.45;
}

.bb-title-text-img__list li:last-child {
	border-bottom: 0;
	padding-bottom: 0;
}

.bb-title-text-img__list li::before {
	content: counter(tti, decimal-leading-zero);
	color: var(--color-peach);
	font-family: var(--font-serif);
	font-size: 0.95rem;
	font-weight: 500;
	letter-spacing: 0.02em;
	line-height: 1.2;
}

.bb-title-text-img__list li span {
	min-width: 0;
}

.bb-title-text-img__panel .nbb-text-cta {
	margin-top: 30px;
}

.bb-title-text-img__media {
	position: relative;
	z-index: 1;
	min-height: 400px;
	background: #221e1b;
}

.bb-title-text-img__media::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background: linear-gradient(90deg, rgba(26, 22, 20, 0.35) 0%, rgba(26, 22, 20, 0.08) 28%, transparent 55%);
}

.bb-title-text-img__item--flip .bb-title-text-img__media::after {
	background: linear-gradient(270deg, rgba(26, 22, 20, 0.35) 0%, rgba(26, 22, 20, 0.08) 28%, transparent 55%);
}

.bb-title-text-img__media img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 400px;
	object-fit: cover;
	object-position: center;
}

@media (max-width: 960px) {
	.bb-title-text-img__item,
	.bb-title-text-img__item--flip {
		grid-template-columns: 1fr;
		min-height: 0;
	}

	.bb-title-text-img__item--flip .bb-title-text-img__panel,
	.bb-title-text-img__item--flip .bb-title-text-img__media {
		order: initial;
	}

	.bb-title-text-img__media {
		order: -1;
		min-height: 280px;
		aspect-ratio: 16 / 10;
	}

	.bb-title-text-img__media img {
		min-height: 280px;
	}

	.bb-title-text-img__media::after {
		background: linear-gradient(180deg, rgba(26, 22, 20, 0) 35%, rgba(26, 22, 20, 0.5) 100%);
	}

	.bb-title-text-img__panel::after {
		top: 0;
		right: 12%;
		left: 12%;
		bottom: auto;
		width: auto;
		height: 2px;
		background: linear-gradient(
			90deg,
			transparent 0%,
			var(--color-peach) 20%,
			var(--color-terracotta) 50%,
			var(--color-peach) 80%,
			transparent 100%
		);
	}

	.bb-title-text-img__panel-inner {
		padding: 48px 24px 56px;
		max-width: 40rem;
	}

	.bb-title-text-img__panel h2 {
		max-width: 12ch;
	}
}

@media (max-width: 700px) {
	.bb-title-text-img__panel-inner {
		padding: 40px 20px 48px;
	}

	.bb-title-text-img__list li {
		grid-template-columns: 2rem minmax(0, 1fr);
		gap: 10px;
		font-size: 0.98rem;
	}
}

/* -----------------------------------
   Split Content
   ----------------------------------- */

.bb-split-content {
	display: flex;
	flex-direction: column;
	gap: 0;
}

.bb-split-content__item {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
	gap: 48px 64px;
	align-items: center;
	overflow: visible;
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	padding: 72px max(20px, calc(50vw - 600px + 20px));
	box-sizing: border-box;
	background: var(--color-page);
}

.bb-split-content__item:nth-child(even) {
	background: var(--color-section);
}

.bb-split-content--left .bb-split-content__item,
.bb-split-content--mix .bb-split-content__item:nth-child(odd) {
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
}

.bb-split-content--left .bb-split-content__image,
.bb-split-content--mix .bb-split-content__item:nth-child(odd) .bb-split-content__image {
	order: 1;
}

.bb-split-content--left .bb-split-content__text,
.bb-split-content--mix .bb-split-content__item:nth-child(odd) .bb-split-content__text {
	order: 2;
}

.bb-split-content--right .bb-split-content__item,
.bb-split-content--mix .bb-split-content__item:nth-child(even) {
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
}

.bb-split-content--right .bb-split-content__image,
.bb-split-content--mix .bb-split-content__item:nth-child(even) .bb-split-content__image {
	order: 2;
}

.bb-split-content--right .bb-split-content__text,
.bb-split-content--mix .bb-split-content__item:nth-child(even) .bb-split-content__text {
	order: 1;
}

.bb-split-content__image {
	position: relative;
	z-index: 1;
	align-self: stretch;
}

.bb-split-content__orb {
	position: absolute;
	left: -28px;
	top: -24px;
	width: 140px;
	height: 140px;
	border-radius: 50%;
	background: #e8d5c4;
	z-index: 0;
	pointer-events: none;
}

.bb-split-content__item:nth-child(even) .bb-split-content__orb,
.bb-split-content--right .bb-split-content__orb {
	left: auto;
	right: -28px;
	background: #e4d6c8;
}

.bb-split-content__media {
	position: relative;
	z-index: 1;
	width: 100%;
	height: 100%;
	min-height: 420px;
	aspect-ratio: 1;
	overflow: hidden;
	border-radius: 28px;
	background: #c48478;
	box-shadow: 0 18px 40px rgba(42, 36, 32, 0.1);
}

.bb-split-content__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.bb-split-content__text {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	max-width: 38rem;
}

.bb-split-content__logo {
	display: block;
	width: auto;
	max-width: 220px;
	height: auto;
	margin: 0 0 28px;
}

/* Optional eyebrow only when editors use a small heading */
.bb-split-content__text .wysiwyg-editor > h4:first-child,
.bb-split-content__text .wysiwyg-editor > h5:first-child,
.bb-split-content__text .wysiwyg-editor > h6:first-child {
	margin: 0 0 14px;
	color: var(--color-terracotta);
	font-family: var(--font-sans-medium);
	font-size: 0.78rem;
	font-weight: 500;
	letter-spacing: 0.12em;
	line-height: 1.35;
	text-transform: uppercase;
}

.bb-split-content__text .wysiwyg-editor h1,
.bb-split-content__text .wysiwyg-editor h2,
.bb-split-content__text .wysiwyg-editor h3 {
	margin: 0 0 20px;
	color: var(--color-charcoal);
	font-family: var(--font-serif);
	font-size: clamp(1.75rem, 2.8vw, 2.35rem);
	font-weight: 500;
	font-style: italic;
	line-height: 1.22;
	letter-spacing: -0.02em;
}

.bb-split-content__text .wysiwyg-editor p {
	margin: 0 0 1.1em;
	color: #4a4541;
	font-family: var(--font-sans);
	font-size: 1.05rem;
	line-height: 1.65;
	letter-spacing: 0.01em;
}

.bb-split-content__text .wysiwyg-editor p:last-child {
	margin-bottom: 0;
}

/* Lead paragraph — slightly stronger, not forced uppercase */
.bb-split-content__text .wysiwyg-editor > p:first-of-type {
	color: var(--color-charcoal);
	font-size: 1.12rem;
	line-height: 1.6;
}

.bb-split-content__links {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px 32px;
	margin-top: 28px;
}

.bb-split-content__links .nbb-text-cta + .nbb-text-cta {
	color: var(--color-charcoal);
}

.bb-split-content__links .nbb-text-cta + .nbb-text-cta:hover,
.bb-split-content__links .nbb-text-cta + .nbb-text-cta:focus-visible {
	color: var(--color-terracotta);
}

@media (prefers-reduced-motion: reduce) {
	.bb-txt-img__orb {
		animation: none;
	}
}

@media (max-width: 960px) {
	.bb-text-img--text-img-square,
	.bb-text-img--text-img-square:nth-child(even),
	.bb-split-content__item,
	.bb-split-content--left .bb-split-content__item,
	.bb-split-content--right .bb-split-content__item,
	.bb-split-content--mix .bb-split-content__item:nth-child(odd),
	.bb-split-content--mix .bb-split-content__item:nth-child(even) {
		direction: ltr;
		grid-template-columns: 1fr;
		gap: 28px;
		padding: 72px 20px;
	}

	.bb-text-img--text-img-square .bb-txt-img__img,
	.bb-text-img--text-img-square:nth-child(even) .bb-txt-img__img,
	.bb-split-content__image,
	.bb-split-content--left .bb-split-content__image,
	.bb-split-content--right .bb-split-content__image,
	.bb-split-content--mix .bb-split-content__item .bb-split-content__image {
		order: -1;
		min-height: 0;
	}

	.bb-text-img--text-img-square .bb-txt-img__content,
	.bb-text-img--text-img-square:nth-child(even) .bb-txt-img__content,
	.bb-split-content__text,
	.bb-split-content--left .bb-split-content__text,
	.bb-split-content--right .bb-split-content__text,
	.bb-split-content--mix .bb-split-content__item .bb-split-content__text {
		order: 0;
		align-self: stretch;
		align-items: center;
		text-align: center;
		max-width: 40rem;
		margin: 0 auto;
	}

	.bb-text-img--text-img-square .bb-txt-img__media--square {
		position: relative;
		inset: auto;
		aspect-ratio: 5 / 4;
		min-height: 280px;
		max-height: 420px;
		max-width: 100%;
		height: auto;
		margin: 0 auto;
	}

	.bb-text-img--text-img-square .bb-txt-img__accent {
		right: 12%;
		bottom: -16px;
	}

	.bb-split-content__links {
		justify-content: center;
	}

	.bb-txt-img__media--circle {
		width: min(340px, 78vw);
	}

	.bb-split-content__media {
		min-height: 320px;
		max-width: none;
		padding: 0;
	}

	.bb-split-content__orb {
		width: 100px;
		height: 100px;
		left: 8%;
		top: -12px;
	}

	.bb-split-content__logo {
		max-width: 180px;
		margin-left: auto;
		margin-right: auto;
	}
}

@media (max-width: 700px) {
	.bb-txt-img {
		gap: 28px;
	}

	.bb-txt-img__orb--a {
		width: 72px;
		height: 72px;
	}

	.bb-txt-img__media--square {
		border-radius: 22px;
		min-height: 220px;
	}

	.bb-split-content__media {
		border-radius: 22px;
	}
}


/* -----------------------------------
   Video accordion
   ----------------------------------- */

.nbb-accordion {
	position: relative;
	padding: 100px 0;
	background: var(--color-section);
	overflow: hidden;
}

.nbb-accordion__inner {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 48px;
}

.nbb-accordion__orbs {
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	overflow: visible;
}

.nbb-accordion__orb {
	position: absolute;
	border-radius: 50%;
	will-change: transform;
}

.nbb-accordion__orb--a {
	width: 140px;
	height: 140px;
	left: max(-24px, calc(50% - 420px));
	top: 6%;
	background: var(--color-blob-peach);
	opacity: 0.85;
	animation: hero-orb-float-a 5.5s ease-in-out infinite;
}

.nbb-accordion__orb--b {
	display: none;
}

.nbb-accordion__text {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 42rem;
	margin: 0 auto;
	text-align: center;
}

.nbb-accordion__text h2 {
	margin: 0 auto 32px;
	max-width: 14ch;
	color: var(--color-charcoal);
	font-family: var(--font-serif);
	font-size: clamp(2.1rem, 4.2vw, 3.15rem);
	font-weight: 500;
	line-height: 1.1;
	letter-spacing: -0.03em;
	text-align: center;
}

.nbb-accordion__text h2 b,
.nbb-accordion__text h2 strong,
.nbb-accordion__text h2 em,
.nbb-accordion__text h2 i {
	color: var(--color-terracotta);
	font-style: italic;
	font-weight: 500;
}

.nbb-accordion__list {
	width: 100%;
	border-top: 1px solid rgba(42, 36, 32, 0.12);
	text-align: left;
}

.nbb-accordion__wrap {
	border-bottom: 1px solid rgba(42, 36, 32, 0.12);
}

.nbb-accordion-btn {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	width: 100%;
	margin: 0;
	padding: 20px 0;
	border: 0;
	background: none;
	color: var(--color-charcoal);
	font-family: var(--font-sans-medium);
	font-size: 1.05rem;
	font-weight: 500;
	line-height: 1.35;
	letter-spacing: 0;
	text-align: left;
	text-decoration: none;
	cursor: pointer;
	transition: color 0.2s ease;
}

.nbb-accordion-btn__label {
	flex: 1 1 auto;
}

.nbb-accordion-btn__icon {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border-radius: 999px;
	background: transparent;
	color: var(--color-muted);
	transition: color 0.2s ease, background-color 0.2s ease;
}

.nbb-accordion-btn__icon svg {
	display: block;
	width: 14px;
	height: 14px;
}

.nbb-accordion-btn:hover,
.nbb-accordion-btn:focus-visible {
	color: var(--color-terracotta);
	outline: none;
	text-decoration: none;
}

.nbb-accordion-btn:hover .nbb-accordion-btn__icon,
.nbb-accordion-btn:focus-visible .nbb-accordion-btn__icon {
	color: var(--color-terracotta);
}

.nbb-accordion-btn-active {
	color: var(--color-terracotta);
	outline: none;
	text-decoration: none;
}

.nbb-accordion-btn-active .nbb-accordion-btn__icon {
	color: var(--color-terracotta);
	background: rgba(181, 80, 47, 0.1);
}

.nbb-accordion-btn-active .nbb-accordion-btn__plus {
	display: none;
}

.nbb-accordion-panel {
	display: grid;
	grid-template-rows: 0fr;
	transition: grid-template-rows 0.3s ease;
}

.nbb-accordion-panel.active-panel {
	grid-template-rows: 1fr;
}

.nbb-accordion-panel__body {
	overflow: hidden;
	min-height: 0;
	padding: 0;
	color: var(--color-text);
	font-family: var(--font-sans);
	font-size: 0.98rem;
	line-height: 1.65;
	transition: padding 0.3s ease;
}

.nbb-accordion-panel.active-panel .nbb-accordion-panel__body {
	padding: 0 8px 22px 0;
}

.nbb-accordion-panel__body p,
.nbb-accordion-panel p {
	margin: 0 0 0.85em;
	color: var(--color-text);
	font-family: var(--font-sans);
	font-size: 0.98rem;
	line-height: 1.65;
}

.nbb-accordion-panel__body p:last-child {
	margin-bottom: 0;
}

.nbb-accordion-panel a,
.nbb-accordion-panel__body a {
	color: var(--color-terracotta);
	font-family: var(--font-sans-medium);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.nbb-accordion-panel a:hover,
.nbb-accordion-panel__body a:hover {
	color: var(--color-terracotta-hover);
}

.nbb-accordion__video {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 820px;
	margin: 0 auto;
}

.nbb-accordion__media-accent {
	position: absolute;
	left: -18px;
	bottom: -22px;
	width: 100px;
	height: 100px;
	border-radius: 50%;
	background: var(--color-blob-peach);
	opacity: 0.75;
	pointer-events: none;
	z-index: 0;
}

.nbb-accordion__thumbnail {
	position: relative;
	z-index: 1;
	overflow: hidden;
	border-radius: 28px;
	aspect-ratio: 16 / 9;
	background: var(--color-card);
	box-shadow:
		0 1px 2px rgba(42, 36, 32, 0.04),
		0 12px 28px rgba(42, 36, 32, 0.08),
		0 28px 56px rgba(42, 36, 32, 0.08);
}

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

.nbb-accordion__thumbnail a.js-play-accordion-video {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(180deg, rgba(42, 36, 32, 0) 45%, rgba(42, 36, 32, 0.18) 100%);
	text-decoration: none;
}

.nbb-accordion__play {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 76px;
	height: 76px;
	border-radius: 999px;
	background: var(--color-on-accent);
	color: var(--color-terracotta);
	box-shadow: 0 12px 30px rgba(42, 36, 32, 0.22);
	transition: transform 0.2s ease, background-color 0.2s ease, color 0.2s ease;
}

.nbb-accordion__play svg {
	display: block;
	margin-left: 3px;
}

.nbb-accordion__thumbnail a.js-play-accordion-video:hover .nbb-accordion__play,
.nbb-accordion__thumbnail a.js-play-accordion-video:focus-visible .nbb-accordion__play {
	transform: scale(1.06);
	background: var(--color-terracotta);
	color: var(--color-on-accent);
}

@media (prefers-reduced-motion: reduce) {
	.nbb-accordion__orb {
		animation: none;
	}

	.nbb-accordion-panel,
	.nbb-accordion-panel__body {
		transition: none;
	}
}

@media (max-width: 960px) {
	.nbb-accordion {
		padding: 72px 0;
	}

	.nbb-accordion__inner {
		gap: 36px;
	}

	.nbb-accordion__orb--a {
		width: 100px;
		height: 100px;
		left: -28px;
		top: 2%;
	}

	.nbb-accordion__orb--b {
		right: 18px;
		top: 6%;
	}

	.nbb-accordion__thumbnail {
		border-radius: 22px;
		aspect-ratio: 16 / 10;
	}

	.nbb-accordion__media-accent {
		width: 76px;
		height: 76px;
		left: -10px;
		bottom: -14px;
	}
}

@media (max-width: 700px) {
	.nbb-accordion {
		padding: 64px 0;
	}

	.nbb-accordion__text h2 {
		max-width: 12ch;
	}

	.nbb-accordion-btn {
		padding: 18px 0;
		font-size: 1rem;
	}
}

/* -----------------------------------
   FAQ / Accordion
   ----------------------------------- */

.building-block--accordion {
	background: var(--color-page);
}

.bb-accordion {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
	max-width: 42rem;
	margin: 0 auto;
	text-align: center;
}

.bb-accordion__eyebrow {
	margin: 0 0 28px;
	color: var(--color-terracotta);
	font-family: var(--font-sans-medium);
	font-size: 0.78rem;
	font-weight: 500;
	letter-spacing: 0.14em;
	line-height: 1.3;
	text-transform: uppercase;
	text-align: center;
}

.bb-accordion__list {
	width: 100%;
	border-top: 1px solid var(--color-border);
}

.bb-accordion__item {
	padding: 28px 0;
	border-bottom: 1px solid var(--color-border);
	text-align: left;
}

.bb-accordion__question {
	margin: 0 0 10px;
	color: var(--color-charcoal);
	font-family: var(--font-serif);
	font-size: clamp(1.15rem, 2vw, 1.35rem);
	font-weight: 500;
	line-height: 1.25;
	letter-spacing: -0.02em;
}

.bb-accordion__answer {
	color: var(--color-text);
	font-family: var(--font-sans);
	font-size: 1rem;
	line-height: 1.6;
}

.bb-accordion__answer p {
	margin: 0 0 0.75em;
}

.bb-accordion__answer p:last-child {
	margin-bottom: 0;
}

.bb-accordion__answer a {
	color: var(--color-terracotta);
	font-family: var(--font-sans-medium);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.bb-accordion__answer a:hover,
.bb-accordion__answer a:focus-visible {
	color: var(--color-terracotta-hover);
}

.bb-accordion > .bb-button-group {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 14px;
	margin: 36px 0 0;
	padding: 0;
}

.bb-accordion > .bb-button-group .bb-button,
.bb-accordion > .bb-button-group .bb-button--maroon,
.bb-accordion > .bb-button-group .bb-button--orange,
.bb-accordion > .bb-button-group .bb-button--navy,
.bb-accordion > .bb-button-group .bb-button--maroon-border,
.bb-accordion > .bb-button-group .bb-button--navy-border,
.bb-accordion > .bb-button-group .bb-button--orange-border {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: none;
	box-shadow: none;
	color: var(--color-terracotta);
	font-family: var(--font-sans-medium);
	font-size: 1.05rem;
	font-weight: 500;
	line-height: 1.25;
	text-decoration: none;
	transition: color 0.2s ease;
}

.bb-accordion > .bb-button-group .bb-button::after,
.bb-accordion > .bb-button-group .bb-button--maroon::after,
.bb-accordion > .bb-button-group .bb-button--orange::after,
.bb-accordion > .bb-button-group .bb-button--navy::after,
.bb-accordion > .bb-button-group .bb-button--maroon-border::after,
.bb-accordion > .bb-button-group .bb-button--navy-border::after,
.bb-accordion > .bb-button-group .bb-button--orange-border::after {
	content: "";
	width: 0.5em;
	height: 0.5em;
	margin-top: -1px;
	border-right: 2px solid currentColor;
	border-top: 2px solid currentColor;
	transform: rotate(45deg);
	transition: transform 0.2s ease;
}

.bb-accordion > .bb-button-group .bb-button:hover,
.bb-accordion > .bb-button-group .bb-button:focus-visible,
.bb-accordion > .bb-button-group .bb-button--maroon:hover,
.bb-accordion > .bb-button-group .bb-button--maroon:focus-visible,
.bb-accordion > .bb-button-group .bb-button--orange:hover,
.bb-accordion > .bb-button-group .bb-button--orange:focus-visible,
.bb-accordion > .bb-button-group .bb-button--navy:hover,
.bb-accordion > .bb-button-group .bb-button--navy:focus-visible,
.bb-accordion > .bb-button-group .bb-button--maroon-border:hover,
.bb-accordion > .bb-button-group .bb-button--maroon-border:focus-visible,
.bb-accordion > .bb-button-group .bb-button--navy-border:hover,
.bb-accordion > .bb-button-group .bb-button--navy-border:focus-visible,
.bb-accordion > .bb-button-group .bb-button--orange-border:hover,
.bb-accordion > .bb-button-group .bb-button--orange-border:focus-visible {
	color: var(--color-terracotta-hover);
}

.bb-accordion > .bb-button-group .bb-button:hover::after,
.bb-accordion > .bb-button-group .bb-button:focus-visible::after,
.bb-accordion > .bb-button-group .bb-button--maroon:hover::after,
.bb-accordion > .bb-button-group .bb-button--maroon:focus-visible::after,
.bb-accordion > .bb-button-group .bb-button--orange:hover::after,
.bb-accordion > .bb-button-group .bb-button--orange:focus-visible::after,
.bb-accordion > .bb-button-group .bb-button--navy:hover::after,
.bb-accordion > .bb-button-group .bb-button--navy:focus-visible::after,
.bb-accordion > .bb-button-group .bb-button--maroon-border:hover::after,
.bb-accordion > .bb-button-group .bb-button--maroon-border:focus-visible::after,
.bb-accordion > .bb-button-group .bb-button--navy-border:hover::after,
.bb-accordion > .bb-button-group .bb-button--navy-border:focus-visible::after,
.bb-accordion > .bb-button-group .bb-button--orange-border:hover::after,
.bb-accordion > .bb-button-group .bb-button--orange-border:focus-visible::after {
	transform: rotate(45deg) translate(2px, -2px);
}

@media (max-width: 700px) {
	.bb-accordion__eyebrow {
		margin-bottom: 22px;
	}

	.bb-accordion__item {
		padding: 22px 0;
	}
}

/* -----------------------------------
   Basic Text
   ----------------------------------- */

.building-block--basic_text {
	background: var(--color-page);
}

.bb-basic-text {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	max-width: 42rem;
	margin: 0 auto;
	text-align: center;
}

.bb-basic-text--border-1 {
	max-width: 52rem;
	padding: 48px 40px;
	border: 1px solid var(--color-border);
	border-radius: 28px;
	background: var(--color-card);
}

.building-block.block--charcoal .bb-basic-text h2,
.building-block.block--navy .bb-basic-text h2,
.building-block.block--terracotta .bb-basic-text h2,
.building-block.block--orange .bb-basic-text h2 {
	color: var(--color-on-accent);
}

.building-block.block--charcoal .bb-basic-text .wysiwyg-editor p,
.building-block.block--navy .bb-basic-text .wysiwyg-editor p,
.building-block.block--terracotta .bb-basic-text .wysiwyg-editor p,
.building-block.block--orange .bb-basic-text .wysiwyg-editor p {
	color: rgba(251, 243, 234, 0.88);
}

.building-block.block--charcoal .bb-basic-text h2 em,
.building-block.block--charcoal .bb-basic-text h2 i,
.building-block.block--navy .bb-basic-text h2 em,
.building-block.block--navy .bb-basic-text h2 i {
	color: var(--color-blob-peach);
}

.bb-basic-text h2 {
	margin: 0 auto 22px;
	max-width: 18ch;
	color: var(--color-charcoal);
	font-family: var(--font-serif);
	font-size: clamp(2rem, 4vw, 3rem);
	font-weight: 500;
	line-height: 1.15;
	letter-spacing: -0.03em;
	text-align: center;
}

.bb-basic-text h2 b,
.bb-basic-text h2 strong,
.bb-basic-text h2 em,
.bb-basic-text h2 i {
	color: var(--color-terracotta);
	font-style: italic;
	font-weight: 500;
}

.bb-basic-text .wysiwyg-editor {
	width: 100%;
	margin: 0 auto;
}

.bb-basic-text .wysiwyg-editor p {
	margin: 0 0 1em;
	color: var(--color-text);
	font-family: var(--font-sans);
	font-size: 1.05rem;
	font-weight: 400;
	line-height: 1.6;
}

.bb-basic-text .wysiwyg-editor p:last-child {
	margin-bottom: 0;
}

.bb-basic-text .wysiwyg-editor a {
	color: var(--color-terracotta);
	font-family: var(--font-sans-medium);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.bb-basic-text .wysiwyg-editor a:hover,
.bb-basic-text .wysiwyg-editor a:focus-visible {
	color: var(--color-terracotta-hover);
}

.bb-basic-text .custom-link,
.bb-basic-text .bb-button-group {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 14px;
	margin: 28px 0 0;
	padding: 0;
}

.bb-basic-text .custom-link,
.bb-basic-text .bb-button,
.bb-basic-text .bb-button--maroon,
.bb-basic-text .bb-button--orange,
.bb-basic-text .bb-button--navy,
.bb-basic-text .bb-button--maroon-border,
.bb-basic-text .bb-button--navy-border,
.bb-basic-text .bb-button--orange-border {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: 14px 28px;
	border: 0;
	border-radius: 999px;
	background: var(--color-terracotta);
	color: var(--color-on-accent);
	font-family: var(--font-sans-medium);
	font-size: 0.95rem;
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: 0.01em;
	text-decoration: none;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.bb-basic-text .custom-link:hover,
.bb-basic-text .custom-link:focus-visible,
.bb-basic-text .bb-button:hover,
.bb-basic-text .bb-button:focus-visible,
.bb-basic-text .bb-button--maroon:hover,
.bb-basic-text .bb-button--maroon:focus-visible,
.bb-basic-text .bb-button--orange:hover,
.bb-basic-text .bb-button--orange:focus-visible,
.bb-basic-text .bb-button--navy:hover,
.bb-basic-text .bb-button--navy:focus-visible,
.bb-basic-text .bb-button--maroon-border:hover,
.bb-basic-text .bb-button--maroon-border:focus-visible,
.bb-basic-text .bb-button--navy-border:hover,
.bb-basic-text .bb-button--navy-border:focus-visible {
	background: var(--color-terracotta-hover);
	color: var(--color-on-accent);
}

/* On terracotta/orange bands the default CTA blends in — invert to cream */
.building-block.block--terracotta .bb-basic-text .custom-link,
.building-block.block--terracotta .bb-basic-text .bb-button,
.building-block.block--terracotta .bb-basic-text .bb-button--maroon,
.building-block.block--terracotta .bb-basic-text .bb-button--orange,
.building-block.block--terracotta .bb-basic-text .bb-button--navy,
.building-block.block--terracotta .bb-basic-text .bb-button--maroon-border,
.building-block.block--terracotta .bb-basic-text .bb-button--navy-border,
.building-block.block--terracotta .bb-basic-text .bb-button--orange-border,
.building-block.block--orange .bb-basic-text .custom-link,
.building-block.block--orange .bb-basic-text .bb-button,
.building-block.block--orange .bb-basic-text .bb-button--maroon,
.building-block.block--orange .bb-basic-text .bb-button--orange,
.building-block.block--orange .bb-basic-text .bb-button--navy,
.building-block.block--orange .bb-basic-text .bb-button--maroon-border,
.building-block.block--orange .bb-basic-text .bb-button--navy-border,
.building-block.block--orange .bb-basic-text .bb-button--orange-border {
	background: var(--color-on-accent);
	color: var(--color-terracotta);
	box-shadow: 0 1px 0 rgba(42, 36, 32, 0.06);
}

.building-block.block--terracotta .bb-basic-text .custom-link:hover,
.building-block.block--terracotta .bb-basic-text .custom-link:focus-visible,
.building-block.block--terracotta .bb-basic-text .bb-button:hover,
.building-block.block--terracotta .bb-basic-text .bb-button:focus-visible,
.building-block.block--terracotta .bb-basic-text .bb-button--maroon:hover,
.building-block.block--terracotta .bb-basic-text .bb-button--maroon:focus-visible,
.building-block.block--terracotta .bb-basic-text .bb-button--orange:hover,
.building-block.block--terracotta .bb-basic-text .bb-button--orange:focus-visible,
.building-block.block--terracotta .bb-basic-text .bb-button--navy:hover,
.building-block.block--terracotta .bb-basic-text .bb-button--navy:focus-visible,
.building-block.block--terracotta .bb-basic-text .bb-button--maroon-border:hover,
.building-block.block--terracotta .bb-basic-text .bb-button--maroon-border:focus-visible,
.building-block.block--terracotta .bb-basic-text .bb-button--navy-border:hover,
.building-block.block--terracotta .bb-basic-text .bb-button--navy-border:focus-visible,
.building-block.block--orange .bb-basic-text .custom-link:hover,
.building-block.block--orange .bb-basic-text .custom-link:focus-visible,
.building-block.block--orange .bb-basic-text .bb-button:hover,
.building-block.block--orange .bb-basic-text .bb-button:focus-visible,
.building-block.block--orange .bb-basic-text .bb-button--maroon:hover,
.building-block.block--orange .bb-basic-text .bb-button--maroon:focus-visible,
.building-block.block--orange .bb-basic-text .bb-button--orange:hover,
.building-block.block--orange .bb-basic-text .bb-button--orange:focus-visible,
.building-block.block--orange .bb-basic-text .bb-button--navy:hover,
.building-block.block--orange .bb-basic-text .bb-button--navy:focus-visible,
.building-block.block--orange .bb-basic-text .bb-button--maroon-border:hover,
.building-block.block--orange .bb-basic-text .bb-button--maroon-border:focus-visible,
.building-block.block--orange .bb-basic-text .bb-button--navy-border:hover,
.building-block.block--orange .bb-basic-text .bb-button--navy-border:focus-visible {
	background: var(--color-cream);
	color: var(--color-terracotta-hover);
}

.building-block.block--charcoal .bb-basic-text .custom-link,
.building-block.block--charcoal .bb-basic-text .bb-button,
.building-block.block--charcoal .bb-basic-text .bb-button--maroon,
.building-block.block--charcoal .bb-basic-text .bb-button--orange,
.building-block.block--charcoal .bb-basic-text .bb-button--navy,
.building-block.block--navy .bb-basic-text .custom-link,
.building-block.block--navy .bb-basic-text .bb-button,
.building-block.block--navy .bb-basic-text .bb-button--maroon,
.building-block.block--navy .bb-basic-text .bb-button--orange,
.building-block.block--navy .bb-basic-text .bb-button--navy {
	background: var(--color-on-accent);
	color: var(--color-charcoal);
}

.building-block.block--charcoal .bb-basic-text .custom-link:hover,
.building-block.block--charcoal .bb-basic-text .custom-link:focus-visible,
.building-block.block--charcoal .bb-basic-text .bb-button:hover,
.building-block.block--charcoal .bb-basic-text .bb-button:focus-visible,
.building-block.block--charcoal .bb-basic-text .bb-button--maroon:hover,
.building-block.block--charcoal .bb-basic-text .bb-button--maroon:focus-visible,
.building-block.block--navy .bb-basic-text .custom-link:hover,
.building-block.block--navy .bb-basic-text .custom-link:focus-visible,
.building-block.block--navy .bb-basic-text .bb-button:hover,
.building-block.block--navy .bb-basic-text .bb-button:focus-visible,
.building-block.block--navy .bb-basic-text .bb-button--maroon:hover,
.building-block.block--navy .bb-basic-text .bb-button--maroon:focus-visible {
	background: var(--color-cream);
	color: var(--color-charcoal);
}

.building-block.block--terracotta .bb-basic-text .custom-link,
.building-block.block--terracotta .bb-basic-text .bb-button-group,
.building-block.block--orange .bb-basic-text .custom-link,
.building-block.block--orange .bb-basic-text .bb-button-group {
	margin-top: 32px;
	margin-bottom: 8px;
}

@media (max-width: 700px) {
	.bb-basic-text--border-1 {
		padding: 36px 24px;
	}

	.bb-basic-text h2 {
		max-width: 14ch;
	}
}

/* -----------------------------------
   Shared forms (Gravity + native)
   ----------------------------------- */

.ph-form-card,
.gravity-form-container,
.bb-form__right,
.user-requests-page .profile-section,
.bb-forms-modal__inner {
	width: 100%;
	max-width: 640px;
	margin: 0;
	padding: 36px 32px;
	border-radius: 20px;
	background: var(--color-white);
	box-shadow: 0 10px 36px rgba(42, 36, 32, 0.08);
}

.bb-form__right.ph-form-card {
	max-width: none;
}

.bb-forms-modal__inner {
	position: relative;
	width: min(520px, 100%);
	max-height: calc(100vh - 48px);
	padding: 44px 36px 36px;
	overflow: auto;
	border: 1px solid rgba(231, 169, 138, 0.28);
	box-shadow: 0 24px 60px rgba(42, 36, 32, 0.22);
	background: var(--color-white);
	text-align: left;
}

.bb-forms-modal__inner::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	height: 4px;
	background: linear-gradient(90deg, var(--color-peach), var(--color-terracotta), var(--color-peach));
}

/* Labels */
.gform_wrapper .gfield_label,
.gform_wrapper .gfield_label span,
.gform_wrapper .gform-field-label,
.bb-forms-modal__form form .gfield_label,
.bb-forms-modal__form form .gfield_label span,
.ph-form label,
.user-requests-page label,
.bb-form label {
	display: block;
	margin: 0 0 8px !important;
	color: var(--color-charcoal) !important;
	font-family: var(--font-sans-medium) !important;
	font-size: 0.84rem !important;
	font-weight: 500 !important;
	letter-spacing: 0.01em;
	line-height: 1.3;
	text-transform: none !important;
}

.gform_wrapper .gfield_required,
.bb-forms-modal__form form .gfield_required,
.user-requests-page label .required,
.ph-form .required {
	color: var(--color-terracotta) !important;
	padding-left: 1px;
}

.gform_wrapper .gform_required_legend,
.bb-forms-modal__form .gform_required_legend {
	display: none !important;
}

/* Fields */
.gform_wrapper .gfield {
	margin-bottom: 18px !important;
	padding-top: 0 !important;
}

.gform_wrapper input[type="text"],
.gform_wrapper input[type="email"],
.gform_wrapper input[type="tel"],
.gform_wrapper input[type="url"],
.gform_wrapper input[type="number"],
.gform_wrapper input[type="password"],
.gform_wrapper input[type="search"],
.gform_wrapper input[type="date"],
.gform_wrapper select,
.gform_wrapper textarea,
.bb-forms-modal__form form input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
.bb-forms-modal__form form select,
.bb-forms-modal__form form textarea,
.ph-form input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
.ph-form select,
.ph-form textarea,
.user-requests-page .form-input,
.user-requests-page input[type="email"],
.user-requests-page input[type="password"],
.user-requests-page input[type="text"],
.user-requests-page textarea,
.user-requests-page select {
	width: 100% !important;
	max-width: 100% !important;
	min-height: 48px;
	margin: 0 !important;
	padding: 12px 14px !important;
	border: 1px solid var(--color-border) !important;
	border-radius: 10px !important;
	background: var(--color-white) !important;
	box-shadow: none !important;
	outline: none !important;
	color: var(--color-charcoal) !important;
	font-family: var(--font-sans) !important;
	font-size: 0.98rem !important;
	line-height: 1.4 !important;
	transition: border-color 0.2s ease;
	appearance: none;
	-webkit-appearance: none;
}

.gform_wrapper textarea,
.bb-forms-modal__form form textarea,
.ph-form textarea,
.user-requests-page textarea {
	min-height: 120px;
	resize: vertical;
}

.gform_wrapper input::placeholder,
.gform_wrapper textarea::placeholder,
.bb-forms-modal__form form input::placeholder,
.bb-forms-modal__form form textarea::placeholder,
.ph-form input::placeholder,
.ph-form textarea::placeholder,
.user-requests-page .form-input::placeholder {
	color: var(--color-muted);
	opacity: 1;
}

.gform_wrapper input:focus,
.gform_wrapper select:focus,
.gform_wrapper textarea:focus,
.bb-forms-modal__form form input:focus,
.bb-forms-modal__form form select:focus,
.bb-forms-modal__form form textarea:focus,
.ph-form input:focus,
.ph-form select:focus,
.ph-form textarea:focus,
.user-requests-page .form-input:focus,
.user-requests-page input:focus,
.user-requests-page textarea:focus,
.user-requests-page select:focus {
	border-color: var(--color-terracotta) !important;
}

.gform_wrapper .gfield_description,
.user-requests-page .form-helper {
	margin: 8px 0 0;
	color: var(--color-muted);
	font-family: var(--font-sans);
	font-size: 0.86rem;
	line-height: 1.45;
}

.gform_wrapper .gfield_validation_message,
.gform_wrapper .validation_message,
.user-requests-page .messages-container .error {
	color: var(--color-terracotta);
}

/* Submit / CTA buttons */
.gform_wrapper .gform_footer,
.gform_wrapper .gform-footer,
.gform_wrapper .gform-page-footer,
.bb-forms-modal__form form .gform_footer {
	margin: 8px 0 0 !important;
	padding: 12px 0 0 !important;
	text-align: left !important;
}

.gform_wrapper input[type="submit"],
.gform_wrapper input[type="button"].gform_button,
.gform_wrapper .gform_button,
.gform_wrapper button[type="submit"],
.bb-forms-modal__form form input[type="submit"],
.ph-form button[type="submit"],
.ph-form .ph-form__submit,
.user-requests-page .nbb-orange-cta,
.user-requests-page button[type="submit"],
.user-requests-page .ph-form__submit {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: auto !important;
	min-height: 48px;
	margin: 0 !important;
	padding: 14px 28px !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: var(--color-terracotta) !important;
	color: var(--color-white) !important;
	font-family: var(--font-sans-medium) !important;
	font-size: 0.95rem !important;
	font-weight: 500 !important;
	line-height: 1.2 !important;
	letter-spacing: 0.01em;
	text-decoration: none !important;
	cursor: pointer;
	box-shadow: none !important;
	transition: background-color 0.2s ease;
}

.gform_wrapper input[type="submit"]:hover,
.gform_wrapper input[type="submit"]:focus,
.gform_wrapper .gform_button:hover,
.gform_wrapper .gform_button:focus,
.gform_wrapper button[type="submit"]:hover,
.gform_wrapper button[type="submit"]:focus,
.bb-forms-modal__form form input[type="submit"]:hover,
.bb-forms-modal__form form input[type="submit"]:focus,
.ph-form button[type="submit"]:hover,
.user-requests-page .nbb-orange-cta:hover,
.user-requests-page .nbb-orange-cta:focus-visible,
.user-requests-page button[type="submit"]:hover,
.user-requests-page .ph-form__submit:hover {
	background: var(--color-terracotta-hover) !important;
	color: var(--color-white) !important;
}

.user-requests-page .ph-form__cancel,
.user-requests-page .bb-button--maroon {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 14px 24px !important;
	border: 1px solid var(--color-border) !important;
	border-radius: 999px !important;
	background: transparent !important;
	color: var(--color-charcoal) !important;
	font-family: var(--font-sans-medium) !important;
	font-size: 0.95rem !important;
	font-weight: 500 !important;
	line-height: 1.2 !important;
	text-decoration: none !important;
	cursor: pointer;
	transition: border-color 0.2s ease, color 0.2s ease;
}

.user-requests-page .ph-form__cancel:hover,
.user-requests-page .bb-button--maroon:hover {
	border-color: var(--color-charcoal) !important;
	color: var(--color-charcoal) !important;
	background: transparent !important;
}

.gform_wrapper .gform_confirmation_message,
.bb-forms-modal__form .gform_confirmation_message {
	color: var(--color-charcoal);
	font-family: var(--font-serif);
	font-size: 1.25rem;
	font-weight: 500;
	line-height: 1.35;
	text-align: center;
}

.bb-forms-modal__form .gform_confirmation_message {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	min-height: 120px;
	text-align: left;
}

.bb-forms-modal__form .gform_heading {
	margin: 0 0 24px;
	text-align: left !important;
}

.bb-forms-modal__form .gform_title {
	margin: 0 0 8px;
	color: var(--color-charcoal);
	font-family: var(--font-serif);
	font-size: clamp(1.65rem, 3vw, 2.1rem);
	font-weight: 500;
	line-height: 1.15;
	letter-spacing: -0.025em;
	text-align: left !important;
}

.bb-forms-modal__form .gform_description {
	margin: 0;
	color: var(--color-text);
	font-family: var(--font-sans);
	font-size: 0.98rem;
	line-height: 1.5;
	text-align: left !important;
}

/* -----------------------------------
   Forms modal (popup CTA)
   ----------------------------------- */

.bb-forms-modal {
	position: fixed;
	inset: 0;
	z-index: 2000;
	display: none;
	align-items: center;
	justify-content: center;
	padding: 24px;
	background: rgba(42, 36, 32, 0.58);
	backdrop-filter: blur(4px);
}

.bb-forms-modal__close {
	position: absolute;
	top: 14px;
	right: 14px;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 999px;
	background: var(--color-charcoal);
	color: var(--color-white);
	font-family: var(--font-sans-medium);
	font-size: 1rem;
	font-weight: 500;
	line-height: 1;
	text-decoration: none;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.bb-forms-modal__close:hover,
.bb-forms-modal__close:focus-visible {
	background: var(--color-terracotta);
	color: var(--color-on-accent);
}

.bb-forms-modal__form {
	max-height: none;
	overflow: visible;
	text-align: left;
}

.bb-forms-modal__form .gform_wrapper,
.bb-forms-modal__form form,
.bb-forms-modal__form .gform_body,
.bb-forms-modal__form .gform_fields,
.bb-forms-modal__form .gfield,
.bb-forms-modal__form .gfield_label,
.bb-forms-modal__form .gfield_description,
.bb-forms-modal__form .ginput_container,
.bb-forms-modal__form .gform_footer,
.bb-forms-modal__form .gform-footer {
	text-align: left !important;
}

.bb-forms-modal__form .gfield_label,
.bb-forms-modal__form .gfield_label span,
.bb-forms-modal__form .gform-field-label {
	text-align: left !important;
	text-transform: none !important;
	letter-spacing: 0.01em !important;
}

.bb-forms-modal__form .gform_footer,
.bb-forms-modal__form .gform-footer {
	justify-content: flex-start !important;
	text-align: left !important;
}

.bb-forms-modal__form .gform_captcha_container,
.bb-forms-modal__form .ginput_recaptcha,
.bb-forms-modal__form .gfield--type-captcha {
	text-align: left !important;
}

/* -----------------------------------
   User requests page
   ----------------------------------- */

.user-requests-page {
	background: var(--color-page);
	padding: 72px 0 120px;
}

.user-requests-page .member-dashboard {
	padding: 0;
	margin: 0 0 56px;
	background: transparent;
}

.user-requests-page .member-dashboard:last-child {
	margin-bottom: 0;
}

.user-requests-page .wrapper {
	max-width: 720px;
}

.user-requests-page .member-dashboard__data,
.user-requests-page .member-dashboard__section {
	max-width: none;
	margin: 0;
	padding: 0;
	background: transparent;
	box-shadow: none;
	border: 0;
}

.user-requests-page .member-dashboard__section > h2 {
	margin: 0 0 12px;
	color: var(--color-charcoal);
	font-family: var(--font-serif);
	font-size: clamp(1.85rem, 3.2vw, 2.5rem);
	font-weight: 500;
	line-height: 1.15;
	letter-spacing: -0.025em;
}

.user-requests-page .member-dashboard__section > p {
	margin: 0 0 28px;
	max-width: 40rem;
	color: var(--color-text);
	font-family: var(--font-sans);
	font-size: 1.05rem;
	line-height: 1.55;
}

.user-requests-page .profile-section h3 {
	margin: 0 0 20px;
	color: var(--color-charcoal);
	font-family: var(--font-serif);
	font-size: 1.25rem;
	font-weight: 500;
	line-height: 1.25;
	letter-spacing: -0.015em;
}

.user-requests-page .profile-details,
.user-requests-page .form-step,
.user-requests-page .email-change-form-container,
.user-requests-page .password-reset-form-container {
	display: block;
	width: 100%;
}

.user-requests-page .form-row {
	margin: 0 0 18px;
}

.user-requests-page .member-dashboard__links {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	margin-top: 8px;
}

.user-requests-page .verification-success {
	margin: 0 0 20px;
	padding: 14px 16px;
	border-radius: 12px;
	background: rgba(231, 169, 138, 0.18);
	color: var(--color-charcoal);
	font-family: var(--font-sans);
	font-size: 0.95rem;
	line-height: 1.45;
}

.user-requests-page .messages-container {
	margin: 0 0 20px;
	padding: 14px 16px;
	border-radius: 12px;
	background: var(--color-section);
	color: var(--color-charcoal);
	font-family: var(--font-sans);
	font-size: 0.95rem;
	line-height: 1.45;
}

.user-requests-page .gravity-form-container .gform_wrapper {
	margin: 0;
}

.user-requests-page .no-form-message {
	padding: 20px;
	border-radius: 12px;
	background: var(--color-section);
	color: var(--color-text);
}

@media (max-width: 700px) {
	.ph-form-card,
	.gravity-form-container,
	.bb-form__right,
	.user-requests-page .profile-section {
		padding: 28px 20px;
		border-radius: 16px;
	}

	.bb-forms-modal {
		padding: 16px;
	}

	.bb-forms-modal__inner {
		padding: 44px 22px 28px;
		border-radius: 20px;
	}

	.user-requests-page {
		padding: 48px 0 80px;
	}

	.user-requests-page .member-dashboard {
		margin-bottom: 40px;
	}

	.gform_wrapper input[type="submit"],
	.user-requests-page .nbb-orange-cta,
	.user-requests-page button[type="submit"],
	.user-requests-page .ph-form__submit,
	.user-requests-page .ph-form__cancel,
	.user-requests-page .bb-button--maroon {
		width: 100% !important;
	}
}

/* -----------------------------------
   Newsletter template page
   ----------------------------------- */

.newsletter-template__bg {
	position: relative;
	overflow: hidden;
	background:
		radial-gradient(ellipse 70% 55% at 12% 18%, rgba(231, 169, 138, 0.35) 0%, transparent 58%),
		radial-gradient(ellipse 50% 40% at 92% 8%, rgba(181, 80, 47, 0.1) 0%, transparent 55%),
		var(--color-page);
	padding: 56px 0 0;
}

.newsletter-template__orb {
	position: absolute;
	border-radius: 50%;
	pointer-events: none;
	z-index: 0;
}

.newsletter-template__orb--a {
	left: max(-48px, calc(50% - 560px));
	top: 120px;
	width: 180px;
	height: 180px;
	background: var(--color-blob-peach);
	opacity: 0.55;
	animation: newsletter-orb-a 7s ease-in-out infinite;
}

.newsletter-template__orb--b {
	right: max(-60px, calc(50% - 520px));
	bottom: 28%;
	width: 220px;
	height: 220px;
	background: rgba(42, 36, 32, 0.06);
	animation: newsletter-orb-b 8s ease-in-out infinite;
}

@keyframes newsletter-orb-a {
	0%, 100% { transform: translate(0, 0); }
	50% { transform: translate(10px, -14px); }
}

@keyframes newsletter-orb-b {
	0%, 100% { transform: translate(0, 0); }
	50% { transform: translate(-12px, 10px); }
}

.newsletter-template__bg > .wrapper {
	position: relative;
	z-index: 1;
}

.newsletter-template {
	display: grid;
	grid-template-columns: minmax(220px, 0.85fr) minmax(0, 1.15fr);
	gap: clamp(28px, 4vw, 56px);
	align-items: center;
	padding-bottom: 48px;
}

.newsletter-template__visual {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	justify-content: center;
	gap: 16px;
	padding: 12px 8px 8px 0;
}

.newsletter-template__media {
	position: relative;
	z-index: 0;
	width: 100%;
	max-width: 340px;
	margin: 0 auto;
	aspect-ratio: 3 / 4;
	overflow: visible;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	animation: none;
}

/* Soft brand mat behind any photo */
.newsletter-template__media::before {
	content: "";
	position: absolute;
	inset: 20px -16px -16px 20px;
	z-index: 0;
	border-radius: 22px;
	background: linear-gradient(160deg, var(--color-blob-peach) 0%, rgba(181, 80, 47, 0.55) 100%);
	opacity: 0.5;
	pointer-events: none;
}

.newsletter-template__media img {
	position: relative;
	z-index: 1;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	border-radius: 22px;
	filter: none;
	box-shadow:
		0 1px 2px rgba(42, 36, 32, 0.04),
		0 14px 36px rgba(42, 36, 32, 0.1);
	background: var(--color-section);
}

.newsletter-template__media::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 2;
	pointer-events: none;
	border-radius: 22px;
	background: linear-gradient(180deg, transparent 62%, rgba(26, 22, 20, 0.18) 100%);
}

.newsletter-template__top {
	display: flex;
	flex-direction: column;
	gap: 0;
	min-width: 0;
	padding-top: 24px;
}

.newsletter-template__eyebrow {
	margin: 0 0 12px;
	color: var(--color-terracotta);
	font-family: var(--font-sans-medium);
	font-size: 0.78rem;
	font-weight: 500;
	letter-spacing: 0.16em;
	line-height: 1.3;
	text-transform: uppercase;
}

.newsletter-template__init h1 {
	position: relative;
	z-index: 1;
	margin: 0 0 14px;
	max-width: 14ch;
	color: var(--color-charcoal);
	font-family: var(--font-serif);
	font-size: clamp(2.35rem, 4.8vw, 3.6rem);
	font-weight: 500;
	line-height: 1.05;
	letter-spacing: -0.035em;
}

.newsletter-template__init h1 em,
.newsletter-template__init h1 i,
.newsletter-template__init h1 b,
.newsletter-template__init h1 strong {
	color: var(--color-terracotta);
	font-style: italic;
	font-weight: 500;
}

.newsletter-template__lede {
	margin: 0 0 26px;
	max-width: 34rem;
	color: var(--color-text);
	font-family: var(--font-sans);
	font-size: 1.05rem;
	line-height: 1.55;
}

.newsletter-template__form {
	position: relative;
	max-width: 100%;
}

.newsletter-template__form .gform_wrapper {
	margin: 0;
}

.newsletter-template__form .gform_heading {
	display: none;
}

.newsletter-template__form .gfield--type-consent .gfield_consent_description,
.newsletter-template__form .gfield--type-consent label {
	font-size: 0.9rem !important;
	line-height: 1.45 !important;
	color: var(--color-text) !important;
}

/* Confirmation (shown via JS after submit) */
.newsletter-template__confirmation {
	display: none;
}

.newsletter-template__bg-active .newsletter-template__init .newsletter-template__form,
.newsletter-template__bg-active .newsletter-template__init .newsletter-template__lede,
.newsletter-template__bg-active .newsletter-template__init .newsletter-template__eyebrow {
	display: none;
}

.newsletter-template__confirmation__top {
	margin-bottom: 20px;
}

.newsletter-template__confirmation__top h2 {
	margin: 0 0 16px;
	color: var(--color-charcoal);
	font-family: var(--font-serif);
	font-size: clamp(2rem, 4vw, 3rem);
	font-weight: 500;
	line-height: 1.1;
	letter-spacing: -0.03em;
}

.newsletter-template__confirmation__top h3 {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	margin: 0;
	padding: 12px 16px;
	border-radius: 999px;
	background: rgba(231, 169, 138, 0.2);
	color: var(--color-charcoal);
	font-family: var(--font-sans-medium);
	font-size: 0.98rem;
	font-weight: 500;
	line-height: 1.3;
}

.newsletter-template__confirmation__top h3 svg {
	flex-shrink: 0;
}

.newsletter-template__confirmation__bottom {
	padding: 28px;
	border-radius: 20px;
	background: var(--color-white);
	box-shadow: 0 10px 36px rgba(42, 36, 32, 0.08);
}

.newsletter-template__confirmation__bottom p {
	margin: 0 0 22px;
	color: var(--color-text);
	font-family: var(--font-sans);
	font-size: 1.05rem;
	line-height: 1.55;
}

.newsletter-template__confirmation-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px 24px;
}

.newsletter-template__confirmation-actions .ph-form__submit {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 14px 28px !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: var(--color-terracotta) !important;
	color: var(--color-white) !important;
	font-family: var(--font-sans-medium) !important;
	font-size: 0.95rem !important;
	font-weight: 500 !important;
	line-height: 1.2 !important;
	text-decoration: none !important;
	transition: background-color 0.2s ease;
}

.newsletter-template__confirmation-actions .ph-form__submit:hover,
.newsletter-template__confirmation-actions .ph-form__submit:focus-visible {
	background: var(--color-terracotta-hover) !important;
	color: var(--color-white) !important;
}

.newsletter-template__ticker {
	position: relative;
	z-index: 1;
	overflow: hidden;
	border-top: 1px solid rgba(42, 36, 32, 0.08);
	border-bottom: 1px solid rgba(42, 36, 32, 0.08);
	background: rgba(252, 248, 243, 0.72);
	padding: 14px 0;
}

.newsletter-template__ticker-track {
	display: flex;
	align-items: center;
	gap: 18px;
	width: max-content;
	color: var(--color-charcoal);
	font-family: var(--font-sans-medium);
	font-size: 0.82rem;
	font-weight: 500;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	white-space: nowrap;
	animation: newsletter-ticker 28s linear infinite;
}

.newsletter-template__ticker-track span:nth-child(even) {
	color: var(--color-terracotta);
}

@keyframes newsletter-ticker {
	from { transform: translateX(0); }
	to { transform: translateX(-50%); }
}

.newsletter-template__quote {
	position: relative;
	z-index: 1;
	margin-top: 0;
	padding: 96px 0;
	background: var(--color-charcoal);
	color: var(--color-on-accent);
	overflow: hidden;
}

.newsletter-template__quote::before {
	content: "";
	position: absolute;
	right: -6%;
	bottom: -35%;
	width: 340px;
	height: 340px;
	border-radius: 50%;
	background: rgba(231, 169, 138, 0.16);
	pointer-events: none;
}

.newsletter-template__quote .wrapper {
	position: relative;
	z-index: 1;
	max-width: 46rem;
	margin: 0 auto;
	text-align: left;
}

.newsletter-template__quote-mark {
	display: block;
	margin: 0 0 8px;
	color: var(--color-blob-peach);
	font-family: var(--font-serif);
	font-size: clamp(4rem, 10vw, 7rem);
	font-weight: 500;
	line-height: 0.7;
	letter-spacing: -0.04em;
}

.newsletter-template__quote h2 {
	margin: 0 0 22px;
	color: var(--color-on-accent);
	font-family: var(--font-serif);
	font-size: clamp(1.7rem, 3.4vw, 2.55rem);
	font-weight: 500;
	font-style: italic;
	line-height: 1.25;
	letter-spacing: -0.02em;
}

.newsletter-template__quote p {
	margin: 0;
	color: var(--color-blob-peach);
	font-family: var(--font-sans-medium);
	font-size: 0.84rem;
	font-weight: 500;
	letter-spacing: 0.12em;
	line-height: 1.4;
	text-transform: uppercase;
}

@media (prefers-reduced-motion: reduce) {
	.newsletter-template__orb--a,
	.newsletter-template__orb--b,
	.newsletter-template__ticker-track {
		animation: none;
	}
}

@media (max-width: 960px) {
	.newsletter-template__bg {
		padding-top: 40px;
	}

	.newsletter-template {
		grid-template-columns: 1fr;
		gap: 12px;
		padding-bottom: 40px;
	}

	.newsletter-template__visual {
		order: -1;
		flex-direction: column;
		align-items: stretch;
		justify-content: flex-start;
		gap: 12px;
		padding: 0 0 8px;
	}

	.newsletter-template__media {
		width: min(240px, 58vw);
		max-width: none;
		margin: 0;
	}

	.newsletter-template__orb--a {
		width: 110px;
		height: 110px;
		left: -28px;
		top: 48px;
	}

	.newsletter-template__orb--b {
		width: 140px;
		height: 140px;
	}

	.newsletter-template__init h1 {
		max-width: 18ch;
	}

	.newsletter-template__quote .wrapper {
		text-align: center;
	}
}

@media (max-width: 700px) {
	.newsletter-template__quote {
		padding: 64px 0;
	}

	.newsletter-template__confirmation__bottom {
		padding: 22px 18px;
	}

	.newsletter-template__confirmation-actions {
		flex-direction: column;
		align-items: stretch;
	}

	.newsletter-template__confirmation-actions .ph-form__submit,
	.newsletter-template__confirmation-actions .nbb-text-cta {
		width: 100%;
		justify-content: center;
	}

	.newsletter-template__ticker-track {
		font-size: 0.74rem;
	}
}

/* -----------------------------------
   Locations block
   ----------------------------------- */

.building-block--locations {
	background: var(--color-section);
	overflow: visible;
}

.building-block--locations .building-block__bg {
	display: none;
}

.bb-cards-title {
	margin: 0 0 40px;
	color: var(--color-charcoal);
	font-family: var(--font-serif);
	font-size: clamp(1.75rem, 3vw, 2.4rem);
	font-weight: 500;
	line-height: 1.15;
	letter-spacing: -0.02em;
	text-align: center;
}

.bb-card-items.bb-card-locations {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 28px;
	align-items: stretch;
}

.bb-card-items.bb-card-locations .bb-single-card.bb-card-location {
	display: flex;
	flex-direction: column;
	width: auto;
	height: 100%;
	margin: 0;
	padding: 0;
	overflow: hidden;
	border: 0;
	border-radius: 16px;
	background: var(--color-card);
	box-shadow:
		0 1px 2px rgba(42, 36, 32, 0.04),
		0 8px 24px rgba(42, 36, 32, 0.06),
		0 20px 48px rgba(42, 36, 32, 0.04);
	text-decoration: none;
	color: inherit;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

a.bb-single-card.bb-card-location:hover,
a.bb-single-card.bb-card-location:focus-visible {
	transform: translateY(-5px);
	box-shadow:
		0 2px 4px rgba(42, 36, 32, 0.05),
		0 14px 32px rgba(42, 36, 32, 0.09),
		0 28px 56px rgba(42, 36, 32, 0.06);
	outline: none;
}

.bb-card-location__img {
	position: relative;
	flex-shrink: 0;
	overflow: hidden;
	aspect-ratio: 5 / 4;
	background: #e8e0d5;
}

.bb-card-location__img img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.45s ease;
}

a.bb-card-location:hover .bb-card-location__img img {
	transform: scale(1.03);
}

.bb-card-location__img--soon {
	display: flex;
	align-items: center;
	justify-content: center;
	background: #ebe4da;
	color: #9a948e;
	font-family: var(--font-sans-medium);
	font-size: 0.82rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.bb-card-location__body {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	flex: 1 1 auto;
	gap: 8px;
	padding: 26px 26px 28px;
	background: var(--color-card);
}

.bb-card-location__title {
	margin: 0;
	color: var(--color-charcoal);
	font-family: var(--font-serif);
	font-size: clamp(1.35rem, 1.6vw, 1.6rem);
	font-weight: 500;
	line-height: 1.18;
	letter-spacing: -0.025em;
}

.bb-card-location__meta {
	margin: 0;
	color: var(--color-muted);
	font-family: var(--font-sans);
	font-size: 0.9rem;
	line-height: 1.5;
}

.bb-card-location__label,
.bb-card-location__names {
	font-family: var(--font-sans);
	font-weight: 400;
}

.bb-card-location__cta {
	margin-top: auto;
	padding-top: 14px;
	font-family: var(--font-sans-medium);
	font-size: 0.88rem;
	font-weight: 500;
	letter-spacing: 0.01em;
}

a.bb-card-location .bb-card-location__cta {
	color: var(--color-terracotta);
}

a.bb-card-location .bb-card-location__cta::after {
	font-size: 0.95em;
}

a.bb-card-location:hover .bb-card-location__cta,
a.bb-card-location:focus-visible .bb-card-location__cta {
	color: var(--color-terracotta-hover);
}

@media (max-width: 960px) {
	.bb-card-items.bb-card-locations {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 22px;
	}

	.bb-card-location__body {
		padding: 22px 22px 24px;
	}
}

@media (max-width: 600px) {
	.bb-card-items.bb-card-locations {
		grid-template-columns: 1fr;
		gap: 18px;
	}

	.bb-card-location__img {
		aspect-ratio: 16 / 11;
	}

	.bb-card-location__body {
		padding: 22px 20px 24px;
	}
}


/* -----------------------------------
   Card items (events / video / blog / members)
   — same family as locations cards
   ----------------------------------- */

.building-block--card_items {
	background: var(--color-page);
}

.bb-card-items.bb-card-events,
.bb-card-items.bb-card-videos,
.bb-card-items.bb-card-posts,
.bb-card-items.bb-card-members {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 28px;
	align-items: stretch;
}

.events-results {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 28px;
	align-items: stretch;
}

.events-results > h2,
.events-results > p {
	grid-column: 1 / -1;
}

.bb-card-item {
	display: flex;
	flex-direction: column;
	width: auto;
	height: 100%;
	margin: 0;
	padding: 0;
	overflow: hidden;
	border: 0;
	border-radius: 16px;
	background: var(--color-card);
	box-shadow:
		0 1px 2px rgba(42, 36, 32, 0.04),
		0 8px 24px rgba(42, 36, 32, 0.06),
		0 20px 48px rgba(42, 36, 32, 0.04);
	text-decoration: none;
	color: inherit;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

a.bb-card-item:hover,
a.bb-card-item:focus-visible {
	transform: translateY(-5px);
	box-shadow:
		0 2px 4px rgba(42, 36, 32, 0.05),
		0 14px 32px rgba(42, 36, 32, 0.09),
		0 28px 56px rgba(42, 36, 32, 0.06);
	outline: none;
}

.bb-card-item__img {
	position: relative;
	flex-shrink: 0;
	overflow: hidden;
	aspect-ratio: 5 / 4;
	background: #e8e0d5;
}

.bb-card-item__img img,
.bb-card-item__img .wp-post-image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.45s ease;
}

a.bb-card-item:hover .bb-card-item__img img,
a.bb-card-item:hover .bb-card-item__img .wp-post-image {
	transform: scale(1.03);
}

.bb-card-item__img--fade {
	opacity: 0.72;
}

.bb-card-item__img--empty::before {
	content: "Parlay House";
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--color-muted);
	font-family: var(--font-serif);
	font-size: 1.1rem;
	font-style: italic;
	letter-spacing: -0.02em;
}

.bb-card-item__body {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	flex: 1 1 auto;
	gap: 8px;
	padding: 22px 24px 26px;
	background: var(--color-card);
}

.bb-card-item__eyebrow {
	display: inline-block;
	margin: 0;
	color: var(--color-terracotta);
	font-family: var(--font-sans-medium);
	font-size: 0.72rem;
	font-weight: 500;
	letter-spacing: 0.14em;
	line-height: 1.3;
	text-transform: uppercase;
}

.bb-card-item__title {
	margin: 0;
	color: var(--color-charcoal);
	font-family: var(--font-serif);
	font-size: clamp(1.3rem, 1.55vw, 1.55rem);
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: -0.025em;
}

.bb-card-item__meta {
	margin: 0;
	color: var(--color-muted);
	font-family: var(--font-sans);
	font-size: 0.88rem;
	line-height: 1.45;
}

.bb-card-item__text {
	margin: 0;
	color: var(--color-text);
	font-family: var(--font-sans);
	font-size: 0.95rem;
	line-height: 1.5;
}

.bb-card-item__text p {
	margin: 0;
}

.bb-card-item__cta {
	margin-top: auto;
	padding-top: 14px;
	font-family: var(--font-sans-medium);
	font-size: 0.88rem;
	font-weight: 500;
	letter-spacing: 0.01em;
}

a.bb-card-item .bb-card-item__cta {
	color: var(--color-terracotta);
}

a.bb-card-item:hover .bb-card-item__cta,
a.bb-card-item:focus-visible .bb-card-item__cta {
	color: var(--color-terracotta-hover);
}

.bb-card-items.bb-card-members .bb-card-item--member .bb-card-item__img {
	position: relative;
	aspect-ratio: 16 / 10;
	display: block;
	padding: 0;
	overflow: hidden;
	background-color: #2a2420;
	background-repeat: no-repeat;
	background-position: center 28%;
	background-size: 155%;
}

.bb-card-items.bb-card-members .bb-card-item--member .bb-card-item__img--fill img {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	border: 0 !important;
	opacity: 0 !important;
	transform: none !important;
}

.bb-card-items.bb-card-members .bb-card-item--member .bb-card-item__img::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background: linear-gradient(
		180deg,
		transparent 48%,
		rgba(42, 36, 32, 0.22) 100%
	);
}

a.bb-card-item--member .bb-card-item__img--fill {
	transition: background-size 0.45s ease;
}

a.bb-card-item--member:hover .bb-card-item__img--fill,
a.bb-card-item--member:focus-visible .bb-card-item__img--fill {
	background-size: 192%;
}

.bb-card-items.bb-card-members .bb-card-item--member .bb-card-item__body {
	gap: 8px;
	padding: 22px 22px 26px;
	text-align: left;
	align-items: flex-start;
}

.bb-card-items.bb-card-members .bb-card-item--member .bb-card-item__eyebrow {
	letter-spacing: 0.12em;
}

.bb-card-items.bb-card-members .bb-card-item--member .bb-card-item__title {
	font-size: clamp(1.35rem, 1.7vw, 1.55rem);
	letter-spacing: -0.02em;
}

.bb-card-items.bb-card-members .bb-card-item--member .bb-card-item__meta {
	margin: 0;
	max-width: none;
	color: var(--color-muted);
	font-family: var(--font-sans);
	font-size: 0.86rem;
	font-style: normal;
	font-weight: 400;
	letter-spacing: 0.01em;
	line-height: 1.4;
	text-transform: none;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
}

.bb-card-items.bb-card-members .bb-card-item--member .bb-card-item__text {
	margin: 0;
	max-width: none;
	color: var(--color-text);
	font-size: 0.92rem;
	line-height: 1.5;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 4;
	overflow: hidden;
}

.bb-card-items.bb-card-members .bb-card-item--member .bb-card-item__text p {
	margin: 0;
}

@media (max-width: 960px) {
	.bb-card-items.bb-card-events,
	.bb-card-items.bb-card-videos,
	.bb-card-items.bb-card-posts,
	.bb-card-items.bb-card-members,
	.events-results {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 22px;
	}

	.bb-card-item__body {
		padding: 20px 20px 22px;
	}
}

@media (max-width: 600px) {
	.bb-card-items.bb-card-events,
	.bb-card-items.bb-card-videos,
	.bb-card-items.bb-card-posts,
	.bb-card-items.bb-card-members,
	.events-results {
		grid-template-columns: 1fr;
		gap: 18px;
	}

	.bb-card-item__img {
		aspect-ratio: 16 / 11;
	}

	.bb-card-items.bb-card-members .bb-card-item--member .bb-card-item__img {
		aspect-ratio: 16 / 10;
		padding: 0;
		background-size: 160%;
	}
}


.bb-cards-ajax {
	position: relative;
	transition: opacity 0.2s ease;
}

.bb-cards-ajax.is-loading {
	opacity: 0.45;
	pointer-events: none;
}

.bb-cards-ajax.is-loading::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 42%;
	width: 28px;
	height: 28px;
	margin: -14px 0 0 -14px;
	border: 2px solid var(--color-border);
	border-top-color: var(--color-terracotta);
	border-radius: 50%;
	animation: bb-cards-spin 0.7s linear infinite;
	z-index: 2;
}

@keyframes bb-cards-spin {
	to { transform: rotate(360deg); }
}

/* -----------------------------------
   Card items pagination
   ----------------------------------- */

.bb-cards-pagination {
	margin-top: 40px;
}

.bb-cards-pagination__inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 12px 18px;
}

.bb-cards-pagination__list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.bb-cards-pagination__page,
.bb-cards-pagination__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 42px;
	min-height: 42px;
	padding: 0 14px;
	border: 1px solid var(--color-border);
	border-radius: 999px;
	background: var(--color-white);
	color: var(--color-charcoal);
	font-family: var(--font-sans-medium);
	font-size: 0.9rem;
	font-weight: 500;
	line-height: 1;
	text-decoration: none;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.bb-cards-pagination__page:hover,
.bb-cards-pagination__page:focus-visible,
.bb-cards-pagination__btn:hover,
.bb-cards-pagination__btn:focus-visible {
	border-color: var(--color-terracotta);
	color: var(--color-terracotta);
	outline: none;
}

.bb-cards-pagination__page.is-current {
	border-color: var(--color-terracotta);
	background: var(--color-terracotta);
	color: var(--color-white);
}

.bb-cards-pagination__btn.is-disabled {
	opacity: 0.35;
	pointer-events: none;
}

.bb-cards-pagination__btn--prev,
.bb-cards-pagination__btn--next {
	min-width: 0;
	padding: 0 18px;
}

@media (max-width: 600px) {
	.bb-cards-pagination {
		margin-top: 28px;
	}

	.bb-cards-pagination__btn--prev,
	.bb-cards-pagination__btn--next {
		width: 100%;
		order: 2;
	}

	.bb-cards-pagination__list {
		order: 1;
		width: 100%;
	}
}


/* -----------------------------------
   Slider block
   ----------------------------------- */

.bb-slider {
	display: flex !important;
	align-items: center;
}

.bb-slider__title {
	margin: 0 0 30px;
	color: var(--color-charcoal);
	font-family: var(--font-sans-medium);
	font-size: 2.4rem;
	font-weight: 500;
	letter-spacing: 0;
	text-align: center;
}

.bb-slider--testimonials {
	max-width: 1100px;
	margin: auto;
}

.bb-slider-testimonial__item {
	display: flex !important;
	align-items: center;
	padding: 20px 60px;
}

.bb-slider-testimonial__item img {
	width: 300px;
	height: 300px;
	border-radius: 40px;
	object-fit: cover;
	box-shadow: -20px -20px var(--color-terracotta);
}

.bb-slider-testimonial__text {
	margin: 0 0 0 50px;
}

.bb-slider-testimonial__text h3 {
	margin: 0 0 30px;
	text-transform: uppercase;
}

.bb-slider-testimonial__text .wysiwyg-editor {
	font-size: 1.1rem;
	font-weight: 300;
	line-height: 1.3;
}

.bb-slider-testimonial__name {
	margin: 15px 0 0;
	font-family: var(--font-sans-medium);
	font-size: 18px;
	font-weight: 500;
	text-transform: uppercase;
}

@media (max-width: 960px) {
	.bb-slider-testimonial__item {
		flex-direction: column;
		padding: 20px;
		text-align: center;
	}

	.bb-slider-testimonial__item img {
		width: 100%;
		max-width: 100%;
		height: auto;
		aspect-ratio: 1 / 1;
		margin: 0 0 30px;
		box-shadow: none !important;
	}

	.bb-slider-testimonial__text {
		margin: 0;
	}

	.bb-slider-testimonial__text h3 {
		margin: 0 0 10px;
	}
}

/* Gallery — dark charcoal band */

.building-block--slider:has(.bb-slider-gallery) {
	background:
		radial-gradient(ellipse 55% 70% at 8% 20%, rgba(231, 169, 138, 0.14), transparent 55%),
		radial-gradient(ellipse 50% 60% at 92% 85%, rgba(181, 80, 47, 0.12), transparent 50%),
		#1a1614;
	color: var(--color-on-accent);
	overflow: hidden;
}

.building-block--slider:has(.bb-slider-gallery) .building-block__body {
	position: relative;
}

.bb-slider-gallery {
	position: relative;
	z-index: 1;
	max-width: 1120px;
	margin: 0 auto;
	padding: 12px 12px 20px;
}

.bb-slider-gallery__orb {
	position: absolute;
	z-index: 0;
	border-radius: 50%;
	pointer-events: none;
	filter: blur(2px);
}

.bb-slider-gallery__orb--a {
	top: 6%;
	right: -2%;
	width: clamp(120px, 18vw, 220px);
	height: clamp(120px, 18vw, 220px);
	background: rgba(231, 169, 138, 0.22);
	animation: nbb-circle-float-a 10s ease-in-out infinite;
}

.bb-slider-gallery__orb--b {
	bottom: 4%;
	left: -4%;
	width: clamp(90px, 14vw, 160px);
	height: clamp(90px, 14vw, 160px);
	background: rgba(181, 80, 47, 0.2);
	animation: nbb-circle-float-b 8.5s ease-in-out infinite;
}

.bb-slider__title--gallery {
	position: relative;
	z-index: 1;
	margin: 0 0 44px;
	color: var(--color-on-accent);
	font-family: var(--font-serif);
	font-size: clamp(1.95rem, 3.4vw, 2.85rem);
	font-weight: 500;
	letter-spacing: -0.03em;
	line-height: 1.12;
}

.bb-slider__title--gallery::after {
	content: "";
	display: block;
	width: 48px;
	height: 3px;
	margin: 16px auto 0;
	border-radius: 999px;
	background: linear-gradient(90deg, var(--color-peach), var(--color-terracotta));
}

.bb-slider--gallery {
	position: relative;
	z-index: 1;
	margin: 0 auto;
}

.bb-slider-gallery__item {
	padding: 0 72px;
}

.bb-slider-gallery__frame {
	position: relative;
	overflow: hidden;
	border-radius: 20px;
	aspect-ratio: 16 / 10;
	background: #26211e;
	box-shadow:
		0 0 0 1px rgba(231, 169, 138, 0.18),
		0 4px 8px rgba(0, 0, 0, 0.2),
		0 28px 56px rgba(0, 0, 0, 0.35);
}

.bb-slider-gallery__frame::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	border-radius: inherit;
	box-shadow: inset 0 0 0 1px rgba(251, 243, 234, 0.08);
}

.bb-slider-gallery__frame::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background: linear-gradient(
		145deg,
		rgba(231, 169, 138, 0.12) 0%,
		transparent 38%,
		transparent 68%,
		rgba(26, 22, 20, 0.35) 100%
	);
}

.bb-slider-gallery__frame img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transform: scale(1.04);
	transition: transform 6s ease;
}

.bb-slider--gallery .slick-active .bb-slider-gallery__frame img {
	transform: scale(1);
}

.building-block--slider:has(.bb-slider-gallery) .slick-prev,
.building-block--slider:has(.bb-slider-gallery) .slick-next {
	position: absolute;
	top: 50%;
	z-index: 3;
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	padding: 0;
	border: 1px solid rgba(251, 243, 234, 0.22) !important;
	border-radius: 50%;
	background: rgba(26, 22, 20, 0.55) !important;
	color: var(--color-on-accent) !important;
	font-size: 22px;
	line-height: 1;
	cursor: pointer;
	backdrop-filter: blur(6px);
	transform: translateY(-50%);
	transition: background 0.25s ease, border-color 0.25s ease, color 0.25s ease, transform 0.25s ease;
}

.building-block--slider:has(.bb-slider-gallery) .slick-prev {
	left: 4px;
}

.building-block--slider:has(.bb-slider-gallery) .slick-next {
	right: 4px;
}

.building-block--slider:has(.bb-slider-gallery) .slick-prev:hover,
.building-block--slider:has(.bb-slider-gallery) .slick-next:hover,
.building-block--slider:has(.bb-slider-gallery) .slick-prev:focus-visible,
.building-block--slider:has(.bb-slider-gallery) .slick-next:focus-visible {
	background: var(--color-peach) !important;
	border-color: var(--color-peach) !important;
	color: var(--color-charcoal) !important;
	outline: none;
	transform: translateY(-50%) scale(1.06);
}

.building-block--slider:has(.bb-slider-gallery) .slick-prev i,
.building-block--slider:has(.bb-slider-gallery) .slick-next i {
	color: inherit;
	font-size: inherit;
}

@media (max-width: 960px) {
	.bb-slider-gallery__item {
		padding: 0 56px;
	}

	.bb-slider-gallery__frame {
		aspect-ratio: 4 / 3;
		border-radius: 16px;
	}

	.building-block--slider:has(.bb-slider-gallery) .slick-prev,
	.building-block--slider:has(.bb-slider-gallery) .slick-next {
		width: 44px;
		height: 44px;
		font-size: 18px;
	}
}

@media (max-width: 600px) {
	.bb-slider-gallery {
		padding: 4px 4px 12px;
	}

	.bb-slider__title--gallery {
		margin-bottom: 28px;
	}

	.bb-slider-gallery__orb {
		opacity: 0.55;
	}

	.bb-slider-gallery__item {
		padding: 0 48px;
	}

	.bb-slider-gallery__frame {
		aspect-ratio: 5 / 4;
		border-radius: 14px;
	}

	.building-block--slider:has(.bb-slider-gallery) .slick-prev {
		left: 0;
	}

	.building-block--slider:has(.bb-slider-gallery) .slick-next {
		right: 0;
	}
}


/* -----------------------------------
   Form block
   ----------------------------------- */

.building-block--form {
	position: relative;
	overflow: hidden;
	background:
		radial-gradient(ellipse 70% 80% at 0% 0%, rgba(231, 169, 138, 0.22), transparent 55%),
		radial-gradient(ellipse 55% 65% at 100% 100%, rgba(181, 80, 47, 0.1), transparent 50%),
		linear-gradient(165deg, #f7efe6 0%, var(--color-page) 48%, #f3ebe1 100%);
}

.bb-form {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.1fr);
	gap: 48px 64px;
	align-items: center;
}

.bb-form__orb {
	position: absolute;
	z-index: 0;
	border-radius: 50%;
	pointer-events: none;
	filter: blur(1px);
}

.bb-form__orb--a {
	top: -8%;
	right: 28%;
	width: clamp(140px, 18vw, 240px);
	height: clamp(140px, 18vw, 240px);
	background: rgba(231, 169, 138, 0.35);
	animation: nbb-circle-float-a 11s ease-in-out infinite;
}

.bb-form__orb--b {
	bottom: -6%;
	left: -4%;
	width: clamp(100px, 14vw, 180px);
	height: clamp(100px, 14vw, 180px);
	background: rgba(181, 80, 47, 0.16);
	animation: nbb-circle-float-b 9s ease-in-out infinite;
}

.bb-form__left {
	position: relative;
	z-index: 1;
	padding-top: 8px;
}

.bb-form__title {
	position: relative;
	margin: 0 0 18px;
	max-width: 12ch;
	padding-left: 18px;
	color: var(--color-charcoal);
	font-family: var(--font-serif);
	font-size: clamp(2.15rem, 4vw, 3.1rem);
	font-weight: 500;
	line-height: 1.08;
	letter-spacing: -0.035em;
}

.bb-form__title::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.18em;
	bottom: 0.18em;
	width: 4px;
	border-radius: 999px;
	background: linear-gradient(180deg, var(--color-peach), var(--color-terracotta));
}

.bb-form__text {
	max-width: 32rem;
	padding-left: 18px;
	color: var(--color-text);
	font-family: var(--font-sans);
	font-size: 1.08rem;
	line-height: 1.55;
}

.bb-form__text p {
	margin: 0 0 0.85em;
}

.bb-form__text p:last-child {
	margin-bottom: 0;
}

.bb-form__right {
	position: relative;
	z-index: 1;
	justify-self: stretch;
}

.bb-form__right.ph-form-card {
	padding: 40px 36px;
	border: 1px solid rgba(231, 169, 138, 0.35);
	box-shadow:
		0 2px 4px rgba(42, 36, 32, 0.04),
		0 18px 44px rgba(42, 36, 32, 0.1),
		0 0 0 1px rgba(255, 255, 255, 0.65) inset;
	overflow: hidden;
}

.bb-form__right.ph-form-card::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	height: 4px;
	background: linear-gradient(90deg, var(--color-peach), var(--color-terracotta), var(--color-peach));
}

.bb-form__right .gform_wrapper {
	margin: 0;
}

.bb-form__right .gform_heading {
	display: none;
}

@media (max-width: 960px) {
	.bb-form {
		grid-template-columns: 1fr;
		gap: 32px;
		max-width: 640px;
		margin: 0 auto;
	}

	.bb-form__left {
		padding-top: 0;
	}

	.bb-form__title {
		max-width: none;
		margin-bottom: 12px;
		font-size: clamp(1.9rem, 6vw, 2.4rem);
	}

	.bb-form__orb--a {
		right: -8%;
		opacity: 0.7;
	}
}

@media (max-width: 600px) {
	.bb-form__title,
	.bb-form__text {
		padding-left: 14px;
	}

	.bb-form__title::before {
		width: 3px;
	}

	.bb-form__text {
		font-size: 1rem;
	}

	.bb-form__right.ph-form-card {
		padding: 28px 20px;
	}
}


/* -----------------------------------
   HubSpot forms (HTML embed)
   ----------------------------------- */

.bb-html-embed--hubspot.ph-form-card {
	max-width: 640px;
	margin: 0 auto;
}

.bb-html-embed--hubspot .ph-hs-form-target,
.bb-html-embed--hubspot .hs-form-frame,
.bb-html-embed--hubspot .hbspt-form,
.bb-html-embed--hubspot form.hs-form,
.bb-html-embed--hubspot form.ph-hs-form {
	width: 100% !important;
	max-width: 100% !important;
}

.bb-html-embed--hubspot .hs-form fieldset,
.bb-html-embed--hubspot .ph-hs-form fieldset {
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
}

.bb-html-embed--hubspot .hs-form .hs-form-field,
.bb-html-embed--hubspot .ph-hs-form .hs-form-field,
.bb-html-embed--hubspot .hs-form .field,
.bb-html-embed--hubspot .ph-hs-form .field,
.bb-html-embed--hubspot .hs-form .hs_email,
.bb-html-embed--hubspot .ph-hs-form .hs_email,
.bb-html-embed--hubspot .hs-form .hs_firstname,
.bb-html-embed--hubspot .ph-hs-form .hs_firstname,
.bb-html-embed--hubspot .hs-form .hs_lastname,
.bb-html-embed--hubspot .ph-hs-form .hs_lastname,
.bb-html-embed--hubspot .hs-form .hs_submit,
.bb-html-embed--hubspot .ph-hs-form .hs_submit {
	margin: 0 0 18px !important;
	float: none !important;
	width: 100% !important;
}

.bb-html-embed--hubspot .hs-form label,
.bb-html-embed--hubspot .ph-hs-form label,
.bb-html-embed--hubspot .hs-form .hs-form-field > label,
.bb-html-embed--hubspot .ph-hs-form .hs-form-field > label {
	display: block !important;
	margin: 0 0 8px !important;
	color: var(--color-charcoal) !important;
	font-family: var(--font-sans-medium) !important;
	font-size: 0.84rem !important;
	font-weight: 500 !important;
	letter-spacing: 0.01em !important;
	line-height: 1.3 !important;
	text-align: left !important;
}

.bb-html-embed--hubspot .hs-form .hs-form-required,
.bb-html-embed--hubspot .ph-hs-form .hs-form-required,
.bb-html-embed--hubspot .hs-form label .hs-form-required,
.bb-html-embed--hubspot .ph-hs-form label .hs-form-required {
	color: var(--color-terracotta) !important;
}

.bb-html-embed--hubspot .hs-form .hs-input,
.bb-html-embed--hubspot .ph-hs-form .hs-input,
.bb-html-embed--hubspot .hs-form input[type="text"],
.bb-html-embed--hubspot .ph-hs-form input[type="text"],
.bb-html-embed--hubspot .hs-form input[type="email"],
.bb-html-embed--hubspot .ph-hs-form input[type="email"],
.bb-html-embed--hubspot .hs-form input[type="tel"],
.bb-html-embed--hubspot .ph-hs-form input[type="tel"],
.bb-html-embed--hubspot .hs-form input[type="number"],
.bb-html-embed--hubspot .ph-hs-form input[type="number"],
.bb-html-embed--hubspot .hs-form input[type="date"],
.bb-html-embed--hubspot .ph-hs-form input[type="date"],
.bb-html-embed--hubspot .hs-form select,
.bb-html-embed--hubspot .ph-hs-form select,
.bb-html-embed--hubspot .hs-form textarea,
.bb-html-embed--hubspot .ph-hs-form textarea {
	width: 100% !important;
	max-width: 100% !important;
	min-height: 48px !important;
	margin: 0 !important;
	padding: 12px 14px !important;
	border: 1px solid var(--color-border) !important;
	border-radius: 10px !important;
	background: var(--color-white) !important;
	box-shadow: none !important;
	outline: none !important;
	color: var(--color-charcoal) !important;
	font-family: var(--font-sans) !important;
	font-size: 0.98rem !important;
	line-height: 1.4 !important;
	appearance: none !important;
	-webkit-appearance: none !important;
}

.bb-html-embed--hubspot .hs-form textarea,
.bb-html-embed--hubspot .ph-hs-form textarea {
	min-height: 120px !important;
	resize: vertical;
}

.bb-html-embed--hubspot .hs-form .hs-input:focus,
.bb-html-embed--hubspot .ph-hs-form .hs-input:focus,
.bb-html-embed--hubspot .hs-form input:focus,
.bb-html-embed--hubspot .ph-hs-form input:focus,
.bb-html-embed--hubspot .hs-form select:focus,
.bb-html-embed--hubspot .ph-hs-form select:focus,
.bb-html-embed--hubspot .hs-form textarea:focus,
.bb-html-embed--hubspot .ph-hs-form textarea:focus {
	border-color: var(--color-terracotta) !important;
}

.bb-html-embed--hubspot .hs-form .hs-field-desc,
.bb-html-embed--hubspot .ph-hs-form .hs-field-desc,
.bb-html-embed--hubspot .hs-form .hs-error-msgs,
.bb-html-embed--hubspot .ph-hs-form .hs-error-msgs,
.bb-html-embed--hubspot .hs-form .hs-error-msg,
.bb-html-embed--hubspot .ph-hs-form .hs-error-msg {
	margin: 8px 0 0 !important;
	color: var(--color-muted) !important;
	font-family: var(--font-sans) !important;
	font-size: 0.86rem !important;
	line-height: 1.45 !important;
	text-align: left !important;
}

.bb-html-embed--hubspot .hs-form .hs-error-msgs label,
.bb-html-embed--hubspot .ph-hs-form .hs-error-msgs label,
.bb-html-embed--hubspot .hs-form .hs-error-msg,
.bb-html-embed--hubspot .ph-hs-form .hs-error-msg {
	color: var(--color-terracotta) !important;
}

.bb-html-embed--hubspot .hs-form .hs-richtext,
.bb-html-embed--hubspot .ph-hs-form .hs-richtext,
.bb-html-embed--hubspot .hs-form .hs-richtext p,
.bb-html-embed--hubspot .ph-hs-form .hs-richtext p {
	margin: 0 0 18px !important;
	color: var(--color-text) !important;
	font-family: var(--font-sans) !important;
	font-size: 1.02rem !important;
	line-height: 1.55 !important;
	text-align: left !important;
}

.bb-html-embed--hubspot .hs-form .hs-submit,
.bb-html-embed--hubspot .ph-hs-form .hs-submit,
.bb-html-embed--hubspot .hs-form .hs_submit,
.bb-html-embed--hubspot .ph-hs-form .hs_submit,
.bb-html-embed--hubspot .hs-form .actions,
.bb-html-embed--hubspot .ph-hs-form .actions {
	margin: 8px 0 0 !important;
	padding: 4px 0 0 !important;
	text-align: left !important;
}

.bb-html-embed--hubspot .hs-form .hs-button,
.bb-html-embed--hubspot .ph-hs-form .hs-button,
.bb-html-embed--hubspot .hs-form input[type="submit"],
.bb-html-embed--hubspot .ph-hs-form input[type="submit"],
.bb-html-embed--hubspot .hs-form .hs-submit .hs-button,
.bb-html-embed--hubspot .ph-hs-form .hs-submit .hs-button,
.bb-html-embed--hubspot .hs-form .hs-button.primary,
.bb-html-embed--hubspot .ph-hs-form .hs-button.primary,
.bb-html-embed--hubspot .ph-hs-submit {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: auto !important;
	min-width: 0 !important;
	min-height: 48px !important;
	margin: 0 !important;
	padding: 14px 28px !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: var(--color-terracotta) !important;
	background-image: none !important;
	color: var(--color-white) !important;
	font-family: var(--font-sans-medium) !important;
	font-size: 0.95rem !important;
	font-weight: 500 !important;
	line-height: 1.2 !important;
	letter-spacing: 0.01em !important;
	text-shadow: none !important;
	box-shadow: none !important;
	cursor: pointer !important;
	transition: background-color 0.2s ease;
}

.bb-html-embed--hubspot .hs-form .hs-button:hover,
.bb-html-embed--hubspot .ph-hs-form .hs-button:hover,
.bb-html-embed--hubspot .hs-form .hs-button:focus,
.bb-html-embed--hubspot .ph-hs-form .hs-button:focus,
.bb-html-embed--hubspot .hs-form input[type="submit"]:hover,
.bb-html-embed--hubspot .ph-hs-form input[type="submit"]:hover,
.bb-html-embed--hubspot .hs-form input[type="submit"]:focus,
.bb-html-embed--hubspot .ph-hs-form input[type="submit"]:focus,
.bb-html-embed--hubspot .ph-hs-submit:hover,
.bb-html-embed--hubspot .ph-hs-submit:focus {
	background: var(--color-terracotta-hover) !important;
	color: var(--color-white) !important;
}

.bb-html-embed--hubspot .hs-form .legal-consent-container,
.bb-html-embed--hubspot .ph-hs-form .legal-consent-container,
.bb-html-embed--hubspot .hs-form .hs-dependent-field,
.bb-html-embed--hubspot .ph-hs-form .hs-dependent-field {
	margin-top: 8px !important;
	text-align: left !important;
}

.bb-html-embed--hubspot .submitted-message {
	margin: 0 !important;
	color: var(--color-charcoal) !important;
	font-family: var(--font-serif) !important;
	font-size: 1.25rem !important;
	font-weight: 500 !important;
	line-height: 1.35 !important;
	text-align: left !important;
}

@media (max-width: 700px) {
	.bb-html-embed--hubspot.ph-form-card {
		padding: 28px 20px;
		border-radius: 16px;
	}
}

/* Native HubSpot replacement (styleable; iframe embeds cannot be themed from the site) */
.bb-html-embed--hubspot .ph-hs-native-form {
	width: 100%;
	max-width: 100%;
	margin: 0;
	text-align: left;
}

.bb-html-embed--hubspot .ph-hs-native-form__intro {
	margin: 0 0 22px;
	color: var(--color-charcoal);
	font-family: var(--font-sans);
	font-size: 1.02rem;
	line-height: 1.55;
}

.bb-html-embed--hubspot .ph-hs-native-form__field {
	margin: 0 0 18px;
}

.bb-html-embed--hubspot .ph-hs-native-form__label {
	display: block;
	margin: 0 0 8px;
	color: var(--color-charcoal);
	font-family: var(--font-sans-medium);
	font-size: 0.84rem;
	font-weight: 500;
	letter-spacing: 0.01em;
	line-height: 1.3;
}

.bb-html-embed--hubspot .ph-hs-native-form__req {
	color: var(--color-terracotta);
}

.bb-html-embed--hubspot .ph-hs-native-form__input {
	display: block;
	width: 100%;
	min-height: 48px;
	margin: 0;
	padding: 12px 14px;
	border: 1px solid var(--color-border);
	border-radius: 10px;
	background: var(--color-white);
	box-shadow: none;
	outline: none;
	color: var(--color-charcoal);
	font-family: var(--font-sans);
	font-size: 0.98rem;
	line-height: 1.4;
	appearance: none;
	-webkit-appearance: none;
}

.bb-html-embed--hubspot .ph-hs-native-form__input:focus {
	border-color: var(--color-terracotta);
}

.bb-html-embed--hubspot .ph-hs-native-form__actions {
	margin: 8px 0 0;
	padding: 4px 0 0;
	text-align: left;
}

.bb-html-embed--hubspot .ph-hs-native-form__submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	margin: 0;
	padding: 14px 28px;
	border: 0;
	border-radius: 999px;
	background: var(--color-terracotta);
	color: var(--color-white);
	font-family: var(--font-sans-medium);
	font-size: 0.95rem;
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: 0.01em;
	cursor: pointer;
	transition: background-color 0.2s ease;
}

.bb-html-embed--hubspot .ph-hs-native-form__submit:hover,
.bb-html-embed--hubspot .ph-hs-native-form__submit:focus {
	background: var(--color-terracotta-hover);
	color: var(--color-white);
}

.bb-html-embed--hubspot .ph-hs-native-form__submit:disabled {
	opacity: 0.7;
	cursor: wait;
}

.bb-html-embed--hubspot .ph-hs-native-form__msg {
	margin: 14px 0 0;
	font-family: var(--font-sans);
	font-size: 0.92rem;
	line-height: 1.45;
}

.bb-html-embed--hubspot .ph-hs-native-form__msg.is-success {
	color: var(--color-charcoal);
}

.bb-html-embed--hubspot .ph-hs-native-form__msg.is-error {
	color: var(--color-terracotta);
}

/**
 * City Pages template — styles scoped to .city-page only.
 */

.city-page {
	--city-navy: #0b0b37;
	--city-maroon: #862432;
	--city-beige: #fbf9f6;
	--city-beige-dark: #f3ebe6;
	--city-cream: #faf0e7;
	--city-coral: #e8926f;
	--city-gold: #c4a04d;
	--city-charcoal: #1a1a20;
	--city-text: #1a1a20;
	--city-max: 1140px;
	--city-narrow: 800px;
	color: var(--city-text);
	font-family: "Gotham-Book", sans-serif;
}

.city-page--style-1 {
	background: #fff;
}

/* ── Shared Style 1 utilities ─────────────────────────────────────── */

.city-page--style-1 .city-page__eyebrow {
	font-family: "Gotham-Bold", sans-serif;
	font-size: 0.65rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--city-maroon);
	margin: 0 0 7px;
}

.city-page--style-1 .city-page__eyebrow--coral {
	color: var(--city-coral);
}

.city-page--style-1 .city-page__city-emphasis {
	font-style: italic;
	color: var(--city-coral);
	font-weight: 400;
}

.city-page--style-1 .city-page__split-heading {
	font-family: "Heldane", "Goldenbook-Bold", serif;
	color: var(--city-navy);
	line-height: 1.15;
	margin: 0 0 20px;
}

.city-page--style-1 .city-page__btn--coral {
	background: var(--city-coral);
	border: 2px solid var(--city-coral);
	color: #fff !important;
}

.city-page--style-1 .city-page__btn--coral:hover {
	background: #d47f5c;
	border-color: #d47f5c;
}

.city-page--style-1 .city-page__btn--ghost {
	background: transparent;
	border: 2px solid var(--city-navy);
	color: var(--city-navy) !important;
}

.city-page--style-1 .city-page__btn--ghost:hover {
	background: var(--city-navy);
	color: #fff !important;
}

.city-page__container {
	width: 100%;
	max-width: var(--city-max);
	margin: 0 auto;
	padding: 0 24px;
}

.city-page__container--narrow {
	max-width: var(--city-narrow);
}

.city-page__section {
	padding: 64px 0;
}

.city-page__section-title {
	font-family: "Heldane", "Goldenbook-Bold", serif;
	font-size: clamp(1.75rem, 3vw, 2.25rem);
	line-height: 1.25;
	color: var(--city-navy);
	margin: 0 0 20px;
}

.city-page__section-intro {
	font-size: 1.05rem;
	line-height: 1.6;
	margin: 0 0 32px;
	max-width: 52ch;
}

.city-page__wysiwyg {
	font-size: 1rem;
	line-height: 1.65;
}

.city-page__wysiwyg p:last-child {
	margin-bottom: 0;
}

.city-page__cta-row {
	margin-top: 24px;
}

.city-page__btn {
	display: inline-block;
	font-family: "Gotham-Medium", sans-serif;
	font-size: 0.75rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	text-decoration: none !important;
	padding: 14px 28px;
	border-radius: 999px;
	transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.city-page__btn--primary {
	background: var(--city-maroon);
	color: #fff !important;
	border: 2px solid var(--city-maroon);
}

.city-page__btn--primary:hover {
	background: #6d1c28;
	border-color: #6d1c28;
}

.city-page__btn--outline {
	background: transparent;
	color: var(--city-maroon) !important;
	border: 2px solid var(--city-maroon);
}

.city-page__btn--outline:hover {
	background: var(--city-maroon);
	color: #fff !important;
}

/* ── Hero Style 1 ─────────────────────────────────────────────── */

.city-page-hero--style-1 {
	background-color: var(--city-beige);
	background-size: cover;
	background-position: center;
	padding: 80px 0;
}

.city-page-hero--style-1 .city-page-hero__inner {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 48px;
	align-items: center;
}

.city-page-hero__eyebrow {
	font-family: "Gotham-Bold", sans-serif;
	font-size: 0.7rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--city-maroon);
	margin: 0 0 12px;
}

.city-page-hero__title {
	font-family: "Heldane", "Goldenbook-Bold", serif;
	font-size: clamp(2.25rem, 4vw, 3.25rem);
	line-height: 1.1;
	color: var(--city-navy);
	margin: 0 0 16px;
}

.city-page-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 24px;
}

.city-page-hero__media img,
.city-page-split__image,
.city-page-photo-grid__img {
	width: 100%;
	height: auto;
	border-radius: 12px;
	display: block;
}

/* ── Style 2 base ───────────────────────────────────────────────── */

.city-page--style-2 {
	--city-chocolate: #1a1311;
	--city-hero-max: min(1520px, calc(100vw - 48px));
	background: var(--city-cream);
	overflow-x: clip;
}

.site-main--city-page {
	max-width: none;
	width: 100%;
	padding-left: 0;
	padding-right: 0;
}

.city-page--style-2 .city-page__eyebrow {
	font-family: "Gotham-Bold", sans-serif;
	font-size: 0.65rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	margin: 0 0 12px;
}

.city-page--style-2 .city-page__eyebrow--coral {
	color: var(--city-coral);
}

.city-page--style-2 .city-page__eyebrow--maroon {
	color: var(--city-maroon);
}

.city-page--style-2 .city-page__eyebrow--line {
	display: flex;
	align-items: center;
	gap: 12px;
}

.city-page--style-2 .city-page__eyebrow-line {
	display: block;
	width: 28px;
	height: 2px;
	background: var(--city-coral);
	flex-shrink: 0;
}

.city-page--style-2 .city-page__city-emphasis {
	font-style: italic;
	color: var(--city-coral);
	font-weight: 400;
}

.city-page--style-2 .city-page__split-heading {
	font-family: "Heldane", "Goldenbook-Bold", serif;
	color: var(--city-chocolate);
	line-height: 1.15;
	margin: 0;
	font-weight: 400;
}

.city-page--style-2 .city-page__btn--coral {
	background: var(--city-coral);
	border: 2px solid var(--city-coral);
	color: #fff !important;
}

.city-page--style-2 .city-page__btn--coral:hover {
	background: #d47f5c;
	border-color: #d47f5c;
}

.city-page--style-2 .city-page__btn--ghost-light {
	background: transparent;
	border: 2px solid rgba(255, 255, 255, 0.85);
	color: #fff !important;
}

.city-page--style-2 .city-page__btn--ghost-light:hover {
	background: rgba(255, 255, 255, 0.12);
}

/* ── Split (Text + Image) ─────────────────────────────────────── */

.city-page-split__inner {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 48px;
	align-items: center;
}

.city-page-split--image-left .city-page-split__media {
	order: -1;
}

/* ── Title + Text ───────────────────────────────────────────────── */

.city-page-title-text__items {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 32px;
	margin-top: 32px;
}

.city-page-title-text__item h3 {
	font-family: "Heldane", serif;
	font-size: 1.25rem;
	color: var(--city-navy);
	margin: 0 0 8px;
}

.city-page-title-text__item p {
	margin: 0;
	line-height: 1.6;
}

/* ── Hero Style 2 ─────────────────────────────────────────────── */

.city-page-hero--v2 {
	padding: clamp(16px, 2.5vw, 28px) 0;
	background: transparent;
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	box-sizing: border-box;
}

.city-page-hero--v2 .city-page__container {
	max-width: var(--city-hero-max);
	width: 100%;
	margin-left: auto;
	margin-right: 0;
	padding-left: clamp(16px, 3vw, 24px);
	padding-right: 0;
}

.city-page-hero--v2 .city-page-hero__card {
	width: 100%;
	background: var(--city-chocolate);
	color: #fff;
	border-radius: 28px 0 0 28px;
	padding: clamp(40px, 6vw, 72px) clamp(28px, 5vw, 64px);
	min-height: 420px;
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 32px 48px;
	align-items: end;
}

.city-page-hero--v2 .city-page-hero__title-stack {
	font-family: "Heldane", "Goldenbook-Bold", serif;
	font-weight: 400;
	margin: 0 0 28px;
	line-height: 1.05;
}

.city-page-hero--v2 .city-page-hero__title-line {
	display: block;
	font-size: clamp(2.25rem, 5vw, 4rem);
	color: #fff;
}

.city-page-hero--v2 .city-page-hero__title-line--city {
	font-size: clamp(2.75rem, 6vw, 4.5rem);
	margin-top: 4px;
}

.city-page-hero--v2 .city-page-hero__title-line--city em {
	font-style: italic;
	color: var(--city-coral);
}

.city-page-hero--v2 .city-page-hero__description {
	max-width: 42ch;
	font-size: 1rem;
	line-height: 1.65;
	margin: 0;
	color: rgba(255, 255, 255, 0.92);
}

.city-page-hero--v2 .city-page-hero__actions--stack {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 12px;
	min-width: 200px;
}

.city-page-hero--v2 .city-page-hero__actions .city-page__btn {
	text-align: center;
	white-space: nowrap;
}

/* ── Intro text Style 2 ─────────────────────────────────────────── */

.city-page-intro--v2 {
	background: #fff;
	padding: 72px 0;
}

.city-page-intro--v2 .city-page-intro__lead {
	font-family: "Heldane", serif;
	font-size: clamp(1.35rem, 2.2vw, 1.65rem);
	line-height: 1.55;
	color: var(--city-chocolate);
	margin: 0 0 28px;
}

.city-page-intro--v2 .city-page-intro__lead::first-letter {
	float: left;
	font-size: 4.5em;
	line-height: 0.78;
	margin: 0.06em 0.12em 0 0;
	color: var(--city-coral);
	font-weight: 400;
}

.city-page-intro--v2 .city-page-intro__body {
	font-size: 1rem;
	line-height: 1.7;
	color: var(--city-text);
}

/* ── What it's like Style 2 ─────────────────────────────────────── */

.city-page-like--v2 {
	padding: 0;
	background: transparent;
}

.city-page-like--v2 .city-page-like__top {
	background: var(--city-charcoal);
	color: #faf0e7;
	padding: 64px 0 120px;
}

.city-page-like--v2 .city-page-like__title {
	font-family: "Heldane", serif;
	font-size: clamp(1.75rem, 3vw, 2.7rem);
	line-height: 1.2;
	font-weight: 400;
	margin: 0 0 32px;
	max-width: 20ch;
	color: #faf0e7;
}

.city-page-like--v2 .city-page-like__columns {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 32px 48px;
}

.city-page-like--v2 .city-page-like__col {
	font-size: 0.90rem;
	line-height: 1.65;
	color: #faf0e7;
}

.city-page-like--v2 .city-page-like__col p {
	margin: 0 0 1em;
	color: #faf0e7;
	font-size: inherit;
}

.city-page-like--v2 .city-page-like__photos {
	margin-top: -80px;
	padding-bottom: 64px;
}

.city-page-like--v2 .city-page-like__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
}

.city-page-like--v2 .city-page-like__cell {
	border-radius: 20px;
	overflow: hidden;
	aspect-ratio: 4 / 5;
}

.city-page-like--v2 .city-page-like__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* ── Who you'll meet Style 2 ────────────────────────────────────── */

.city-page-meet--v2 {
	background: var(--city-cream);
	text-align: center;
	padding: 80px 0;
}

.city-page-meet--v2 .city-page-meet__title {
	font-family: "Heldane", serif;
	font-size: clamp(1.65rem, 2.8vw, 2.35rem);
	line-height: 1.25;
	color: var(--city-chocolate);
	margin: 0 auto 24px;
	max-width: 700px;
	font-weight: 400;
}

.city-page-meet--v2 .city-page-meet__body {
	font-size: 1rem;
	line-height: 1.7;
	color: var(--city-text);
	max-width: 52ch;
	margin: 0 auto;
	text-align: center;
}

/* ── Hosts ──────────────────────────────────────────────────────── */

.city-page__hosts {
	background: var(--city-beige);
}

.city-page-hosts__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 28px;
}

.city-page-hosts__card {
	background: #fff;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 2px 12px rgba(11, 11, 55, 0.06);
}

.city-page-hosts__photo {
	overflow: hidden;
	height: 100%;
}

.city-page-hosts__photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.city-page-hosts__body {
	padding: 20px;
}

.city-page-hosts__name {
	font-family: "Heldane", serif;
	font-size: 1.15rem;
	color: var(--city-navy);
	margin: 0 0 4px;
}

.city-page-hosts__role {
	font-size: 0.8rem;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--city-maroon);
	margin: 0 0 10px;
}

.city-page-hosts__bio {
	font-size: 0.9rem;
	line-height: 1.55;
	margin: 0;
}

/* ── Events (Ticket Tailor) ─────────────────────────────────────── */

.city-page-events__types {
	list-style: none;
	padding: 0 0 0 20px;
	margin: 0 0 28px;
	border-left: 3px solid var(--city-beige-dark);
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 10px 32px;
}

.city-page-events__cards {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 16px;
}

.city-page-events__card {
	display: flex;
	flex-direction: column;
	background: #fff;
	border-radius: 12px;
	overflow: hidden;
	text-decoration: none !important;
	box-shadow: 0 2px 8px rgba(11, 11, 55, 0.07);
	border: 1px solid #f0ebe8;
	transition: box-shadow 0.25s ease, transform 0.25s ease;
}

.city-page-events__card:hover {
	box-shadow: 0 6px 24px rgba(11, 11, 55, 0.13);
	transform: translateY(-3px);
}

.city-page-events__card--sold-out {
	opacity: 0.55;
	pointer-events: none;
}

.city-page-events__card-image {
	height: 180px;
	background-size: cover;
	background-position: center;
	background-color: var(--city-beige);
}

.city-page-events__card-body {
	padding: 18px 20px 20px;
	display: flex;
	flex-direction: column;
	gap: 8px;
	flex: 1;
}

.city-page-events__card-date {
	display: inline-block;
	font-family: "Gotham-Bold", sans-serif;
	font-size: 10px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #fff;
	background: var(--city-maroon);
	padding: 4px 10px;
	border-radius: 12px;
	width: fit-content;
}

.city-page-events__card-title {
	font-family: "Heldane", serif;
	font-size: 1.05rem;
	color: var(--city-navy);
	margin: 0;
	line-height: 1.35;
	flex: 1;
}

.city-page-events__card-cta {
	font-family: "Gotham-Medium", sans-serif;
	font-size: 11px;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--city-maroon);
}

.city-page-events__cta {
	display: flex;
	justify-content: center;
	margin-top: 28px;
}

.city-page-events__notice {
	font-style: italic;
	color: #888;
}

/* ── Subscription / forms ───────────────────────────────────────── */

.city-page__subscription {
	background: var(--city-beige-dark);
}

.city-page-subscription__form .gform_wrapper {
	margin-top: 24px;
}

/* ── Testimonials ───────────────────────────────────────────────── */

.city-page-testimonials__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}

.city-page-testimonials__item {
	margin: 0;
	padding: 24px;
	background: var(--city-beige);
	border-radius: 12px;
}

.city-page-testimonials__photo {
	width: 64px;
	height: 64px;
	border-radius: 50%;
	overflow: hidden;
	margin-bottom: 16px;
}

.city-page-testimonials__photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.city-page-testimonials__quote {
	font-size: 0.95rem;
	line-height: 1.6;
	margin: 0 0 16px;
}

.city-page-testimonials__meta cite {
	display: block;
	font-style: normal;
	font-family: "Gotham-Bold", sans-serif;
	font-size: 0.85rem;
	color: var(--city-navy);
}

.city-page-testimonials__meta span {
	font-size: 0.8rem;
	color: #777;
}

/* ── Newsletter ─────────────────────────────────────────────────── */

.city-page-newsletter__inner {
	display: grid;
	grid-template-columns: 1fr;
	gap: 20px;
	align-items: center;
}

.city-page-newsletter__inner .gform_required_legend{
	display: none;
}

.city-page-newsletter__decline {
	margin: 12px 0 0;
	font-size: 0.85rem;
	color: #666;
}

/* ══════════════════════════════════════════════════════════════════
   Style 1 — Variant One
   ══════════════════════════════════════════════════════════════════ */

/* Hero */
.city-page-hero--v1 {
	background: var(--city-cream);
	padding: 72px 0 80px;
}

.city-page-hero--v1 .city-page-hero__inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 48px;
	align-items: center;
}

.city-page-hero--v1 .city-page-hero__title {
	font-size: clamp(2.5rem, 4.5vw, 3.75rem);
	margin-bottom: 20px;
}

.city-page-hero--v1 .city-page-hero__description {
	font-size: 1.05rem;
	line-height: 1.65;
	color: var(--city-navy);
	margin: 0 0 12px;
	max-width: 42ch;
}

.city-page-hero--v1 .city-page-hero__emphasis {
	margin: 0 0 28px;
	color: var(--city-navy);
}

.city-page-hero--v1 .city-page-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.city-page-hero--v1 .city-page-hero__media {
	position: relative;
}

.city-page-hero--v1 .city-page-hero__image {
	border-radius: 28px;
	width: 100%;
	height: auto;
	display: block;
}

.city-page-hero--v1 .city-page-hero__overlay {
	position: absolute;
    left: -20px;
    bottom: -20px;
	background: var(--city-charcoal);
	color: #fff;
	padding: 16px 20px;
	border-radius: 12px;
	max-width: 220px;
}

.city-page-hero--v1 .city-page-hero__overlay-label {
	font-family: "Gotham-Bold", sans-serif;
	font-size: 0.6rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--city-coral);
	margin: 0 0 6px;
}

.city-page-hero--v1 .city-page-hero__overlay-text {
	font-family: "Heldane", serif;
	font-size: 1.35rem;
	font-style: italic;
	margin: 0;
	line-height: 1.2;
	color: #fff;
}

/* Text */
.city-page-text--v1 {
	background: #fff;
	padding: 80px 0;
}

.city-page-text--v1 .city-page-text__intro {
	font-family: "Heldane", serif;
	font-size: clamp(1.5rem, 2.5vw, 2rem);
	line-height: 1.35;
	color: var(--city-navy);
	margin: 0 0 28px;
}

.city-page-text--v1 .city-page-text__body {
	font-size: 1rem;
	line-height: 1.7;
	color: #333;
	margin-bottom: 48px;
}

.city-page-text--v1 .city-page-text__quote-wrap {
	text-align: center;
	max-width: 520px;
	margin: 0 auto;
}

.city-page-text--v1 .city-page-text__rule {
	border: 0;
	border-top: 1px solid #e0d5cc;
	margin: 0;
}

.city-page-text--v1 .city-page-text__quote {
	font-family: "Heldane", serif;
	font-size: clamp(1.35rem, 2vw, 1.75rem);
	font-style: italic;
	color: var(--city-maroon);
	margin: 28px 0;
	padding: 0;
	border: 0;
}

/* Text + Image */
.city-page-split--v1 {
	background: var(--city-cream);
	padding: 80px 0;
}

.city-page-split--v1 .city-page-split__inner {
	display: grid;
	grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
	gap: 56px;
	align-items: center;
}

.city-page-split--v1 .city-page-split__image {
	border-radius: 24px;
	width: 100%;
	height: auto;
}

.city-page-split--v1 .city-page-split__callout {
	font-family: "Heldane", serif;
	font-size: 1.1rem;
	line-height: 1.55;
	color: var(--city-navy);
	margin: 24px 0 0;
}

/* Title + Text */
.city-page-title-text--v1 {
	background: #fff;
	padding: 80px 0;
}

.city-page-title-text--v1 .city-page-title-text__inner {
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
	gap: 64px;
	align-items: start;
}

.city-page-title-text--v1 .city-page-title-text__heading {
	font-family: "Heldane", serif;
	font-size: clamp(2rem, 3vw, 2.75rem);
	line-height: 1.15;
	color: var(--city-navy);
	margin: 0;
}

.city-page-title-text--v1 .city-page-title-text__right {
	font-size: 1rem;
	line-height: 1.7;
	color: #333;
}

/* Hosts */
.city-page-hosts--v1 {
	background: var(--city-cream);
	padding: 80px 0;
}

.city-page-hosts--v1 .city-page-hosts__title {
	font-family: "Heldane", serif;
	font-size: clamp(2rem, 3vw, 2.5rem);
	color: var(--city-navy);
	margin: 0 0 20px;
}

.city-page-hosts--v1 .city-page-hosts__rule {
	border: 0;
	border-top: 2px solid var(--city-navy);
	margin: 0 0 48px;
}

.city-page-hosts--v1 .city-page-hosts__profile {
	display: grid;
	grid-template-columns: minmax(0, 0.42fr) minmax(0, 1fr);
	gap: 48px;
	align-items: start;
	margin-bottom: 64px;
}

.city-page-hosts--v1 .city-page-hosts__profile--reverse {
	direction: rtl;
}

.city-page-hosts--v1 .city-page-hosts__profile--reverse > * {
	direction: ltr;
}

.city-page-hosts--v1 .city-page-hosts__img {
	border-radius: 20px;
	width: 100%;
	height: 100%;
	display: block;
}

.city-page-hosts--v1 .city-page-hosts__instigator {
	font-family: "Gotham-Bold", sans-serif;
	font-size: 0.65rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--city-maroon);
	margin: 0 0 8px;
}

.city-page-hosts--v1 .city-page-hosts__name {
	font-family: "Heldane", serif;
	font-size: 1.75rem;
	color: var(--city-navy);
	margin: 0 0 24px;
}

.city-page-hosts--v1 .city-page-hosts__qa-item {
	margin-bottom: 20px;
}

.city-page-hosts--v1 .city-page-hosts__qa-item dt {
	font-family: "Heldane", serif;
	font-style: italic;
	color: var(--city-maroon);
	margin: 0 0 6px;
}

.city-page-hosts--v1 .city-page-hosts__qa-item dd {
	margin: 0;
	line-height: 1.6;
	color: #333;
}

/* Events */
.city-page-events--v1 {
	background: #fff;
	padding: 80px 0;
}

.city-page-events--v1 .city-page-events__header-row {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
	flex-wrap: wrap;
}

.city-page-events--v1 .city-page-events__title {
	margin: 0;
	font-size: clamp(1.75rem, 3vw, 2.25rem);
}

.city-page-events--v1 .city-page-events__see-all {
	font-family: "Gotham-Medium", sans-serif;
	font-size: 0.8rem;
	color: var(--city-maroon) !important;
	text-decoration: underline !important;
	text-transform: none;
	letter-spacing: 0;
	padding: 0;
	border: 0;
	background: none;
	white-space: nowrap;
}

.city-page-events--v1 .city-page-events__rule {
	border: 0;
	border-top: 1px solid #e8e0d8;
	margin: 20px 0 32px;
}

.city-page-events--v1 .city-page-events__cards--row {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
}

.city-page-events--v1 .city-page-events__card-v1 {
	background: #fff;
	border: 1px solid #efe8e2;
	border-radius: 14px;
	overflow: hidden;
}

.city-page-events--v1 .city-page-events__card-link {
	display: flex;
	flex-direction: column;
	height: 100%;
	text-decoration: none !important;
	color: inherit;
}

.city-page-events--v1 .city-page-events__card-image {
	height: 160px;
	background-size: cover;
	background-position: center;
	background-color: var(--city-cream);
}

.city-page-events--v1 .city-page-events__card-content {
	padding: 16px 18px 18px;
	display: flex;
	flex-direction: column;
	flex: 1;
	gap: 8px;
}

.city-page-events--v1 .city-page-events__card-date {
	font-family: "Gotham-Bold", sans-serif;
	font-size: 0.65rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--city-gold);
}

.city-page-events--v1 .city-page-events__card-title {
	font-family: "Heldane", serif;
	font-size: 1.05rem;
	line-height: 1.3;
	color: var(--city-navy);
	margin: 0;
}

.city-page-events--v1 .city-page-events__card-subtitle {
	font-size: 0.85rem;
	line-height: 1.45;
	color: #555;
	margin: 0;
	flex: 1;
}

.city-page-events--v1 .city-page-events__card-footer {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	margin-top: 8px;
}

.city-page-events--v1 .city-page-events__card-location {
	font-size: 0.75rem;
	color: #888;
}

.city-page-events--v1 .city-page-events__card-rsvp {
	font-family: "Gotham-Medium", sans-serif;
	font-size: 0.7rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--city-gold);
}

.city-page-events--v1 .city-page-events__card-link--sold-out {
	opacity: 0.5;
	pointer-events: none;
}

/* Event subscription */
.city-page-subscription--v1 {
	background: var(--city-cream);
	padding: 64px 0;
}

.city-page-subscription--v1 .city-page-subscription__inner {
	display: grid;
	grid-template-columns: minmax(0, 0.95fr) minmax( min( 100%, 520px ), 1.15fr );
	gap: 48px;
	align-items: center;
}

.city-page-subscription--v1 .city-page-subscription__title {
	font-size: clamp(1.5rem, 2.5vw, 2rem);
	margin: 0;
}

.city-page-subscription--v1 .city-page-subscription__copy {
	text-align: left;
}

.city-page-subscription--v1 .city-page-subscription__form-wrap {
	min-width: 0;
	width: 100%;
}

.city-page-subscription--v1 .city-page-subscription__footer {
	font-size: 0.8rem;
	color: #777;
	margin: 14px 0 0;
	text-align: center;
	line-height: 1.5;
}

.city-page-subscription--v1 .city-page-subscription__footer strong {
	color: var(--city-navy);
	font-weight: 600;
}

/* Event subscription — Gravity Forms (name + email + coral button) */
.city-page-subscription--v1 .city-page-subscription__form {
	width: 100%;
}

.city-page-subscription--v1 .city-page-subscription__form .gform_wrapper {
	margin: 0;
	padding: 0;
	max-width: 100%;
}

.city-page-subscription--v1 .city-page-subscription__form .gform_heading,
.city-page-subscription--v1 .city-page-subscription__form .gform_required_legend,
.city-page-subscription--v1 .city-page-subscription__form .gfield_label,
.city-page-subscription--v1 .city-page-subscription__form .gfield_description {
	display: none !important;
}

.city-page-subscription--v1 .city-page-subscription__form .gfield--type-honeypot,
.city-page-subscription--v1 .city-page-subscription__form .gform_validation_container {
	display: none !important;
	position: absolute !important;
	left: -9999px !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
	visibility: hidden !important;
}

.city-page-subscription--v1 .city-page-subscription__form form {
	display: flex !important;
	flex-flow: row nowrap !important;
	align-items: center !important;
	justify-content: flex-end !important;
	gap: 16px !important;
	margin: 0;
	width: 100%;
	max-width: 100%;
}

.city-page-subscription--v1 .city-page-subscription__form .gform-body,
.city-page-subscription--v1 .city-page-subscription__form .gform_body {
	flex: 0 1 auto !important;
	width: auto !important;
	min-width: 0 !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.city-page-subscription--v1 .city-page-subscription__form .gform_wrapper.gravity-theme .gform_fields,
.city-page-subscription--v1 .city-page-subscription__form .gform_fields {
	display: flex !important;
	flex-flow: row nowrap !important;
	align-items: center !important;
	justify-content: flex-end !important;
	gap: 16px !important;
	column-gap: 16px !important;
	row-gap: 16px !important;
	grid-template-columns: unset !important;
	grid-template-rows: unset !important;
	grid-column-gap: 16px !important;
	--gf-field-gap: 16px;
	margin: 0 !important;
	padding: 0 !important;
	width: auto !important;
	max-width: 100%;
}

.city-page-subscription--v1 .city-page-subscription__form .gfield:not(.gfield--type-honeypot):not(.gform_validation_container) {
	flex: 0 1 170px !important;
	grid-column: auto !important;
	width: auto !important;
	min-width: 0 !important;
	max-width: 200px !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* GF "width full" spans the whole grid row — reset so fields sit side-by-side with gap */
.city-page-subscription--v1 .city-page-subscription__form .gfield.gfield--width-full {
	grid-column: auto !important;
	width: auto !important;
	flex: 0 1 170px !important;
	max-width: 200px !important;
}

.city-page-subscription--v1 .city-page-subscription__form .ginput_container {
	margin: 0 !important;
}

.city-page-subscription--v1 .city-page-subscription__form .ginput_container_text input[type="text"],
.city-page-subscription--v1 .city-page-subscription__form .ginput_container_email input[type="email"],
.city-page-subscription--v1 .city-page-subscription__form .gfield input.large {
	display: block !important;
	width: 100% !important;
	height: 52px !important;
	margin: 0 !important;
	padding: 0 20px !important;
	border: 1px solid #e5ded5 !important;
	border-radius: 999px !important;
	background: #fff !important;
	color: var(--city-navy) !important;
	font-family: "Gotham-Book", sans-serif !important;
	font-size: 15px !important;
	line-height: 52px !important;
	box-shadow: none !important;
	outline: none !important;
	box-sizing: border-box !important;
	-webkit-appearance: none;
	appearance: none;
}

.city-page-subscription--v1 .city-page-subscription__form .gfield input.large::placeholder {
	color: #9a9a9a !important;
	opacity: 1;
}

.city-page-subscription--v1 .city-page-subscription__form .gfield input.large:focus {
	border-color: #c9bfb5 !important;
	box-shadow: 0 0 0 2px rgba(249, 150, 107, 0.2) !important;
}

.city-page-subscription--v1 .city-page-subscription__form .gform_footer,
.city-page-subscription--v1 .city-page-subscription__form .gform-footer,
.city-page-subscription--v1 .city-page-subscription__form .gform-page-footer {
	flex: 0 0 auto !important;
	flex-shrink: 0 !important;
	align-self: center !important;
	margin: 0 !important;
	padding: 0 !important;
	width: auto !important;
	white-space: nowrap;
}

.city-page-subscription--v1 .city-page-subscription__form .gform_footer input[type="submit"],
.city-page-subscription--v1 .city-page-subscription__form .gform-footer input[type="submit"],
.city-page-subscription--v1 .city-page-subscription__form .gform_footer button,
.city-page-subscription--v1 .city-page-subscription__form .gform-footer button {
	display: inline-block !important;
	height: 52px !important;
	min-height: 52px !important;
	margin: 0 !important;
	padding: 0 28px !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: #f9966b !important;
	color: #fff !important;
	font-family: "Gotham-Medium", sans-serif !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	letter-spacing: 0.02em;
	line-height: 52px !important;
	cursor: pointer;
	transition: background 0.2s ease;
	box-shadow: none !important;
	-webkit-appearance: none;
	appearance: none;
}

.city-page-subscription--v1 .city-page-subscription__form .gform_footer input[type="submit"]:hover,
.city-page-subscription--v1 .city-page-subscription__form .gform-footer input[type="submit"]:hover,
.city-page-subscription--v1 .city-page-subscription__form .gform_footer button:hover,
.city-page-subscription--v1 .city-page-subscription__form .gform-footer button:hover {
	background: #e88860 !important;
}

.city-page-subscription--v1 .city-page-subscription__form .gform_validation_errors {
	display: none !important;
}

.city-page-subscription--v1 .city-page-subscription__form .gfield_validation_message,
.city-page-subscription--v1 .city-page-subscription__form .validation_message {
	flex: 1 1 100%;
	width: 100%;
	margin: 8px 0 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	color: var(--city-maroon) !important;
	font-size: 0.8rem !important;
	text-align: center;
	box-shadow: none !important;
}

.city-page-subscription--v1 .city-page-subscription__form .gform_confirmation_message {
	margin: 12px 0 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--city-navy);
	font-size: 0.95rem;
	text-align: center;
}

.city-page-subscription--v1 .city-page-subscription__form .gform_ajax_spinner {
	display: none !important;
}

@media (max-width: 900px) {
	.city-page-subscription--v1 .city-page-subscription__inner {
		grid-template-columns: 1fr;
	}
}

/* Tablet + mobile: name, email, button — each on its own row */
@media (max-width: 1024px) {
	.city-page-subscription--v1 .city-page-subscription__form form {
		flex-flow: column nowrap !important;
		align-items: stretch !important;
		justify-content: flex-start !important;
		gap: 12px !important;
	}

	.city-page-subscription--v1 .city-page-subscription__form .gform-body,
	.city-page-subscription--v1 .city-page-subscription__form .gform_body {
		flex: 1 1 auto !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	.city-page-subscription--v1 .city-page-subscription__form .gform_wrapper.gravity-theme .gform_fields,
	.city-page-subscription--v1 .city-page-subscription__form .gform_fields {
		flex-flow: column nowrap !important;
		align-items: stretch !important;
		justify-content: flex-start !important;
		width: 100% !important;
		max-width: 100% !important;
		gap: 12px !important;
	}

	.city-page-subscription--v1 .city-page-subscription__form .gfield:not(.gfield--type-honeypot):not(.gform_validation_container),
	.city-page-subscription--v1 .city-page-subscription__form .gfield.gfield--width-full {
		flex: 0 0 auto !important;
		width: 100% !important;
		min-width: 0 !important;
		max-width: none !important;
	}

	.city-page-subscription--v1 .city-page-subscription__form .gform_footer,
	.city-page-subscription--v1 .city-page-subscription__form .gform-footer {
		flex: 0 0 auto !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	.city-page-subscription--v1 .city-page-subscription__form .gform_footer input[type="submit"],
	.city-page-subscription--v1 .city-page-subscription__form .gform-footer input[type="submit"],
	.city-page-subscription--v1 .city-page-subscription__form .gform_footer button,
	.city-page-subscription--v1 .city-page-subscription__form .gform-footer button {
		width: 100% !important;
		display: block !important;
	}
}

/* Testimonials */
.city-page-testimonials--v1 {
	background: var(--city-charcoal);
	color: #fff;
	padding: 80px 0;
}

.city-page-testimonials--v1 .city-page-testimonials__title {
	color: #fff;
}

.city-page-testimonials--v1 .city-page__city-emphasis {
	color: #fff;
}

.city-page-testimonials--v1 .city-page-testimonials__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
	margin-top: 40px;
}

.city-page-testimonials--v1 .city-page-testimonials__card {
	background: rgba(255, 255, 255, 0.06);
	border-radius: 12px;
	padding: 24px;
	margin: 0;
}

.city-page-testimonials--v1 .city-page-testimonials__avatar {
	width: 48px;
	height: 48px;
	border-radius: 50%;
	overflow: hidden;
	margin-bottom: 16px;
}

.city-page-testimonials--v1 .city-page-testimonials__avatar-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.city-page-testimonials--v1 .city-page-testimonials__quote {
	font-family: "Heldane", serif;
	font-size: 1rem;
	line-height: 1.5;
	color: #fff;
	margin: 0 0 20px;
}

.city-page-testimonials--v1 .city-page-testimonials__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	font-size: 0.75rem;
}

.city-page-testimonials--v1 .city-page-testimonials__name {
	color: #fff;
	font-family: "Gotham-Bold", sans-serif;
}

.city-page-testimonials--v1 .city-page-testimonials__dot {
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: var(--city-coral);
}

.city-page-testimonials--v1 .city-page-testimonials__role,
.city-page-testimonials--v1 .city-page-testimonials__location {
	color: var(--city-coral);
}

/* Newsletter */
.city-page-newsletter--v1 {
	background: var(--city-cream);
	padding: 80px 0;
}

.city-page-newsletter--v1 .city-page-newsletter__inner {
	max-width: 640px;
	margin: 0 auto;
	text-align: center;
}

.city-page-newsletter--v1 .city-page-newsletter__title {
	font-size: clamp(1.75rem, 3vw, 2.25rem);
}

.city-page-newsletter--v1 .city-page-newsletter__text {
	font-size: 0.95rem;
	line-height: 1.6;
	color: #555;
	margin: 0 0 32px;
}

.city-page-newsletter--v1 .city-page-newsletter__footer {
	font-size: 0.8rem;
	color: #888;
	margin: 16px 0 0;
	text-align: center;
}

/* Newsletter — Gravity Forms (inline pill field + coral button) */
.city-page-newsletter--v1 .city-page-newsletter__form-area {
	width: 100%;
	max-width: 560px;
	margin: 0 auto;
}

.city-page-newsletter--v1 .city-page-newsletter__form {
	width: 100%;
}

.city-page-newsletter--v1 .city-page-newsletter__form .gform_wrapper {
	margin: 0 auto;
	padding: 0;
	max-width: 100%;
}

.city-page-newsletter--v1 .city-page-newsletter__form .gform_heading,
.city-page-newsletter--v1 .city-page-newsletter__form .gform_required_legend,
.city-page-newsletter--v1 .city-page-newsletter__form .gfield_label,
.city-page-newsletter--v1 .city-page-newsletter__form .gfield_description {
	display: none !important;
}

.city-page-newsletter--v1 .city-page-newsletter__form form {
	display: flex !important;
	flex-flow: row wrap;
	align-items: center;
	justify-content: center;
	gap: 12px;
	margin: 0;
}

.city-page-newsletter--v1 .city-page-newsletter__form .gform-body,
.city-page-newsletter--v1 .city-page-newsletter__form .gform_body {
	flex: 1 1 260px;
	min-width: min(100%, 220px);
	max-width: 360px;
	margin: 0 !important;
	padding: 0 !important;
}

.city-page-newsletter--v1 .city-page-newsletter__form .gform_fields {
	display: block !important;
	grid-template-columns: none !important;
	grid-row-gap: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}

.city-page-newsletter--v1 .city-page-newsletter__form .gfield {
	margin: 0 !important;
	padding: 0 !important;
}

.city-page-newsletter--v1 .city-page-newsletter__form .ginput_container {
	margin: 0 !important;
}

.city-page-newsletter--v1 .city-page-newsletter__form .ginput_container_email input[type="email"],
.city-page-newsletter--v1 .city-page-newsletter__form .ginput_container_text input[type="text"],
.city-page-newsletter--v1 .city-page-newsletter__form .gfield input.large {
	display: block !important;
	width: 100% !important;
	height: 52px !important;
	margin: 0 !important;
	padding: 0 24px !important;
	border: 1px solid #e5ded5 !important;
	border-radius: 999px !important;
	background: #fff !important;
	color: var(--city-navy) !important;
	font-family: "Gotham-Book", sans-serif !important;
	font-size: 15px !important;
	line-height: 52px !important;
	box-shadow: none !important;
	outline: none !important;
	box-sizing: border-box !important;
	-webkit-appearance: none;
	appearance: none;
}

.city-page-newsletter--v1 .city-page-newsletter__form .ginput_container_email input[type="email"]::placeholder,
.city-page-newsletter--v1 .city-page-newsletter__form .ginput_container_text input[type="text"]::placeholder {
	color: #9a9a9a !important;
	opacity: 1;
}

.city-page-newsletter--v1 .city-page-newsletter__form .ginput_container_email input[type="email"]:focus,
.city-page-newsletter--v1 .city-page-newsletter__form .ginput_container_text input[type="text"]:focus {
	border-color: #c9bfb5 !important;
	box-shadow: 0 0 0 2px rgba(249, 150, 107, 0.2) !important;
}

.city-page-newsletter--v1 .city-page-newsletter__form .gform_footer,
.city-page-newsletter--v1 .city-page-newsletter__form .gform-page-footer {
	flex: 0 0 auto;
	margin: 0 !important;
	padding: 0 !important;
	width: auto !important;
}

.city-page-newsletter--v1 .city-page-newsletter__form .gform_footer input[type="submit"],
.city-page-newsletter--v1 .city-page-newsletter__form .gform_footer button,
.city-page-newsletter--v1 .city-page-newsletter__form .gform_page_footer input[type="submit"],
.city-page-newsletter--v1 .city-page-newsletter__form .gform_page_footer button {
	display: inline-block !important;
	height: 52px !important;
	min-height: 52px !important;
	margin: 0 !important;
	padding: 0 36px !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: #f9966b !important;
	color: #fff !important;
	font-family: "Gotham-Medium", sans-serif !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	letter-spacing: 0.02em;
	line-height: 52px !important;
	cursor: pointer;
	transition: background 0.2s ease, transform 0.15s ease;
	box-shadow: none !important;
	-webkit-appearance: none;
	appearance: none;
}

.city-page-newsletter--v1 .city-page-newsletter__form .gform_footer input[type="submit"]:hover,
.city-page-newsletter--v1 .city-page-newsletter__form .gform_footer button:hover {
	background: #e88860 !important;
}

.city-page-newsletter--v1 .city-page-newsletter__form .gform_validation_errors {
	display: none !important;
}

.city-page-newsletter--v1 .city-page-newsletter__form .gfield_validation_message,
.city-page-newsletter--v1 .city-page-newsletter__form .validation_message {
	width: 100%;
	flex: 1 1 100%;
	margin: 8px 0 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	color: var(--city-maroon) !important;
	font-size: 0.8rem !important;
	text-align: center;
	box-shadow: none !important;
}

.city-page-newsletter--v1 .city-page-newsletter__form .gform_confirmation_message {
	margin: 16px 0 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--city-navy);
	font-family: "Gotham-Medium", sans-serif;
	font-size: 0.95rem;
	text-align: center;
}

.city-page-newsletter--v1 .city-page-newsletter__form .gform_ajax_spinner {
	display: none !important;
}

@media (max-width: 540px) {
	.city-page-newsletter--v1 .city-page-newsletter__form form {
		flex-direction: column;
		align-items: stretch;
	}

	.city-page-newsletter--v1 .city-page-newsletter__form .gform-body,
	.city-page-newsletter--v1 .city-page-newsletter__form .gform_body {
		flex: 1 1 auto;
		max-width: none;
		width: 100%;
	}

	.city-page-newsletter--v1 .city-page-newsletter__form .gform_footer,
	.city-page-newsletter--v1 .city-page-newsletter__form .gform-page-footer {
		width: 100% !important;
	}

	.city-page-newsletter--v1 .city-page-newsletter__form .gform_footer input[type="submit"],
	.city-page-newsletter--v1 .city-page-newsletter__form .gform_footer button {
		width: 100% !important;
	}
}

/* ── Hosts Style 2 ──────────────────────────────────────────────── */

.city-page-hosts--v2 {
	background: #fff;
	padding: 72px 0;
}

.city-page-hosts--v2 .city-page-hosts__header {
	display: grid;
	grid-template-columns: 1fr minmax(200px, 340px);
	gap: 24px 48px;
	align-items: start;
	margin-bottom: 28px;
}

.city-page-hosts--v2 .city-page-hosts__title {
	font-size: clamp(1.75rem, 3vw, 2.5rem);
}

.city-page-hosts--v2 .city-page-hosts__intro {
	font-size: 0.9rem;
	line-height: 1.6;
	color: var(--city-text);
	margin: 0;
}

.city-page-hosts--v2 .city-page-hosts__intro strong {
	color: var(--city-maroon);
	font-weight: 600;
}

.city-page-hosts--v2 .city-page-hosts__rule {
	border: 0;
	border-top: 1px solid #e8e0da;
	margin: 0 0 40px;
}

.city-page-hosts--v2 .city-page-hosts__grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 48px 56px;
}

.city-page-hosts--v2 .city-page-hosts__photo-wrap {
	margin-bottom: 20px;
}

.city-page-hosts--v2 .city-page-hosts__photo-wrap .city-page-hosts__img {
	width: 100%;
	height: auto;
	display: block;
	border-radius: 20px;
}

.city-page-hosts--v2 .city-page-hosts__photo-wrap--clip .city-page-hosts__img {
	border-radius: 0;
}

.city-page-hosts--v2 .city-page-hosts__instigator {
	font-family: "Gotham-Bold", sans-serif;
	font-size: 0.62rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--city-maroon);
	margin: 0 0 4px;
}

.city-page-hosts--v2 .city-page-hosts__name {
	font-family: "Heldane", serif;
	font-size: 1.7rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--city-chocolate);
	margin: 0 0 20px;
	font-weight: 400;
}

.city-page-hosts--v2 .city-page-hosts__qa-item {
	margin-bottom: 18px;
}

.city-page-hosts--v2 .city-page-hosts__qa dt {
	font-family: "Heldane", serif;
	font-style: italic;
	font-size: 0.95rem;
	color: var(--city-maroon);
	margin: 0 0 6px;
	font-weight: 300;
}

.city-page-hosts--v2 .city-page-hosts__qa dd {
	margin: 0;
	font-size: 0.9rem;
	line-height: 1.6;
	color: var(--city-text);
}

/* ── Subscription Style 2 (dark) ────────────────────────────────── */

.city-page-subscription--v2 {
	background: var(--city-charcoal);
	color: #fff;
	padding: 64px 0;
}

.city-page-subscription--v2 .city-page-subscription__inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
	gap: 40px 48px;
	align-items: start;
}

.city-page-subscription--v2 .city-page-subscription__title {
	font-size: clamp(1.35rem, 2.2vw, 1.85rem);
	color: #fff;
	margin: 0;
}

.city-page-subscription--v2 .city-page-subscription__footer {
	font-size: 0.78rem;
	color: rgba(255, 255, 255, 0.55);
	margin: 12px 0 0;
	line-height: 1.5;
}

.city-page-subscription--v2 .city-page-subscription__footer strong {
	color: #fff;
	font-weight: 600;
}

.city-page-subscription--v2 .city-page-subscription__form .gform_wrapper {
	margin: 0;
	max-width: 100%;
}

.city-page-subscription--v2 .city-page-subscription__form .gform_heading,
.city-page-subscription--v2 .city-page-subscription__form .gform_required_legend,
.city-page-subscription--v2 .city-page-subscription__form .gfield_label,
.city-page-subscription--v2 .city-page-subscription__form .gfield_description {
	display: none !important;
}

.city-page-subscription--v2 .city-page-subscription__form .gfield--type-honeypot,
.city-page-subscription--v2 .city-page-subscription__form .gform_validation_container {
	display: none !important;
	position: absolute;
	left: -9999px;
}



.city-page-subscription--v2 .city-page-subscription__form form {
	display: flex !important;
	flex-flow: row nowrap !important;
	align-items: stretch !important;
	gap: 12px !important;
	margin: 0 !important;
}

.city-page-subscription--v2 .city-page-subscription__form .gform_body {
	flex: 1 1 auto !important;
	width: auto !important;
	min-width: 0 !important;
}

.city-page-subscription--v2 .city-page-subscription__form .gform_fields {
	display: flex !important;
	flex-flow: row nowrap !important;
	gap: 12px !important;
	width: 100% !important;
}

.city-page-subscription--v2 .city-page-subscription__form .gfield:not(.gfield--type-honeypot):not(.gform_validation_container) {
	flex: 1 1 0 !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}

.city-page-subscription--v2 .city-page-subscription__form .gfield input.large {
	width: 100% !important;
	border-radius: 999px !important;
	border: 1px solid rgba(255, 255, 255, 0.25) !important;
	background: rgba(0, 0, 0, 0.25) !important;
	color: #fff !important;
	padding: 14px 20px !important;
	font-size: 0.85rem !important;
}

.city-page-subscription--v2 .city-page-subscription__form .gfield input.large::placeholder {
	color: rgba(255, 255, 255, 0.45) !important;
}

.city-page-subscription--v2 .city-page-subscription__form .gform_footer,
.city-page-subscription--v2 .city-page-subscription__form .gform-footer {
	margin: 0 !important;
	padding: 0 !important;
	flex: 0 0 auto !important;
}

.city-page-subscription--v2 .city-page-subscription__form .gform_footer input[type="submit"],
.city-page-subscription--v2 .city-page-subscription__form .gform-footer input[type="submit"] {
	border-radius: 999px !important;
	background: var(--city-coral) !important;
	border: none !important;
	color: #fff !important;
	padding: 14px 24px !important;
	font-family: "Gotham-Medium", sans-serif !important;
	font-size: 0.75rem !important;
	letter-spacing: 0.06em !important;
	text-transform: none !important;
	white-space: nowrap !important;
	cursor: pointer !important;
}

/* ── Testimonials Style 2 ───────────────────────────────────────── */

.city-page-testimonials--v2 {
	background: #fff;
	padding: 72px 0;
}

.city-page-testimonials--v2 .city-page-testimonials__inner {
	display: grid;
	grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
	gap: 48px;
	align-items: start;
}

.city-page-testimonials--v2 .city-page-testimonials__scene-img {
	width: 100%;
	height: auto;
	border-radius: 24px;
	display: block;
}

.city-page-testimonials--v2 .city-page-testimonials__label {
	font-family: "Gotham-Bold", sans-serif;
	font-size: 0.65rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--city-maroon);
	margin: 0 0 20px;
}

.city-page-testimonials--v2 .city-page-testimonials__featured {
	position: relative;
	margin: 0 0 28px;
	padding: 0;
	border: 0;
}

.city-page-testimonials--v2 .city-page-testimonials__mark {
	font-family: "Heldane", serif;
	font-size: 3rem;
	line-height: 1;
	color: var(--city-coral);
	position: absolute;
}

.city-page-testimonials--v2 .city-page-testimonials__mark--open {
	top: -8px;
	left: 0;
}

.city-page-testimonials--v2 .city-page-testimonials__mark--close {
	bottom: 48px;
	right: 0;
}

.city-page-testimonials--v2 .city-page-testimonials__featured-quote {
	font-family: "Heldane", serif;
	font-size: clamp(1.35rem, 2vw, 1.75rem);
	line-height: 1.35;
	color: var(--city-chocolate);
	margin: 0;
	padding: 0 24px 0 28px;
}

.city-page-testimonials--v2 .city-page-testimonials__featured-meta {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-top: 20px;
	padding-left: 0;
}

.city-page-testimonials--v2 .city-page-testimonials__avatar-img {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	object-fit: cover;
}

.city-page-testimonials--v2 .city-page-testimonials__featured-byline {
	display: flex;
	flex-direction: column;
	gap: 2px;
	font-size: 0.8rem;
	color: var(--city-text);
}

.city-page-testimonials--v2 .city-page-testimonials__featured-byline strong {
	color: var(--city-chocolate);
}

.city-page-testimonials--v2 .city-page-testimonials__rule {
	border: 0;
	border-top: 1px solid #e8e0da;
	margin: 0 0 24px;
}

.city-page-testimonials--v2 .city-page-testimonials__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.city-page-testimonials--v2 .city-page-testimonials__list-item {
	display: flex;
	gap: 14px;
	align-items: flex-start;
}

.city-page-testimonials--v2 .city-page-testimonials__list-avatar-img {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	object-fit: cover;
}

.city-page-testimonials--v2 .city-page-testimonials__list-quote {
	font-family: "Heldane", serif;
	font-size: 1rem;
	line-height: 1.4;
	color: var(--city-chocolate);
	margin: 0 0 4px;
}

.city-page-testimonials--v2 .city-page-testimonials__list-meta {
	font-size: 0.75rem;
	color: #888;
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 4px 8px;
}

/* ── Newsletter Style 2 (dark centered) ───────────────────────────── */

.city-page-newsletter--v2 {
	background: var(--city-charcoal);
	color: #fff;
	padding: 72px 0;
	text-align: center;
}

.city-page-newsletter--v2 .city-page-newsletter__inner {
	max-width: 560px;
	margin: 0 auto;
}

.city-page-newsletter--v2 .city-page-newsletter__title {
	font-size: clamp(1.5rem, 2.5vw, 2rem);
	color: #fff;
	margin: 0 auto 16px;
}

.city-page-newsletter--v2 .city-page-newsletter__text {
	font-size: 0.95rem;
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.88);
	margin: 0 auto 28px;
	max-width: 46ch;
}

.city-page-newsletter--v2 .city-page-newsletter__footer {
	font-size: 0.78rem;
	color: rgba(255, 255, 255, 0.5);
	margin: 14px 0 0;
}

.city-page-newsletter--v2 .city-page-newsletter__form .gform_wrapper {
	margin: 0 auto;
	max-width: 100%;
}

.city-page-newsletter--v2 .city-page-newsletter__form .gform_heading,
.city-page-newsletter--v2 .city-page-newsletter__form .gfield_label,
.city-page-newsletter--v2 .city-page-newsletter__form .gform_required_legend {
	display: none !important;
}

.city-page-newsletter--v2 .city-page-newsletter__form form {
	display: flex !important;
	flex-flow: row nowrap !important;
	justify-content: center !important;
	gap: 12px !important;
	margin: 0 !important;
}

.city-page-newsletter--v2 .city-page-newsletter__form .gform_body {
	flex: 1 1 auto !important;
	max-width: 320px !important;
}

.city-page-newsletter--v2 .city-page-newsletter__form .gfield input.large {
	width: 100% !important;
	border-radius: 999px !important;
	border: 1px solid rgba(255, 255, 255, 0.25) !important;
	background: rgba(0, 0, 0, 0.25) !important;
	color: #fff !important;
	padding: 14px 20px !important;
}

.city-page-newsletter--v2 .city-page-newsletter__form .gfield input.large::placeholder {
	color: rgba(255, 255, 255, 0.45) !important;
}

.city-page-newsletter--v2 .city-page-newsletter__form .gform_footer input[type="submit"],
.city-page-newsletter--v2 .city-page-newsletter__form .gform-footer input[type="submit"] {
	border-radius: 999px !important;
	background: var(--city-coral) !important;
	border: none !important;
	color: #fff !important;
	padding: 14px 28px !important;
	font-family: "Gotham-Medium", sans-serif !important;
	font-size: 0.8rem !important;
	cursor: pointer !important;
}

/* ── Responsive ───────────────────────────────────────────────────── */

@media (max-width: 900px) {
	.city-page-hero--v1 .city-page-hero__inner,
	.city-page-split--v1 .city-page-split__inner,
	.city-page-title-text--v1 .city-page-title-text__inner,
	.city-page-hosts--v1 .city-page-hosts__profile,
	.city-page-subscription--v1 .city-page-subscription__inner,
	.city-page-hero--style-1 .city-page-hero__inner,
	.city-page-split__inner,
	.city-page-newsletter__inner {
		grid-template-columns: 1fr;
	}

	.city-page-hosts--v1 .city-page-hosts__profile--reverse {
		direction: ltr;
	}

	.city-page-events--v1 .city-page-events__cards--row,
	.city-page-testimonials--v1 .city-page-testimonials__grid {
		grid-template-columns: 1fr;
	}

	.city-page-split--image-left .city-page-split__media {
		order: 0;
	}

	.city-page-title-text__items,
	.city-page-events__types,
	.city-page-events__cards,
	.city-page-testimonials__grid {
		grid-template-columns: 1fr;
	}

	.city-page-like--v2 .city-page-like__grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.city-page-hero--v2 .city-page-hero__card {
		grid-template-columns: 1fr;
	}

	.city-page-hero--v2 .city-page-hero__actions--stack {
		flex-direction: row;
		flex-wrap: wrap;
	}

	.city-page-like--v2 .city-page-like__columns,
	.city-page-hosts--v2 .city-page-hosts__header,
	.city-page-hosts--v2 .city-page-hosts__grid,
	.city-page-subscription--v2 .city-page-subscription__inner,
	.city-page-testimonials--v2 .city-page-testimonials__inner {
		grid-template-columns: 1fr;
	}

	.city-page-subscription--v2 .city-page-subscription__form form {
		flex-flow: column nowrap !important;
	}

	.city-page-subscription--v2 .city-page-subscription__form .gform_fields {
		flex-flow: column nowrap !important;
	}

	.city-page-subscription--v2 .city-page-subscription__form .gform_footer input[type="submit"],
	.city-page-subscription--v2 .city-page-subscription__form .gform-footer input[type="submit"] {
		width: 100% !important;
	}

	.city-page-newsletter--v2 .city-page-newsletter__form form {
		flex-flow: column nowrap !important;
		align-items: stretch !important;
	}

	.city-page-newsletter--v2 .city-page-newsletter__form .gform_body {
		max-width: none !important;
	}

	.city-page-newsletter--v2 .city-page-newsletter__form .gform_footer input[type="submit"],
	.city-page-newsletter--v2 .city-page-newsletter__form .gform-footer input[type="submit"] {
		width: 100% !important;
	}
}

@media (max-width: 640px) {
	.city-page__section {
		padding: 48px 0;
	}

	.city-page-like--v2 .city-page-like__grid {
		grid-template-columns: 1fr;
	}

	.city-page-hero--v2 .city-page-hero__actions--stack {
		flex-direction: column;
	}
}

/* -----------------------------------
   Register / Update profile
   ----------------------------------- */

.register-page {
	padding: 48px 0 80px;
	background: var(--color-page);
	color: var(--color-charcoal);
}

.register-page .wrapper {
	width: min(920px, calc(100% - (var(--wrapper-pad) * 2)));
	max-width: 920px;
	margin: 0 auto;
	padding: 0;
}

.register-page .registration-error {
	margin: 0 0 24px;
	padding: 14px 16px;
	border-left: 4px solid var(--color-terracotta);
	border-radius: 10px;
	background: rgba(181, 80, 47, 0.08);
	color: var(--color-charcoal);
	font-family: var(--font-sans);
	font-size: 0.95rem;
	line-height: 1.45;
}

.register-page .register-form {
	display: flex;
	flex-direction: column;
	gap: 28px;
}

.register-page .signup-boxes-wrap {
	display: flex;
	flex-direction: column;
	gap: 28px;
}

.register-page .signup-box {
	position: relative;
	padding: 36px 32px 32px;
	border: 1px solid rgba(231, 169, 138, 0.22);
	border-radius: 20px;
	background: var(--color-white);
	box-shadow: 0 10px 36px rgba(42, 36, 32, 0.08);
	overflow: hidden;
}

.register-page .signup-box::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	height: 4px;
	background: linear-gradient(90deg, var(--color-peach), var(--color-terracotta), var(--color-peach));
}

.register-page .box-number {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	margin: 0 0 18px;
	border-radius: 999px;
	background: var(--color-terracotta);
	color: var(--color-white);
	font-family: var(--font-sans-medium);
	font-size: 0.95rem;
	font-weight: 500;
	line-height: 1;
}

.register-page .signup-box__title,
.register-page .membership-name,
.register-page .plan-details-title {
	margin: 0 0 22px;
	color: var(--color-charcoal);
	font-family: var(--font-serif);
	font-size: clamp(1.55rem, 2.4vw, 2rem);
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: -0.01em;
}

.register-page .hidden {
	display: none !important;
}

.register-page .mp-form-row {
	margin: 0 0 18px;
}

.register-page .mp-form-label {
	margin: 0 0 8px;
}

.register-page .mp-form-label label,
.register-page label:not(.mepr-checkbox-field):not(.mepr-form-checkboxes-label) {
	display: block;
	margin: 0;
	color: var(--color-charcoal);
	font-family: var(--font-sans-medium);
	font-size: 0.84rem;
	font-weight: 500;
	letter-spacing: 0.01em;
	line-height: 1.3;
}

.register-page .cc-error {
	display: none;
	margin: 6px 0 0;
	color: var(--color-terracotta);
	font-family: var(--font-sans);
	font-size: 0.86rem;
	line-height: 1.4;
}

.register-page .cc-error.show {
	display: block;
}

.register-page .mepr-form-input:not([type="checkbox"]):not([type="radio"]):not(.mepr-checkbox-field):not(.mepr-checkboxes-field),
.register-page .mepr-select-field,
.register-page select.mepr-form-input,
.register-page input.mepr-form-input:not([type="checkbox"]):not([type="radio"]),
.register-page textarea.mepr-form-input {
	display: block;
	width: 100%;
	max-width: 100%;
	min-height: 48px;
	margin: 0;
	padding: 12px 14px;
	border: 1px solid var(--color-border);
	border-radius: 10px;
	background: var(--color-white);
	box-shadow: none;
	outline: none;
	color: var(--color-charcoal);
	font-family: var(--font-sans);
	font-size: 0.98rem;
	line-height: 1.4;
	appearance: none;
	-webkit-appearance: none;
	transition: border-color 0.2s ease;
}

.register-page .mepr-checkboxes-field,
.register-page .mepr-checkboxes-field.mepr-form-input {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 10px 12px !important;
	width: 100% !important;
	max-width: 100% !important;
	min-height: 0 !important;
	margin: 4px 0 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	appearance: none !important;
	-webkit-appearance: none !important;
}

.register-page label.mepr-checkbox-field.mepr-form-input,
.register-page label.mepr-checkbox-field:not(.ph-consent-check) {
	display: flex !important;
	align-items: flex-start !important;
	gap: 12px !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	appearance: none !important;
	-webkit-appearance: none !important;
}

.register-page select.mepr-form-input,
.register-page .mepr-select-field {
	padding-right: 42px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%232A2420' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 14px center;
	background-size: 12px 8px;
	cursor: pointer;
}

.register-page .mepr-form-input:focus,
.register-page .mepr-select-field:focus,
.register-page select.mepr-form-input:focus,
.register-page input.mepr-form-input:focus {
	border-color: var(--color-terracotta);
}

.register-page .mepr-form-input.error,
.register-page .mepr-select-field.error {
	border-color: var(--color-terracotta);
}

.register-page .mepr-form-input::placeholder {
	color: var(--color-muted);
	opacity: 1;
}

.register-page .coupon-code-help {
	margin: 8px 0 0;
	color: var(--color-muted);
	font-family: var(--font-sans);
	font-size: 0.86rem;
	line-height: 1.45;
}

.register-page .signup-compare {
	margin: 4px 0 8px;
}

.register-page .signup-compare a,
.register-page .see-more-tags,
.register-page a.js-compare-plans {
	color: var(--color-terracotta);
	font-family: var(--font-sans-medium);
	font-size: 0.95rem;
	font-weight: 500;
	line-height: 1.45;
	text-decoration: none;
	border-bottom: 1px solid transparent;
	transition: border-color 0.2s ease, color 0.2s ease;
}

.register-page .signup-compare a:hover,
.register-page .see-more-tags:hover,
.register-page a.js-compare-plans:hover {
	color: var(--color-terracotta-hover);
	border-bottom-color: currentColor;
}

.register-page .membership-name.hidden,
.register-page .signup-visible-title.hidden {
	display: none !important;
}

.register-page .selected-plan-details {
	margin: 28px 0 0;
	padding: 28px 26px;
	border: 1px solid rgba(231, 169, 138, 0.28);
	border-radius: 20px;
	background:
		radial-gradient(ellipse 80% 60% at 100% 0%, rgba(231, 169, 138, 0.18), transparent 55%),
		linear-gradient(180deg, #fff 0%, var(--color-section) 100%);
	box-shadow: 0 8px 28px rgba(42, 36, 32, 0.05);
}

.register-page .selected-plan-details__eyebrow {
	margin: 0 0 8px;
	color: var(--color-terracotta);
	font-family: var(--font-sans-medium);
	font-size: 0.72rem;
	font-weight: 500;
	letter-spacing: 0.12em;
	line-height: 1.2;
	text-transform: uppercase;
}

.register-page .selected-plan-details .plan-details-title {
	margin: 0 0 8px;
	font-size: clamp(1.35rem, 2vw, 1.6rem);
}

.register-page .plan-price-display {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 10px 14px;
	margin: 0 0 20px;
	padding-bottom: 18px;
	border-bottom: 1px solid rgba(42, 36, 32, 0.08);
}

.register-page .plan-price {
	color: var(--color-charcoal);
	font-family: var(--font-sans-medium);
	font-size: 1.2rem;
	font-weight: 500;
}

.register-page .plan-savings {
	display: inline-flex;
	align-items: center;
	padding: 4px 10px;
	border-radius: 999px;
	background: rgba(181, 80, 47, 0.12);
	color: var(--color-terracotta);
	font-family: var(--font-sans-medium);
	font-size: 0.78rem;
	font-weight: 500;
	letter-spacing: 0.02em;
}

.register-page .plan-benefits h4 {
	margin: 0 0 16px;
	color: var(--color-muted);
	font-family: var(--font-sans-medium);
	font-size: 0.72rem;
	font-weight: 500;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.register-page .plan-benefits ul,
.register-page .benefits-content ul,
.register-page .plan-comparison-card ul,
.register-page .benefit-item ul {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.register-page .plan-benefits li,
.register-page .benefits-content li,
.register-page .plan-comparison-card li,
.register-page .benefit-item li {
	position: relative;
	margin: 0 !important;
	padding: 14px 14px 14px 48px !important;
	border: 1px solid rgba(231, 169, 138, 0.22);
	border-radius: 14px;
	background: rgba(255, 255, 255, 0.72);
	color: var(--color-text);
	font-family: var(--font-sans);
	font-size: 0.92rem;
	line-height: 1.45;
	list-style: none !important;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
}

.register-page .plan-benefits li:last-child,
.register-page .benefits-content li:last-child,
.register-page .benefit-item li:last-child {
	margin-bottom: 0 !important;
}

.register-page .plan-benefits li::before,
.register-page .benefits-content li::before,
.register-page .plan-comparison-card li::before,
.register-page .benefit-item li::before {
	content: "" !important;
	position: absolute;
	left: 14px;
	top: 15px;
	width: 22px;
	height: 22px;
	border-radius: 999px;
	background:
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='9' viewBox='0 0 11 9' fill='none'%3E%3Cpath d='M1.2 4.6L4 7.4L9.8 1.4' stroke='%23B5502F' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 11px 9px no-repeat,
		rgba(231, 169, 138, 0.28);
	box-shadow: inset 0 0 0 1px rgba(181, 80, 47, 0.12);
}

.register-page .plan-benefits li strong,
.register-page .benefits-content li strong,
.register-page .plan-comparison-card li strong,
.register-page .benefit-item li strong {
	display: block;
	margin: 0 0 3px;
	color: var(--color-charcoal);
	font-family: var(--font-sans-medium);
	font-size: 0.98rem;
	font-weight: 500;
	line-height: 1.3;
}

.register-page .plan-benefits li br,
.register-page .benefits-content li br,
.register-page .plan-comparison-card li br,
.register-page .benefit-item li br {
	display: none;
}

.register-page .signup-box-1__warning {
	margin: 0 0 22px;
	padding: 18px 18px 14px;
	border-radius: 14px;
	background: rgba(231, 169, 138, 0.16);
}

.register-page .signup-box-1__warning p {
	margin: 0 0 12px;
	color: var(--color-charcoal);
	font-family: var(--font-sans);
	font-size: 0.95rem;
	line-height: 1.5;
}

.register-page .signup-box-1__warning p b {
	font-family: var(--font-sans-medium);
	font-weight: 500;
}

.register-page .signup-box-1__checkbox {
	margin: 0 0 8px;
}

/* Location chips */
.register-page .mepr-checkboxes-field-row {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	min-height: 44px;
	margin: 0 !important;
	padding: 10px 12px !important;
	border: 1px solid var(--color-border);
	border-radius: 12px;
	background: var(--color-page);
	transition: border-color 0.2s ease, background-color 0.2s ease;
}

.register-page .mepr-checkboxes-field-row:hover {
	border-color: rgba(181, 80, 47, 0.35);
	background: #fff;
}

.register-page .mepr-checkboxes-field-row:has(input:checked) {
	border-color: rgba(181, 80, 47, 0.45);
	background: rgba(181, 80, 47, 0.06);
}

.register-page .mepr-form-checkboxes-label {
	display: block !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	color: var(--color-charcoal) !important;
	font-family: var(--font-sans) !important;
	font-size: 0.92rem !important;
	font-weight: 400 !important;
	line-height: 1.35 !important;
	cursor: pointer;
}

/* Consent cards */
.register-page .ph-consent-check,
.register-page label.ph-consent-check {
	display: flex !important;
	align-items: flex-start !important;
	gap: 12px !important;
	width: 100% !important;
	margin: 0 0 12px !important;
	padding: 16px 16px !important;
	border: 1px solid rgba(231, 169, 138, 0.35) !important;
	border-radius: 14px !important;
	background: var(--color-page) !important;
	box-shadow: none !important;
	cursor: pointer;
	transition: border-color 0.2s ease, background-color 0.2s ease;
}

.register-page .ph-consent-check:hover {
	border-color: rgba(181, 80, 47, 0.4) !important;
	background: #fff !important;
}

.register-page .ph-consent-check:has(input:checked) {
	border-color: rgba(181, 80, 47, 0.45) !important;
	background: rgba(181, 80, 47, 0.05) !important;
}

.register-page .ph-consent-check--compact {
	background: rgba(255, 255, 255, 0.7) !important;
}

.register-page .ph-consent-check__text {
	flex: 1;
	color: var(--color-text);
	font-family: var(--font-sans);
	font-size: 0.92rem;
	font-weight: 400;
	line-height: 1.5;
}

.register-page .mepr-checkboxes-field-row input[type="checkbox"],
.register-page .ph-consent-check input[type="checkbox"],
.register-page input[type="checkbox"].mepr-form-checkboxes-input,
.register-page label.mepr-checkbox-field input[type="checkbox"],
.register-page input[type="checkbox"] {
	flex: 0 0 auto;
	appearance: none;
	-webkit-appearance: none;
	width: 20px;
	height: 20px;
	margin: 1px 0 0;
	padding: 0;
	border: 1.5px solid rgba(42, 36, 32, 0.28);
	border-radius: 6px;
	background: #fff;
	box-shadow: none;
	outline: none;
	cursor: pointer;
	transition: border-color 0.15s ease, background-color 0.15s ease, box-shadow 0.15s ease;
	background-position: center;
	background-repeat: no-repeat;
	background-size: 12px 10px;
}

.register-page .mepr-checkboxes-field-row input[type="checkbox"]:hover,
.register-page .ph-consent-check input[type="checkbox"]:hover,
.register-page input[type="checkbox"].mepr-form-checkboxes-input:hover,
.register-page label.mepr-checkbox-field input[type="checkbox"]:hover,
.register-page input[type="checkbox"]:hover {
	border-color: var(--color-terracotta);
}

.register-page .mepr-checkboxes-field-row input[type="checkbox"]:focus-visible,
.register-page .ph-consent-check input[type="checkbox"]:focus-visible,
.register-page input[type="checkbox"].mepr-form-checkboxes-input:focus-visible,
.register-page label.mepr-checkbox-field input[type="checkbox"]:focus-visible,
.register-page input[type="checkbox"]:focus-visible {
	border-color: var(--color-terracotta);
	box-shadow: 0 0 0 3px rgba(181, 80, 47, 0.18);
}

.register-page .mepr-checkboxes-field-row input[type="checkbox"]:checked,
.register-page .ph-consent-check input[type="checkbox"]:checked,
.register-page input[type="checkbox"].mepr-form-checkboxes-input:checked,
.register-page label.mepr-checkbox-field input[type="checkbox"]:checked,
.register-page input[type="checkbox"]:checked {
	border-color: var(--color-terracotta);
	background-color: var(--color-terracotta);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='10' viewBox='0 0 12 10' fill='none'%3E%3Cpath d='M1.5 5.2L4.4 8.1L10.5 1.5' stroke='%23ffffff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.register-page .mepr-checkboxes-field-row input[type="checkbox"]:checked:hover,
.register-page .ph-consent-check input[type="checkbox"]:checked:hover,
.register-page input[type="checkbox"]:checked:hover {
	background-color: var(--color-terracotta-hover);
	border-color: var(--color-terracotta-hover);
}

.register-page .mepr_first_name,
.register-page .mepr_last_name {
	display: inline-block;
	width: calc(50% - 8px);
	vertical-align: top;
}

.register-page .mepr_first_name {
	margin-right: 16px;
}

.register-page .mepr-submit,
.register-page .mepr-button,
.register-page input[type="submit"].mepr-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	margin: 8px 0 0;
	padding: 14px 28px;
	border: 0;
	border-radius: 999px;
	background: var(--color-terracotta);
	color: var(--color-white);
	font-family: var(--font-sans-medium);
	font-size: 0.95rem;
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: 0.01em;
	cursor: pointer;
	transition: background-color 0.2s ease;
}

.register-page .mepr-submit:hover,
.register-page .mepr-button:hover,
.register-page input[type="submit"].mepr-submit:hover {
	background: var(--color-terracotta-hover);
	color: var(--color-white);
}

/* Compare plans modal */
.register-page .plan-modal {
	position: fixed;
	inset: 0;
	z-index: 10000;
	display: none;
	align-items: center;
	justify-content: center;
	padding: 24px;
}

.register-page .plan-modal[style*="display: block"],
.register-page .plan-modal.is-open {
	display: flex !important;
}

.register-page .plan-modal .modal-overlay {
	position: absolute;
	inset: 0;
	background: rgba(42, 36, 32, 0.55);
	backdrop-filter: blur(3px);
}

.register-page .plan-modal .modal-content {
	position: relative;
	z-index: 1;
	width: min(980px, 100%);
	max-height: calc(100vh - 48px);
	overflow: auto;
	padding: 28px 28px 32px;
	border-radius: 20px;
	background: var(--color-white);
	box-shadow: 0 24px 60px rgba(42, 36, 32, 0.22);
}

.register-page .plan-modal .modal-header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
	margin: 0 0 24px;
	padding-bottom: 16px;
	border-bottom: 1px solid var(--color-border);
}

.register-page .plan-modal .modal-header h2 {
	margin: 0;
	color: var(--color-charcoal);
	font-family: var(--font-serif);
	font-size: clamp(1.5rem, 2.5vw, 1.9rem);
	font-weight: 500;
	line-height: 1.2;
}

.register-page .plan-modal .modal-close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: var(--color-section);
	color: var(--color-charcoal);
	font-size: 1.4rem;
	line-height: 1;
	cursor: pointer;
	transition: background-color 0.2s ease;
}

.register-page .plan-modal .modal-close:hover {
	background: var(--color-border);
}

.register-page .plans-comparison-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}

.register-page .plan-comparison-card {
	padding: 22px 18px;
	border: 1px solid var(--color-border);
	border-radius: 16px;
	background: var(--color-page);
}

.register-page .plan-comparison-card h3 {
	margin: 0 0 14px;
	color: var(--color-charcoal);
	font-family: var(--font-serif);
	font-size: 1.2rem;
	font-weight: 500;
	line-height: 1.25;
}

.register-page .plan-pricing {
	display: flex;
	flex-direction: column;
	gap: 4px;
	margin: 0 0 16px;
}

.register-page .yearly-price,
.register-page .monthly-price {
	color: var(--color-text);
	font-family: var(--font-sans-medium);
	font-size: 0.95rem;
	font-weight: 500;
}

.register-page .yearly-price {
	color: var(--color-terracotta);
	font-size: 1.05rem;
}

@media (max-width: 900px) {
	.register-page .plans-comparison-grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 700px) {
	.register-page {
		padding: 32px 0 64px;
	}

	.register-page .signup-box {
		padding: 28px 20px 24px;
		border-radius: 16px;
	}

	.register-page .mepr_first_name,
	.register-page .mepr_last_name {
		display: block;
		width: 100%;
		margin-right: 0;
	}

	.register-page .mepr-checkboxes-field {
		grid-template-columns: 1fr !important;
	}

	.register-page .mepr-submit,
	.register-page input[type="submit"].mepr-submit {
		width: 100%;
	}

	.register-page .plan-modal {
		padding: 12px;
	}

	.register-page .plan-modal .modal-content {
		padding: 22px 18px 24px;
		border-radius: 16px;
	}
}

/* ===================================
   Email capture popup (Global Options)
   =================================== */

html.ph-email-popup-open,
html.ph-email-popup-open body {
	overflow: hidden;
}

.ph-email-popup {
	position: fixed;
	inset: 0;
	z-index: 100050;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px 16px;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 0.28s ease, visibility 0.28s ease;
}

.ph-email-popup.is-open {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

.ph-email-popup__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(42, 36, 32, 0.55);
	cursor: pointer;
}

.ph-email-popup__dialog {
	position: relative;
	z-index: 1;
	width: min(720px, 100%);
	max-height: min(88vh, 720px);
	overflow: auto;
	background: var(--color-card);
	color: var(--color-text);
	border: 1px solid var(--color-border);
	border-radius: 4px;
	box-shadow: 0 24px 64px rgba(42, 36, 32, 0.28);
	transform: translateY(12px) scale(0.985);
	transition: transform 0.32s cubic-bezier(0.22, 1, 0.36, 1);
}

.ph-email-popup.is-open .ph-email-popup__dialog {
	transform: translateY(0) scale(1);
}

.ph-email-popup__close {
	position: absolute;
	top: 10px;
	right: 10px;
	z-index: 2;
	width: 40px;
	height: 40px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(252, 248, 243, 0.92);
	color: var(--color-charcoal);
	font-size: 1.6rem;
	line-height: 1;
	cursor: pointer;
	transition: background 0.2s ease, color 0.2s ease;
}

.ph-email-popup__close:hover,
.ph-email-popup__close:focus-visible {
	background: var(--color-white);
	color: var(--color-terracotta);
	outline: none;
}

.ph-email-popup__layout {
	display: grid;
	grid-template-columns: 1fr;
	min-height: 0;
}

.ph-email-popup--has-media .ph-email-popup__layout {
	grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
}

.ph-email-popup__media {
	position: relative;
	min-height: 220px;
	background: var(--color-section);
	overflow: hidden;
}

.ph-email-popup__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.ph-email-popup__body {
	padding: 36px 32px 32px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 14px;
}

.ph-email-popup__title {
	margin: 0;
	color: var(--color-charcoal);
	font-family: var(--font-serif);
	font-size: clamp(1.65rem, 2.4vw, 2.15rem);
	font-weight: 400;
	line-height: 1.15;
	letter-spacing: -0.01em;
}

.ph-email-popup__text {
	margin: 0;
	color: var(--color-text);
	font-family: var(--font-sans);
	font-size: 0.98rem;
	line-height: 1.55;
}

.ph-email-popup__form {
	margin-top: 6px;
}

.ph-email-popup__form .bb-html-embed--hubspot.ph-form-card {
	padding: 0;
	background: transparent;
	border: 0;
	box-shadow: none;
}

/* Match form labels / helper text to popup subtitle size */
.ph-email-popup__form .bb-html-embed--hubspot .hs-form label,
.ph-email-popup__form .bb-html-embed--hubspot .ph-hs-form label,
.ph-email-popup__form .bb-html-embed--hubspot .hs-form .hs-form-field > label,
.ph-email-popup__form .bb-html-embed--hubspot .ph-hs-form .hs-form-field > label,
.ph-email-popup__form .bb-html-embed--hubspot .hs-form .hs-field-desc,
.ph-email-popup__form .bb-html-embed--hubspot .ph-hs-form .hs-field-desc,
.ph-email-popup__form .bb-html-embed--hubspot .hs-form .hs-richtext,
.ph-email-popup__form .bb-html-embed--hubspot .ph-hs-form .hs-richtext,
.ph-email-popup__form .bb-html-embed--hubspot .hs-form .hs-richtext p,
.ph-email-popup__form .bb-html-embed--hubspot .ph-hs-form .hs-richtext p {
	font-family: var(--font-sans) !important;
	font-size: 0.98rem !important;
	font-weight: 400 !important;
	line-height: 1.55 !important;
	letter-spacing: normal !important;
	color: var(--color-text) !important;
}

.ph-email-popup__form .bb-html-embed--hubspot .hs-form .hs-input,
.ph-email-popup__form .bb-html-embed--hubspot .ph-hs-form .hs-input,
.ph-email-popup__form .bb-html-embed--hubspot .hs-form input[type="email"],
.ph-email-popup__form .bb-html-embed--hubspot .ph-hs-form input[type="email"],
.ph-email-popup__form .bb-html-embed--hubspot .hs-form input[type="text"],
.ph-email-popup__form .bb-html-embed--hubspot .ph-hs-form input[type="text"] {
	font-size: 0.98rem !important;
}

.ph-email-popup__form .bb-html-embed--hubspot .hs-form .hs-submit,
.ph-email-popup__form .bb-html-embed--hubspot .ph-hs-form .hs-submit,
.ph-email-popup__form .bb-html-embed--hubspot .hs-form .hs_submit,
.ph-email-popup__form .bb-html-embed--hubspot .ph-hs-form .hs_submit,
.ph-email-popup__form .bb-html-embed--hubspot .hs-form .actions,
.ph-email-popup__form .bb-html-embed--hubspot .ph-hs-form .actions {
	display: flex !important;
	justify-content: center !important;
	width: 100% !important;
	text-align: center !important;
}

.ph-email-popup__form .bb-html-embed--hubspot .hs-form .hs-button,
.ph-email-popup__form .bb-html-embed--hubspot .ph-hs-form .hs-button,
.ph-email-popup__form .bb-html-embed--hubspot .ph-hs-submit,
.ph-email-popup__form .bb-html-embed--hubspot input[type="submit"],
.ph-email-popup__form .bb-html-embed--hubspot .hs-form .hs-submit .hs-button,
.ph-email-popup__form .bb-html-embed--hubspot .ph-hs-form .hs-submit .hs-button {
	width: auto !important;
	min-width: 160px;
	margin-left: auto !important;
	margin-right: auto !important;
	display: inline-flex !important;
	justify-content: center !important;
}

@media (max-width: 720px) {
	.ph-email-popup {
		padding: 12px;
		align-items: flex-end;
	}

	.ph-email-popup__dialog {
		width: 100%;
		max-height: 92vh;
		border-radius: 12px 12px 4px 4px;
	}

	.ph-email-popup--has-media .ph-email-popup__layout {
		grid-template-columns: 1fr;
	}

	.ph-email-popup__media {
		min-height: 160px;
		max-height: 200px;
	}

	.ph-email-popup__body {
		padding: 24px 20px 28px;
	}

	.ph-email-popup__close {
		top: 8px;
		right: 8px;
		background: rgba(252, 248, 243, 0.96);
	}
}

@media (prefers-reduced-motion: reduce) {
	.ph-email-popup,
	.ph-email-popup__dialog {
		transition: none;
	}
}
