#brx-content:has(.tph-campaign-hero) {
	--campaign-ink: #141f35;
	--campaign-deep: #0b1325;
	--campaign-aqua: #c9f0f0;
	--campaign-paper: #f4f6f9;
	--campaign-gutter: clamp(16px, 6vw, 96px);
	--campaign-space: clamp(48px, 7vw, 80px);
	--campaign-action-space: clamp(10px, 1.25vw, 18px);
}

#brx-content [class*="tph-campaign-"] {
	font-family: Poppins, Figtree, system-ui, sans-serif;
}
#brx-content :is(.tph-campaign-hero, .tph-campaign-intro, .tph-campaign-amenities, .tph-campaign-offer, .tph-campaign-details, .tph-campaign-strip) {
	padding-inline: var(--campaign-gutter);
}
#brx-content :is(.tph-campaign-intro, .tph-campaign-amenities, .tph-campaign-offer, .tph-campaign-details) {
	padding-block: var(--campaign-space);
}
#brx-content :is(#amenities, #how-it-works, #offer, #faqs, #visit-us) {
	scroll-margin-top: 100px;
}
#brx-content .tph-campaign-inner {
	width: 100%;
	max-width: 1280px;
	margin-inline: auto;
	gap: 32px;
}
#brx-content .tph-campaign-split {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(24px, 5vw, 64px);
	align-items: center;
}
#brx-content .tph-campaign-group {
	gap: 12px;
}
#brx-content .tph-campaign-centered {
	max-width: 660px;
	align-items: center;
	gap: 16px;
	text-align: center;
}
#brx-content .tph-campaign-banner {
	margin: 0;
	padding: 9px 16px;
	background: var(--campaign-ink);
	color: var(--campaign-aqua);
	text-align: center;
	font-size: 12px;
	font-weight: 600;
}
#brx-content .tph-campaign-hero {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	justify-content: end;
	min-height: min(850px, max(590px, 86svh));
	padding-block: 72px 56px;
	background: var(--campaign-deep);
	color: #fff;
}
.tph-campaign-hero::after {
	position: absolute;
	z-index: -1;
	inset: 0;
	content: "";
	background: linear-gradient(90deg, #0b1325f2, #0b1325e0 34%, #0b13254d 65%, transparent), linear-gradient(0deg, #0b1325b3, transparent 60%);
}
.tph-campaign-hero .tph-campaign-media {
	position: absolute;
	z-index: -2;
	inset: 0;
	width: 100%;
	height: 100%;
}
.tph-campaign-media picture,
.tph-campaign-media .tph-campaign-photo {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 46%;
}
.tph-campaign-hero-inner > .tph-campaign-group {
	max-width: 575px;
}
#brx-content :is(.tph-campaign-eyebrow, .tph-campaign-title, .tph-campaign-heading, .tph-campaign-copy, .tph-campaign-subhead, .tph-campaign-price, .tph-campaign-summary) {
	margin: 0;
}
#brx-content .tph-campaign-eyebrow {
	font-size: 12px;
	line-height: 1.35;
	font-weight: 600;
	text-transform: uppercase;
}
#brx-content .tph-campaign-title {
	color: #fff;
	font-size: clamp(46px, 7vw, 72px);
	font-weight: 900;
	letter-spacing: -.035em;
	line-height: .99;
	text-transform: uppercase;
}
.tph-campaign-accent {
	display: block;
	color: var(--campaign-aqua);
}
#brx-content :is(.tph-campaign-hero, .tph-campaign-offer) .tph-campaign-eyebrow { color: var(--campaign-aqua); }
#brx-content .tph-campaign-heading,
#brx-content .tph-location-faqs h2,
#brx-content .tph-location-steps h2 {
	color: inherit;
	font: 800 clamp(30px, 4.4vw, 48px)/1.08 Poppins, Figtree, system-ui, sans-serif;
	letter-spacing: -.03em;
	text-wrap: balance;
}
#brx-content .tph-campaign-subhead { font-size: clamp(17px, 2vw, 24px); font-weight: 600; line-height: 1.3; }
#brx-content .tph-campaign-copy { max-width: 62ch; font-size: 16px; line-height: 1.6; }
#brx-content .tph-campaign-summary { font-size: 13px; line-height: 1.5; }
#brx-content .tph-campaign-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	align-self: start;
	gap: 10px;
	min-height: 54px;
	padding: 12px 26px;
	border: 0;
	border-radius: 100vw;
	background: var(--campaign-aqua);
	color: var(--campaign-ink);
	font-weight: 800;
	font-size: 14px;
	line-height: 1.3;
	text-decoration: none;
	white-space: normal;
	text-align: center;
}
#brx-content .tph-campaign-button::after { content: "→" / ""; font-size: 16px; }
#brx-content .tph-campaign-button:hover { background: #e4f8f8; }
#brx-content .tph-campaign-button:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
#brx-content :is(.tph-campaign-hero, .tph-campaign-offer) .tph-campaign-button {
	margin-block-start: var(--campaign-action-space);
}
#brx-content :is(.tph-campaign-centered, .tph-campaign-cta-row, .tph-campaign-sticky) .tph-campaign-button { align-self: center; }
#brx-content .tph-campaign-highlights {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
	margin: 4px 0 0;
	padding: 12px 0 0;
	border-top: 1px solid #c9f0f04d;
	list-style: none;
	font-size: 12px;
}
.tph-campaign-highlights > li { display: flex; gap: 6px; }
.tph-campaign-highlights > li::before { content: "✓" / ""; color: var(--campaign-aqua); }
#brx-content .tph-campaign-strip { padding-block: 12px; background: var(--campaign-aqua); color: var(--campaign-ink); }
.tph-campaign-strip .brxe-text-basic { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px clamp(16px, 3.2vw, 40px); width: 100%; font-size: 13px; font-weight: 800; text-transform: uppercase; text-align: center; }
#brx-content :is(.tph-campaign-intro, .tph-campaign-details) { background: var(--campaign-paper); color: var(--campaign-ink); }
#brx-content .tph-campaign-amenities { background: #fff; color: var(--campaign-ink); }
#brx-content .tph-campaign-amenities .tph-campaign-split { align-items: end; }
#brx-content .tph-campaign-cta-row {
	flex-flow: row wrap;
	gap: 14px 20px;
	align-items: center;
	justify-content: center;
	margin-block-start: var(--campaign-action-space);
}
#brx-content .tph-campaign-amenity-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 32px 24px;
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: amenities;
}
.tph-campaign-amenities .brxe-shortcode,
.tph-campaign-details .brxe-shortcode,
.tph-campaign-steps .brxe-shortcode,
.tph-campaign-faq .brxe-shortcode { width: 100%; }
.tph-campaign-amenity-grid__item { counter-increment: amenities; }
.tph-campaign-amenity-grid__image { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 4px; }
.tph-campaign-amenity-grid__copy { padding-top: 16px; }
.tph-campaign-amenity-grid__meta { margin: 0 0 6px; font-size: 12px; color: #545e70; }
.tph-campaign-amenity-grid__meta::before { content: counter(amenities, decimal-leading-zero) " / "; }
#brx-content .tph-campaign-amenity-grid__title { margin: 0 0 6px; font-size: 20px; font-weight: 700; }
.tph-campaign-amenity-grid__description, .tph-campaign-amenity-note { margin: 0; font-size: 14px; color: #444f61; }
.tph-campaign-amenity-note { margin-top: 16px; }
#brx-content .tph-location-steps { padding: var(--campaign-space) var(--campaign-gutter); background: var(--campaign-ink); }
#brx-content .tph-location-steps__inner { max-width: 1280px; }
#brx-content .tph-location-steps :is(h3, p) { font-family: Poppins, Figtree, system-ui, sans-serif; }
#brx-content .tph-location-steps__list { gap: 24px; }
#brx-content .tph-campaign-offer { background: var(--campaign-deep); color: #fff; }
#brx-content .tph-campaign-price { font-size: clamp(76px, 12vw, 128px); line-height: .95; color: var(--campaign-aqua); font-weight: 900; letter-spacing: -.055em; }
#brx-content .tph-campaign-faq { padding-bottom: var(--campaign-space); background: #fff; color: var(--campaign-ink); }
#brx-content .tph-location-faqs { padding: var(--campaign-space) var(--campaign-gutter) 0; }
#brx-content .tph-location-faqs__inner { display: block; max-width: 768px; }
#brx-content .tph-location-faqs__header { margin-bottom: 28px; }
#brx-content .tph-location-faqs__header h2 { margin: 12px 0 0; }
#brx-content .tph-location-faqs summary { padding-block: 18px; font-size: 16px; }
#brx-content .tph-location-faqs__answer { padding-bottom: 18px; font-size: 14px; }
#brx-content .tph-campaign-faq-cta { padding: clamp(42px, 4vw, 52px) var(--campaign-gutter) 0; }
#brx-content .tph-campaign-contact { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 310px), 1fr)); gap: 24px 44px; }
.tph-campaign-contact h3 { font-size: 21px; margin: 0 0 12px; }
.tph-campaign-contact address { font-style: normal; }
.tph-campaign-contact address p, .tph-campaign-contact dl { margin: 0 0 7px; }
.tph-campaign-contact dl > div { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; max-width: 480px; margin-bottom: 6px; }
.tph-campaign-contact dd { margin: 0; }
.tph-campaign-contact a { color: inherit; text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
.tph-campaign-gallery { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; margin: 32px 0 0; padding: 0; list-style: none; }
.tph-campaign-gallery img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 4px; }
body.single-tph_location:has(.tph-campaign-sticky) #sticky-start-now-button {
	display: none;
}
#brx-content .tph-campaign-sticky {
	display: flex;
	position: fixed;
	z-index: 997;
	inset: auto 0 0;
	padding: 10px var(--campaign-gutter) calc(10px + env(safe-area-inset-bottom, 0px));
	border-top: 1px solid #c9f0f04d;
	background: var(--campaign-ink);
	color: #fff;
}
#brx-content .tph-campaign-sticky .tph-campaign-inner {
	flex-flow: row nowrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}
