/* ROARR public/editor base. Tokens first, block CSS after. */

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

html {
	-webkit-text-size-adjust: 100%;
}

body,
.editor-styles-wrapper {
	margin: 0;
	background: var(--cream);
	color: var(--text-primary);
	font-family: var(--font-body);
	font-size: var(--wp--preset--font-size--body-md);
	font-weight: var(--weight-medium);
	font-synthesis: none;
	line-height: var(--lh-loose);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.roarr-site-main {
	min-height: 100vh;
	overflow: clip;
}

:is(body, .editor-styles-wrapper) :is(h1, h2, h3, h4, h5, h6),
:is(body, .editor-styles-wrapper) :is(p, ul, ol, figure) {
	margin-block: 0;
}

:is(body, .editor-styles-wrapper) :is(h1, h2, h3, h4, h5, h6) {
	font-family: var(--font-display);
	font-weight: var(--weight-heavy);
	line-height: var(--lh-tight);
	letter-spacing: 0;
	text-transform: uppercase;
	color: inherit;
}

:is(body, .editor-styles-wrapper) :is(h1, h2) {
	font-family: var(--font-brand);
	font-weight: var(--weight-regular);
	font-synthesis: none;
}

:is(body, .editor-styles-wrapper) :is(h3, h4, h5, h6) {
	font-weight: var(--weight-bold);
	text-transform: none;
}

:is(body, .editor-styles-wrapper) p + p {
	margin-top: var(--space-16);
}

:is(body, .editor-styles-wrapper) a {
	color: inherit;
	text-decoration: none;
}

:is(body, .editor-styles-wrapper) a:hover,
:is(body, .editor-styles-wrapper) a:focus-visible {
	text-decoration: underline;
}

:is(body, .editor-styles-wrapper) :is(img, svg, video) {
	display: block;
	max-width: 100%;
	height: auto;
}

:is(body, .editor-styles-wrapper) button {
	font: inherit;
	cursor: pointer;
}

:is(body, .editor-styles-wrapper) :is(ul, ol) {
	padding: 0;
	list-style: none;
}

:is(body, .editor-styles-wrapper) table {
	width: 100%;
	border-collapse: collapse;
}

.container {
	width: min(100% - 2 * var(--gutter-mobile), var(--container-width));
	margin-inline: auto;
}

.container-wide {
	width: min(100% - 2 * var(--gutter-mobile), var(--container-wide-width));
	margin-inline: auto;
}

.roarr-section > :where(:not(.alignfull):not(style):not(script)) {
	width: min(100% - 2 * var(--gutter-mobile), var(--container-width));
	margin-inline: auto;
}

.roarr-site-main > .roarr-ticket-card-grid {
	width: min(100% - 2 * var(--gutter-mobile), var(--container-width));
	margin-inline: auto;
	margin-top: calc(var(--space-64) + var(--space-40));
	margin-bottom: calc(var(--space-64) + var(--space-24));
}

.roarr-reviews-band > .roarr-reviews-band__cards {
	width: min(100% - 2 * var(--gutter-mobile), var(--container-wide-width));
	margin-inline: auto;
}

@media (max-width: 639px) {
	.roarr-site-main .roarr-reviews-band > .roarr-reviews-band__cards {
		width: 100%;
		margin-inline: 0;
	}
}

@media (min-width: 768px) {
	.container,
	.container-wide {
		width: min(100% - 2 * var(--gutter-tablet), var(--container-width));
	}

	.container-wide {
		width: min(100% - 2 * var(--gutter-tablet), var(--container-wide-width));
	}

	.roarr-section > :where(:not(.alignfull):not(style):not(script)) {
		width: min(100% - 2 * var(--gutter-tablet), var(--container-width));
	}

	.roarr-site-main > .roarr-ticket-card-grid {
		width: min(100% - 2 * var(--gutter-tablet), var(--container-width));
	}

	.roarr-reviews-band > .roarr-reviews-band__cards {
		width: min(100% - 2 * var(--gutter-tablet), var(--container-wide-width));
	}
}

@media (min-width: 1024px) {
	.container {
		width: min(100% - 2 * var(--gutter-desktop), var(--container-width));
	}

	.container-wide {
		width: min(100% - 2 * var(--gutter-desktop), var(--container-wide-width));
	}

	.roarr-section > :where(:not(.alignfull):not(style):not(script)) {
		width: min(100% - 2 * var(--gutter-desktop), var(--container-width));
	}

	.roarr-site-main > .roarr-ticket-card-grid {
		width: min(100% - 2 * var(--gutter-desktop), var(--container-width));
	}

	.roarr-reviews-band > .roarr-reviews-band__cards {
		width: min(100% - 2 * var(--gutter-desktop), var(--container-wide-width));
	}
}

.has-text-align-center {
	text-align: center;
}

.has-text-align-left {
	text-align: left;
}

.has-text-align-right {
	text-align: right;
}

ul.brand-list {
	display: flex;
	flex-direction: column;
	gap: var(--space-8);
}

ul.brand-list li {
	position: relative;
	min-height: var(--space-24);
	padding-left: var(--space-40);
}

ul.brand-list li::before {
	content: "";
	position: absolute;
	top: var(--space-4);
	left: 0;
	width: var(--space-24);
	height: var(--space-24);
	border-radius: var(--radius-xs);
	background: var(--primary);
}

ul.brand-list li::after {
	content: "";
	position: absolute;
	top: var(--space-12);
	left: var(--space-6);
	width: var(--space-12);
	height: var(--space-8);
	border: solid var(--white);
	border-width: 0 0 2px 2px;
	transform: rotate(-45deg);
}

:is(.on-dark, .roarr-section--dark, .roarr-section--dark-forest-break) ul.brand-list li::before {
	background: var(--yellow);
}

:is(.on-dark, .roarr-section--dark, .roarr-section--dark-forest-break) ul.brand-list li::after {
	border-color: var(--black);
}

.roarr-site-main :is(.roarr-split--map, .is-style-roarr-split-map) .roarr-split__media img,
.editor-styles-wrapper :is(.roarr-split--map, .is-style-roarr-split-map) .roarr-split__media img {
	aspect-ratio: var(--image-ratio-plan-map);
	object-fit: contain;
}

.roarr-site-main :is(.roarr-split--map, .is-style-roarr-split-map) .roarr-leaf-heading em::after,
.editor-styles-wrapper :is(.roarr-split--map, .is-style-roarr-split-map) .roarr-leaf-heading em::after {
	content: "";
	display: block;
}

@media (min-width: 1024px) {
	.roarr-site-main :is(.roarr-split--map, .is-style-roarr-split-map),
	.editor-styles-wrapper :is(.roarr-split--map, .is-style-roarr-split-map) {
		grid-template-columns: minmax(0, 0.74fr) minmax(0, 1.46fr);
		gap: var(--space-64);
	}
}

.roarr-site-main .roarr-ticket-card-grid > *,
.roarr-site-main .roarr-reviews-band__cards > *,
.roarr-site-main .roarr-card-grid > * {
	margin-block-start: 0;
}

.roarr-site-main .wp-block-group.roarr-ticket-card {
	grid-template-columns: minmax(0, 1fr) minmax(var(--ticket-card-visual-inline), 52%);
	grid-template-rows: var(--space-48) var(--space-48) var(--space-32) auto auto minmax(0, 1fr) auto;
	grid-template-areas:
		"title title"
		"copy copy"
		". visual"
		"eyebrow visual"
		"value visual"
		". visual"
		"link visual";
	align-items: end;
	row-gap: var(--space-8);
	column-gap: var(--space-8);
}

.roarr-site-main .wp-block-group.roarr-ticket-card > :is(h2, h3) {
	grid-area: title;
	margin: 0;
	width: 100%;
	max-width: none;
	color: var(--text-primary);
	font-family: var(--font-heading);
	font-size: var(--text-lg);
	font-weight: var(--weight-heavy);
	line-height: var(--lh-snug);
	text-align: center;
	text-transform: uppercase;
	text-wrap: balance;
}

.roarr-site-main .wp-block-group.roarr-ticket-card > .roarr-ticket-card__price-eyebrow {
	grid-area: eyebrow;
	justify-self: start;
	align-self: end;
	margin: 0;
	color: var(--text-primary);
	font-family: var(--font-heading);
	font-size: var(--text-sm);
	font-weight: var(--weight-heavy);
	line-height: var(--lh-solid);
	text-align: left;
	text-transform: uppercase;
	white-space: nowrap;
}

.roarr-site-main .wp-block-group.roarr-ticket-card > .roarr-ticket-card__copy {
	grid-area: copy;
	justify-self: center;
	align-self: start;
	margin: 0;
	max-width: 24ch;
	text-align: center;
}

.roarr-site-main .wp-block-group.roarr-ticket-card > .roarr-ticket-card__price-value {
	grid-area: value;
	justify-self: start;
	align-self: start;
	margin: 0;
	max-width: 10ch;
	color: var(--amber);
	font-family: var(--font-heading);
	font-size: clamp(var(--text-lg), 1.75vw, var(--text-xl));
	font-weight: var(--weight-heavy);
	line-height: var(--lh-solid);
	text-align: left;
	text-transform: uppercase;
	text-wrap: balance;
	white-space: nowrap;
}

.roarr-site-main .wp-block-group.roarr-ticket-card > .wp-block-buttons {
	grid-area: link;
	justify-self: start;
	align-self: end;
	margin: 0;
}

.roarr-site-main .wp-block-group.roarr-ticket-card .roarr-ticket-card__link .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	gap: var(--space-8);
	padding: 0;
	border: 0;
	background: none;
	color: var(--primary);
	font-family: var(--font-heading);
	font-size: var(--text-sm);
	font-weight: var(--weight-heavy);
	text-transform: uppercase;
	white-space: nowrap;
}

