@font-face {
	font-display: swap;
	font-family: "Park Vazirmatn";
	font-style: normal;
	font-weight: 100 900;
	src: url("../fonts/Vazirmatn-Variable.woff2") format("woff2");
}

.park-ticket-landing-page .entry-title,
.park-ticket-landing-page .page-title {
	display: none !important;
}

.park-landing {
	--park-accent: #007a80;
	--park-accent-soft: #dff8f5;
	--park-deep: #062f4f;
	--park-warm: #f2a900;
	--park-ink: #102a43;
	--park-muted: #557084;
	--park-surface: #fff;
	--park-soft: #f0fbfa;
	--park-border: #d9e7ea;
	--park-shadow: 0 24px 64px rgba(5, 54, 70, .1);
	--park-radius-sm: 14px;
	--park-radius: 24px;
	--park-radius-lg: 40px;
	box-sizing: border-box;
	color: var(--park-ink);
	direction: rtl;
	display: grid;
	gap: clamp(3.5rem, 8vw, 7.5rem);
	isolation: isolate;
	margin-inline: auto;
	max-width: 1540px;
	padding: clamp(.75rem, 2.6vw, 2.75rem);
	text-align: right;
}

.park-landing--font-vazirmatn {
	font-family: "Park Vazirmatn", Tahoma, Arial, sans-serif;
}

.park-landing--font-system {
	font-family: Tahoma, Arial, sans-serif;
}

.park-landing--font-theme {
	font-family: inherit;
}

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

.park-landing figure,
.park-landing p {
	margin-block-start: 0;
}

.park-landing a {
	text-decoration: none;
}

.park-landing--sunset {
	--park-soft: #fff7eb;
	--park-accent-soft: #fff0dc;
}

.park-landing--night {
	--park-ink: #eefcff;
	--park-muted: #bed7df;
	--park-surface: #0a3441;
	--park-soft: #062a35;
	--park-border: #275360;
	background: #041f29;
	border-radius: var(--park-radius-lg);
}

.park-landing__announcement {
	align-items: center;
	background: var(--park-deep);
	border-radius: 999px;
	color: #fff;
	display: flex;
	font-size: .93rem;
	gap: 1rem;
	justify-content: center;
	margin-block-end: calc(-1 * clamp(2rem, 5vw, 4.5rem));
	padding: .75rem 1.35rem;
}

.park-landing__announcement a {
	color: var(--park-warm);
	align-items: center;
	display: inline-flex;
	font-weight: 850;
	min-block-size: 44px;
}

