:root {
	--tg-header-height: 5.25rem;
	--tg-outline: 3px solid var(--wp--preset--color--topgym-red);
	--tg-shadow: 0 1rem 3rem rgba( 11, 23, 38, 0.14 );
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

body {
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	overflow-x: hidden;
}

::selection {
	background: var(--wp--preset--color--topgym-red);
	color: var(--wp--preset--color--white);
}

a,
button,
input,
select,
textarea {
	outline-offset: 0.25rem;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
	outline: var(--tg-outline);
}

.tg-site-header {
	background: rgba( 11, 23, 38, 0.97 );
	border-bottom: 1px solid rgba( 255, 255, 255, 0.1 );
	color: var(--wp--preset--color--white);
	left: 0;
	padding-left: clamp( 1rem, 3vw, 2rem );
	padding-right: clamp( 1rem, 3vw, 2rem );
	position: sticky;
	right: 0;
	top: 0;
	z-index: 1000;
}

.admin-bar .tg-site-header {
	top: 32px;
}

.tg-header-inner {
	min-height: var(--tg-header-height);
}

.tg-brand-lockup {
	flex: 0 0 auto;
	gap: 0.75rem;
}

.tg-brand-lockup .custom-logo-link {
	display: inline-flex;
}

.tg-brand-lockup .custom-logo {
	height: auto;
	max-height: 3rem;
	width: auto;
}

.tg-site-title {
	margin: 0;
	white-space: nowrap;
}

.tg-site-title a,
.tg-site-title a:hover {
	color: var(--wp--preset--color--white);
}

.tg-brand-kicker {
	color: rgba( 255, 255, 255, 0.62 );
	font-size: 0.625rem;
	font-weight: 800;
	letter-spacing: 0.2em;
	line-height: 1;
	margin: 0.32rem 0 0;
	text-transform: uppercase;
}

.tg-primary-nav {
	color: var(--wp--preset--color--white);
	margin-left: auto;
}

.tg-primary-nav .wp-block-navigation-item__content {
	color: inherit;
	padding: 0.6rem 0.15rem;
	text-decoration: none;
}

.tg-primary-nav .wp-block-navigation-item__content:hover,
.tg-primary-nav .current-menu-item > .wp-block-navigation-item__content {
	color: var(--tg-brand-silver);
	text-decoration: underline;
	text-decoration-color: var(--tg-brand-red);
	text-underline-offset: 0.35rem;
}

.tg-primary-nav .wp-block-navigation__submenu-container {
	background: var(--wp--preset--color--charcoal);
	border: 1px solid rgba( 255, 255, 255, 0.12 );
	box-shadow: var(--tg-shadow);
	color: var(--wp--preset--color--white);
	min-width: 15rem !important;
	padding: 0.5rem;
}

.tg-primary-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding: 0.7rem 0.8rem;
}

.tg-primary-nav .wp-block-navigation__responsive-container-open,
.tg-primary-nav .wp-block-navigation__responsive-container-close {
	color: var(--wp--preset--color--white);
	min-height: 2.75rem;
	min-width: 2.75rem;
}

.tg-header-actions {
	flex: 0 0 auto;
	margin-left: 0.5rem;
}

.tg-header-actions .wp-block-button__link {
	min-height: 3rem;
	white-space: nowrap;
}

.wp-element-button,
.wp-block-button__link {
	display: inline-flex;
	justify-content: center;
	min-height: 3rem;
	transition: background-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.wp-element-button:hover,
.wp-block-button__link:hover {
	background: var(--wp--preset--color--topgym-red-dark);
	color: var(--wp--preset--color--white);
	transform: translateY( -1px );
}

.tg-content-shell {
	min-height: 55vh;
	padding-bottom: var(--wp--preset--spacing--60);
	padding-top: var(--wp--preset--spacing--60);
}

.tg-page-title {
	font-size: var(--wp--preset--font-size--2-xl);
	margin-bottom: var(--wp--preset--spacing--50);
	max-width: 16ch;
}

.tg-site-footer {
	background: var(--wp--preset--color--ink);
	color: rgba( 255, 255, 255, 0.76 );
	padding: var(--wp--preset--spacing--60) clamp( 1rem, 3vw, 2rem ) var(--wp--preset--spacing--40);
}

.tg-site-footer a {
	color: inherit;
}

.tg-site-footer a:hover {
	color: var(--wp--preset--color--white);
}

.tg-footer-grid {
	display: grid;
	gap: clamp( 2rem, 5vw, 5rem );
	grid-template-columns: minmax( 16rem, 1.35fr ) repeat( 3, minmax( 10rem, 1fr ) );
}

.tg-footer-brand .wp-block-site-title {
	margin-bottom: 0.8rem;
}

.tg-footer-brand .wp-block-site-title a {
	color: var(--wp--preset--color--white);
}

.tg-footer-intro {
	max-width: 30rem;
}

.tg-footer-heading {
	color: var(--wp--preset--color--white);
	font-family: var(--wp--preset--font-family--body);
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	margin: 0 0 1rem;
	text-transform: uppercase;
}

.tg-footer-links {
	list-style: none;
	margin: 0;
	padding: 0;
}

.tg-footer-links li {
	margin-bottom: 0.65rem;
}

.tg-footer-contact {
	margin-bottom: 1.1rem;
}

.tg-footer-contact a {
	color: var(--wp--preset--color--white);
	font-size: 1.15rem;
	font-weight: 750;
}

.tg-footer-utility {
	border-top: 1px solid rgba( 255, 255, 255, 0.14 );
	font-size: 0.75rem;
	margin-top: var(--wp--preset--spacing--50);
	padding-top: var(--wp--preset--spacing--30);
}

.tg-footer-utility p {
	margin: 0;
}

.tg-footer-utility-links {
	gap: 1.25rem;
}

@media ( max-width: 1100px ) {
	.tg-header-inner .tg-header-actions {
		display: none;
	}

	.tg-footer-grid {
		grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	}
}

@media ( max-width: 900px ) {
	:root {
		--tg-header-height: 4.5rem;
	}

	.admin-bar .tg-site-header {
		top: 46px;
	}

	.tg-primary-nav .wp-block-navigation__responsive-container.is-menu-open {
		background: var(--wp--preset--color--ink);
		color: var(--wp--preset--color--white);
		display: flex;
		flex-direction: column;
		inset: 0;
		overflow: auto;
		padding: 1.25rem;
		position: fixed;
		z-index: 100000;
	}

	.tg-primary-nav .wp-block-navigation__responsive-container:not( .is-menu-open ) {
		display: none;
	}

	.tg-primary-nav .wp-block-navigation__responsive-container-open {
		display: flex;
	}

	.tg-primary-nav .wp-block-navigation__responsive-close,
	.tg-primary-nav .wp-block-navigation__responsive-dialog {
		width: 100%;
	}

	.tg-primary-nav .wp-block-navigation__responsive-dialog {
		display: flex;
		flex: 1;
		flex-direction: column;
	}

	.tg-primary-nav .wp-block-navigation__responsive-container-close {
		display: flex;
		position: absolute;
		right: 0;
		top: 0;
	}

	.tg-primary-nav .wp-block-navigation__responsive-container-content {
		padding-top: 4rem;
	}

	.tg-primary-nav .wp-block-navigation__container,
	.tg-primary-nav .wp-block-navigation__submenu-container {
		align-items: stretch !important;
		gap: 0.35rem !important;
		width: 100%;
	}

	.tg-primary-nav .wp-block-navigation-item__content {
		font-size: 1.1rem;
		padding: 0.75rem 0;
	}

	.tg-primary-nav .wp-block-navigation__submenu-container {
		background: transparent;
		border: 0;
		box-shadow: none;
		padding: 0 0 0 1rem;
	}
}

@media ( max-width: 640px ) {
	.tg-brand-kicker {
		display: none;
	}

	.tg-site-title {
		font-size: 1.05rem !important;
	}

	.tg-footer-grid {
		grid-template-columns: 1fr;
	}

	.tg-footer-utility,
	.tg-footer-utility-links {
		align-items: flex-start !important;
		flex-direction: column;
	}
}

@media ( prefers-reduced-motion: reduce ) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
	}
}

/* Homepage */
.tg-home {
	background: var(--wp--preset--color--white);
}

.wp-site-blocks > .tg-home,
.wp-site-blocks > .tg-site-footer {
	margin-block-start: 0;
}

.tg-home p,
.tg-home h1,
.tg-home h2,
.tg-home h3 {
	margin-top: 0;
}