.roarr-site-main .wp-block-group.roarr-ticket-card .roarr-ticket-card__link .wp-block-button__link::after {
	content: ">";
}

.roarr-site-main .wp-block-group.roarr-ticket-card .wp-block-button.roarr-ticket-card__link::after {
	content: none;
}

.roarr-site-main .wp-block-group.roarr-ticket-card > .wp-block-image {
	--ticket-asset-max-width: 118%;
	--ticket-asset-max-height: 118%;
	--ticket-asset-x: 0px;
	--ticket-asset-y: 0px;
	--ticket-asset-rotate: 0deg;
	--ticket-asset-scale: 1;
	--ticket-asset-origin: 50% 50%;
	--ticket-asset-margin-right: 0px;
	--ticket-asset-margin-bottom: 0px;
	grid-area: visual;
	display: flex;
	align-items: flex-end;
	justify-content: flex-end;
	justify-self: end;
	align-self: end;
	min-width: 0;
	inline-size: var(--ticket-card-visual-inline);
	block-size: var(--ticket-card-visual-size);
	margin: 0 var(--ticket-card-visual-shift-x) var(--ticket-card-visual-shift-y) 0;
	overflow: visible;
	pointer-events: none;
}

.roarr-site-main .wp-block-group.roarr-ticket-card > .wp-block-image img {
	width: auto;
	height: auto;
	max-width: var(--ticket-asset-max-width);
	max-height: var(--ticket-asset-max-height);
	margin-right: var(--ticket-asset-margin-right);
	margin-bottom: var(--ticket-asset-margin-bottom);
	object-fit: contain;
	object-position: right bottom;
	transform: translate(var(--ticket-asset-x), var(--ticket-asset-y)) rotate(var(--ticket-asset-rotate)) scale(var(--ticket-asset-scale));
	transform-origin: var(--ticket-asset-origin);
}

.roarr-site-main .wp-block-group.roarr-ticket-card:is(.is-style-roarr-ticket-card-annual-pass, .is-style-roarr-ticket-annual-pass, .is-style-roarr-ticket-card-exclusive-adventure, .is-style-roarr-ticket-exclusive-adventure) {
	--ticket-card-visual-inline: clamp(var(--space-112), 61.3cqi, calc(var(--space-128) + var(--space-24)));
}

.roarr-site-main .wp-block-group.roarr-ticket-card:is(.is-style-roarr-ticket-card-exclusive-adventure, .is-style-roarr-ticket-exclusive-adventure) {
	gap: 0;
	row-gap: var(--space-8);
}

.roarr-site-main .wp-block-group.roarr-ticket-card:is(.is-style-roarr-ticket-card-exclusive-adventure, .is-style-roarr-ticket-exclusive-adventure) > .wp-block-image {
	align-items: flex-start;
	padding-top: var(--space-16);
}

.roarr-site-main .wp-block-group.roarr-ticket-card:is(.is-style-roarr-ticket-card-exclusive-adventure, .is-style-roarr-ticket-exclusive-adventure) > :is(.roarr-ticket-card__price-eyebrow, .roarr-ticket-card__price-value) {
	transform: none;
}

.roarr-site-main .wp-block-group.roarr-ticket-card > .wp-block-image.is-style-roarr-ticket-asset-dino {
	--ticket-asset-max-width: 146%;
	--ticket-asset-max-height: 132%;
	--ticket-asset-x: clamp(10px, 5.65cqi, 14px);
	--ticket-asset-y: clamp(8px, 4.03cqi, 10px);
	--ticket-asset-scale: 0.83;
}

.roarr-site-main .wp-block-group.roarr-ticket-card > .wp-block-image.is-style-roarr-ticket-asset-hatchling {
	--ticket-asset-max-width: 146%;
	--ticket-asset-max-height: 132%;
	--ticket-asset-x: clamp(-6px, -2.42cqi, -4px);
	--ticket-asset-y: clamp(24px, 14.92cqi, 37px);
	--ticket-asset-scale: 0.81;
}