#brx-content .tph-campaign-sticky .tph-campaign-inner > .brxe-block {
	flex: 1 1 auto;
	min-width: 0;
}
#brx-content .tph-campaign-sticky .tph-campaign-subhead { font-size: 16px; }
#brx-content .tph-campaign-sticky .tph-campaign-summary { color: var(--campaign-aqua); font-size: 12px; margin-top: 3px; }
#brx-content .tph-campaign-sticky .tph-campaign-button { flex: none; min-height: 44px; max-width: 52%; padding-block: 8px; }
body:has(.tph-campaign-sticky) #brx-footer { margin-bottom: calc(82px + env(safe-area-inset-bottom, 0px)); }
body:has(.tph-day-pass[open], .show-mobile-menu) #brx-content .tph-campaign-sticky { display: none; }
@media (max-width: 1023px) {
	#brx-content .tph-campaign-amenity-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 767px) {
	#brx-content .tph-campaign-split { grid-template-columns: minmax(0,1fr); gap: 20px; }
	#brx-content .tph-campaign-hero { min-height: 0; padding-block: clamp(200px, 45vw, 290px) 28px; }
	.tph-campaign-hero .tph-campaign-media { height: 325px; }
	.tph-campaign-hero::after { background: linear-gradient(0deg, var(--campaign-deep) 40%, #0b1325ed 55%, #0b132565 75%, transparent 93%); }
	#brx-content .tph-campaign-sticky .tph-campaign-subhead { font-size: 12px; }
	#brx-content .tph-campaign-sticky .tph-campaign-summary { font-size: 10px; }
	#brx-content .tph-campaign-sticky .tph-campaign-button { padding-inline: 12px; font-size: 12px; }
}
@media (max-width: 639px) {
	#brx-content .tph-campaign-amenity-grid { grid-template-columns: minmax(0,1fr); }
	#brx-content .tph-campaign-hero .tph-campaign-button { width: 100%; }
	#brx-content .tph-campaign-highlights { font-size: 10px; }
	.tph-campaign-gallery { grid-template-columns: minmax(0,1fr); }
}