.tg-home .wp-block-image {
	margin: 0;
}

.tg-kicker {
	color: var(--wp--preset--color--topgym-red-dark);
	font-size: 0.72rem;
	font-weight: 850;
	letter-spacing: 0.16em;
	line-height: 1.3;
	margin-bottom: 0.8rem;
	text-transform: uppercase;
}

.tg-home-hero .tg-kicker,
.tg-memberships .tg-kicker,
.tg-inner-hero .tg-kicker,
.tg-inner-section--dark .tg-kicker,
.tg-article-header .tg-kicker,
.tg-404 .tg-kicker {
	color: var(--wp--preset--color--topgym-red);
}

.tg-section {
	padding-bottom: clamp( 3.75rem, 6vw, 6rem );
	padding-left: clamp( 1rem, 3vw, 2rem );
	padding-right: clamp( 1rem, 3vw, 2rem );
	padding-top: clamp( 3.75rem, 6vw, 6rem );
	scroll-margin-top: calc( var(--tg-header-height) + 1rem );
}

.tg-section-heading {
	margin-bottom: clamp( 1.75rem, 3.5vw, 3rem );
}

.tg-section-heading h2,
.tg-why h2,
.tg-faq h2,
.tg-final-cta h2 {
	font-size: clamp( 2.25rem, 5vw, 4.75rem );
	margin-bottom: 1.2rem;
	max-width: 13ch;
}

.tg-section-lead {
	color: var(--wp--preset--color--steel);
	font-size: var(--wp--preset--font-size--lg);
	line-height: 1.55;
	max-width: 44rem;
}

.tg-section-heading--split {
	align-items: end;
	display: grid;
	gap: 2rem;
	grid-template-columns: minmax( 0, 1.15fr ) minmax( 18rem, 0.85fr );
}

.tg-section-heading--split .tg-section-lead {
	margin-bottom: 0;
}

.tg-home-hero {
	background:
		radial-gradient( circle at 82% 18%, rgba( 188, 36, 55, 0.26 ), transparent 25rem ),
		linear-gradient( 122deg, #0b1726 0%, #12273b 58%, #182b3f 100% );
	color: var(--wp--preset--color--white);
	isolation: isolate;
	overflow: hidden;
	padding: clamp( 3.5rem, 6vw, 6rem ) clamp( 1rem, 3vw, 2rem );
	position: relative;
}

.tg-home-hero::before,
.tg-home-hero::after {
	content: "";
	pointer-events: none;
	position: absolute;
}

.tg-home-hero::before {
	background: repeating-linear-gradient( 90deg, transparent 0 5rem, rgba( 255, 255, 255, 0.035 ) 5rem calc( 5rem + 1px ) );
	inset: 0;
	z-index: -2;
}

.tg-home-hero::after {
	background: var(--wp--preset--color--topgym-red);
	bottom: -11rem;
	height: 18rem;
	right: -8rem;
	transform: rotate( -14deg );
	width: 42rem;
	z-index: -1;
}

.tg-home-hero__grid {
	align-items: center;
	display: grid;
	gap: clamp( 2.5rem, 5vw, 5rem );
	grid-template-columns: minmax( 0, 1.18fr ) minmax( 20rem, 0.82fr );
	min-height: clamp( 30rem, 58vh, 38rem );
}

.tg-home-hero__title {
	font-size: clamp( 3.4rem, 7vw, 7rem );
	letter-spacing: -0.045em;
	line-height: 0.92;
	margin-bottom: 1.6rem;
	max-width: 10ch;
}

.tg-home-hero__title span {
	color: var(--wp--preset--color--topgym-red);
}

.tg-home-hero__lead {
	color: rgba( 255, 255, 255, 0.77 );
	font-size: clamp( 1.1rem, 1.7vw, 1.35rem );
	line-height: 1.55;
	max-width: 37rem;
}

.tg-home-hero__actions {
	gap: 0.75rem;
	margin-top: 1.75rem;
}

.tg-home-hero .is-style-outline .wp-block-button__link,
.tg-final-cta .is-style-outline .wp-block-button__link {
	background: transparent;
	border: 1px solid rgba( 255, 255, 255, 0.62 );
	color: var(--wp--preset--color--white);
}

.tg-home-hero .is-style-outline .wp-block-button__link:hover,
.tg-final-cta .is-style-outline .wp-block-button__link:hover {
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--ink);
}

.tg-offer-placeholder {
	border-left: 3px solid var(--wp--preset--color--topgym-red);
	margin-top: 1.5rem;
	max-width: 34rem;
	padding: 0.25rem 0 0.25rem 1rem;
}

/* Remove elements marked .tg-dev-only when their approved launch content is ready. */
.tg-dev-note {
	border-left: 2px solid var(--wp--preset--color--topgym-red);
	color: var(--wp--preset--color--steel);
	font-size: 0.78rem;
	font-weight: 650;
	line-height: 1.45;
	margin: 1rem 0 0;
	max-width: 38rem;
	padding: 0.15rem 0 0.15rem 0.75rem;
}

.tg-memberships .tg-dev-note {
	color: rgba( 255, 255, 255, 0.68 );
}

.tg-offer-placeholder p {
	color: rgba( 255, 255, 255, 0.7 );
	font-size: 0.88rem;
	line-height: 1.45;
	margin-bottom: 0;
}

.tg-offer-placeholder a {
	color: var(--wp--preset--color--white);
	font-weight: 800;
}

.tg-offer-placeholder a:hover {
	color: var(--wp--preset--color--topgym-red);
}

.tg-offer-placeholder .tg-offer-placeholder__label {
	color: var(--wp--preset--color--white);
	font-size: 0.68rem;
	font-weight: 850;
	letter-spacing: 0.1em;
	margin-bottom: 0.2rem;
	text-transform: uppercase;
}

.tg-hero-locations {
	backdrop-filter: blur( 0.55rem );
	background: rgba( 255, 255, 255, 0.075 );
	border: 1px solid rgba( 255, 255, 255, 0.15 );
	box-shadow: var(--tg-shadow);
	padding: clamp( 1.5rem, 3vw, 2.5rem );
}

.tg-hero-locations .tg-kicker {
	margin-bottom: 0.4rem;
}

.tg-hero-locations__title {
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp( 1.7rem, 3vw, 2.5rem );
	font-weight: 850;
	letter-spacing: -0.025em;
	line-height: 1.05;
	margin-bottom: 1.25rem;
}

.tg-hero-location-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.tg-hero-location-list li {
	border-top: 1px solid rgba( 255, 255, 255, 0.14 );
	margin: 0;
}

.tg-hero-location-list li:last-child {
	border-bottom: 1px solid rgba( 255, 255, 255, 0.14 );
}

.tg-hero-location-list a {
	align-items: center;
	color: var(--wp--preset--color--white);
	display: flex;
	font-weight: 750;
	justify-content: space-between;
	min-height: 3.5rem;
	padding: 0.75rem 0.2rem;
}

.tg-hero-location-list a span:last-child {
	color: var(--wp--preset--color--topgym-red);
	font-size: 1.2rem;
	transition: transform 160ms ease;
}

.tg-hero-location-list a:hover span:last-child {
	transform: translateX( 0.25rem );
}

.tg-value {
	background: var(--wp--preset--color--paper);
}

.tg-value .tg-section-lead {
	color: #45596c;
	font-size: clamp( 1.15rem, 1.8vw, 1.5rem );
	font-weight: 600;
	line-height: 1.5;
	max-width: 50rem;
}

.tg-value-grid {
	display: grid;
	gap: 1px;
	grid-template-columns: repeat( 3, minmax( 0, 1fr ) );
	background: var(--wp--preset--color--line);
	border: 1px solid var(--wp--preset--color--line);
}

.tg-value-grid > *,
.tg-location-grid > * {
	margin-block-end: 0 !important;
	margin-block-start: 0 !important;
}

.tg-value-card {
	background: var(--wp--preset--color--white);
	display: flex;
	flex-direction: column;
	min-height: 15rem;
	padding: clamp( 1.5rem, 4vw, 3rem );
}

.tg-value-card--visual {
	min-height: 27rem;
}