.roarr-site-main .wp-block-group.roarr-ticket-card > .wp-block-image.is-style-roarr-ticket-asset-school {
	--ticket-asset-max-width: 122%;
	--ticket-asset-max-height: 128%;
	--ticket-asset-x: -62px;
	--ticket-asset-y: -68px;
	--ticket-asset-scale: 1.6;
	--ticket-asset-margin-right: calc(var(--space-64) * -1);
	--ticket-asset-margin-bottom: calc(var(--space-40) * -1);
}

.roarr-site-main .wp-block-group.roarr-ticket-card > .wp-block-image.is-style-roarr-ticket-asset-pass {
	--ticket-asset-max-width: 92%;
	--ticket-asset-x: -22px;
	--ticket-asset-y: 19px;
	--ticket-asset-rotate: -7deg;
	--ticket-asset-scale: 1.49;
	--ticket-asset-origin: 54% 58%;
	--ticket-asset-margin-right: var(--space-8);
	--ticket-asset-margin-bottom: var(--space-8);
}

@media (max-width: 1279px) {
	.roarr-site-main .wp-block-group.roarr-ticket-card {
		--ticket-card-visual-inline: clamp(var(--space-96), 52cqi, var(--space-128));
		--ticket-card-visual-size: clamp(var(--space-112), 65cqi, calc(var(--space-128) + var(--space-32)));
		min-height: calc(var(--space-128) + var(--space-64));
	}

	.roarr-site-main .wp-block-group.roarr-ticket-card:is(.is-style-roarr-ticket-card-annual-pass, .is-style-roarr-ticket-annual-pass, .is-style-roarr-ticket-card-exclusive-adventure, .is-style-roarr-ticket-exclusive-adventure) {
		--ticket-card-visual-inline: clamp(var(--space-96), 49cqi, calc(var(--space-112) + var(--space-8)));
	}

	.roarr-site-main .wp-block-group.roarr-ticket-card > .wp-block-image {
		transform: translateX(calc(var(--space-16) * -1));
	}

	.roarr-site-main .wp-block-group.roarr-ticket-card > .wp-block-image.is-style-roarr-ticket-asset-dino {
		--ticket-asset-x: clamp(8px, 4.5cqi, 11px);
		--ticket-asset-y: clamp(6px, 3.2cqi, 8px);
	}

	.roarr-site-main .wp-block-group.roarr-ticket-card > .wp-block-image.is-style-roarr-ticket-asset-hatchling {
		--ticket-asset-x: clamp(-5px, -1.9cqi, -3px);
		--ticket-asset-y: clamp(19px, 11.9cqi, 30px);
	}

	.roarr-site-main .wp-block-group.roarr-ticket-card > .wp-block-image.is-style-roarr-ticket-asset-school {
		--ticket-asset-x: -50px;
		--ticket-asset-y: -54px;
		--ticket-asset-margin-right: calc(var(--space-48) * -1);
		--ticket-asset-margin-bottom: calc(var(--space-32) * -1);
	}

	.roarr-site-main .wp-block-group.roarr-ticket-card > .wp-block-image.is-style-roarr-ticket-asset-pass {
		--ticket-asset-x: -18px;
		--ticket-asset-y: 15px;
		--ticket-asset-margin-right: var(--space-8);
		--ticket-asset-margin-bottom: var(--space-8);
	}
}

@media (min-width: 1280px) {
	.roarr-site-main .wp-block-group.roarr-ticket-card,
	.roarr-site-main .wp-block-group.roarr-ticket-card:is(.is-style-roarr-ticket-card-exclusive-adventure, .is-style-roarr-ticket-exclusive-adventure) {
		grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
		column-gap: var(--space-8);
	}

	.roarr-site-main .wp-block-group.roarr-ticket-card :is(.roarr-ticket-card__copy, .roarr-ticket-card__price-eyebrow, .roarr-ticket-card__link .wp-block-button__link) {
		font-size: var(--text-xs);
	}
}

@media (max-width: 639px) {
	.roarr-site-main .wp-block-group.roarr-ticket-card,
	.roarr-site-main .wp-block-group.roarr-ticket-card:is(.is-style-roarr-ticket-card-exclusive-adventure, .is-style-roarr-ticket-exclusive-adventure) {
		grid-template-columns: minmax(0, 1fr);
		grid-template-rows: repeat(6, auto);
		grid-template-areas:
			"title"
			"copy"
			"visual"
			"eyebrow"
			"value"
			"link";
		gap: var(--space-8);
		justify-items: center;
		min-height: 0;
		padding: var(--space-16);
	}

	.roarr-site-main .wp-block-group.roarr-ticket-card > :is(h2, h3) {
		display: grid;
		place-items: center;
		min-height: calc(var(--space-24) * 3);
	}

	.roarr-site-main .wp-block-group.roarr-ticket-card > .roarr-ticket-card__copy {
		margin-top: 0;
		min-height: 4.2em;
		max-width: none;
		text-align: center;
	}

	.roarr-site-main .wp-block-group.roarr-ticket-card > .wp-block-image,
	.roarr-site-main .wp-block-group.roarr-ticket-card:is(.is-style-roarr-ticket-card-exclusive-adventure, .is-style-roarr-ticket-exclusive-adventure) > .wp-block-image {
		justify-self: center;
		align-self: end;
		align-items: flex-end;
		justify-content: center;
		inline-size: clamp(var(--space-96), 64cqi, calc(var(--space-112) + var(--space-16)));
		block-size: clamp(var(--space-96), 64cqi, calc(var(--space-112) + var(--space-16)));
		margin: 0;
		padding-top: 0;
		transform: none;
	}

	.roarr-site-main .wp-block-group.roarr-ticket-card > .wp-block-image {
		--ticket-asset-x: 0px;
		--ticket-asset-y: 0px;
		--ticket-asset-rotate: 0deg;
		--ticket-asset-scale: 1;
		--ticket-asset-max-width: 100%;
		--ticket-asset-max-height: 100%;
		--ticket-asset-margin-right: 0px;
		--ticket-asset-margin-bottom: 0px;
	}

	.roarr-site-main .wp-block-group.roarr-ticket-card > .wp-block-image img {
		object-position: center bottom;
	}

	.roarr-site-main .wp-block-group.roarr-ticket-card > .wp-block-image.is-style-roarr-ticket-asset-dino {
		--ticket-asset-y: 1px;
		--ticket-asset-scale: 1.03;
	}

	.roarr-site-main .wp-block-group.roarr-ticket-card > .wp-block-image.is-style-roarr-ticket-asset-school {
		--ticket-asset-x: -5px;
		--ticket-asset-y: 12px;
		--ticket-asset-scale: 1.6;
		--ticket-asset-origin: 50% 100%;
	}

	.roarr-site-main .wp-block-group.roarr-ticket-card > .wp-block-image.is-style-roarr-ticket-asset-hatchling {
		--ticket-asset-x: -3px;
		--ticket-asset-y: 7px;
		--ticket-asset-scale: 1.2;
	}

	.roarr-site-main .wp-block-group.roarr-ticket-card > .wp-block-image.is-style-roarr-ticket-asset-pass {
		--ticket-asset-x: 4px;
		--ticket-asset-y: 1px;
		--ticket-asset-rotate: -7deg;
		--ticket-asset-scale: 1.22;
	}

	.roarr-site-main .wp-block-group.roarr-ticket-card > :is(.roarr-ticket-card__price-eyebrow, .roarr-ticket-card__price-value),
	.roarr-site-main .wp-block-group.roarr-ticket-card:is(.is-style-roarr-ticket-card-exclusive-adventure, .is-style-roarr-ticket-exclusive-adventure) > :is(.roarr-ticket-card__price-eyebrow, .roarr-ticket-card__price-value) {
		justify-self: center;
		max-width: none;
		text-align: center;
		transform: none;
	}

	.roarr-site-main .wp-block-group.roarr-ticket-card > .wp-block-buttons {
		align-self: center;
		justify-self: center;
	}

	.roarr-site-main .wp-block-group.roarr-ticket-card .roarr-ticket-card__link .wp-block-button__link {
		gap: var(--space-4);
		font-size: var(--text-xs);
	}
}