.park-landing__hero {
	align-items: center;
	background: #f5fcfb;
	background:
		radial-gradient(circle at 88% 10%, color-mix(in srgb, var(--park-warm) 23%, transparent), transparent 27%),
		linear-gradient(135deg, var(--park-soft), #fff 64%);
	border: 1px solid var(--park-border);
	border-color: color-mix(in srgb, var(--park-accent) 20%, var(--park-border));
	border-radius: var(--park-radius-lg);
	display: grid;
	gap: clamp(2rem, 5vw, 5rem);
	grid-template-columns: minmax(0, 1.06fr) minmax(300px, .94fr);
	min-height: min(760px, 82vh);
	overflow: hidden;
	overflow: clip;
	padding: clamp(1.4rem, 6vw, 6.25rem);
	position: relative;
}

.park-landing--night .park-landing__hero {
	background: #062f4f;
	background: radial-gradient(circle at 88% 10%, color-mix(in srgb, var(--park-accent) 35%, transparent), transparent 30%), linear-gradient(135deg, #062f4f, #052630 72%);
}

.park-landing__hero::after {
	border: 1px solid color-mix(in srgb, var(--park-accent) 18%, transparent);
	border-radius: 50%;
	content: "";
	height: 340px;
	inset-block-end: -210px;
	inset-inline-start: 15%;
	pointer-events: none;
	position: absolute;
	width: 340px;
}

.park-landing__hero-copy {
	position: relative;
	z-index: 2;
}

.park-landing__eyebrow,
.park-landing__section-heading > span,
.park-landing__contact > div > span,
.park-landing__cta-copy > span {
	color: var(--park-accent);
	display: inline-flex;
	font-size: .83rem;
	font-weight: 900;
	letter-spacing: .02em;
	margin-block-end: .65rem;
	text-transform: none;
}

.park-landing__brand {
	color: var(--park-deep);
	font-size: clamp(1rem, 2vw, 1.28rem);
	font-weight: 900;
	margin-block-end: .4rem;
}

.park-landing--night .park-landing__brand {
	color: #fff;
}

.park-landing__hero h1 {
	font-size: clamp(2.45rem, 6.1vw, 5.85rem);
	font-weight: 900;
	letter-spacing: -.05em;
	line-height: 1.09;
	margin: 0;
	max-width: 12ch;
}

.park-landing__lead {
	color: var(--park-muted);
	font-size: clamp(1rem, 1.75vw, 1.24rem);
	line-height: 2;
	margin-block-start: 1.5rem;
	max-width: 57ch;
}

.park-landing__actions {
	display: flex;
	flex-wrap: wrap;
	gap: .8rem;
	margin-block-start: 2.2rem;
}

.park-landing__button {
	align-items: center;
	border: 2px solid transparent;
	border-radius: var(--park-radius-sm);
	display: inline-flex;
	font-weight: 900;
	justify-content: center;
	min-height: 52px;
	padding: .78rem 1.55rem;
	transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease;
}

.park-landing__button:hover {
	transform: translateY(-2px);
}

.park-landing__button--primary {
	background: var(--park-accent);
	box-shadow: 0 14px 34px color-mix(in srgb, var(--park-accent) 30%, transparent);
	color: #fff;
}

.park-landing__button--ghost {
	background: rgba(255,255,255,.82);
	border-color: var(--park-border);
	color: var(--park-deep);
}

.park-landing--night .park-landing__button--ghost {
	background: rgba(255,255,255,.08);
	color: #fff;
}

.park-landing__button--light {
	background: #fff;
	color: var(--park-deep);
}

.park-landing__trust {
	display: flex;
	flex-wrap: wrap;
	gap: .7rem 1.4rem;
	list-style: none;
	margin: 1.9rem 0 0;
	padding: 0;
}

.park-landing__trust li {
	color: var(--park-muted);
	font-size: .88rem;
	font-weight: 750;
}

.park-landing__trust li::before {
	color: var(--park-accent);
	content: "✓";
	font-weight: 900;
	margin-inline-end: .42rem;
}

.park-landing__visual {
	align-self: stretch;
	min-height: 380px;
	position: relative;
}

.park-landing__visual picture {
	display: block;
	height: 100%;
}

.park-landing__hero-image {
	border-radius: 32px;
	box-shadow: 0 30px 75px rgba(4, 48, 65, .24);
	height: 100%;
	inset: 0;
	object-fit: cover;
	position: absolute;
	width: 100%;
}

.park-landing__watermark {
	background: linear-gradient(155deg, var(--park-accent), var(--park-deep));
	border-radius: 48% 52% 65% 35% / 40% 48% 52% 60%;
	box-shadow: 0 35px 80px color-mix(in srgb, var(--park-accent) 30%, transparent);
	height: min(480px, 100%);
	inset-block-start: 7%;
	inset-inline-start: 4%;
	position: absolute;
	transform: rotate(-4deg);
	width: 92%;
}

.park-landing__watermark span {
	background: rgba(255,255,255,.18);
	border-radius: 999px;
	height: 14%;
	position: absolute;
	inset-inline-end: 13%;
	inset-block-start: 25%;
	transform: rotate(-10deg);
	width: 65%;
}

.park-landing__watermark span:nth-child(2) { inset-inline-end: 26%; inset-block-start: 47%; width: 58%; }
.park-landing__watermark span:nth-child(3) { inset-inline-end: 8%; inset-block-start: 69%; width: 70%; }

.park-landing__stats {
	display: grid;
	gap: 1px;
	grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
	background: var(--park-border);
	border: 1px solid var(--park-border);
	border-radius: var(--park-radius);
	overflow: hidden;
}

.park-landing__stats > div {
	background: var(--park-surface);
	display: grid;
	gap: .3rem;
	padding: clamp(1.2rem, 3vw, 2rem);
	text-align: center;
}

.park-landing__stats strong {
	color: var(--park-accent);
	font-size: clamp(1.35rem, 3vw, 2.25rem);
	font-weight: 900;
}

.park-landing__stats span {
	color: var(--park-muted);
	font-size: .9rem;
}

.park-landing__section {
	display: grid;
	gap: clamp(1.8rem, 4vw, 4rem);
}

.park-landing__section-heading {
	display: grid;
	grid-template-columns: minmax(220px, .75fr) minmax(0, 1.25fr);
	column-gap: clamp(1.5rem, 5vw, 5rem);
	align-items: end;
}

.park-landing__section-heading > span {
	grid-column: 1;
}

.park-landing__section-heading h2 {
	font-size: clamp(1.9rem, 4vw, 3.45rem);
	font-weight: 900;
	grid-column: 1;
	letter-spacing: -.035em;
	line-height: 1.3;
	margin: 0;
}

.park-landing__section-heading > p {
	align-self: end;
	color: var(--park-muted);
	grid-column: 2;
	grid-row: 1 / span 2;
	line-height: 2;
	margin: 0;
}

.park-landing__section-heading--center {
	display: block;
	margin-inline: auto;
	max-width: 820px;
	text-align: center;
}

.park-landing__section-heading--center > p {
	margin-block-start: .9rem;
}

.park-landing__prose,
.park-landing__prose p,
.park-landing__prose li {
	color: var(--park-muted);
	font-size: 1.04rem;
	line-height: 2.05;
}

.park-landing__prose > :first-child { margin-block-start: 0; }
.park-landing__prose > :last-child { margin-block-end: 0; }

.park-landing__story-grid,
.park-landing__visit-grid {
	align-items: center;
	display: grid;
	gap: clamp(1.5rem, 4vw, 4rem);
	grid-template-columns: minmax(0, 1.05fr) minmax(300px, .95fr);
}

.park-landing__story-grid figure,
.park-landing__visit-grid figure {
	margin: 0;
	min-height: 360px;
}

.park-landing__story-image,
.park-landing__visit-image {
	border-radius: var(--park-radius);
	box-shadow: var(--park-shadow);
	display: block;
	height: 100%;
	max-height: 560px;
	object-fit: cover;
	width: 100%;
}

.park-landing__reservation-shell {
	scroll-margin-top: 2rem;
}

.park-landing__empty {
	background: var(--park-surface);
	border: 1px dashed var(--park-accent);
	border-radius: var(--park-radius-sm);
	color: var(--park-muted);
	padding: 2rem;
	text-align: center;
}

.park-landing__experience-grid {
	display: grid;
	gap: 1.25rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.park-landing__experience {
	background: var(--park-surface);
	border: 1px solid var(--park-border);
	border-radius: var(--park-radius);
	box-shadow: 0 16px 48px rgba(7, 59, 76, .07);
	overflow: hidden;
	overflow: clip;
	transition: transform .25s ease, box-shadow .25s ease;
}

.park-landing__experience:hover {
	box-shadow: var(--park-shadow);
	transform: translateY(-5px);
}

.park-landing__experience figure {
	aspect-ratio: 4 / 3;
	background: var(--park-soft);
	margin: 0;
	position: relative;
}

.park-landing__experience figure > span {
	background: rgba(7, 59, 76, .86);
	border-radius: 999px;
	color: #fff;
	font-size: .78rem;
	font-weight: 850;
	inset-block-start: 1rem;
	inset-inline-start: 1rem;
	padding: .4rem .75rem;
	position: absolute;
}

.park-landing__experience-image {
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.park-landing__experience-copy {
	padding: 1.35rem;
}

.park-landing__experience-copy small {
	color: var(--park-accent);
	font-weight: 850;
}

.park-landing__experience-copy h3 {
	font-size: 1.23rem;
	margin: .45rem 0 .55rem;
}

.park-landing__experience-copy p {
	color: var(--park-muted);
	line-height: 1.9;
	margin: 0;
}

.park-landing__features {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.park-landing__features article {
	align-items: flex-start;
	background: var(--park-surface);
	border: 1px solid var(--park-border);
	border-radius: 20px;
	display: flex;
	gap: 1rem;
	padding: 1.4rem;
}

.park-landing__features article > span {
	align-items: center;
	background: var(--park-accent-soft);
	border-radius: var(--park-radius-sm);
	color: var(--park-accent);
	display: flex;
	flex: 0 0 50px;
	font-size: 1.35rem;
	font-weight: 900;
	height: 50px;
	justify-content: center;
}

.park-landing__features h3 {
	font-size: 1.07rem;
	margin: 0;
}

.park-landing__features p {
	color: var(--park-muted);
	font-size: .92rem;
	line-height: 1.85;
	margin: .4rem 0 0;
}

.park-landing__gallery-grid {
	display: grid;
	gap: 1rem;
	grid-auto-rows: 190px;
	grid-template-columns: repeat(12, 1fr);
}

.park-landing__gallery-item {
	border-radius: 20px;
	grid-column: span 4;
	margin: 0;
	overflow: hidden;
	overflow: clip;
	position: relative;
}

.park-landing__gallery-item--1,
.park-landing__gallery-item--5 {
	grid-column: span 7;
	grid-row: span 2;
}

.park-landing__gallery-item--2,
.park-landing__gallery-item--4 {
	grid-column: span 5;
}

.park-landing__gallery-image {
	display: block;
	height: 100%;
	object-fit: cover;
	transition: transform .35s ease;
	width: 100%;
}

.park-landing__gallery-item:hover .park-landing__gallery-image {
	transform: scale(1.025);
}

.park-landing__gallery-item figcaption {
	background: linear-gradient(transparent, rgba(2, 35, 46, .82));
	color: #fff;
	inset: auto 0 0;
	padding: 2.4rem 1rem .9rem;
	position: absolute;
}

.park-landing__faq-list {
	display: grid;
	gap: .8rem;
	margin-inline: auto;
	max-width: 980px;
	width: 100%;
}

.park-landing__faq details {
	background: var(--park-surface);
	border: 1px solid var(--park-border);
	border-radius: var(--park-radius-sm);
	padding: 1.05rem 1.2rem;
}

.park-landing__faq summary {
	cursor: pointer;
	font-weight: 850;
	line-height: 1.7;
}

.park-landing__faq details p {
	color: var(--park-muted);
	line-height: 1.95;
	margin: .85rem 0 0;
}

.park-landing__contact,
.park-landing__cta {
	align-items: center;
	background: var(--park-deep);
	border-radius: var(--park-radius-lg);
	color: #fff;
	display: grid;
	gap: 2.5rem;
	grid-template-columns: minmax(0, 1.35fr) minmax(260px, .65fr);
	overflow: hidden;
	overflow: clip;
	padding: clamp(1.5rem, 5vw, 4.5rem);
	position: relative;
}

.park-landing__contact h2,
.park-landing__cta h2 {
	font-size: clamp(1.8rem, 4vw, 3.3rem);
	line-height: 1.3;
	margin: 0;
}

.park-landing__contact p,
.park-landing__cta p {
	color: #d7edf2;
	line-height: 1.95;
	margin-block-start: 1rem;
}

.park-landing__contact address {
	display: grid;
	font-style: normal;
	gap: .65rem;
}

.park-landing__contact address a,
.park-landing__contact address span {
	color: #fff;
}

.park-landing__cta-copy {
	position: relative;
	z-index: 2;
}

.park-landing__cta figure {
	align-self: stretch;
	margin: 0;
	min-height: 280px;
	position: relative;
}

.park-landing__cta-image {
	border-radius: var(--park-radius);
	height: 100%;
	inset: 0;
	object-fit: cover;
	position: absolute;
	width: 100%;
}

.park-landing :focus-visible {
	border-radius: 6px;
	outline: 3px solid var(--park-warm);
	outline-offset: 4px;
}

@media (max-width: 1024px) {
	.park-landing__hero {
		grid-template-columns: minmax(0, 1fr) minmax(280px, .85fr);
		padding: clamp(1.5rem, 4vw, 3.25rem);
	}

	.park-landing__experience-grid,
	.park-landing__features {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 780px) {
	.park-landing {
		gap: 4rem;
	}

	.park-landing__hero,
	.park-landing__story-grid,
	.park-landing__visit-grid,
	.park-landing__contact,
	.park-landing__cta {
		grid-template-columns: 1fr;
	}

	.park-landing__hero {
		min-height: auto;
	}

	.park-landing__visual {
		min-height: 390px;
	}

	.park-landing__section-heading {
		display: block;
	}

	.park-landing__section-heading > p {
		margin-block-start: .8rem;
	}

	.park-landing__gallery-grid {
		grid-auto-rows: 180px;
	}

	.park-landing__gallery-item,
	.park-landing__gallery-item--1,
	.park-landing__gallery-item--2,
	.park-landing__gallery-item--4,
	.park-landing__gallery-item--5 {
		grid-column: span 6;
		grid-row: span 1;
	}
}

@media (max-width: 580px) {
	.park-landing {
		padding: .65rem;
	}

	.park-landing__announcement {
		align-items: flex-start;
		border-radius: var(--park-radius-sm);
		flex-direction: column;
		gap: .25rem;
		margin-block-end: -2rem;
	}

	.park-landing__hero,
	.park-landing__contact,
	.park-landing__cta {
		border-radius: 22px;
		padding: 1.25rem;
	}

	.park-landing__hero h1 {
		font-size: clamp(2.15rem, 13vw, 3.65rem);
	}

	.park-landing__visual {
		min-height: 330px;
	}

	.park-landing__actions .park-landing__button {
		width: 100%;
	}

	.park-landing__experience-grid,
	.park-landing__features {
		grid-template-columns: 1fr;
	}

	.park-landing__gallery-grid {
		display: flex;
		overflow-x: auto;
		scroll-snap-type: inline mandatory;
	}

	.park-landing__gallery-item,
	.park-landing__gallery-item--1,
	.park-landing__gallery-item--2,
	.park-landing__gallery-item--4,
	.park-landing__gallery-item--5 {
		aspect-ratio: 4 / 3;
		flex: 0 0 86%;
		scroll-snap-align: center;
	}
}

@media (prefers-reduced-motion: reduce) {
	.park-landing *,
	.park-landing *::before,
	.park-landing *::after {
		scroll-behavior: auto !important;
		transition: none !important;
	}
}

@media (prefers-contrast: more) {
	.park-landing__experience,
	.park-landing__features article,
	.park-landing__faq details {
		border-width: 2px;
	}
}

/* ==========================================================================
   Landing studio 3.4 — layout, navigation and interaction layer
   ========================================================================== */

.park-ticket-landing-page {
	overflow-x: clip;
	scroll-behavior: smooth;
}

@supports not (overflow: clip) {
	.park-ticket-landing-page {
		overflow-x: hidden;
	}
}

.park-landing {
	--park-action: color-mix(in srgb, var(--park-accent) 58%, #003f4b);
	--park-action-hover: color-mix(in srgb, var(--park-accent) 62%, #002f3a);
	--park-action-ink: #fff;
	--park-focus: color-mix(in srgb, var(--park-warm) 62%, #6c3f00);
	--park-container: 1440px;
	--park-readable: 72ch;
	--park-header-height: 72px;
	--park-safe-bottom: env(safe-area-inset-bottom, 0px);
	inline-size: 100%;
	max-inline-size: var(--park-container);
	overflow: clip;
	position: relative;
}

.park-landing--width-contained {
	--park-container: 1180px;
}

.park-landing--width-wide {
	--park-container: 1760px;
}

.park-landing--width-breakout {
	inline-size: 100vw;
	margin-inline: calc(50% - 50vw);
	max-inline-size: 100vw;
}

.park-landing__eyebrow,
.park-landing__section-heading > span,
.park-landing__experience-copy small {
	color: var(--park-action);
}

.park-landing__contact > div > span,
.park-landing__cta-copy > span {
	color: #9ff4ed;
}

.park-landing__module,
.park-landing__header,
.park-landing__footer {
	inline-size: 100%;
	margin-inline: auto;
	max-inline-size: 1440px;
}

.park-landing--width-contained .park-landing__module,
.park-landing--width-contained .park-landing__header,
.park-landing--width-contained .park-landing__footer {
	max-inline-size: 1120px;
}

.park-landing--width-wide .park-landing__module,
.park-landing--width-wide .park-landing__header,
.park-landing--width-wide .park-landing__footer {
	max-inline-size: 1600px;
}

.park-landing__module,
.park-reservation,
.park-landing__contact,
.park-landing__cta,
[id^="park-booking"] {
	scroll-margin-block-start: calc(var(--park-header-height) + 2rem);
}

.park-sr-only {
	block-size: 1px !important;
	border: 0 !important;
	clip: rect(0 0 0 0) !important;
	clip-path: inset(50%) !important;
	inline-size: 1px !important;
	margin: -1px !important;
	overflow: hidden !important;
	padding: 0 !important;
	position: absolute !important;
	white-space: nowrap !important;
}

.park-landing__skip {
	background: #fff;
	border: 3px solid var(--park-action);
	border-radius: 12px;
	box-shadow: 0 12px 36px rgba(0, 31, 42, .24);
	color: #052f3a;
	font-weight: 900;
	inset-block-start: 1rem;
	inset-inline-start: 1rem;
	min-block-size: 46px;
	opacity: 0;
	padding: .7rem 1rem;
	pointer-events: none;
	position: fixed;
	transform: translateY(-160%);
	z-index: 100002;
}

.park-landing__skip:focus {
	opacity: 1;
	pointer-events: auto;
	transform: none;
}

.park-landing__scroll-progress {
	background: linear-gradient(90deg, var(--park-warm), var(--park-action));
	block-size: 4px;
	inset: 0 0 auto;
	pointer-events: none;
	position: fixed;
	transform: scaleX(0);
	transform-origin: right center;
	will-change: transform;
	z-index: 10000;
}

/* Keep the compact announcement/hero composition without making a reordered
   announcement collide with an unrelated module. */
.park-landing__announcement {
	margin-block-end: 0;
}

.park-landing__module--announcement + .park-landing__module--hero {
	margin-block-start: calc(-1 * clamp(2rem, 5vw, 4.5rem));
}

.park-landing__header {
	align-items: center;
	background: color-mix(in srgb, var(--park-surface) 91%, transparent);
	border: 1px solid color-mix(in srgb, var(--park-border) 82%, transparent);
	border-radius: 22px;
	box-shadow: 0 12px 40px rgba(4, 44, 57, .08);
	display: flex;
	gap: 1.1rem;
	justify-content: space-between;
	min-block-size: var(--park-header-height);
	padding: .65rem .75rem .65rem 1rem;
	position: relative;
	z-index: 500;
}

@supports (backdrop-filter: blur(18px)) {
	.park-landing__header {
		backdrop-filter: blur(18px) saturate(1.3);
	}
}

.park-landing__header--sticky {
	inset-block-start: max(.5rem, env(safe-area-inset-top, 0px));
	position: sticky;
}

.admin-bar .park-landing__header--sticky {
	inset-block-start: 40px;
}

.park-landing__identity {
	align-items: center;
	color: var(--park-deep);
	display: inline-flex;
	flex: 0 1 auto;
	font-weight: 900;
	gap: .7rem;
	letter-spacing: -.02em;
	min-block-size: 48px;
	min-inline-size: 0;
	padding-inline: .35rem;
}

.park-landing__identity > span {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.park-landing__logo {
	block-size: 44px;
	border-radius: 12px;
	display: block;
	inline-size: auto;
	max-inline-size: 150px;
	object-fit: contain;
}

.park-landing__nav-panel {
	align-items: center;
	display: flex;
	flex: 1 1 auto;
	gap: 1rem;
	justify-content: flex-end;
	min-inline-size: 0;
}

.park-landing__nav {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: .15rem;
	justify-content: center;
}

.park-landing__nav a {
	border-radius: 10px;
	color: var(--park-muted);
	display: inline-flex;
	font-size: .84rem;
	font-weight: 800;
	min-block-size: 44px;
	padding: .65rem .72rem;
	position: relative;
}

.park-landing__nav a::after {
	background: var(--park-action);
	border-radius: 99px;
	block-size: 3px;
	content: "";
	inset: auto .72rem .3rem;
	opacity: 0;
	position: absolute;
	transform: scaleX(.25);
	transition: opacity .2s ease, transform .2s ease;
}

.park-landing__nav a:hover,
.park-landing__nav a.is-active {
	background: var(--park-accent-soft);
	color: var(--park-deep);
}

.park-landing__nav a.is-active::after {
	opacity: 1;
	transform: scaleX(1);
}

.park-landing__header-actions {
	align-items: center;
	display: flex;
	flex: 0 0 auto;
	gap: .5rem;
}

.park-landing__header-book,
.park-landing__header-account {
	align-items: center;
	border: 1px solid transparent;
	border-radius: 12px;
	display: inline-flex;
	font-size: .86rem;
	font-weight: 900;
	justify-content: center;
	min-block-size: 44px;
	padding: .62rem .9rem;
}

.park-landing__header-book {
	background: var(--park-action);
	box-shadow: 0 9px 22px color-mix(in srgb, var(--park-action) 23%, transparent);
	color: var(--park-action-ink);
}

.park-landing__header-book:hover {
	background: var(--park-action-hover);
	color: var(--park-action-ink);
}

.park-landing__header-account {
	border-color: var(--park-border);
	color: var(--park-deep);
}

.park-landing__header-account:hover {
	background: var(--park-soft);
	color: var(--park-deep);
}

.park-landing__nav-toggle {
	align-items: center;
	background: var(--park-soft);
	border: 1px solid var(--park-border);
	border-radius: 12px;
	color: var(--park-deep);
	cursor: pointer;
	display: none;
	flex: 0 0 46px;
	block-size: 46px;
	justify-content: center;
	padding: 0;
}

.park-landing__nav-toggle > span[aria-hidden="true"],
.park-landing__nav-toggle > span[aria-hidden="true"]::before,
.park-landing__nav-toggle > span[aria-hidden="true"]::after {
	background: currentColor;
	block-size: 2px;
	border-radius: 99px;
	content: "";
	display: block;
	inline-size: 21px;
	position: relative;
	transition: transform .2s ease, opacity .2s ease;
}

.park-landing__nav-toggle > span[aria-hidden="true"]::before {
	position: absolute;
	transform: translateY(-7px);
}

.park-landing__nav-toggle > span[aria-hidden="true"]::after {
	position: absolute;
	transform: translateY(7px);
}

.park-landing.is-nav-open .park-landing__nav-toggle > span[aria-hidden="true"] {
	background: transparent;
}

.park-landing.is-nav-open .park-landing__nav-toggle > span[aria-hidden="true"]::before {
	transform: rotate(45deg);
}

.park-landing.is-nav-open .park-landing__nav-toggle > span[aria-hidden="true"]::after {
	transform: rotate(-45deg);
}

/* Hero variants and image art direction. */
.park-landing__hero {
	isolation: isolate;
}

.park-landing__hero-copy {
	max-inline-size: 760px;
}

.park-landing__button--primary {
	background: var(--park-action);
	color: var(--park-action-ink);
}

.park-landing__button--primary:hover {
	background: var(--park-action-hover);
	color: var(--park-action-ink);
}

.park-landing__media-badge {
	background: color-mix(in srgb, var(--park-deep) 88%, transparent);
	border: 1px solid rgba(255, 255, 255, .25);
	border-radius: 999px;
	box-shadow: 0 10px 28px rgba(2, 28, 39, .24);
	color: #fff;
	font-size: .82rem;
	font-weight: 900;
	inset-block-end: 1rem;
	inset-inline-start: 1rem;
	max-inline-size: calc(100% - 2rem);
	padding: .55rem .85rem;
	position: absolute;
	z-index: 3;
}

.park-focal-top .park-landing__hero-image { object-position: center top; }
.park-focal-bottom .park-landing__hero-image { object-position: center bottom; }
.park-focal-right .park-landing__hero-image { object-position: right center; }
.park-focal-left .park-landing__hero-image { object-position: left center; }
.park-focal-center .park-landing__hero-image { object-position: center; }

.park-landing--hero-cover .park-landing__hero {
	background: var(--park-deep);
	grid-template-columns: 1fr;
	min-block-size: clamp(590px, 78vh, 820px);
}

.park-landing--hero-cover .park-landing__hero::before {
	background: linear-gradient(90deg, rgba(2, 31, 42, .12) 0%, rgba(2, 31, 42, .58) 54%, rgba(2, 31, 42, .91) 100%);
	content: "";
	inset: 0;
	pointer-events: none;
	position: absolute;
	z-index: 1;
}

.park-landing--hero-cover .park-landing__hero-copy {
	color: #fff;
	max-inline-size: 720px;
}

.park-landing--hero-cover .park-landing__brand,
.park-landing--hero-cover .park-landing__lead,
.park-landing--hero-cover .park-landing__trust li {
	color: #f2fbfc;
	text-shadow: 0 2px 18px rgba(0, 0, 0, .36);
}

.park-landing--hero-cover .park-landing__eyebrow {
	color: #9ff4ed;
}

.park-landing--hero-cover .park-landing__visual {
	inset: 0;
	min-block-size: 0;
	position: absolute;
	z-index: 0;
}

.park-landing--hero-cover .park-landing__hero-image {
	border-radius: 0;
	box-shadow: none;
}

.park-landing--hero-cover .park-landing__media-badge {
	inset-block: 1.2rem auto;
	inset-inline: 1.2rem auto;
}

.park-landing--hero-minimal .park-landing__hero {
	grid-template-columns: minmax(0, 1fr);
	min-block-size: clamp(480px, 64vh, 670px);
	text-align: center;
}

.park-landing--hero-minimal .park-landing__hero-copy {
	margin-inline: auto;
	max-inline-size: 900px;
}

.park-landing--hero-minimal .park-landing__hero h1,
.park-landing--hero-minimal .park-landing__lead {
	margin-inline: auto;
}

.park-landing--hero-minimal .park-landing__actions,
.park-landing--hero-minimal .park-landing__trust {
	justify-content: center;
}

/* Content modules. */
.park-landing__module {
	min-inline-size: 0;
}

.park-landing__prose a,
.park-landing__faq a,
.park-landing__review-grid a,
.park-landing__footer a {
	color: var(--park-action);
	font-weight: 800;
	text-decoration: underline;
	text-decoration-thickness: .11em;
	text-underline-offset: .22em;
}

.park-landing__prose blockquote {
	background: var(--park-soft);
	border-inline-start: 4px solid var(--park-action);
	border-radius: var(--park-radius-sm);
	margin-inline: 0;
	padding: 1rem 1.25rem;
}

.park-landing__journey-grid {
	counter-reset: park-journey;
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	list-style: none;
	margin: 0;
	padding: 0;
}

.park-landing__journey-grid li {
	background: var(--park-surface);
	border: 1px solid var(--park-border);
	border-radius: var(--park-radius);
	box-shadow: 0 16px 42px rgba(7, 59, 76, .06);
	display: grid;
	gap: 1rem;
	min-block-size: 230px;
	padding: clamp(1.2rem, 2vw, 1.7rem);
	position: relative;
}

.park-landing__journey-grid li:not(:last-child)::after {
	background: linear-gradient(90deg, var(--park-border), var(--park-action));
	block-size: 2px;
	content: "";
	inset-block-start: 3.1rem;
	inset-inline-end: calc(-1rem - 1px);
	position: absolute;
	inline-size: 1rem;
}

.park-landing__journey-grid li > span {
	align-items: center;
	background: var(--park-accent-soft);
	border: 1px solid color-mix(in srgb, var(--park-action) 25%, var(--park-border));
	border-radius: 18px;
	color: var(--park-action);
	display: inline-flex;
	font-size: 1.3rem;
	font-weight: 900;
	block-size: 58px;
	inline-size: 58px;
	justify-content: center;
}

.park-landing__journey-grid h3,
.park-landing__amenity-grid h3,
.park-landing__review-grid strong {
	color: var(--park-ink);
	font-size: 1.08rem;
	font-weight: 900;
	margin: 0;
}

.park-landing__journey-grid p,
.park-landing__amenity-grid p {
	color: var(--park-muted);
	font-size: .92rem;
	line-height: 1.9;
	margin: .45rem 0 0;
}

.park-landing__amenity-grid {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.park-landing__amenity-grid article {
	background: linear-gradient(145deg, var(--park-surface), var(--park-soft));
	border: 1px solid var(--park-border);
	border-radius: 20px;
	padding: 1.3rem;
	transition: border-color .2s ease, transform .2s ease;
}

.park-landing__amenity-grid article:hover {
	border-color: color-mix(in srgb, var(--park-action) 48%, var(--park-border));
	transform: translateY(-3px);
}

.park-landing__amenity-grid article > span {
	align-items: center;
	background: var(--park-accent-soft);
	border-radius: 13px;
	color: var(--park-action);
	display: inline-flex;
	font-size: 1.25rem;
	font-weight: 900;
	block-size: 46px;
	inline-size: 46px;
	justify-content: center;
	margin-block-end: 1rem;
}

.park-landing__review-grid {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.park-landing__review-grid > figure {
	background: var(--park-surface);
	border: 1px solid var(--park-border);
	border-radius: var(--park-radius);
	display: flex;
	flex-direction: column;
	margin: 0;
	min-block-size: 260px;
	padding: clamp(1.3rem, 2.7vw, 2rem);
	position: relative;
}

.park-landing__review-grid > figure::before {
	color: color-mix(in srgb, var(--park-action) 24%, transparent);
	content: "“";
	font-family: Georgia, serif;
	font-size: 5rem;
	font-weight: 900;
	inset-block-start: -.15rem;
	inset-inline-end: 1rem;
	line-height: 1;
	position: absolute;
}

.park-landing__review-grid blockquote {
	margin: 0;
	position: relative;
	z-index: 1;
}

.park-landing__review-grid blockquote p {
	color: var(--park-ink);
	font-size: 1rem;
	line-height: 2;
	margin: 0;
}

.park-landing__review-grid figcaption {
	border-block-start: 1px solid var(--park-border);
	display: grid;
	gap: .2rem;
	margin-block-start: auto;
	padding-block-start: 1rem;
}

.park-landing__review-grid figcaption span {
	color: var(--park-muted);
	font-size: .82rem;
}

.park-landing__review-grid figcaption a {
	font-size: .8rem;
	justify-self: start;
	margin-block-start: .35rem;
}

/* Gallery becomes fully keyboard-operable and retains captions on touch. */
.park-landing__gallery-item > button {
	background: transparent;
	border: 0;
	block-size: 100%;
	cursor: zoom-in;
	display: block;
	inline-size: 100%;
	margin: 0;
	padding: 0;
}

.park-landing__gallery-item > button:focus-visible {
	border-radius: inherit;
	outline-offset: -5px;
}

.park-landing__gallery-item figcaption {
	pointer-events: none;
}

.park-landing__faq details[open] {
	border-color: color-mix(in srgb, var(--park-action) 42%, var(--park-border));
	box-shadow: 0 12px 34px rgba(7, 59, 76, .06);
}

.park-landing__faq summary {
	align-items: center;
	display: flex;
	justify-content: space-between;
	min-block-size: 44px;
	padding-inline-end: .25rem;
}

.park-landing__faq summary::after {
	align-items: center;
	background: var(--park-soft);
	border-radius: 50%;
	color: var(--park-action);
	content: "+";
	display: inline-flex;
	flex: 0 0 34px;
	font-size: 1.35rem;
	block-size: 34px;
	justify-content: center;
	margin-inline-start: 1rem;
}

.park-landing__faq details[open] summary::after {
	content: "−";
}

.park-landing__contact {
	grid-template-columns: minmax(0, 1fr) minmax(320px, .9fr);
}

.park-landing__contact address a,
.park-landing__contact address span {
	align-items: center;
	border-block-end: 1px solid rgba(255, 255, 255, .13);
	display: flex;
	min-block-size: 44px;
	overflow-wrap: anywhere;
	padding-block: .55rem;
}

.park-landing__contact address a {
	font-weight: 800;
	text-decoration: underline;
	text-decoration-color: rgba(255, 255, 255, .45);
	text-underline-offset: .25em;
}

.park-landing__contact figure {
	background: rgba(255, 255, 255, .08);
	border: 1px solid rgba(255, 255, 255, .16);
	border-radius: var(--park-radius);
	margin: 0;
	min-block-size: 330px;
	overflow: hidden;
	overflow: clip;
}

.park-landing__contact figure a {
	display: block;
	block-size: 100%;
}

.park-landing__contact-image {
	block-size: 100%;
	display: block;
	inline-size: 100%;
	object-fit: cover;
	transition: transform .35s ease;
}

.park-landing__contact figure:hover .park-landing__contact-image {
	transform: scale(1.018);
}

.park-landing__socials {
	display: flex;
	flex-wrap: wrap;
	gap: .55rem;
	margin-block-start: 1.25rem;
}

.park-landing__socials a {
	align-items: center;
	background: rgba(255, 255, 255, .09);
	border: 1px solid rgba(255, 255, 255, .22);
	border-radius: 999px;
	color: #fff;
	display: inline-flex;
	font-size: .84rem;
	font-weight: 850;
	min-block-size: 44px;
	padding: .55rem .9rem;
}

.park-landing__socials a:hover {
	background: #fff;
	color: var(--park-deep);
}

.park-landing__footer {
	align-items: start;
	background: color-mix(in srgb, var(--park-deep) 96%, #000);
	border-radius: var(--park-radius);
	color: #fff;
	display: grid;
	gap: 1.5rem 3rem;
	grid-template-columns: minmax(220px, 1fr) minmax(280px, 1.2fr);
	padding: clamp(1.5rem, 4vw, 3rem);
}

.park-landing__footer > div strong {
	font-size: 1.2rem;
	font-weight: 900;
}

.park-landing__footer p {
	color: #c9e1e7;
	line-height: 1.9;
	margin: .55rem 0 0;
	max-inline-size: 54ch;
}

.park-landing__footer nav {
	display: flex;
	flex-wrap: wrap;
	gap: .4rem 1.25rem;
	justify-content: flex-end;
}

.park-landing__footer nav a {
	color: #fff;
	min-block-size: 44px;
	padding-block: .6rem;
}

.park-landing__footer > small {
	border-block-start: 1px solid rgba(255, 255, 255, .14);
	color: #aac9d0;
	grid-column: 1 / -1;
	padding-block-start: 1rem;
}

.park-landing__mobile-cta {
	align-items: center;
	background: var(--park-action);
	border: 1px solid rgba(255, 255, 255, .26);
	border-radius: 15px;
	box-shadow: 0 16px 44px rgba(1, 35, 46, .33);
	color: var(--park-action-ink);
	display: none;
	font-weight: 900;
	inset: auto .85rem calc(.85rem + var(--park-safe-bottom));
	justify-content: center;
	min-block-size: 54px;
	padding: .8rem 1rem;
	position: fixed;
	transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
	z-index: 9990;
}

.park-landing__mobile-cta.is-hidden {
	opacity: 0;
	pointer-events: none;
	transform: translateY(calc(100% + 2rem));
	visibility: hidden;
}

/* Native dialog keeps the gallery fast and accessible. */
.park-landing__lightbox {
	background: transparent;
	border: 0;
	color: #fff;
	inline-size: min(94vw, 1320px);
	max-block-size: 94vh;
	max-inline-size: none;
	padding: 0;
}

.park-landing__lightbox::backdrop {
	background: rgba(0, 18, 25, .9);
	backdrop-filter: blur(10px);
}

.park-landing__lightbox > div {
	align-items: center;
	display: grid;
	gap: .75rem;
	grid-template-columns: 52px minmax(0, 1fr) 52px;
	grid-template-rows: minmax(0, 1fr) auto;
	max-block-size: 94vh;
	position: relative;
}

.park-landing__lightbox figure {
	align-items: center;
	display: flex;
	flex-direction: column;
	grid-column: 2;
	grid-row: 1;
	justify-content: center;
	margin: 0;
	max-block-size: 88vh;
	min-block-size: 260px;
}

.park-landing__lightbox img {
	border-radius: 18px;
	display: block;
	max-block-size: 78vh;
	max-inline-size: 100%;
	object-fit: contain;
}

.park-landing__lightbox figcaption {
	color: #e5f4f6;
	line-height: 1.8;
	padding-block-start: .7rem;
	text-align: center;
}

.park-landing__lightbox button {
	align-items: center;
	background: rgba(255, 255, 255, .12);
	border: 1px solid rgba(255, 255, 255, .28);
	border-radius: 50%;
	color: #fff;
	cursor: pointer;
	display: flex;
	font-size: 2rem;
	block-size: 48px;
	inline-size: 48px;
	justify-content: center;
	padding: 0;
}

.park-landing__lightbox-close {
	inset-block-start: .5rem;
	inset-inline-end: .5rem;
	position: fixed;
	z-index: 2;
}

.park-landing__lightbox-prev { grid-column: 1; grid-row: 1; }
.park-landing__lightbox-next { grid-column: 3; grid-row: 1; }

.park-landing__lightbox output {
	color: #d8ecef;
	grid-column: 1 / -1;
	grid-row: 2;
	justify-self: center;
}

.has-park-dialog {
	overflow: hidden;
}

/* Progressive reveal: content remains visible when JavaScript is absent. */
.park-landing.has-park-reveal .park-landing__module {
	opacity: 0;
	transform: translateY(24px);
	transition: opacity .65s ease, transform .65s cubic-bezier(.2, .8, .2, 1);
}

.park-landing.has-park-reveal .park-landing__module.is-visible {
	opacity: 1;
	transform: none;
}

/* Complete dark mode, including surfaces inherited by newer modules. */
.park-landing--night {
	--park-action: #45d6d1;
	--park-action-hover: #86eee8;
	--park-action-ink: #042c36;
	--park-focus: #ffd15a;
	--park-accent-soft: #123f49;
}

.park-landing--night .park-landing__header {
	background: rgba(5, 38, 48, .91);
	box-shadow: 0 16px 44px rgba(0, 0, 0, .25);
}

.park-landing--night .park-landing__identity,
.park-landing--night .park-landing__header-account,
.park-landing--night .park-landing__nav a,
.park-landing--night .park-landing__journey-grid h3,
.park-landing--night .park-landing__amenity-grid h3,
.park-landing--night .park-landing__review-grid strong,
.park-landing--night .park-landing__review-grid blockquote p {
	color: var(--park-ink);
}

.park-landing--night .park-landing__nav a:hover,
.park-landing--night .park-landing__nav a.is-active,
.park-landing--night .park-landing__header-account:hover {
	background: #174b56;
	color: #fff;
}

.park-landing--night .park-landing__header-account {
	border-color: #386673;
}

.park-landing--night .park-landing__journey-grid li,
.park-landing--night .park-landing__amenity-grid article,
.park-landing--night .park-landing__review-grid > figure,
.park-landing--night .park-landing__experience,
.park-landing--night .park-landing__features article,
.park-landing--night .park-landing__faq details,
.park-landing--night .park-landing__stats > div,
.park-landing--night .park-landing__empty {
	background: #0a3441;
	border-color: #2d5b67;
}

.park-landing--night .park-landing__amenity-grid article {
	background: linear-gradient(145deg, #0a3441, #082b36);
}

.park-landing--night .park-landing__button--ghost {
	border-color: #416d78;
}

.park-landing--night .park-landing__prose blockquote,
.park-landing--night .park-landing__faq summary::after {
	background: #123f49;
}

.park-landing--night .park-landing__prose a,
.park-landing--night .park-landing__faq a,
.park-landing--night .park-landing__review-grid a {
	color: #7ee8e2;
}

.park-landing :where(a, button, input, select, textarea, summary):focus-visible {
	box-shadow: 0 0 0 3px var(--park-surface), 0 0 0 6px var(--park-focus);
	outline: 2px solid transparent;
	outline-offset: 2px;
}

@media (max-width: 1180px) {
	.park-landing__header {
		--park-header-height: 68px;
	}

	.park-landing__nav-toggle {
		display: inline-flex;
		order: 3;
	}

	.park-landing__nav-panel {
		background: var(--park-surface);
		border: 1px solid var(--park-border);
		border-radius: 18px;
		box-shadow: 0 22px 54px rgba(3, 41, 53, .2);
		display: grid;
		gap: .75rem;
		inset-block-start: calc(100% + .55rem);
		inset-inline: 0;
		max-block-size: min(70vh, 540px);
		opacity: 0;
		overflow: auto;
		padding: .75rem;
		pointer-events: none;
		position: absolute;
		transform: translateY(-8px);
		transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
		visibility: hidden;
	}

	.park-landing__nav-panel.is-open {
		opacity: 1;
		pointer-events: auto;
		transform: none;
		visibility: visible;
	}

	.park-landing__nav {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.park-landing__nav a {
		justify-content: center;
	}

	.park-landing__header-actions {
		justify-content: flex-end;
	}

	.park-landing--night .park-landing__nav-panel {
		background: #082d38;
	}

	.park-landing__journey-grid,
	.park-landing__amenity-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.park-landing__journey-grid li:nth-child(2n)::after {
		display: none;
	}
}

@media (max-width: 782px) {
	.admin-bar .park-landing__header--sticky {
		inset-block-start: 52px;
	}

	.park-landing__review-grid {
		grid-template-columns: 1fr;
	}

	.park-landing__review-grid > figure {
		min-block-size: 230px;
	}

	.park-landing__contact figure {
		min-block-size: 280px;
	}

	.park-landing__footer {
		grid-template-columns: 1fr;
	}

	.park-landing__footer nav {
		justify-content: flex-start;
	}

	.park-landing__footer > small {
		grid-column: auto;
	}
}

@media (max-width: 640px) {
	.park-landing {
		--park-header-height: 64px;
		gap: 3.5rem;
		padding-block-end: calc(5rem + var(--park-safe-bottom));
	}

	.park-landing--width-breakout {
		padding-inline: max(.65rem, env(safe-area-inset-left, 0px), env(safe-area-inset-right, 0px));
	}

	.park-landing__header {
		border-radius: 17px;
		gap: .45rem;
		padding: .45rem;
	}

	.park-landing__identity {
		font-size: .9rem;
		max-inline-size: calc(100% - 58px);
	}

	.park-landing__logo {
		block-size: 40px;
		max-inline-size: 106px;
	}

	.park-landing__header-actions {
		display: grid;
		grid-template-columns: 1fr 1fr;
	}

	.park-landing__header-actions a:only-child {
		grid-column: 1 / -1;
	}

	.park-landing__nav {
		grid-template-columns: 1fr 1fr;
	}

	.park-landing__nav a,
	.park-landing__header-actions a {
		font-size: .82rem;
	}

	.park-landing--hero-cover .park-landing__hero {
		align-items: end;
		min-block-size: min(760px, 82svh);
	}

	.park-landing--hero-cover .park-landing__hero::before {
		background: linear-gradient(0deg, rgba(2, 31, 42, .94), rgba(2, 31, 42, .54) 64%, rgba(2, 31, 42, .12));
	}

	.park-mobile-focal-top .park-landing__hero-image { object-position: center top; }
	.park-mobile-focal-bottom .park-landing__hero-image { object-position: center bottom; }
	.park-mobile-focal-right .park-landing__hero-image { object-position: right center; }
	.park-mobile-focal-left .park-landing__hero-image { object-position: left center; }
	.park-mobile-focal-center .park-landing__hero-image { object-position: center; }

	.park-landing__journey-grid,
	.park-landing__amenity-grid {
		grid-template-columns: 1fr;
	}

	.park-landing__journey-grid li {
		grid-template-columns: 52px minmax(0, 1fr);
		min-block-size: 0;
	}

	.park-landing__journey-grid li > span {
		block-size: 52px;
		inline-size: 52px;
	}

	.park-landing__journey-grid li::after {
		display: none;
	}

	.park-landing__contact figure {
		min-block-size: 240px;
	}

	.park-landing__footer nav {
		display: grid;
		grid-template-columns: 1fr 1fr;
	}

	.park-landing__mobile-cta {
		display: flex;
	}

	.park-landing__lightbox {
		inline-size: 100vw;
		max-block-size: 100vh;
		padding: 4rem .7rem 1rem;
	}

	.park-landing__lightbox > div {
		grid-template-columns: 48px minmax(0, 1fr) 48px;
		max-block-size: calc(100vh - 5rem);
	}

	.park-landing__lightbox figure {
		grid-column: 1 / -1;
	}

	.park-landing__lightbox-prev,
	.park-landing__lightbox-next {
		grid-row: 2;
	}

	.park-landing__lightbox-prev { grid-column: 1; }
	.park-landing__lightbox-next { grid-column: 3; }
	.park-landing__lightbox output { grid-column: 2; }
}

@media (scripting: none) and (max-width: 1180px) {
	.park-landing__nav-toggle {
		display: none;
	}

	.park-landing__header {
		align-items: stretch;
		flex-direction: column;
	}

	.park-landing__nav-panel {
		box-shadow: none;
		inset: auto;
		max-block-size: none;
		opacity: 1;
		pointer-events: auto;
		position: static;
		transform: none;
		visibility: visible;
	}
}

@media (max-width: 390px) {
	.park-landing__nav {
		grid-template-columns: 1fr;
	}

	.park-landing__header-actions {
		grid-template-columns: 1fr;
	}

	.park-landing__header-actions a,
	.park-landing__header-actions a:only-child {
		grid-column: auto;
	}

	.park-landing__footer nav {
		grid-template-columns: 1fr;
	}
}

@media (prefers-reduced-motion: reduce) {
	.park-ticket-landing-page {
		scroll-behavior: auto;
	}

	.park-landing.has-park-reveal .park-landing__module {
		opacity: 1;
		transform: none;
	}
}

@media (prefers-contrast: more) {
	.park-landing {
		--park-action: #005c66;
		--park-focus: #7b4300;
	}

	.park-landing--night {
		--park-action: #73fff5;
		--park-action-ink: #001d24;
		--park-focus: #ffe16e;
	}

	.park-landing__header,
	.park-landing__journey-grid li,
	.park-landing__amenity-grid article,
	.park-landing__review-grid > figure,
	.park-landing__footer {
		border-width: 2px;
	}
}

@media (forced-colors: active) {
	.park-landing,
	.park-landing__header,
	.park-landing__hero,
	.park-landing__experience,
	.park-landing__journey-grid li,
	.park-landing__amenity-grid article,
	.park-landing__features article,
	.park-landing__review-grid > figure,
	.park-landing__faq details,
	.park-landing__contact,
	.park-landing__cta,
	.park-landing__footer {
		border: 1px solid CanvasText;
	}

	.park-landing :where(a, button, summary):focus-visible {
		box-shadow: none;
		outline: 3px solid Highlight;
	}

	.park-landing__scroll-progress,
	.park-landing__watermark {
		display: none;
	}
}

/* 3.7 page shells and premium visual direction ------------------------- */
body.park-ticket-shell-plugin :is(#masthead, #site-header, #main-header, #header, #ast-mobile-header, .site-header, header.site-header, header.wp-block-template-part, .wp-site-blocks > header, .site-header-wrap, .main-header-bar-wrap, .elementor-location-header),
body.park-ticket-shell-standalone :is(#masthead, #site-header, #main-header, #header, #ast-mobile-header, .site-header, header.site-header, header.wp-block-template-part, .wp-site-blocks > header, .site-header-wrap, .main-header-bar-wrap, .elementor-location-header) {
	display: none !important;
}

body.park-ticket-shell-standalone :is(#colophon, #main-footer, #footer, .site-footer, footer.site-footer, footer.wp-block-template-part, .wp-site-blocks > footer, #secondary, .widget-area, .elementor-location-footer) {
	display: none !important;
}

body.park-ticket-shell-standalone :is(.site-content, #content, .content-area, .site-main, article.page, .entry-content),
body.park-ticket-shell-plugin :is(.site-content, #content, .content-area, .site-main, article.page, .entry-content) {
	max-width: none;
	width: 100%;
}

body.park-ticket-shell-standalone :is(.site-content, #content, .content-area, .site-main, article.page, .entry-content) {
	margin: 0;
	padding: 0;
}

.park-landing {
	--park-ink: #092a40;
	--park-muted: #4a6879;
	--park-shadow: 0 30px 85px rgba(1, 42, 67, .13);
	gap: clamp(3rem, 6vw, 6rem);
}

.park-landing__hero {
	background:
		radial-gradient(circle at 88% 8%, color-mix(in srgb, var(--park-warm) 18%, transparent), transparent 29%),
		radial-gradient(circle at 4% 92%, color-mix(in srgb, var(--park-accent) 14%, transparent), transparent 31%),
		linear-gradient(135deg, #eefafa, #fff 57%, #f1f7fb);
	box-shadow: 0 34px 95px rgba(3, 48, 76, .12);
	min-height: clamp(520px, 70vh, 680px);
}

.park-landing__hero h1 {
	font-size: clamp(2.35rem, 5.2vw, 4.85rem);
	max-width: 13ch;
}

.park-landing__visual {
	box-shadow: 0 32px 75px rgba(3, 46, 72, .2);
}

.park-landing__placeholder-image {
	filter: saturate(.86) contrast(1.03);
}

.park-landing__demo-badge {
	backdrop-filter: blur(12px);
	background: rgba(5, 39, 61, .88) !important;
	border: 1px solid rgba(255, 255, 255, .32);
	border-radius: 999px !important;
	bottom: 14px;
	color: #fff !important;
	font-size: .72rem !important;
	font-weight: 750 !important;
	inset-inline: 14px auto;
	line-height: 1.5;
	max-width: calc(100% - 28px);
	padding: .45rem .72rem !important;
	position: absolute;
	top: auto !important;
	z-index: 4;
}

.park-landing__experience figure .park-landing__demo-badge {
	transform: none;
}

.park-landing__demo-badge + .park-landing__media-badge {
	inset-block-end: 4.25rem;
}

.park-landing__button--primary,
.park-landing__header-book {
	background: linear-gradient(135deg, var(--park-accent), color-mix(in srgb, var(--park-accent) 78%, var(--park-deep)));
}

@media (max-width: 780px) {
	.park-landing__hero {
		min-height: 0;
		padding-block: 2rem;
	}

	.park-landing__hero h1 {
		font-size: clamp(2.15rem, 10vw, 3.4rem);
	}
}