.tg-value-card__visual {
	align-items: center;
	aspect-ratio: 16 / 8;
	background: var(--tg-brand-navy, #223b53);
	border: 1px solid var(--wp--preset--color--line);
	display: flex;
	justify-content: center;
	margin: 0 0 1.4rem;
	overflow: hidden;
}

.tg-value-card__visual img {
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.tg-value-card__visual--logo {
	background: #223b53;
}

.tg-value-card__visual--logo img {
	object-fit: contain;
	padding: 0.85rem;
}

.tg-value-card--visual .tg-value-card__number {
	margin-bottom: 1rem;
}

.tg-value-card--visual > p:last-child {
	margin-top: auto;
}

.tg-value-card__number {
	color: var(--wp--preset--color--topgym-red-dark);
	font-size: 0.72rem;
	font-weight: 850;
	letter-spacing: 0.14em;
	margin-bottom: clamp( 2rem, 4vw, 3.5rem );
}

.tg-value-card h3 {
	font-size: clamp( 1.5rem, 2.5vw, 2.1rem );
	margin-bottom: 0.75rem;
}

.tg-value-card p:last-child {
	color: var(--wp--preset--color--steel);
	margin-bottom: 0;
}

.tg-locations {
	background: var(--wp--preset--color--white);
}

.tg-location-grid {
	display: grid;
	gap: 1.2rem;
	grid-template-columns: repeat( 6, minmax( 0, 1fr ) );
}

.tg-location-card {
	background: var(--wp--preset--color--paper);
	border: 1px solid var(--wp--preset--color--line);
	grid-column: span 2;
	overflow: hidden;
	transition: box-shadow 180ms ease, transform 180ms ease;
}

.tg-location-card:nth-last-child( -n + 2 ) {
	grid-column: span 3;
}

.tg-location-card:hover {
	box-shadow: var(--tg-shadow);
	transform: translateY( -0.2rem );
}

.tg-location-card__image {
	aspect-ratio: 16 / 9;
	background: var(--wp--preset--color--charcoal);
	overflow: hidden;
}

.tg-location-card__image img {
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.tg-location-card__body {
	padding: clamp( 1.35rem, 3vw, 2rem );
}

.tg-location-card__type,
.tg-membership-card__eyebrow {
	color: var(--wp--preset--color--topgym-red-dark);
	font-size: 0.68rem;
	font-weight: 850;
	letter-spacing: 0.12em;
	margin-bottom: 0.5rem;
	text-transform: uppercase;
}

.tg-location-card h3 {
	font-size: clamp( 1.65rem, 3vw, 2.35rem );
	margin-bottom: 0.75rem;
}

.tg-location-card__body > p:not( .tg-location-card__type ) {
	color: var(--wp--preset--color--steel);
}

.tg-text-link {
	align-items: center;
	display: inline-flex;
	font-size: 0.78rem;
	font-weight: 850;
	gap: 0.5rem;
	letter-spacing: 0.05em;
	min-height: 2.75rem;
	text-transform: uppercase;
}

.tg-memberships {
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--white);
}

.tg-memberships .tg-section-lead {
	color: rgba( 255, 255, 255, 0.67 );
}

.tg-membership-grid {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat( 3, minmax( 0, 1fr ) );
}

.tg-membership-grid > * {
	margin-block-start: 0 !important;
}

.tg-membership-card {
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--ink);
	display: flex;
	flex-direction: column;
	min-height: 26rem;
	padding: clamp( 1.5rem, 3vw, 2.5rem );
}

.tg-membership-card--featured {
	border-top: 0.4rem solid var(--wp--preset--color--topgym-red);
	padding-top: calc( clamp( 1.5rem, 3vw, 2.5rem ) - 0.4rem );
}

.tg-membership-card h3 {
	font-size: clamp( 1.8rem, 3vw, 2.6rem );
	margin-bottom: 1.25rem;
}

.tg-membership-card > p:not( .tg-membership-card__eyebrow ) {
	color: var(--wp--preset--color--steel);
}

.tg-membership-card .wp-block-buttons {
	margin-top: auto;
}

.tg-membership-card .wp-block-button,
.tg-membership-card .wp-block-button__link {
	width: 100%;
}

.tg-membership-card__price {
	background: var(--wp--preset--color--mist);
	border-left: 3px solid var(--wp--preset--color--topgym-red);
	display: flex;
	flex-direction: column;
	margin-bottom: 1.25rem;
	padding: 1rem;
}

.tg-membership-card__price strong {
	font-size: 0.72rem;
	letter-spacing: 0.07em;
	text-transform: uppercase;
}

.tg-membership-card__price span {
	color: var(--wp--preset--color--steel);
	font-size: 0.88rem;
	margin-top: 0.25rem;
}

.tg-why {
	background: var(--wp--preset--color--white);
}

.tg-why-grid {
	display: grid;
	gap: clamp( 3rem, 8vw, 8rem );
	grid-template-columns: minmax( 0, 0.9fr ) minmax( 0, 1.1fr );
}

.tg-why-points > div {
	border-top: 1px solid var(--wp--preset--color--line);
	padding: 1.25rem 0;
}

.tg-why-points > div:last-child {
	border-bottom: 1px solid var(--wp--preset--color--line);
}

.tg-why-points h3 {
	font-size: clamp( 1.4rem, 2.5vw, 2rem );
	margin-bottom: 0.5rem;
}

.tg-why-points p {
	color: var(--wp--preset--color--steel);
	margin-bottom: 0;
}

.tg-how {
	background: var(--wp--preset--color--mist);
}

/* Responsive in-page player for the original Top Gym joining guide. */
.tg-joining-video {
	margin-bottom: clamp( 2rem, 4vw, 3.5rem );
}

.tg-joining-video__frame {
	aspect-ratio: 16 / 9;
	background: var(--wp--preset--color--ink);
	border: 1px solid var(--wp--preset--color--line);
	box-shadow: var(--tg-shadow);
	overflow: hidden;
}

.tg-joining-video iframe {
	border: 0;
	display: block;
	height: 100%;
	width: 100%;
}

.tg-joining-video__caption {
	font-size: var(--wp--preset--font-size--sm);
	margin: 0.8rem 0 0;
	text-align: right;
}

.tg-step-grid {
	display: grid;
	gap: 1.5rem;
	grid-template-columns: repeat( 4, minmax( 0, 1fr ) );
}

.tg-step {
	border-top: 3px solid var(--wp--preset--color--ink);
	padding-top: 1.25rem;
}

.tg-step > span {
	align-items: center;
	background: var(--wp--preset--color--topgym-red);
	border-radius: 50%;
	color: var(--wp--preset--color--white);
	display: inline-flex;
	font-size: 0.78rem;
	font-weight: 850;
	height: 2rem;
	justify-content: center;
	margin-bottom: 1.5rem;
	width: 2rem;
}

.tg-step h3 {
	font-size: clamp( 1.3rem, 2vw, 1.75rem );
	margin-bottom: 0.75rem;
}

.tg-step p {
	color: var(--wp--preset--color--steel);
	font-size: 0.92rem;
	margin-bottom: 0;
}

.tg-faq {
	background: var(--wp--preset--color--white);
}

.tg-faq-grid {
	display: grid;
	gap: clamp( 3rem, 8vw, 8rem );
	grid-template-columns: minmax( 0, 0.8fr ) minmax( 0, 1.2fr );
}

.tg-faq-list details {
	border-top: 1px solid var(--wp--preset--color--line);
	margin: 0;
	padding: 1.25rem 0;
}

.tg-faq-list details:last-child {
	border-bottom: 1px solid var(--wp--preset--color--line);
}

.tg-faq-list summary {
	cursor: pointer;
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp( 1.1rem, 2vw, 1.4rem );
	font-weight: 800;
	letter-spacing: -0.015em;
	line-height: 1.25;
	padding-right: 2rem;
}

.tg-faq-list details p {
	color: var(--wp--preset--color--steel);
	margin: 1rem 0 0;
	max-width: 42rem;
}

.tg-final-cta {
	background: var(--wp--preset--color--topgym-red);
	color: var(--wp--preset--color--ink);
	padding: clamp( 3.5rem, 5vw, 5rem ) clamp( 1rem, 3vw, 2rem );
}

.tg-final-cta__inner {
	align-items: end;
	display: flex;
	gap: 3rem;
	justify-content: space-between;
}

.tg-final-cta .tg-kicker {
	color: var(--wp--preset--color--ink);
}

.tg-final-cta .is-style-outline .wp-block-button__link {
	border-color: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--ink);
}

.tg-final-cta h2 {
	margin-bottom: 0.8rem;
}

.tg-final-cta p:last-child {
	margin-bottom: 0;
}

.tg-final-cta .wp-block-buttons {
	flex: 0 0 auto;
}

.tg-final-cta .wp-block-button:not( .is-style-outline ) .wp-block-button__link {
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--white);
}