.roarr-site-main .wp-block-group.roarr-ticket-card:has(> .roarr-ticket-card__body) {
	grid-template-columns: none;
	grid-template-rows: auto 1fr;
	grid-template-areas: none;
	align-content: stretch;
	gap: var(--space-24);
}

.roarr-site-main .wp-block-group.roarr-ticket-card:has(> .roarr-ticket-card__body) > :is(h2, h3) {
	position: relative;
	z-index: 3;
	grid-area: auto;
}

.roarr-site-main .wp-block-group.roarr-ticket-card:has(> .roarr-ticket-card__body) :where(.is-layout-flow) > * + * {
	margin-block-start: 0;
}

.roarr-site-main .wp-block-group.roarr-ticket-card:has(> .roarr-ticket-card__body) :where(p, figure, .wp-block-group, .wp-block-buttons) {
	margin-block: 0;
}

.roarr-site-main .wp-block-group.roarr-ticket-card > .roarr-ticket-card__body {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(var(--ticket-card-visual-inline), 52%);
	grid-template-areas:
		"copy copy"
		"price visual"
		"link visual";
	column-gap: var(--space-8);
	row-gap: var(--space-8);
	align-items: end;
	min-height: calc(var(--space-128) + var(--space-32));
}

.roarr-site-main .wp-block-group.roarr-ticket-card .roarr-ticket-card__content {
	display: contents;
}

.roarr-site-main .wp-block-group.roarr-ticket-card .roarr-ticket-card__copy {
	grid-area: copy;
	justify-self: center;
	margin: 0;
	max-width: 24ch;
	color: var(--text-secondary);
	font-size: var(--text-sm);
	font-weight: var(--weight-bold);
	line-height: var(--lh-normal);
	text-align: center;
	overflow-wrap: anywhere;
}

.roarr-site-main .wp-block-group.roarr-ticket-card .roarr-ticket-card__price {
	grid-area: price;
	position: relative;
	z-index: 3;
	display: grid;
	align-content: end;
	justify-items: start;
	gap: var(--space-8);
	margin-top: 0;
	color: var(--amber);
	font-family: var(--font-heading);
	font-size: clamp(var(--text-lg), 1.75vw, var(--text-xl));
	font-weight: var(--weight-heavy);
	line-height: var(--lh-solid);
	text-align: left;
	text-transform: uppercase;
}

.roarr-site-main .wp-block-group.roarr-ticket-card .roarr-ticket-card__price > p {
	margin: 0;
}

.roarr-site-main .wp-block-group.roarr-ticket-card .roarr-ticket-card__price-eyebrow {
	color: var(--text-primary);
	font-size: var(--text-sm);
	line-height: var(--lh-solid);
	white-space: nowrap;
}

.roarr-site-main .wp-block-group.roarr-ticket-card:has(> .roarr-ticket-card__body) .roarr-ticket-card__price-value {
	color: inherit;
	font: inherit;
	line-height: inherit;
	white-space: nowrap;
}

.roarr-site-main .wp-block-group.roarr-ticket-card .roarr-ticket-card__price--message {
	justify-items: start;
	max-width: 10ch;
	font-size: clamp(var(--text-lg), 1.75vw, var(--text-xl));
	line-height: var(--lh-solid);
	text-align: left;
	text-wrap: balance;
}

.roarr-site-main .wp-block-group.roarr-ticket-card .roarr-ticket-card__price--message .roarr-ticket-card__price-value {
	display: block;
}

.roarr-site-main .wp-block-group.roarr-ticket-card .wp-block-buttons {
	grid-area: link;
	position: relative;
	z-index: 3;
	align-self: end;
	margin: 0;
}

.roarr-site-main .wp-block-group.roarr-ticket-card .wp-block-image.roarr-ticket-card__visual {
	--ticket-asset-max-width: 118%;
	--ticket-asset-max-height: 118%;
	--ticket-asset-x: 0px;
	--ticket-asset-y: 0px;
	--ticket-asset-rotate: 0deg;
	--ticket-asset-scale: 1;
	--ticket-asset-origin: 50% 50%;
	--ticket-asset-margin-right: 0px;
	--ticket-asset-margin-bottom: 0px;
	position: relative;
	z-index: 1;
	grid-area: visual;
	display: flex;
	align-items: flex-end;
	justify-content: flex-end;
	justify-self: end;
	align-self: end;
	min-width: 0;
	inline-size: var(--ticket-card-visual-inline);
	block-size: var(--ticket-card-visual-size);
	margin: 0 var(--ticket-card-visual-shift-x) var(--ticket-card-visual-shift-y) 0;
	overflow: visible;
	pointer-events: none;
}

.roarr-site-main .wp-block-group.roarr-ticket-card .wp-block-image.roarr-ticket-card__visual img {
	width: auto;
	height: auto;
	max-width: var(--ticket-asset-max-width);
	max-height: var(--ticket-asset-max-height);
	margin-right: var(--ticket-asset-margin-right);
	margin-bottom: var(--ticket-asset-margin-bottom);
	object-fit: contain;
	object-position: right bottom;
	transform: translate(var(--ticket-asset-x), var(--ticket-asset-y)) rotate(var(--ticket-asset-rotate)) scale(var(--ticket-asset-scale));
	transform-origin: var(--ticket-asset-origin);
}

.roarr-site-main .wp-block-group.roarr-ticket-card:is(.is-style-roarr-ticket-card-exclusive-adventure, .is-style-roarr-ticket-exclusive-adventure) .roarr-ticket-card__body {
	row-gap: var(--space-8);
}