@media ( max-width: 1100px ) {
	.tg-home-hero__grid {
		gap: 3rem;
		grid-template-columns: minmax( 0, 1fr ) minmax( 18rem, 0.72fr );
	}

	.tg-location-grid {
		grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	}

	.tg-location-card,
	.tg-location-card:nth-last-child( -n + 2 ) {
		grid-column: auto;
	}

	.tg-location-card:last-child {
		grid-column: 1 / -1;
	}

	.tg-step-grid {
		grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
		row-gap: 3rem;
	}
}

@media ( max-width: 820px ) {
	.tg-home-hero {
		padding-bottom: 4rem;
		padding-top: 4rem;
	}

	.tg-home-hero__grid,
	.tg-section-heading--split,
	.tg-why-grid,
	.tg-faq-grid {
		grid-template-columns: 1fr;
	}

	.tg-home-hero__grid {
		min-height: 0;
	}

	.tg-home-hero__title {
		font-size: clamp( 3.5rem, 13vw, 6.25rem );
	}

	.tg-hero-locations {
		backdrop-filter: none;
	}

	.tg-value-grid,
	.tg-membership-grid {
		grid-template-columns: 1fr;
	}

	.tg-value-card {
		min-height: 0;
	}

	.tg-value-card__number {
		margin-bottom: 2.5rem;
	}

	.tg-membership-card {
		min-height: 0;
	}

	.tg-membership-card .wp-block-buttons {
		margin-top: 2rem;
	}

	.tg-final-cta__inner {
		align-items: flex-start;
		flex-direction: column;
	}
}

@media ( max-width: 600px ) {
	.tg-section {
		padding-bottom: 3.5rem;
		padding-top: 3.5rem;
	}

	.tg-section-heading h2,
	.tg-why h2,
	.tg-faq h2,
	.tg-final-cta h2 {
		font-size: clamp( 2.25rem, 12vw, 3.4rem );
	}

	.tg-home-hero {
		padding-bottom: 3.5rem;
		padding-top: 3.5rem;
	}

	.tg-home-hero__title {
		font-size: clamp( 3.1rem, 15vw, 4.4rem );
	}

	.tg-home-hero__actions,
	.tg-home-hero__actions .wp-block-button,
	.tg-home-hero__actions .wp-block-button__link,
	.tg-final-cta .wp-block-buttons,
	.tg-final-cta .wp-block-button,
	.tg-final-cta .wp-block-button__link {
		width: 100%;
	}

	.tg-location-grid,
	.tg-step-grid {
		grid-template-columns: 1fr;
	}

	.tg-location-card:last-child {
		grid-column: auto;
	}

	.tg-step-grid {
		row-gap: 2.5rem;
	}

	.tg-step > span {
		margin-bottom: 1.25rem;
	}
}

/* Complete-site inner pages */
.tg-page-main,
.tg-article-page,
.tg-error-page {
	margin-block-start: 0;
}

.tg-inner-hero {
	background:
		radial-gradient( circle at 80% 15%, rgba( 188, 36, 55, 0.24 ), transparent 25rem ),
		linear-gradient( 122deg, #0b1726 0%, #12273b 58%, #182b3f 100% );
	color: var(--wp--preset--color--white);
	overflow: hidden;
	padding: clamp( 4rem, 7vw, 7rem ) clamp( 1rem, 3vw, 2rem );
	position: relative;
}

.tg-inner-hero::after {
	background: var(--wp--preset--color--topgym-red);
	bottom: -13rem;
	content: "";
	height: 17rem;
	position: absolute;
	right: -7rem;
	transform: rotate( -12deg );
	width: 40rem;
}

.tg-inner-hero__grid {
	align-items: center;
	display: grid;
	gap: clamp( 2.5rem, 6vw, 6rem );
	grid-template-columns: minmax( 0, 0.95fr ) minmax( 24rem, 1.05fr );
	position: relative;
	z-index: 1;
}

.tg-inner-hero--text-only .tg-inner-hero__grid {
	grid-template-columns: minmax( 0, 50rem );
}

.tg-inner-hero h1 {
	font-size: clamp( 3.25rem, 7vw, 6.5rem );
	letter-spacing: -0.045em;
	line-height: 0.94;
	margin: 0 0 1.5rem;
	max-width: 10ch;
}

.tg-inner-hero h1 span {
	color: var(--wp--preset--color--topgym-red);
}

.tg-inner-hero__lead {
	color: rgba( 255, 255, 255, 0.74 );
	font-size: clamp( 1.05rem, 1.6vw, 1.3rem );
	line-height: 1.55;
	max-width: 39rem;
}

.tg-inner-hero__media {
	border: 1px solid rgba( 255, 255, 255, 0.15 );
	box-shadow: var(--tg-shadow);
	overflow: hidden;
}

.tg-picture,
.tg-picture img {
	display: block;
	width: 100%;
}

.tg-inner-hero__picture img,
.tg-directory-card__image img,
.tg-gallery-grid img,
.tg-service-card img,
.tg-blog-card__image img,
.tg-article-hero-image img {
	aspect-ratio: 16 / 9;
	height: auto;
	object-fit: cover;
}

.tg-action-row {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin-top: 2rem;
}

.tg-button-outline {
	align-items: center;
	border: 1px solid currentColor;
	border-radius: 0.35rem;
	color: inherit;
	display: inline-flex;
	font-size: 0.875rem;
	font-weight: 800;
	justify-content: center;
	letter-spacing: 0.045em;
	min-height: 3rem;
	padding: 0.75rem 1.35rem;
	text-transform: uppercase;
}

.tg-button-outline:hover {
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--ink);
}

.tg-inner-section,
.tg-gallery-section,
.tg-directions-section {
	padding: clamp( 4rem, 6vw, 6rem ) clamp( 1rem, 3vw, 2rem );
	scroll-margin-top: calc( var(--tg-header-height) + 1rem );
}

.tg-inner-section--mist,
.tg-directions-section {
	background: var(--wp--preset--color--mist);
}

.tg-inner-section--dark {
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--white);
}

.tg-inner-section--dark .tg-inner-heading > p:not( .tg-kicker, .tg-dev-note ) {
	color: rgba( 255, 255, 255, 0.68 );
}

.tg-inner-heading {
	margin-bottom: clamp( 2rem, 4vw, 3.5rem );
}

.tg-inner-heading h2,
.tg-split h2,
.tg-contact-grid h2,
.tg-directions h2 {
	font-size: clamp( 2.25rem, 5vw, 4.5rem );
	margin: 0 0 1rem;
	max-width: 14ch;
}

.tg-inner-heading > p:not( .tg-kicker, .tg-dev-note ),
.tg-split > div > p:not( .tg-kicker, .tg-address ) {
	color: var(--wp--preset--color--steel);
	font-size: var(--wp--preset--font-size--lg);
	max-width: 46rem;
}

.tg-directory-grid {
	display: grid;
	gap: 1.2rem;
	grid-template-columns: repeat( 3, minmax( 0, 1fr ) );
}

.tg-directory-grid--two {
	grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
}

.tg-directory-card,
.tg-service-card,
.tg-blog-card {
	background: var(--wp--preset--color--paper);
	border: 1px solid var(--wp--preset--color--line);
	display: flex;
	flex-direction: column;
	overflow: hidden;
}

.tg-directory-card__image,
.tg-service-card > .tg-picture,
.tg-blog-card__image {
	background: var(--wp--preset--color--charcoal);
	display: block;
	overflow: hidden;
}

.tg-directory-card__image img,
.tg-service-card img,
.tg-blog-card__image img {
	transition: transform 240ms ease;
}

.tg-directory-card:hover img,
.tg-service-card:hover img,
.tg-blog-card:hover img {
	transform: scale( 1.025 );
}

.tg-directory-card__body,
.tg-service-card > div,
.tg-blog-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: clamp( 1.35rem, 2.5vw, 2rem );
}

.tg-card-eyebrow {
	color: var(--wp--preset--color--topgym-red-dark);
	font-size: 0.68rem;
	font-weight: 850;
	letter-spacing: 0.12em;
	margin: 0 0 0.5rem;
	text-transform: uppercase;
}

.tg-directory-card h3,
.tg-service-card h3,
.tg-blog-card h3 {
	font-size: clamp( 1.5rem, 2.5vw, 2.1rem );
	margin: 0 0 0.75rem;
}

.tg-directory-card p:not( .tg-card-eyebrow ),
.tg-service-card p:not( .tg-card-eyebrow ),
.tg-blog-card p:not( .tg-card-eyebrow ) {
	color: var(--wp--preset--color--steel);
}

.tg-directory-card .tg-text-link,
.tg-service-card .tg-text-link,
.tg-blog-card .tg-text-link {
	margin-top: auto;
}

.tg-split,
.tg-contact-grid,
.tg-directions {
	align-items: start;
	display: grid;
	gap: clamp( 3rem, 7vw, 7rem );
	grid-template-columns: minmax( 0, 0.85fr ) minmax( 0, 1.15fr );
}

.tg-address {
	border-left: 3px solid var(--wp--preset--color--topgym-red);
	margin-top: 2rem;
	padding-left: 1rem;
}

.tg-fact-list > div {
	align-items: flex-start;
	border-top: 1px solid var(--wp--preset--color--line);
	display: grid;
	gap: 1rem;
	grid-template-columns: 2rem 1fr;
	padding: 1.25rem 0;
}

.tg-fact-list > div:last-child {
	border-bottom: 1px solid var(--wp--preset--color--line);
}

.tg-fact-list span,
.tg-process-grid article > span {
	align-items: center;
	background: var(--wp--preset--color--topgym-red);
	border-radius: 50%;
	color: var(--wp--preset--color--ink);
	display: inline-flex;
	font-size: 0.8rem;
	font-weight: 850;
	height: 2rem;
	justify-content: center;
	width: 2rem;
}

.tg-fact-list p {
	margin: 0;
}

.tg-gallery-section {
	background: var(--wp--preset--color--paper);
}

.tg-gallery-grid {
	display: grid;
	gap: 1rem;
	grid-template-columns: 1.4fr 1fr;
}

.tg-gallery-grid .tg-picture:first-child {
	grid-row: span 2;
}

.tg-gallery-grid .tg-picture:first-child img {
	aspect-ratio: auto;
	height: 100%;
}

.tg-membership-grid--inner .tg-membership-card > .wp-element-button {
	margin-top: auto;
	order: 5;
	width: 100%;
}