.roarr-site-main .wp-block-group.roarr-ticket-card:is(.is-style-roarr-ticket-card-exclusive-adventure, .is-style-roarr-ticket-exclusive-adventure) .wp-block-image.roarr-ticket-card__visual {
	align-items: flex-start;
	padding-top: var(--space-16);
}

.roarr-site-main .wp-block-group.roarr-ticket-card:is(.is-style-roarr-ticket-card-exclusive-adventure, .is-style-roarr-ticket-exclusive-adventure) .roarr-ticket-card__price {
	transform: none;
}

.roarr-site-main .wp-block-group.roarr-ticket-card .wp-block-image.roarr-ticket-card__visual.is-style-roarr-ticket-asset-dino {
	--ticket-asset-max-width: 146%;
	--ticket-asset-max-height: 132%;
	--ticket-asset-x: clamp(10px, 5.65cqi, 14px);
	--ticket-asset-y: clamp(8px, 4.03cqi, 10px);
	--ticket-asset-scale: 0.83;
}

.roarr-site-main .wp-block-group.roarr-ticket-card .wp-block-image.roarr-ticket-card__visual.is-style-roarr-ticket-asset-hatchling {
	--ticket-asset-max-width: 146%;
	--ticket-asset-max-height: 132%;
	--ticket-asset-x: clamp(-6px, -2.42cqi, -4px);
	--ticket-asset-y: clamp(24px, 14.92cqi, 37px);
	--ticket-asset-scale: 0.81;
}

.roarr-site-main .wp-block-group.roarr-ticket-card .wp-block-image.roarr-ticket-card__visual.is-style-roarr-ticket-asset-school {
	--ticket-asset-max-width: 122%;
	--ticket-asset-max-height: 128%;
	--ticket-asset-x: -62px;
	--ticket-asset-y: -68px;
	--ticket-asset-scale: 1.6;
	--ticket-asset-margin-right: calc(var(--space-64) * -1);
	--ticket-asset-margin-bottom: calc(var(--space-40) * -1);
}

.roarr-site-main .wp-block-group.roarr-ticket-card .wp-block-image.roarr-ticket-card__visual.is-style-roarr-ticket-asset-pass {
	--ticket-asset-max-width: 92%;
	--ticket-asset-x: -22px;
	--ticket-asset-y: 19px;
	--ticket-asset-rotate: -7deg;
	--ticket-asset-scale: 1.49;
	--ticket-asset-origin: 54% 58%;
	--ticket-asset-margin-right: var(--space-8);
	--ticket-asset-margin-bottom: var(--space-8);
}

@media (min-width: 768px) {
	.roarr-site-main .wp-block-group.roarr-ticket-card .roarr-ticket-card__price--enquiry {
		font-size: var(--text-xl);
		line-height: var(--lh-tight);
	}
}

@media (min-width: 640px) {
	.roarr-site-main .wp-block-group.roarr-ticket-card > .roarr-ticket-card__body {
		grid-template-rows: var(--space-48) auto minmax(0, 1fr);
	}

	.roarr-site-main .wp-block-group.roarr-ticket-card .roarr-ticket-card__copy {
		align-self: start;
	}
}

@media (max-width: 1279px) {
	.roarr-site-main .wp-block-group.roarr-ticket-card .wp-block-image.roarr-ticket-card__visual {
		transform: translateX(calc(var(--space-16) * -1));
	}

	.roarr-site-main .wp-block-group.roarr-ticket-card .wp-block-image.roarr-ticket-card__visual.is-style-roarr-ticket-asset-school {
		--ticket-asset-x: -50px;
		--ticket-asset-y: -54px;
		--ticket-asset-margin-right: calc(var(--space-48) * -1);
		--ticket-asset-margin-bottom: calc(var(--space-32) * -1);
	}

	.roarr-site-main .wp-block-group.roarr-ticket-card .wp-block-image.roarr-ticket-card__visual.is-style-roarr-ticket-asset-pass {
		--ticket-asset-x: -18px;
		--ticket-asset-y: 15px;
	}
}

@media (min-width: 1280px) {
	.roarr-site-main .wp-block-group.roarr-ticket-card .roarr-ticket-card__body {
		grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
		column-gap: var(--space-8);
	}

	.roarr-site-main .wp-block-group.roarr-ticket-card :is(.roarr-ticket-card__copy, .roarr-ticket-card__link .wp-block-button__link, .roarr-ticket-card__price--message .roarr-ticket-card__price-eyebrow) {
		font-size: var(--text-xs);
	}
}

@media (max-width: 639px) {
	.roarr-site-main .wp-block-group.roarr-ticket-card:has(> .roarr-ticket-card__body),
	.roarr-site-main .wp-block-group.roarr-ticket-card:is(.is-style-roarr-ticket-card-exclusive-adventure, .is-style-roarr-ticket-exclusive-adventure):has(> .roarr-ticket-card__body) {
		gap: var(--space-8);
		min-height: 0;
		padding: var(--space-16);
	}

	.roarr-site-main .wp-block-group.roarr-ticket-card > .roarr-ticket-card__body,
	.roarr-site-main .wp-block-group.roarr-ticket-card:is(.is-style-roarr-ticket-card-exclusive-adventure, .is-style-roarr-ticket-exclusive-adventure) > .roarr-ticket-card__body {
		grid-template-columns: minmax(0, 1fr);
		grid-template-areas:
			"copy"
			"visual"
			"price"
			"link";
		row-gap: var(--space-8);
		justify-items: center;
		min-height: 0;
	}

	.roarr-site-main .wp-block-group.roarr-ticket-card .wp-block-image.roarr-ticket-card__visual,
	.roarr-site-main .wp-block-group.roarr-ticket-card:is(.is-style-roarr-ticket-card-exclusive-adventure, .is-style-roarr-ticket-exclusive-adventure) .wp-block-image.roarr-ticket-card__visual {
		justify-self: center;
		align-self: end;
		align-items: flex-end;
		justify-content: center;
		inline-size: clamp(var(--space-96), 64cqi, calc(var(--space-112) + var(--space-16)));
		block-size: clamp(var(--space-96), 64cqi, calc(var(--space-112) + var(--space-16)));
		margin: 0;
		padding-top: 0;
		transform: none;
	}

	.roarr-site-main .wp-block-group.roarr-ticket-card .wp-block-image.roarr-ticket-card__visual {
		--ticket-asset-x: 0px;
		--ticket-asset-y: 0px;
		--ticket-asset-rotate: 0deg;
		--ticket-asset-scale: 1;
		--ticket-asset-max-width: 100%;
		--ticket-asset-max-height: 100%;
		--ticket-asset-margin-right: 0px;
		--ticket-asset-margin-bottom: 0px;
	}

	.roarr-site-main .wp-block-group.roarr-ticket-card .wp-block-image.roarr-ticket-card__visual img {
		object-position: center bottom;
	}

	.roarr-site-main .wp-block-group.roarr-ticket-card .wp-block-image.roarr-ticket-card__visual.is-style-roarr-ticket-asset-school > img {
		--ticket-asset-x: -27px;
		--ticket-asset-y: -20px;
	}

	.roarr-site-main .wp-block-group.roarr-ticket-card .roarr-ticket-card__price,
	.roarr-site-main .wp-block-group.roarr-ticket-card:is(.is-style-roarr-ticket-card-exclusive-adventure, .is-style-roarr-ticket-exclusive-adventure) .roarr-ticket-card__price {
		justify-items: center;
		align-content: center;
		max-width: none;
		text-align: center;
		transform: none;
	}
}

.roarr-site-main > .roarr-reviews-band,
.roarr-site-main > .wp-block-group.roarr-reviews-band {
	padding-top: var(--space-56);
	padding-bottom: var(--section-padding-desktop);
	background-color: var(--wp--preset--color--green-dark);
	color: var(--text-on-dark);
}

.roarr-site-main .roarr-reviews-band__title em {
	color: var(--yellow);
}

.roarr-site-main .roarr-review-card__stars {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: var(--space-4);
}

.roarr-site-main .roarr-review-card__stars > * {
	margin-block-start: 0;
}

.roarr-site-main .roarr-review-card__stars .roarr-icon .roarr-ui-icon,
.roarr-site-main .roarr-review-card__stars .roarr-icon .roarr-generated-icon {
	width: var(--space-16);
	height: var(--space-16);
}

.roarr-site-main .roarr-review-card__footer {
	display: flex;
	gap: var(--space-8);
	align-items: end;
	justify-content: space-between;
	align-self: end;
	margin-block-start: 0;
}

.roarr-site-main .roarr-review-card__footer > p {
	margin: 0;
	padding-top: 0;
	line-height: var(--lh-tight);
}

.roarr-site-main .roarr-review-card__footer > p:first-child {
	flex: 1 1 auto;
	min-width: 0;
	color: var(--text-primary);
	font-size: var(--text-sm);
	font-weight: var(--weight-heavy);
}

.roarr-site-main .roarr-review-card__footer > p:last-child {
	flex: 0 1 auto;
	min-width: 0;
	color: var(--text-secondary);
	font-size: var(--text-sm);
	font-weight: var(--weight-bold);
	text-align: right;
}

.roarr-reviews-band__quote-card > .wp-block-image {
	position: absolute;
	inset: 0;
	margin: 0;
}

.roarr-reviews-band__quote-card > .wp-block-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.roarr-reviews-band__quote-card > .roarr-reviews-band__quote-figcaption {
	position: relative;
	z-index: 2;
	display: grid;
	align-content: end;
	gap: var(--space-8);
	min-height: 100%;
	margin-block-start: 0;
	padding: var(--space-24) var(--space-24) var(--space-8);
}

.roarr-reviews-band__quote-card > .roarr-reviews-band__quote-figcaption::before {
	color: var(--white);
	content: "\201C";
	font-family: var(--font-heading);
	font-size: var(--display);
	font-weight: var(--weight-heavy);
	line-height: 0.58;
	text-shadow: 0 var(--space-4) var(--space-8) color-mix(in srgb, var(--deep-forest) 45%, transparent);
}

.roarr-reviews-band__quote-figcaption > p:first-child {
	max-width: 15ch;
	color: var(--text-on-dark);
	font-family: var(--font-heading);
	font-size: var(--h3);
	font-weight: var(--weight-heavy);
	line-height: var(--lh-tight);
	text-transform: uppercase;
	text-wrap: balance;
	text-shadow:
		0 var(--space-4) var(--space-8) color-mix(in srgb, var(--deep-forest) 60%, transparent),
		0 var(--space-8) var(--space-24) color-mix(in srgb, var(--deep-forest) 45%, transparent);
}

.roarr-reviews-band__quote-figcaption > p:first-child::after {
	display: block;
	margin-top: var(--space-8);
	color: var(--white);
	content: "\201D";
	font-family: var(--font-heading);
	font-size: var(--display);
	font-weight: var(--weight-heavy);
	line-height: 0.35;
	text-align: right;
	text-shadow: 0 var(--space-4) var(--space-8) color-mix(in srgb, var(--deep-forest) 45%, transparent);
}

.roarr-reviews-band__quote-figcaption > p:last-child {
	color: var(--text-on-dark);
	font-size: var(--text-sm);
	font-weight: var(--weight-heavy);
	line-height: var(--lh-tight);
	text-transform: uppercase;
	text-shadow: 0 var(--space-4) var(--space-8) color-mix(in srgb, var(--deep-forest) 60%, transparent);
}

.sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.site-footer {
	position: relative;
	z-index: 2;
	isolation: isolate;
	overflow: visible;
	background: transparent;
	color: var(--text-primary);
	font-size: var(--text-sm);
}

.site-footer__body {
	position: relative;
	z-index: 1;
	isolation: isolate;
	overflow: hidden;
	padding-bottom: clamp(var(--space-48), 12vw, calc(var(--space-128) + var(--space-16)));
	background: var(--cream) url("assets/img/decor/footer-bg-portrait.webp") bottom center / cover no-repeat;
}

.site-footer a {
	color: inherit;
	text-decoration: none;
}

.site-footer a:hover,
.site-footer a:focus-visible {
	color: var(--primary-dark);
}

.site-footer__newsletter {
	--newsletter-seam: #031a22;
	--newsletter-overlap: clamp(72px, 20vw, 104px);
	--newsletter-extension: clamp(56px, 5vw, 80px);
	position: relative;
	z-index: 2;
	isolation: isolate;
	overflow: hidden;
	min-height: var(--newsletter-overlap);
	margin-bottom: calc(-1 * var(--newsletter-overlap));
	transform: translateY(calc(-1 * var(--newsletter-overlap)));
	background-color: transparent;
	background-image: linear-gradient(
		to bottom,
		color-mix(in srgb, var(--newsletter-seam) 8%, transparent) 0%,
		color-mix(in srgb, var(--newsletter-seam) 78%, transparent) calc(var(--newsletter-overlap) - var(--space-32)),
		var(--newsletter-seam) var(--newsletter-overlap),
		var(--newsletter-seam) calc(var(--newsletter-overlap) + var(--newsletter-extension)),
		var(--deep-forest) 100%
	);
}

.site-footer__newsletter-inner {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-areas:
		"copy"
		"form"
		"friends";
	gap: var(--space-24);
	align-items: center;
	justify-items: center;
	padding-block: calc(var(--space-32) + var(--newsletter-extension)) var(--space-64);
}

.site-footer__newsletter-copy {
	grid-area: copy;
	display: grid;
	gap: var(--space-8);
	justify-items: center;
	max-width: 560px;
	text-align: center;
}