.tg-intro-offer {
	align-items: center;
	background:
		radial-gradient( circle at 85% 20%, rgba( 221, 227, 231, 0.2 ), transparent 16rem ),
		linear-gradient( 125deg, #24394d, #182b3f 55%, #0b1726 );
	border: 1px solid rgba( 221, 227, 231, 0.58 );
	border-top: 0.35rem solid var(--tg-brand-silver, #dde3e7 );
	box-shadow: 0 1.25rem 3rem rgba( 0, 0, 0, 0.3 );
	display: flex;
	gap: 2rem;
	justify-content: space-between;
	margin: 0 0 2rem;
	padding: clamp( 1.5rem, 4vw, 2.5rem );
}

.tg-intro-offer h3,
.tg-intro-offer p {
	margin-bottom: 0;
}

.tg-intro-offer h3 {
	color: var(--wp--preset--color--white);
	font-size: clamp( 2rem, 4vw, 3.25rem );
	margin-top: 0.25rem;
}

.tg-intro-offer .tg-kicker {
	color: var(--tg-brand-silver, #dde3e7 );
}

.tg-intro-offer p:not( .tg-kicker ) {
	color: rgba( 255, 255, 255, 0.82 );
	margin-top: 0.7rem;
}

.tg-intro-offer .tg-button-outline {
	background: var(--tg-brand-silver, #dde3e7 );
	border-color: var(--tg-brand-silver, #dde3e7 );
	color: var(--tg-brand-navy-deep, #0b1726 );
	min-width: 12rem;
}

.tg-intro-offer .tg-button-outline:hover {
	background: var(--wp--preset--color--white);
	border-color: var(--wp--preset--color--white);
	color: var(--tg-brand-navy-deep, #0b1726 );
}

.tg-process-grid {
	display: grid;
	gap: 1.25rem;
	grid-template-columns: repeat( 4, minmax( 0, 1fr ) );
}

.tg-process-grid article {
	border-top: 3px solid var(--wp--preset--color--ink);
	padding-top: 1.25rem;
}

.tg-process-grid h3 {
	font-size: clamp( 1.25rem, 2vw, 1.65rem );
	margin: 1.5rem 0 0.6rem;
}

.tg-process-grid p {
	color: var(--wp--preset--color--steel);
	font-size: 0.92rem;
	margin: 0;
}

.tg-directions {
	align-items: center;
	grid-template-columns: minmax( 0, 1fr ) auto;
}

.tg-directions h2 {
	font-size: clamp( 1.8rem, 4vw, 3rem );
	max-width: 23ch;
}

.tg-inner-final {
	background: var(--wp--preset--color--topgym-red);
	color: var(--wp--preset--color--ink);
	padding: clamp( 3.5rem, 5vw, 5rem ) clamp( 1rem, 3vw, 2rem );
}

.tg-inner-final .tg-kicker {
	color: var(--wp--preset--color--ink);
}

.tg-inner-final h2 {
	font-size: clamp( 2.25rem, 5vw, 4.5rem );
	margin: 0 0 0.75rem;
	max-width: 14ch;
}

.tg-inner-final p:not( .tg-kicker ) {
	font-size: 1.1rem;
	max-width: 44rem;
}

.tg-inner-final .wp-element-button {
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--white);
	margin-top: 1rem;
}

.tg-service-grid,
.tg-blog-grid {
	display: grid;
	gap: 1.2rem;
	grid-template-columns: repeat( 3, minmax( 0, 1fr ) );
}

.tg-blog-grid {
	row-gap: 2rem;
}

.tg-blog-card h3 a {
	color: var(--wp--preset--color--ink);
}

.tg-contact-grid {
	grid-template-columns: minmax( 17rem, 0.7fr ) minmax( 0, 1.3fr );
}

.tg-contact-form-wrap {
	background: var(--wp--preset--color--paper);
	border: 1px solid var(--wp--preset--color--line);
	padding: clamp( 1.25rem, 3vw, 2.5rem );
}

.tg-contact-form {
	display: grid;
	gap: 1.25rem;
	grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
}

.tg-contact-section {
	scroll-margin-top: calc( var(--tg-header-height) + 1rem );
}

.tg-contact-form > div {
	min-width: 0;
}

.tg-contact-form .tg-field-error {
	color: var(--wp--preset--color--topgym-red-dark);
	font-size: 0.875rem;
	margin: 0.4rem 0 0;
}

.tg-contact-form [aria-invalid="true"] {
	border-color: var(--wp--preset--color--topgym-red-dark);
}

.tg-form-notice a {
	color: inherit;
	text-decoration: underline;
}

.tg-form-trap {
	clip-path: inset( 50% );
	height: 1px;
	overflow: hidden;
	position: absolute;
	white-space: nowrap;
	width: 1px;
}

.tg-contact-form label {
	display: block;
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.04em;
	margin-bottom: 0.4rem;
	text-transform: uppercase;
}

.tg-contact-form label span {
	color: var(--wp--preset--color--steel);
	font-weight: 500;
	text-transform: none;
}

.tg-contact-form input,
.tg-contact-form select,
.tg-contact-form textarea {
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 0.2rem;
	color: var(--wp--preset--color--ink);
	font: inherit;
	min-height: 3rem;
	padding: 0.75rem;
	width: 100%;
}

.tg-contact-form textarea {
	min-height: 9rem;
	resize: vertical;
}

.tg-form-full {
	grid-column: 1 / -1;
}

.tg-form-notice {
	background: #e8f7ee;
	border-left: 3px solid #14824a;
	margin-bottom: 1.25rem;
	padding: 1rem;
}

.tg-form-notice--error {
	background: #fff0f2;
	border-left-color: var(--wp--preset--color--topgym-red-dark);
}

.tg-form-notice ul {
	margin-bottom: 0;
}

.tg-compact-location-list {
	border-bottom: 1px solid var(--wp--preset--color--line);
}

.tg-compact-location-list a {
	align-items: center;
	border-top: 1px solid var(--wp--preset--color--line);
	color: var(--wp--preset--color--ink);
	display: grid;
	gap: 1rem;
	grid-template-columns: minmax( 10rem, 0.5fr ) minmax( 15rem, 1fr ) auto;
	min-height: 4.5rem;
	padding: 0.85rem 0;
}

.tg-compact-location-list span:not( :last-child ) {
	color: var(--wp--preset--color--steel);
}

.tg-narrow {
	max-width: 52rem;
}

.tg-article-page {
	padding: clamp( 4rem, 7vw, 7rem ) clamp( 1rem, 3vw, 2rem );
}

.tg-article-header {
	margin-bottom: clamp( 2rem, 4vw, 3.5rem );
}

.tg-article-title {
	font-size: clamp( 2.75rem, 6vw, 5.75rem );
	margin: 0 0 1.25rem;
	max-width: 17ch;
}

.tg-article-date {
	color: var(--wp--preset--color--steel);
	font-size: 0.85rem;
	font-weight: 750;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.tg-article-hero-image {
	margin: 0 auto clamp( 3rem, 6vw, 6rem );
	max-width: 1240px;
}

.tg-article-body {
	font-size: 1.06rem;
	line-height: 1.75;
}

.tg-article-body h2 {
	font-size: clamp( 2rem, 4vw, 3.4rem );
	margin-top: 3rem;
}

.tg-article-body h3 {
	font-size: clamp( 1.4rem, 3vw, 2.1rem );
	margin-top: 2.4rem;
}

.tg-article-body img {
	height: auto;
	margin: 1.5rem 0;
	max-width: 100%;
}

.tg-article-body .wp-caption,
.tg-article-body figure {
	max-width: 100%;
	width: auto !important;
}

.tg-article-body table {
	border-collapse: collapse;
	display: block;
	overflow-x: auto;
	width: 100%;
}

.tg-article-body th,
.tg-article-body td {
	border: 1px solid var(--wp--preset--color--line);
	padding: 0.75rem;
}

.tg-article-body blockquote {
	border-left: 4px solid var(--wp--preset--color--topgym-red);
	margin: 2rem 0;
	padding: 0.5rem 0 0.5rem 1.25rem;
}

.tg-article-body a:not( .wp-element-button ),
.tg-default-page-content a:not( .wp-element-button ),
.tg-narrow a:not( .wp-element-button ),
.tg-contact-grid p a:not( .wp-element-button ) {
	text-decoration: underline;
	text-decoration-thickness: 0.08em;
	text-underline-offset: 0.16em;
}

.tg-pagination {
	margin-top: clamp( 2rem, 5vw, 4rem );
}

.tg-pagination .page-numbers {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.tg-pagination a,
.tg-pagination .current {
	align-items: center;
	border: 1px solid var(--wp--preset--color--line);
	color: var(--wp--preset--color--ink);
	display: inline-flex;
	font-weight: 750;
	justify-content: center;
	min-height: 2.75rem;
	min-width: 2.75rem;
	padding: 0.55rem 0.8rem;
}

.tg-pagination .current {
	background: var(--wp--preset--color--ink);
	border-color: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--white);
}

.tg-default-page-header {
	padding-top: clamp( 4rem, 8vw, 7rem );
}

.tg-default-page-content {
	padding-bottom: clamp( 4rem, 8vw, 7rem );
}

.tg-article-footer {
	border-top: 1px solid var(--wp--preset--color--line);
	margin-top: clamp( 3rem, 6vw, 6rem );
	padding-top: 1.5rem;
}

.tg-error-page {
	min-height: 65vh;
	padding: clamp( 5rem, 10vw, 10rem ) clamp( 1rem, 3vw, 2rem );
}

.tg-error-page h1 {
	font-size: clamp( 3rem, 7vw, 6.5rem );
	margin-bottom: 1rem;
}

@media ( max-width: 1000px ) {
	.tg-inner-hero__grid {
		grid-template-columns: minmax( 0, 1fr );
	}

	.tg-split,
	.tg-contact-grid {
		grid-template-columns: 1fr;
	}

	.tg-inner-hero__media {
		max-width: 48rem;
	}

	.tg-directory-grid,
	.tg-service-grid,
	.tg-blog-grid {
		grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	}

	.tg-process-grid {
		grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
		row-gap: 2.5rem;
	}
}

@media ( max-width: 700px ) {
	.tg-inner-hero,
	.tg-inner-section,
	.tg-gallery-section,
	.tg-directions-section,
	.tg-article-page {
		padding-bottom: 3.5rem;
		padding-top: 3.5rem;
	}

	.tg-inner-hero h1 {
		font-size: clamp( 2.25rem, 12vw, 4.4rem );
	}

	.tg-action-row,
	.tg-action-row .wp-element-button,
	.tg-action-row .tg-button-outline,
	.tg-inner-final .wp-element-button,
	.tg-directions .wp-element-button {
		width: 100%;
	}

	.tg-directory-grid,
	.tg-directory-grid--two,
	.tg-service-grid,
	.tg-blog-grid,
	.tg-gallery-grid,
	.tg-process-grid,
	.tg-contact-form {
		grid-template-columns: 1fr;
	}

	.tg-gallery-grid .tg-picture:first-child {
		grid-row: auto;
	}

	.tg-gallery-grid .tg-picture:first-child img {
		aspect-ratio: 16 / 9;
		height: auto;
	}

	.tg-intro-offer,
	.tg-directions {
		align-items: flex-start;
		flex-direction: column;
		grid-template-columns: 1fr;
	}

	.tg-intro-offer {
		display: flex;
	}

	.tg-intro-offer .tg-button-outline {
		width: 100%;
	}

	.tg-form-full {
		grid-column: auto;
	}

	.tg-compact-location-list a {
		align-items: start;
		grid-template-columns: 1fr auto;
		padding: 1rem 0;
	}

	.tg-compact-location-list a span:not( :last-child ) {
		grid-column: 1 / -1;
	}
}

/* Keep the WordPress mobile navigation compact, branded and hierarchical. */
@media ( max-width: 900px ) {
	.tg-primary-nav .wp-block-navigation__responsive-container.is-menu-open {
		background:
			radial-gradient( circle at 100% 0%, rgba( 117, 138, 158, 0.25 ), transparent 18rem ),
			linear-gradient( 150deg, var(--tg-brand-navy-deep), #12273b 65%, var(--tg-brand-navy)) !important;
		color: var(--wp--preset--color--white) !important;
		padding: 1.25rem !important;
	}

	.tg-primary-nav .wp-block-navigation__responsive-container-close {
		align-items: center;
		background: rgba( 255, 255, 255, 0.08 );
		border: 1px solid rgba( 255, 255, 255, 0.42 );
		border-radius: 50%;
		color: var(--wp--preset--color--white) !important;
		justify-content: center;
		padding: 0.65rem;
	}

	.tg-primary-nav .wp-block-navigation__responsive-container-content {
		align-items: stretch !important;
		padding-top: 4.5rem !important;
	}

	.tg-primary-nav .wp-block-navigation__container {
		align-items: stretch !important;
		gap: 0 !important;
		width: 100%;
	}

	.tg-primary-nav .wp-block-navigation__container > .wp-block-navigation-item {
		align-items: stretch !important;
		border-bottom: 1px solid rgba( 255, 255, 255, 0.14 );
		display: flex !important;
		flex-direction: column;
		width: 100%;
	}

	.tg-primary-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
		color: var(--wp--preset--color--white) !important;
		font-size: 1rem;
		justify-content: flex-start;
		padding: 0.9rem 0 !important;
		text-align: left;
		width: 100%;
	}

	.tg-primary-nav .wp-block-navigation__container > .wp-block-navigation-submenu > .wp-block-navigation-item__content {
		color: var(--tg-brand-silver) !important;
	}

	.tg-primary-nav .wp-block-navigation__submenu-icon {
		display: none !important;
	}

	.tg-primary-nav .wp-block-navigation__submenu-container {
		background: rgba( 255, 255, 255, 0.055 ) !important;
		border: 0 !important;
		border-left: 0.18rem solid var(--tg-brand-red) !important;
		box-shadow: none !important;
		display: flex !important;
		flex-direction: column;
		gap: 0 !important;
		margin: 0 0 0.55rem !important;
		min-width: 0 !important;
		padding: 0.25rem 0 0.25rem 0.85rem !important;
		position: static !important;
		width: 100% !important;
	}

	.tg-primary-nav .wp-block-navigation__submenu-container .wp-block-navigation-item {
		width: 100%;
	}

	.tg-primary-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
		color: rgba( 255, 255, 255, 0.82 ) !important;
		font-size: 0.88rem !important;
		justify-content: flex-start;
		padding: 0.6rem 0.7rem !important;
		text-align: left;
		width: 100%;
	}

	.tg-primary-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
	.tg-primary-nav .wp-block-navigation__submenu-container .current-menu-item > .wp-block-navigation-item__content {
		background: rgba( 255, 255, 255, 0.08 );
		color: var(--wp--preset--color--white) !important;
	}
}


/* Top Gym: original monochrome editorial direction, September 2026. */
.tg-inner-hero h1{max-width:17ch;line-height:1.04;font-size:clamp(2.5rem,5vw,5rem)}
.tg-inner-hero .wp-element-button{background:#fff;color:#171717}
.tg-inner-hero .wp-element-button:hover{background:#ddd;color:#171717}
.tg-button-outline{font-size:1rem;font-weight:600;letter-spacing:0;text-transform:none;border-radius:3px}
.tg-intro-offer{background:#242424;border:1px solid #555;box-shadow:none}
:root{--tg-brand-navy:#292929;--tg-brand-navy-deep:#171717;--tg-brand-red:#333;--tg-brand-silver:#dededb;--tg-brand-action:#242424;--tg-shadow:0 8px 24px #0000000a}
body{background:#fff;color:#171717;font-family:Arial,Helvetica,sans-serif}
h1,h2,h3,.tg-page-title{font-family:Arial,Helvetica,sans-serif;font-weight:600;letter-spacing:-.035em}
.tg-brand-lockup{display:inline-flex;flex:0 0 auto}.tg-brand-lockup img{display:block;width:auto;height:3rem;object-fit:contain}
.tg-site-header{background:#171717;border-bottom:1px solid #3e3e3e}
.tg-primary-nav{font-size:.875rem;font-weight:600;letter-spacing:0;text-transform:none}
.tg-site-footer{background:#171717}
.tg-home{display:block}.tg-home>section{margin-block-start:0}
.tg-kicker,.tg-card-eyebrow,.tg-location-card__type,.tg-membership-card__eyebrow{font-size:.875rem;font-weight:600;letter-spacing:.08em}
.wp-element-button,.wp-block-button__link{border-radius:3px;font-weight:600;font-size:1rem;letter-spacing:0;text-transform:none;box-shadow:none;gap:1.5rem}
.wp-element-button:hover,.wp-block-button__link:hover{transform:none;background:#454545;color:#fff}
.tg-text-link{font-size:.9375rem;letter-spacing:0;text-transform:none;font-weight:600}
.tg-section-heading h2,.tg-why h2,.tg-faq h2,.tg-final-cta h2{font-size:clamp(2rem,3.7vw,3.5rem);max-width:20ch;line-height:1.08}
.tg-section-lead{font-size:1.125rem;color:#565656;line-height:1.65}
.tg-editorial-hero{padding:0 2rem;background:#f7f7f4}
.tg-editorial-hero__grid{max-width:1240px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:3.5rem;align-items:stretch}
.tg-editorial-hero__copy{padding:4.5rem 0 3rem;min-width:0}
.tg-editorial-hero h1{font-size:clamp(3.5rem,6.5vw,6.1rem);line-height:.98;margin:1.6rem 0 1.7rem;letter-spacing:-.065em;color:#171717;font-weight:600}
.tg-editorial-hero h1 em{font-style:normal;color:#656563}
.tg-editorial-hero__lead{font-size:1.125rem;line-height:1.7;color:#50504e;max-width:29rem}
.tg-editorial-hero__actions{display:flex;flex-wrap:wrap;align-items:center;gap:1.5rem;margin:2rem 0}
.tg-editorial-secondary{font-size:1rem;font-weight:600;color:#171717;display:inline-flex;gap:1rem;align-items:center;min-height:3rem;border-bottom:1px solid #888}
.tg-editorial-offer{border-top:1px solid #cececb;padding-top:1.5rem;max-width:31rem}
.tg-editorial-offer>p:first-child{font-size:1rem;margin-bottom:.5rem}.tg-editorial-offer strong{font-size:1.5rem;font-weight:600;margin-right:.6rem}
.tg-editorial-offer>a{display:inline-block;font-size:1rem;text-decoration:underline;text-underline-offset:4px;margin-bottom:1rem}
.tg-editorial-offer .tg-editorial-terms{font-size:.875rem;color:#575755;line-height:1.6;margin-bottom:0}
.tg-editorial-hero__photo{position:relative;min-width:0;margin:0;min-height:38rem;overflow:hidden;background:#ddd}
.tg-editorial-hero__photo img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;object-position:53% center}
.tg-editorial-hero__photo figcaption{position:absolute;bottom:0;left:0;right:0;background:#171717;color:#fff;display:flex;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;font-size:.8125rem;letter-spacing:.05em}
.tg-editorial-hero__photo figcaption span{text-transform:none;letter-spacing:0;color:#ddd}
.tg-value{background:#fff;padding-block:3.5rem;border-bottom:1px solid #ddd}
.tg-value .tg-section-heading{margin-bottom:1.75rem}.tg-value .tg-section-heading h2{font-size:1.75rem}.tg-value .tg-section-lead{font-size:1rem;font-weight:400;color:#565656}
.tg-value .tg-value-grid{background:none;border:0;gap:2rem}.tg-value .tg-value-card{padding:0 1.5rem 0 0;min-height:0;border-right:1px solid #ddd}.tg-value .tg-value-card:last-child{border-right:0}
.tg-value-card h3{font-size:1.6rem;font-weight:600}.tg-value-card__number{display:none}
.tg-value-card__visual--logo{background:#242424;color:white;text-align:center;font-size:1.5rem}.tg-value-card__visual--logo small{font-size:1rem}
.tg-location-card{background:#fff;border:0;border-bottom:1px solid #bbb;border-radius:0}.tg-location-card__body{padding:1.4rem 0}.tg-location-card:hover{box-shadow:none;transform:none}.tg-location-card__type{color:#555}
.tg-memberships{background:#eeeeec;color:#171717}.tg-memberships .tg-kicker{color:#555}.tg-memberships .tg-section-lead{color:#555}
.tg-membership-grid .tg-membership-card{background:#fff;border:1px solid #ccc;border-radius:4px;box-shadow:none;padding:2rem;color:#171717;min-height:25rem}
.tg-membership-grid .tg-membership-card--featured{border:2px solid #242424;padding:calc(2rem - 1px)}
.tg-membership-grid .tg-membership-card h3{color:#171717;font-size:2rem;text-transform:none;min-height:0;margin-bottom:.5rem}
.tg-membership-grid .tg-membership-card>p{color:#565656}.tg-membership-grid .tg-membership-card__eyebrow{font-size:.875rem;color:#555}
.tg-membership-grid .tg-membership-card__price{background:none;border:0;box-shadow:none;padding:1.5rem 0;border-bottom:1px solid #ddd;text-align:left}
.tg-membership-grid .tg-membership-card__price strong{font-size:3rem;font-weight:600;letter-spacing:-.05em;color:#171717;text-shadow:none}
.tg-membership-grid .tg-membership-card__price span{font-size:1rem;letter-spacing:0;font-weight:400;color:#565656;text-transform:none}
.tg-membership-grid .tg-membership-card .wp-element-button{background:#242424;color:white;box-shadow:none}.tg-membership-grid .tg-membership-card .wp-element-button:hover{background:#484848}
.tg-how{background:#f7f7f4}.tg-joining-video__frame{box-shadow:none}.tg-step>span{background:#ddd;color:#222;border-radius:50%}
.tg-inner-hero,.tg-inner-final,.tg-final-cta{background:#242424;color:#fff}.tg-inner-hero::after,.tg-final-cta::before,.tg-final-cta::after{display:none}
.tg-inner-hero .tg-kicker,.tg-inner-hero h1 span,.tg-inner-final .tg-kicker,.tg-final-cta .tg-kicker{color:#ddd}
.tg-inner-section--dark{background:#eee;color:#171717}.tg-inner-section--dark .tg-kicker,.tg-inner-section--dark .tg-section-lead,.tg-inner-section--dark .tg-inner-heading > p:not(.tg-kicker,.tg-dev-note){color:#555}
.tg-inner-section--dark .tg-intro-offer .tg-kicker{color:#ddd}
.tg-inner-final .wp-element-button,.tg-final-cta .wp-block-button:not(.is-style-outline) .wp-element-button{background:white;color:#171717}
.tg-inner-hero__media,.tg-directory-card,.tg-service-card,.tg-blog-card,.tg-contact-form-wrap{box-shadow:none;border-color:#d8d8d6}
.tg-directions-section{background:#f7f7f4}.tg-contact-form-wrap{background:#fff}
.tg-primary-nav .wp-block-navigation__responsive-container.is-menu-open{background:#171717!important}
@media(max-width:1000px){.tg-editorial-hero__grid{gap:2rem}.tg-editorial-hero__copy{padding-block:3rem}.tg-editorial-hero h1{font-size:clamp(3rem,7vw,5rem)}}
@media(max-width:700px){.tg-brand-lockup img{height:2.4rem}.tg-editorial-hero{padding:0 1rem}.tg-editorial-hero__grid{grid-template-columns:1fr;gap:0}.tg-editorial-hero__copy{padding:2.5rem 0 2rem}.tg-editorial-hero h1{font-size:clamp(3.3rem,13vw,5rem)}.tg-editorial-hero__photo{min-height:22rem;margin:0 -1rem}.tg-editorial-hero__actions{gap:1rem}.tg-editorial-hero .tg-kicker{font-size:.8125rem}.tg-value .tg-value-grid{gap:1.5rem}.tg-value .tg-value-card{border-right:0;border-bottom:1px solid #ddd;padding:0 0 1.5rem}.tg-editorial-hero__photo figcaption{font-size:.75rem}.tg-membership-grid .tg-membership-card{min-height:0}.tg-editorial-offer strong{display:block;margin-bottom:.4rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* Compact trial-first homepage. */
.tg-trial-first{position:relative;background:#202221;color:#fff;isolation:isolate;padding:2.7rem 2rem 2.5rem;overflow:hidden}
.tg-trial-first:before{content:"";position:absolute;inset:0 0 0 44%;background:url("../images/google-business-2026-09/brunswick-1-1200.webp") center 50%/cover;z-index:-2}
.tg-trial-first:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#202221 33%,#202221ec 46%,#20222128 78%);z-index:-1}
.tg-trial-first__inner{max-width:1240px;margin:auto}.tg-trial-first .tg-kicker{color:#c7c9c6;font-size:.8125rem;letter-spacing:.13em;margin-bottom:1.2rem}
.tg-trial-first h1{font-size:clamp(3.6rem,6vw,5.2rem);line-height:.98;letter-spacing:-.055em;color:#fff;margin:0 0 1.25rem;font-weight:600}.tg-trial-first h1 span{color:#c8cbc7}
.tg-trial-first__lead{font-size:1.125rem;color:#e3e3e0;margin-bottom:1.5rem}
.tg-trial-first__actions{display:flex;align-items:center;gap:1.7rem;flex-wrap:wrap}.tg-trial-first__actions .wp-element-button{background:white;color:#171717;padding:.9rem 1.4rem;min-height:3.1rem;border-radius:2px}.tg-trial-first__actions>a:last-child{color:white;text-decoration:underline;text-underline-offset:5px;min-height:2.75rem;display:inline-flex;align-items:center;gap:.75rem;font-size:.9375rem}
.tg-trial-first__terms{font-size:.8125rem;line-height:1.55;max-width:32rem;color:#c7c9c6;margin:1.35rem 0 0}
.tg-home>.tg-memberships{padding-block:2.7rem 3.5rem;background:#f6f6f3}
.tg-home .tg-memberships .tg-section-heading{margin-bottom:1.65rem}.tg-home .tg-memberships .tg-section-heading h2{font-size:clamp(2rem,3vw,2.7rem);margin-bottom:.6rem}.tg-home .tg-memberships .tg-section-lead{font-size:1rem;margin-bottom:0}.tg-home .tg-memberships .tg-kicker{font-size:.8125rem;letter-spacing:.12em;margin-bottom:.65rem}
.tg-home .tg-membership-grid{gap:0;border:1px solid #d2d3ce;background:#fff;border-radius:3px;overflow:hidden}
.tg-home .tg-membership-grid .tg-membership-card{border:0;border-right:1px solid #d2d3ce;border-radius:0;padding:1.65rem 2rem;min-height:23rem;background:#fff}
.tg-home .tg-membership-grid .tg-membership-card:last-child{border-right:0}.tg-home .tg-membership-grid .tg-membership-card--featured{background:#e9ebe6}
.tg-home .tg-membership-card__eyebrow{font-size:.75rem;letter-spacing:.1em;margin-bottom:.5rem}.tg-home .tg-membership-grid .tg-membership-card h3{font-size:1.5rem;margin-bottom:0}.tg-home .tg-membership-grid .tg-membership-card__price{padding:1.1rem 0;margin-bottom:1rem;gap:.6rem;flex-direction:row;align-items:baseline}.tg-home .tg-membership-grid .tg-membership-card__price strong{font-size:2.8rem}.tg-home .tg-membership-grid .tg-membership-card__price span{font-size:.875rem}.tg-home .tg-membership-card>p:not(.tg-membership-card__eyebrow){font-size:1rem;line-height:1.6}
.tg-home .tg-membership-grid .tg-membership-card .wp-element-button{font-size:.9375rem;border-radius:2px;min-height:2.8rem}
@media(max-width:700px){.tg-trial-first{padding:2rem 1rem 1.75rem}.tg-trial-first:before{inset:0;background-position:55% center}.tg-trial-first:after{background:#171a18df}.tg-trial-first h1{font-size:3.6rem}.tg-trial-first__lead{font-size:1rem}.tg-trial-first__actions{gap:1rem}.tg-trial-first__actions>a:last-child{font-size:.875rem}.tg-trial-first__terms{font-size:.8125rem;margin-top:1rem}.tg-home>.tg-memberships{padding-block:2rem}.tg-home .tg-membership-grid{grid-template-columns:1fr}.tg-home .tg-membership-grid .tg-membership-card{min-height:0;padding:1.5rem;border-right:0;border-bottom:1px solid #d2d3ce}.tg-home .tg-membership-grid .tg-membership-card:last-child{border-bottom:0}.tg-home .tg-membership-grid .tg-membership-card__price{padding:.8rem 0}.tg-home .tg-membership-grid .tg-membership-card__price strong{font-size:2.5rem}}
.tg-home p.tg-trial-first__terms{margin-top:1.2rem;}

/* Brand colour and clear separation for membership choices. */
.tg-home>.tg-memberships{background:#f4f1ee}
.tg-home .tg-memberships .tg-kicker{color:#a9203e;font-weight:700}
.tg-home .tg-membership-grid{gap:1.25rem;border:0;background:transparent;overflow:visible;border-radius:0;align-items:stretch}
.tg-membership-grid .tg-membership-card,
.tg-home .tg-membership-grid .tg-membership-card{border:1px solid #d8d4d0;border-top:5px solid #959a98;border-radius:10px;background:#fff;box-shadow:0 8px 22px #30231e0c;padding:1.8rem;position:relative}
.tg-home .tg-membership-grid .tg-membership-card:last-child{border:1px solid #d8d4d0;border-top:5px solid #292d2c;background:#f8f9f7}
.tg-membership-grid .tg-membership-card--featured,
.tg-home .tg-membership-grid .tg-membership-card--featured{background:#ad203f;border:1px solid #ad203f;border-top:5px solid #ad203f;color:white;box-shadow:0 12px 26px #8a183323}
.tg-membership-grid .tg-membership-card--featured h3,
.tg-membership-grid .tg-membership-card--featured>p,
.tg-membership-grid .tg-membership-card--featured .tg-membership-card__price strong,
.tg-membership-grid .tg-membership-card--featured .tg-membership-card__price span{color:#fff}
.tg-home .tg-membership-grid .tg-membership-card--featured h3,
.tg-home .tg-membership-grid .tg-membership-card--featured>p,
.tg-home .tg-membership-grid .tg-membership-card--featured .tg-membership-card__price strong,
.tg-home .tg-membership-grid .tg-membership-card--featured .tg-membership-card__price span{color:#fff}
.tg-membership-grid .tg-membership-card--featured .tg-membership-card__price{border-bottom-color:#ffffff55}
.tg-home .tg-membership-grid .tg-membership-card__price strong{font-size:3.3rem;font-weight:700}
.tg-membership-grid .tg-membership-card--featured .wp-element-button,
.tg-home .tg-membership-grid .tg-membership-card--featured .wp-element-button{background:#fff;color:#941a35;font-weight:700}
.tg-membership-grid .tg-membership-card--featured .wp-element-button:hover,
.tg-home .tg-membership-grid .tg-membership-card--featured .wp-element-button:hover{background:#fae9ee;color:#79152b}
.tg-trial-first__actions .wp-element-button{background:#ad203f;color:#fff}
.tg-trial-first__actions .wp-element-button:hover{background:#921b35;color:#fff}
.tg-home .tg-text-link{color:#9c1c38}
@media(max-width:700px){.tg-home .tg-membership-grid{gap:1rem}.tg-home .tg-membership-grid .tg-membership-card{padding:1.5rem}.tg-home .tg-membership-grid .tg-membership-card__price strong{font-size:2.8rem}}