.site-footer__newsletter-copy h2 {
	max-width: 100%;
	margin: 0;
	color: var(--cream);
	font-family: var(--font-brand);
	font-size: var(--h2);
	font-weight: var(--weight-regular);
	font-synthesis: none;
	line-height: var(--lh-solid);
	letter-spacing: 0;
	text-transform: uppercase;
	text-shadow: -0.07em 0.07em 0 var(--black);
	text-wrap: balance;
}

.site-footer__newsletter-copy h2 em {
	color: var(--primary);
	font-style: normal;
}

.site-footer__newsletter-copy p,
.site-footer__newsletter-form p {
	max-width: 44ch;
	margin: 0;
	color: var(--text-muted-dark);
	font-size: clamp(var(--text-xs), 3vw, var(--text-sm));
	font-weight: var(--weight-bold);
	line-height: var(--lh-relaxed);
}

.site-footer__newsletter-form {
	grid-area: form;
	display: grid;
	gap: var(--space-8);
	width: 100%;
	max-width: 640px;
}

.site-footer__newsletter-form p {
	max-width: none;
	text-align: center;
}

.site-footer__newsletter-field {
	display: grid;
	grid-template-columns: var(--space-32) minmax(0, 1fr) minmax(var(--space-96), auto);
	gap: var(--space-8);
	align-items: center;
	min-height: var(--space-56);
	padding: var(--space-8) var(--space-8) var(--space-8) var(--space-16);
	border: 1px solid color-mix(in srgb, var(--white) 42%, transparent);
	border-radius: var(--radius-lg);
	background: color-mix(in srgb, var(--white) 16%, transparent);
	box-shadow:
		inset 0 1px 0 color-mix(in srgb, var(--white) 28%, transparent),
		0 var(--space-12) var(--space-32) color-mix(in srgb, var(--deep-forest) 45%, transparent);
	-webkit-backdrop-filter: blur(var(--space-8));
	backdrop-filter: blur(var(--space-8));
}

.site-footer__newsletter-field.roarr-newsletter-form__field svg,
.site-footer__newsletter-field.roarr-newsletter-form__field .roarr-generated-icon {
	width: var(--space-40);
	height: var(--space-40);
	max-width: none;
	color: var(--primary);
	justify-self: center;
}

.site-footer__newsletter-field input {
	min-width: 0;
	width: 100%;
	border: 0;
	outline: 0;
	background: transparent;
	color: var(--cream);
	font: inherit;
	font-size: var(--text-base);
}

.site-footer__newsletter-field input::placeholder {
	color: color-mix(in srgb, var(--cream) 82%, transparent);
	opacity: 1;
}

.site-footer__newsletter-field button {
	grid-column: auto;
	min-height: var(--space-48);
	padding-inline: var(--space-12);
	border: 0;
	border-radius: var(--radius-md);
	background: var(--amber);
	color: var(--deep-forest);
	cursor: pointer;
	font-family: var(--font-body);
	font-size: var(--text-sm);
	font-weight: var(--weight-bold);
	line-height: var(--lh-solid);
	text-transform: uppercase;
	white-space: nowrap;
}

.site-footer__newsletter-form a {
	color: var(--primary);
	text-decoration: underline;
	text-underline-offset: 0.18em;
}

.site-footer__newsletter-form p {
	color: var(--text-muted-dark);
}

.site-footer__newsletter-friends {
	grid-area: friends;
	display: block;
	width: min(76vw, 360px);
	max-width: 100%;
	height: auto;
	align-self: end;
	filter: drop-shadow(0 var(--space-12) var(--space-24) color-mix(in srgb, var(--black) 28%, transparent));
}

.site-footer__main {
	position: relative;
	z-index: 1;
	display: grid;
	gap: var(--space-40);
	align-items: start;
	padding-block: var(--space-56);
}

.site-footer__brand,
.site-footer__contact,
.site-footer__col {
	display: grid;
	gap: var(--space-16);
	align-content: start;
}

.site-footer__brand-line {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-16);
	align-items: center;
}

.site-footer__mini-logo {
	display: block;
	width: clamp(var(--space-96), 12vw, calc(var(--space-120) + var(--space-16)));
	height: auto;
	filter: drop-shadow(0 var(--space-4) var(--space-8) color-mix(in srgb, var(--deep-forest) 42%, transparent));
}

.site-footer__brand p {
	max-width: 20ch;
	margin: 0;
	color: var(--text-secondary);
	font-size: var(--text-base);
	font-weight: var(--weight-heavy);
	line-height: var(--lh-normal);
}

/* Social channels (ported from mocks chrome.css .site-footer__socials). */
.site-footer__socials {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-8);
}

.site-footer__socials a {
	display: inline-grid;
	place-items: center;
	width: var(--space-40);
	height: var(--space-40);
	border: 1px solid color-mix(in srgb, var(--deep-forest) 18%, transparent);
	border-radius: var(--radius-pill);
	background: color-mix(in srgb, var(--white) 46%, transparent);
	color: var(--text-primary);
	transition:
		background var(--speed) var(--ease),
		border-color var(--speed) var(--ease),
		color var(--speed) var(--ease),
		transform var(--speed) var(--ease);
}

.site-footer__socials svg {
	width: var(--space-20);
	height: var(--space-20);
}

.site-footer__socials svg:not([fill="none"]) {
	fill: currentColor;
}

.site-footer__socials a:hover,
.site-footer__socials a:focus-visible {
	border-color: var(--primary);
	background: var(--primary);
	color: var(--deep-forest);
	transform: translateY(calc(var(--space-4) * -1));
}

.site-footer__contact {
	margin: 0;
	color: var(--text-secondary);
	font-style: normal;
	font-weight: var(--weight-bold);
	line-height: var(--lh-normal);
	overflow-wrap: anywhere;
}

.site-footer__contact::before,
.site-footer__col h3 {
	width: fit-content;
	max-width: 100%;
	margin: 0;
	padding-bottom: var(--space-8);
	border-bottom: var(--space-4) solid var(--primary);
	color: var(--text-primary);
	font-family: var(--font-body);
	font-size: clamp(var(--text-sm), 3vw, var(--text-base));
	font-weight: var(--weight-bold);
	line-height: var(--lh-tight);
	letter-spacing: 0;
	text-transform: uppercase;
}

.site-footer__contact::before {
	content: "Contact Us";
}

.site-footer__contact > a {
	display: grid;
	grid-template-columns: var(--space-24) minmax(0, 1fr);
	gap: var(--space-8);
	align-items: center;
	color: var(--text-secondary);
}

.site-footer__contact .roarr-ui-icon,
.site-footer__contact .roarr-generated-icon {
	width: var(--space-24);
	height: var(--space-24);
}

.site-footer__nav {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--space-32) var(--space-24);
}

.site-footer__col ul {
	display: grid;
	gap: var(--space-8);
	margin: 0;
	padding: 0;
	list-style: none;
}

.site-footer__col a {
	color: var(--text-secondary);
	font-family: var(--font-body);
	font-size: clamp(var(--text-sm), 3.4vw, var(--text-base));
	font-weight: var(--weight-bold);
	line-height: var(--lh-snug);
}

.site-footer__legal {
	display: flex;
	flex-direction: column;
	gap: var(--space-16);
	align-items: center;
	justify-content: center;
	padding-block: var(--space-24) var(--space-32);
	border-top: 1px solid var(--border-light);
	color: var(--text-muted);
	text-align: center;
}

.site-footer__legal nav {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: var(--space-8) var(--space-16);
}

.site-footer__legal a,
.site-footer__legal p {
	margin: 0;
	color: var(--text-muted);
	font-size: clamp(var(--text-xs), 2.8vw, var(--text-sm));
	font-weight: var(--weight-bold);
}

@media (min-width: 640px) {
	.site-footer__body {
		background-image: url("assets/img/decor/footer-bg-standard.webp");
	}

	.site-footer__newsletter-field {
		grid-template-columns: var(--space-32) minmax(0, 1fr) minmax(calc(var(--space-96) + var(--space-24)), auto);
	}

	.site-footer__newsletter-field button {
		grid-column: auto;
		padding-inline: var(--space-24);
	}

	.site-footer__newsletter-friends {
		width: min(48vw, 380px);
	}
}

@media (min-width: 700px) and (max-width: 1099px) {
	.site-footer__newsletter {
		--newsletter-overlap: clamp(112px, 16vw, 152px);
	}

	.site-footer__newsletter-inner {
		grid-template-areas:
			"copy friends"
			"form friends";
		grid-template-columns: minmax(0, 1fr) minmax(200px, 0.5fr);
		column-gap: var(--space-32);
		row-gap: var(--space-24);
		justify-items: stretch;
	}

	.site-footer__newsletter-copy {
		justify-items: center;
		justify-self: center;
		width: 100%;
		max-width: 640px;
		text-align: center;
	}

	.site-footer__newsletter-form {
		align-self: center;
		justify-self: center;
		max-width: 640px;
	}

	.site-footer__newsletter-friends {
		justify-self: end;
		width: min(100%, 260px);
		align-self: end;
	}
}

@media (min-width: 1100px) {
	.site-footer__newsletter {
		--newsletter-overlap: clamp(148px, 9vw, 184px);
	}

	.site-footer__newsletter-inner {
		grid-template-areas:
			"copy friends"
			"form friends";
		grid-template-columns: minmax(0, 560px) minmax(280px, 560px);
		column-gap: clamp(var(--space-32), 4vw, var(--space-64));
		row-gap: var(--space-24);
		justify-content: center;
		justify-items: stretch;
		padding-block: calc(var(--space-40) + var(--newsletter-extension)) var(--space-64);
	}

	.site-footer__newsletter-copy {
		justify-self: center;
		justify-items: center;
		width: 100%;
		max-width: 560px;
		text-align: center;
	}

	.site-footer__newsletter-form {
		justify-self: center;
		max-width: 560px;
	}

	.site-footer__newsletter-friends {
		justify-self: end;
		width: min(100%, 560px);
		align-self: center;
	}
}

@media (max-width: 699px) {
	.site-footer__newsletter {
		--newsletter-overlap: clamp(132px, 25vw, 168px);
	}

	.site-footer__newsletter-inner {
		grid-template-areas:
			"friends"
			"copy"
			"form";
		gap: var(--space-24);
		padding-block: calc(var(--space-24) + var(--newsletter-extension)) var(--space-64);
	}

	.site-footer__newsletter-friends {
		width: min(78vw, 320px);
		margin-bottom: var(--space-8);
	}
}

@media (max-width: 539px) {
	.site-footer__newsletter {
		--newsletter-overlap: clamp(160px, 44vw, 196px);
	}
}

@media (min-width: 1400px) {
	.site-footer__newsletter-copy h2 {
		white-space: nowrap;
	}
}

@media (min-width: 1024px) {
	.site-footer__body {
		background-image: url("assets/img/decor/footer-bg-landscape.webp");
	}

	.site-footer__brand {
		display: contents;
	}

	.site-footer__main {
		grid-template-columns: repeat(5, auto);
		justify-content: space-between;
		column-gap: var(--space-32);
		row-gap: var(--space-48);
		padding-block: var(--space-56) var(--space-48);
	}

	.site-footer__brand-line {
		grid-row: 1;
		grid-column: 1 / -1;
	}

	/* Socials share the top row with the brand line, pinned to the right. */
	.site-footer__socials {
		grid-row: 1;
		grid-column: 1 / -1;
		justify-self: end;
		align-self: center;
	}

	.site-footer__contact {
		grid-row: 2;
		grid-column: 1;
		max-width: 34ch;
	}

	.site-footer__nav {
		display: contents;
	}

	.site-footer__col {
		grid-row: 2;
	}
}

@media (min-width: 1440px) {
	.site-footer__body {
		background-image: url("assets/img/decor/footer-bg-wide.webp");
	}
}

@media (max-width: 1023px) {
	.site-footer__newsletter-inner,
	.site-footer__newsletter-copy,
	.site-footer__brand-line,
	.site-footer__contact,
	.site-footer__col {
		justify-items: center;
		text-align: center;
	}

	.site-footer__brand-line {
		--site-footer-brand-width: min(100%, calc(var(--space-128) + var(--space-48)));
		flex-direction: column;
		flex-wrap: nowrap;
		width: 100%;
	}

	.site-footer__mini-logo,
	.site-footer__brand p {
		width: var(--site-footer-brand-width);
		max-width: 100%;
	}

	.site-footer__socials {
		justify-content: center;
	}

	.site-footer__newsletter-copy p {
		margin-inline: auto;
	}

	.site-footer__newsletter-form,
	.site-footer__nav {
		justify-self: center;
	}

}

@media (min-width: 640px) and (max-width: 1023px) {
	.site-footer__nav {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: var(--space-48);
		width: min(100%, 720px);
	}
}

@media (max-width: 639px) {
	.site-footer__nav {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* Rob 08-07: kill the badge shell (ring + fill) on ALL painted icons — green
   and any coloured variant. Painted art is self-contained; only the stroke-SVG
   fallback wants a badge. Frontend wraps every icon in .roarr-icon, the editor
   in .roarr-icon-edit; the per-context mock-class strips (.roarr-glance-list__icon
   etc.) miss both, so glance-lists kept a green ring while rate-table/rail-card
   did not. Lives in frontend.css (hand-maintained, loaded on frontend + editor)
   so build:editor-css can't wipe it. !important beats the per-context badge rules. */
:is(.roarr-site-main, .editor-styles-wrapper) :is(.roarr-icon, .roarr-icon-edit):has(.roarr-generated-icon) {
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}
